h8300.h (PREDICATE_CODES): Add entries for general_operand_src and general_operand_dst.
[gcc.git] / gcc / ChangeLog
1 2003-01-29 Kazu Hirata <kazu@cs.umass.edu>
2
3 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
4 general_operand_src and general_operand_dst.
5
6 2003-01-29 David Edelsohn <edelsohn@gnu.org>
7
8 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
9 Return true for variable sized types.
10 (rs6000_va_arg): Handle variable sized types passed by reference
11 on non-SVR4 ABI.
12
13 2003-01-29 Richard Earnshaw <rearnsha@arm.com>
14
15 * arm.c (arm_legtimize_address): New function.
16 * arm-protos.h (arm_legtimize_address): Add prototype.
17 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
18 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
19 do ... while (0)
20
21 2003-01-29 Joel Sherrill <joel@OARcorp.com>
22
23 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
24 depended on it being defined until now. This was tracked as PR9296.
25
26 2003-01-13 Joel Sherrill <joel@OARcorp.com>
27
28 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
29 RTEMS code knows which C++ initialization style the toolset
30 configuration is using. This was tracked as PR9295.
31
32 2003-01-29 Joel Sherrill <joel@OARcorp.com>
33
34 * config/m68k/t-crtstuff: Replace spaces with tabs, add
35 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
36 This issue was tracked as PR9293.
37
38 2003-01-29 Joel Sherrill <joel@OARcorp.com>
39
40 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
41 RTEMS threads.
42 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
43 This issue was tracked as PR9292.
44
45 2003-01-29 Nick Clifton <nickc@redhat.com>
46
47 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
48 not $(srcdir).
49
50 2003-01-29 Andrew Haley <aph@redhat.com>
51
52 * tree-inline.c (walk_tree): Add CHAR_TYPE.
53
54 Wed Jan 29 10:26:12 CET 2003 Jan Hubicka <jh@suse.cz>
55
56 * i386.md (subdi3_carry_rex64): Fix typo.
57
58 2003-01-28 Stan Shebs <shebs@apple.com>
59
60 * coretypes.h (cpp_reader): Forward declare struct.
61 * c-pragma.h (cpp_reader): Remove forward declaration.
62 * hashtable.h (cpp_reader): Likewise.
63 * scan.h (cpp_reader): Likewise.
64 * tree.h (cpp_reader): Likewise.
65 * config/darwin-protos.h (cpp_reader): Likewise.
66 * config/arm/arm-protos.h (cpp_reader): Likewise.
67 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
68 struct cpp_reader in prototypes.
69
70 2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
71
72 * doc/install.texi: Add documentation for installation into
73 tooldirs and with DESTDIR.
74
75 2003-01-28 Richard Henderson <rth@redhat.com>
76
77 * config.gcc (ia64*-*-aix*): Remove.
78 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
79 * config/ia64/unwind-aix.c: Remove file.
80
81 2003-01-28 Andreas Schwab <schwab@suse.de>
82
83 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
84 register.
85 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
86 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
87 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
88 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
89 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
90 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
91 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
92
93 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
94
95 * combine.c (nonzero_bits): Fix check for negative divide operands.
96
97 2003-01-28 Richard Henderson <rth@redhat.com>
98
99 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
100 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
101
102 2003-01-28 Richard Henderson <rth@redhat.com>
103
104 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
105
106 * config/cris/cris.c (cris_address_cost): Make static.
107 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
108 * config/cris/cris.h (ADDRESS_COST): Remove.
109 * config/cris/cris-protos.h: Update.
110
111 2003-01-23 Mike Stump <mrs@apple.com>
112
113 * regclass.c (init_reg_autoinc): New function.
114 (regclass): Move initialization of forbidden_inc_dec_class from
115 here...
116 (init_regs): to here. Avoids reinitialization for each function,
117 saving compilation time.
118
119 2003-01-28 Jason Merrill <jason@redhat.com>
120
121 * cpplib.h (struct cpp_options): Add warn_deprecated field.
122 * cppinit.c (cpp_create_reader): Turn it on by default.
123 * c-opts.c (c_common_decode_option): Set it.
124 * cpplib.c (do_pragma_once): Only complain about #pragma once
125 if warn_deprecated is set.
126
127 2003-01-28 Dale Johannesen <dalej@apple.com>
128
129 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
130 * loop.c (scan_loop): Move movables on -Os rich-register targets.
131 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
132
133 2003-01-28 Richard Henderson <rth@redhat.com>
134
135 * target.h (targetm.address_cost): New.
136 * target-def.h (TARGET_ADDRESS_COST): New.
137 (TARGET_RTX_COSTS): Uncomment. Oops.
138 * cse.c (address_cost): Use new target hook.
139 (default_address_cost): New.
140 * output.h (default_address_cost): Declare.
141 * hooks.c (hook_int_rtx_0): New.
142 * hooks.h (hook_int_rtx_0): Declare.
143 * loop.c (combine_givs_p): Remove if 0 code.
144 * system.h (ADDRESS_COST): Poison.
145
146 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
147 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
148 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
149 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
150 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
151 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
152 config/xtensa/xtensa.c, config/xtensa/xtensa.h
153 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
154 (ADDRESS_COST): Remove.
155
156 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
157 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
158 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
159 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
160 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
161 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
162 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
163 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
164 config/mips/mips.c, config/mips/mips.h,
165 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
166 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
167 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
168 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
169 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
170 config/vax/vax.c, config/vax/vax.h
171 (foo_address_cost): Make static.
172 (TARGET_ADDRESS_COST): New.
173 (ADDRESS_COST): Remove.
174
175 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
176 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
177 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
178 config/stormy16/stormy16.h
179 (ADDRESS_COST): Move code ...
180 (foo_address_cost): ... here.
181 (TARGET_ADDRESS_COST): New.
182
183 * config/m32r/m32r.c (m32r_address_cost): Remove.
184 * config/m32r/m32r-protos.h: Update.
185
186 * config/mmix/mmix.c (mmix_address_cost): Remove.
187 * config/mmix/mmix-protos.h: Update.
188
189 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
190 mn10300_address_cost; move unsig allocation ...
191 (mn10300_address_cost): ... here.
192 (TARGET_ADDRESS_COST): New.
193 * config/mn10300/mn10300-protos.h: Update.
194 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
195
196 * doc/tm.texi: Update.
197
198 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
199
200 * haifa-sched.c (schedule_insn): Return necessary cycle advance
201 after issuing the insn.
202 (rank_for_schedule): Make a insn with /S the highest priority
203 insn.
204 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
205 (choose_ready): Check SCHED_GROUP_P.
206 (schedule_block): Advance cycle after issuing insn if it is
207 necessary. Don't reorder insns if there is an insn with /S.
208 (set_priorities): Ignore schedule groups.
209
210 * sched-deps.c (remove_dependence, group_leader): Remove the
211 functions.
212 (add_dependence): Ignore schedule groups.
213 (set_sched_group_p): Don't make copy of dependencies from previous
214 insn of the schedule group. Add anti-dependency to the previous
215 insn of the schedule group.
216 (compute_forward_dependences): Ignore schedule groups.
217
218 * sched-ebb.c (init_ready_list): Ignore schedule groups.
219
220 * sched-rgn.c (init_ready_list): Ditto.
221 (can_schedule_ready_p): Ditto.
222
223 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
224
225 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
226 register to another one.
227
228 2003-01-28 Richard Henderson <rth@redhat.com>
229
230 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
231
232 2003-01-28 Roger Sayle <roger@eyesopen.com>
233
234 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
235
236 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
237
238 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
239 class contains a floating-point register, return the size of the
240 mode in half words.
241
242 Tue Jan 28 12:15:13 CET 2003 Jan Hubicka <jh@suse.cz>
243
244 * i386.c (ix86_carry_flag_operator): New predicate.
245 (fcmov_operator): Fix whitespace.
246 (ix86_expand_carry_flag_compare): Deal with floating point.
247 (ix86_expand_int_movcc): Deal with fp; update insn expansion
248 (ix86_expand_int_addcc): Likewise.
249 (ix86_expand_strlensi_unroll_1): likewsie.
250 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
251 * i386.md (add?i_carry_rex64): Use new predicate.
252 (sub?i3_carry_rex64): Likewise.
253 (x86_mov?icc_0_m1*): Likewise.
254
255 2003-01-28 Andreas Schwab <schwab@suse.de>
256
257 * cfgloopmanip.c (create_preheader): Initialize src to avoid
258 warning.
259
260 * expmed.c (emit_store_flag): Fix cast to avoid sign
261 comparison warning.
262
263 * combine.c (force_to_mode): Add cast to fix warning when
264 STORE_FLAG_VALUE is negative.
265
266 2003-01-27 Richard Henderson <rth@redhat.com>
267
268 * Makefile.in (cse.o): Depend on TARGET_H.
269 * cse.c (rtx_cost): Use targetm.rtx_costs.
270 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
271 * doc/tm.texi: Update.
272
273 * target.h (targetm.rtx_costs): New.
274 * target-def.h (TARGET_RTX_COSTS): New.
275 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
276 * hooks.h: Update.
277
278 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
279 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
280 * config/alpha/alpha.h (PROCESSOR_MAX): New.
281 (CONST_COSTS, RTX_COSTS): Remove.
282
283 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
284 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
285 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
286 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
287 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
288 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
289 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
290 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
291 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
292 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
293 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
294 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
295 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
296 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
297 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
298 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
299 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
300 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
301 config/v850/v850.c, config/v850/v850.h,
302 config/xtensa/xtensa.c, config/xtensa/xtensa.h
303 (CONST_COSTS, RTX_COSTS): Move code ...
304 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
305
306 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
307 (arm_rtx_costs, TARGET_RTX_COSTS): New.
308 * config/arm/arm-protos.h: Update.
309 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
310
311 * config/avr/avr.h (CONST_COSTS): Move code ...
312 * config/avr/avr.c (avr_rtx_costs): ... here.
313 (default_rtx_costs): Make static.
314 * config/avr/avr-protos.h: Update.
315
316 * config/h8300/h8300.c (const_costs): Make static.
317 (h8300_and_costs, h8300_shift_costs): Likewise.
318 * config/h8300/h8300-protos.h: Update.
319
320 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
321 (CONST_COSTS): Move code ...
322 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
323 default_rtx_costs; update for signature change.
324 * config/ip2k/ip2k-protos.h: Update.
325
326 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
327 (CONST_COSTS): Move code ...
328 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
329 (TARGET_RTX_COSTS): New.
330 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
331 * config/m68hc11/m68hc11-protos.h: Update.
332
333 * config/m68k/m68k.c (const_int_cost): Make static.
334 * config/m68k/m68k-protos.h: Update.
335
336 * config/mcore/mcore.c (mcore_const_costs): Make static.
337 (mcore_and_cost, mcore_ior_cost): Likewise.
338 * config/mcore/mcore-protos.h: Update.
339
340 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
341 (mmix_rtx_cost_recalculated): Remove.
342 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
343 * config/mmix/mmix-protos.h: Update.
344
345 * config/sh/sh.c (shiftcosts): Make static.
346 (addsubcosts, andcosts, multcosts): Likewise.
347 * config/sh/sh-protos.h: Update.
348
349 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
350 (sparc_rtx_costs): Make static; update for change in signature.
351 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
352 * config/sparc/sparc-protos.h: Update.
353
354 * config/v850/v850.c (const_costs): Make static.
355 * config/v850/v850-protos.h: Update.
356
357 * config/vax/vax.h (RTX_COSTS): Remove.
358 (CONST_COSTS): Move code ...
359 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
360 from vax_rtx_cost.
361 (vax_rtx_costs, TARGET_RTX_COSTS): New.
362
363 2003-01-27 Richard Henderson <rth@redhat.com>
364
365 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
366 * config/vax/vax-protos.h: Update. Really.
367
368 2003-01-28 Alexandre Oliva <aoliva@redhat.com>
369
370 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
371 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
372 zero if no hardware floating point.
373 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
374 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
375 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
376 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
377 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
378 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
379 even FP registers on N32 and N64.
380 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
381 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
382 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
383 even-register-like alignment to 128-bit arguments.
384 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
385 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
386 on N32 or N64.
387 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
388 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
389 (TPBIT): Set to tp-bit.c.
390 (tp-bit.c): Create out of fp-bit.c.
391
392 2003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
393
394 * c-parse.in: Remove '%expect 32' directive in objc mode.
395
396 2003-01-27 Nathan Sidwell <nathan@codesourcery.com>
397
398 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
399 (LIBGCOV): New variable.
400 (libgcc.mk): Add LIBGCOV.
401 (LIBGCC_DEPS): Add libgcov.c.
402 (libgcov.a): New target.
403 (clean): Remove libgcov.a.
404 (install-libgcc): Do libgcov too.
405 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
406 with libgcov.a.
407 * libgcc2.c (L_gcov): Move into ...
408 * libgcov.c: ... here. New file.
409 * mklibgcc.in: Add libgcov rules.
410 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
411
412 * doc/invoke.texi (profile-arcs, test-coverage): Update and
413 clarify.
414
415 * profile.c (index_counts_file): Remove duplicate check for open file.
416
417 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
418
419 * gcc/doc/invoke.texi (Optimization Options): Group together
420 optional and experimental flags. Move trapv and bounds-check
421 out of this section. Group floating point flags together.
422 (Code Gen Options): Move trapv and bounds-check to here.
423
424 2003-01-27 Josef Zlomek <zlomekj@suse.cz>
425
426 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
427
428 2003-01-27 Richard Earnshaw <rearnsha@arm.com>
429
430 PR optimization/9090
431 * function.c (purge_addressof_1): After pushing an addressed register
432 onto the stack, simplify the result.
433
434 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
435
436 * doc/extend.texi: Fix typo.
437
438 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
439
440 * doc/cppopts.texi: Fix typo.
441 * doc/objc.texi: Likewise.
442 * doc/passes.texi: Likewise.
443
444 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
445
446 * real.c (ibm_extended_format): Add 53 to minimum exponent.
447 (encode_ibm_extended): Adjust.
448
449 2003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
450
451 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
452 timevar_id enumerations.
453
454 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
455
456 * combine.c: Fix formatting.
457
458 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
459
460 * doc/gccint.texi: Update the copyright.
461
462 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
463
464 * doc/cpp.texi: Fix typos.
465 * doc/extend.texi: Likewise.
466 * doc/gty.texi: Likewise.
467 * doc/install.texi: Likewise.
468 * doc/passes.texi: Likewise.
469 * doc/rtl.texi: Likewise.
470 * doc/tm.texi: Likewise.
471
472 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
473
474 * config/ia64/fde-glibc.c: Fix comment typos.
475 * config/ia64/hpux.h: Likewise.
476 * config/ia64/ia64.c: Likewise.
477 * config/ia64/ia64.h: Likewise.
478 * config/ia64/unwind-ia64.c: Likewise.
479
480 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
481
482 * config/i386/i386-modes.def: Fix comment typos.
483 * config/i386/i386.c: Likewise.
484 * config/i386/i386.md: Likewise.
485
486 2003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
487
488 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
489 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
490 ASM_FINISH_DECLARE_OBJECT before defining it.
491 * toplev.c (rest_of_decl_compilation): Don't define
492 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
493 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
494 parameters for DWARF2 targets because they _are_ used.
495
496 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
497
498 * fp-bit.h: Define macros for TFmode floating-point constants
499 in IBM-extended TFmode types.
500 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
501 widths.
502 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
503 TFmode type.
504
505 * config/fp-bit.h: Define macros for TFmode floating-point
506 constants in IEEE quad TFmode type. Declare functions according
507 to L_ macros.
508 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
509 (TFtype, TItype, UTItype): Define if TMODES is defined.
510 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
511 (F_T_BITOFF, D_T_BITOFF): Define.
512 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
513 guaranteed to be wide enough.
514 * config/fp-bit.c: Check for L_ macros for tf functions.
515 (__thenan_tf): New.
516 (nan): Adjust.
517 (pack_d, unpack_d): Support IEEE 854 quad type.
518 (_fpmul_parts): Support TFmode. Compute exponent adjustment
519 from FRAC_NBITS, FRAC_BITS and NGARDS.
520 (usi_to_float): Cast constants to be shifted to fractype
521 instead of assuming long long is wide enough.
522 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
523
524 2003-01-26 Andreas Jaeger <aj@suse.de>
525
526 * df.c: Remove prototype of unused function df_regno_rtl_debug.
527
528 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
529
530 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
531 (DBBIT_FUNCS): Added _df_to_tf.
532 (TPBIT_FUNCS): New.
533 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
534 (LIBGCC_DEPS): Added TPBIT.
535 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
536
537 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
538 been able to move the result to target.
539
540 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
541 for the appropriate mode.
542
543 * calls.c (emit_library_call_value_1): Handle return values
544 in a PARALLEL.
545
546 * rtl.c (get_mode_alignment): Moved to...
547 * stor-layout.c: ... here.
548
549 * print-rtl.c (print_rtx): Don't print MEM details in
550 GENERATOR_FILEs.
551
552 2003-01-26 Michael Hayes <mph@paradise.net.nz>
553
554 * df.h: Update comments, tidy formatting.
555 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
556 REVERSE, UNION, INTERSECTION. All uses updated.
557 (OLD_DF_INTERFACE): Remove.
558 (struct insn_info): Remove commented out insn field.
559 * df.c: Update comments, tidy formatting.
560 (df_def_table_realloc): Remove.
561
562
563 2003-01-26 Alan Modra <amodra@bigpond.net.au>
564
565 * calls.c (save_fixed_argument_area): Tidy.
566 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
567 (expand_call): Comment typo fixes. Don't init low_to_save. Start
568 call chain loop at 1 if !try_tail_call. Formatting.
569 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
570 Use save_fixed_argument_area and restore_fixed_argument_area.
571
572 2003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
573
574 * df.c (df_uses_record): Handle CC0.
575
576 2003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
577
578 * reload.c (maybe_memory_address_p): New function.
579 (find_reloads_address): Use it instead of memory_address_p.
580
581 2003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
582
583 * final.c (shorten_branches): Align the address of code label
584 when computing initial lengths and addresses.
585
586 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
587
588 * config/m68hc11/m68hc11.md: Fix a comment typo.
589
590 2003-01-25 Andreas Jaeger <aj@suse.de>
591
592 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
593 TARGET_MACHO.
594
595 2003-01-25 Roger Sayle <roger@eyesopen.com>
596
597 * gcse.c (bypass_last_basic_block): New global variable.
598 (bypass_block): Use redirect_edge_and_branch_force to redirect
599 fall-through edges. Use bypass_last_basic_block to determine
600 which blocks have valid PRE information.
601 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
602
603 Sat Jan 25 22:31:59 CET 2003 Jan Hubicka <jh@suse.cz>
604
605 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
606
607 Sat Jan 25 21:04:33 CET 2003 Jan Hubicka <jh@suse.cz>
608 Eric Botcazou <ebotcazou@libertysurf.fr>
609 PR opt/8492
610 * gcse.c (one_cprop_pass): Delete unreachable blocks.
611
612 2003-01-25 Richard Henderson <rth@redhat.com>
613
614 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
615 from ia64_aix_select_rtx_section.
616 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
617 instead of saving and restoring flag_pic.
618 (ia64_rwreloc_unique_section): Similarly.
619 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
620 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
621 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
622 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
623
624 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
625
626 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
627 comment.
628
629 2002-01-25 Richard Henderson <rth@redhat.com>
630
631 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
632
633 2002-01-25 Kelley Cook <kelleycook@comcast.net>
634
635 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
636
637 2003-01-25 Segher Boessenkool <segher@koffie.nl>
638
639 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
640 type for bitmaps. Use unsigned long.
641 (nBITMAP_WORD_BITS): New macro.
642 (BITMAP_WORD_BITS): New macro.
643 (rest of file): Use it.
644 * bitmap.c: Use it.
645
646 2003-01-25 Richard Henderson <rth@redhat.com>
647
648 2002-02-19 Robert Lipe <robertlipe@usa.net>
649 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
650
651 2002-01-25 Roger Sayle <roger@eyesopen.com>
652
653 * builtins.c (purge_builtin_constant_p): Scan insn stream
654 sequentially rather than by basic block.
655 * function.c (purge_addressof): Simplify test with INSN_P.
656
657 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
658
659 * combine.c (simplify_comparison, case AND): Remove a redundant test.
660
661 2002-01-25 Roger Sayle <roger@eyesopen.com>
662
663 * function.h (struct function): New field calls_constant_p.
664 (current_function_calls_constant_p): New macro for above.
665 * function.c (prepare_function_start): Initialize calls_eh_return
666 and calls_constant_p.
667 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
668 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
669 when the current_function_calls_constant_p.
670 * integrate.c (expand_inline_function): Set calls_constant_p if
671 the function being inlined has calls_constant_p set.
672
673 2002-01-25 Roger Sayle <roger@eyesopen.com>
674
675 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
676 optimizing, even if flag_gcse is true.
677 * toplev.c (rest_of_compilation): purge_builtin_constant_p
678 only needs to be called when "optimize > 0 && flag_gcse".
679
680 2003-01-25 Roger Sayle <roger@eyesopen.com>
681
682 * stmt.c (emit_case_bit_tests): New routine to implement suitable
683 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
684 (case_bit_test_cmp): New comparison function for "qsort" to order
685 case_bit_tests by decreasing number of destination nodes.
686 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
687 (expand_end_case_type): Use emit_case_bit_tests to implement
688 suitable switch statments.
689 (CASE_USE_BIT_TESTS): New target macro to disable the above.
690 * Makefile.in (stmt.o): Add dependency on optab.h.
691 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
692
693 2003-01-23 Andreas Schwab <schwab@suse.de>
694
695 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
696 __do_global_ctors_aux hidden global and don't put it in
697 .init_array.
698 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
699 instead so that it comes first.
700
701 Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
702
703 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
704 subreg is read/modify.
705
706 Sat Jan 25 15:55:08 CET 2003 Jan Hubicka <jh@suse.cz>
707
708 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
709 do libcall for large blocks.
710 * i386.md (comi patterns): Set type to ssecomi.
711 (sse2_unpck?pd): Fix mode of vec_select.
712
713 * cse.c: Include except.h
714 (cse_set_around_loop): Do not create new basic blocks.
715 * Makefile.in (cse.o): Add dependnecy on except.h
716
717 Sat Jan 25 12:05:17 CET 2003 Jan Hubicka <jh@suse.cz>
718
719 * builtins.c (fold_trunc_transparent_mathfn): New function.
720 (fold_builtin): Use it.
721 * convert.c (convert_to_real): Re-enable code to convert
722 math functions; add support for floor familly functions.
723
724 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
725
726 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
727 dependencies on coretypes.h and $(TM_H).
728
729 Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
730
731 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
732
733 2002-01-24 Stuart Hastings <stuart@apple.com>
734
735 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
736
737 2003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
738
739 * config/c4x/c4x.md (UNSPEC_BU): New constants.
740 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
741 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
742 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
743 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
744 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
745 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
746 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
747
748 Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
749
750 * emit-rtl.c (reg_attrs_htab): New static variable.
751 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
752 functions.
753 (reg_rtx): Do not maintain regno_decl.
754 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
755 set_mem_attrs_from_reg): New global function.
756 (init_emit): Do not initialize regno_decl.
757 (init_emit_once): initialize reg_attrs_htab.
758 * final.c (alter_subreg): Do not replace REG by SUBREG.
759 (gen_mem_expr_from_op): Improve output.
760 (output_asm_operands): Likewise.
761 * function.c (assign_params): Do not set REGNO_DECL.
762 * function.h (struct function): Kill regno_decl.
763 (REGNO_DECL): Kill.
764 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
765 * print_rtl.c (print_rtx): Output REG information.
766 * regclass.c (reg_scan_mark_refs): Update attrs.
767 * reload1.c (alter_reg): Likewise.
768 * simplify_rtx.c (simplify_subreg): Likewise.
769 * stmt.c (expand_decl): Likewise.
770 * rtl.def (REG): Add new field.
771 * rtl.h (struct reg_attrs): New.
772 (rtunion_def): At rtreg.
773 (X0MEMATTR): Add checking.
774 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
775 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
776 Declare.
777 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
778
779 2003-01-24 Bob Wilson <bob.wilson@acm.org>
780
781 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
782 (xtensa_emit_call, print_operand): Fix printf format strings
783 to avoid compile warnings.
784 (xtensa_function_prologue, xtensa_function_epilogue): Change type
785 of "size" argument to HOST_WIDE_INT to fix compile warnings.
786 * config/xtensa/xtensa-protos.h
787 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
788
789 Fri Jan 24 23:03:32 CET 2003 Jan Hubicka <jh@suse.cz>
790
791 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
792 (implicit_built_in_decls): New global array.
793 (mathfn_built_in): New global function.
794 (fold_trunc_transparent_mathfn): New static function
795 (expand_builtin_strstr, expand_bultin_strchr,
796 expand_builtin_strpbrk, expand_builtin_strcpy,
797 expand_builtin_strncpy, expand_bultin_strcmp,
798 expand_bultin_strncat, expand_builtin_fputs): Use
799 implicint_built_in_decls.
800 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
801 * builtins.def: Fix comments.
802 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
803 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
804 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
805 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
806 (DEF_C99_C90RES_BULTIN): New.
807 (*f, *l builtins): Update.
808 * c-common.c (DEF_BUILTIN): Initialize implicit array.
809 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
810 * convert.c (strip_float_extensions): New global function.
811 * tree.h (DEF_BUILTIN): Accept 10 arguments.
812 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
813 Declare.
814 * java/builtins.c (define_builtin): Handle implicit.
815 (DEF_BUILTIN): Update.
816 * tm.texi (TARGET_C99_FUNCTIONS): Document.
817 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
818 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
819 when using glibc2.
820
821 2003-01-24 Bob Wilson <bob.wilson@acm.org>
822
823 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
824 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
825 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
826 * config/xtensa/crti.asm: New file.
827 * config/xtensa/crtn.asm: New file.
828 * config/xtensa/t-elf: New file.
829 * config/xtensa/t-linux: New file.
830 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
831 Move various CFLAGS settings to new t-elf file.
832
833 2003-01-24 Richard Henderson <rth@redhat.com>
834
835 PR optimization/4382
836 * tree-inline.c (find_builtin_longjmp_call_1): New.
837 (find_builtin_longjmp_call): New.
838 (inlinable_function_p): Use it.
839
840 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
841
842 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
843 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
844 * config/i386/i386.c (function_arg_pass_by_reference): New.
845 (ix86_va_arg): Support arguments passed by reference.
846
847 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
848
849 * cfgloopanal.c: New file.
850 * cfgloopmanip.c: New file.
851 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
852 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
853 cfglayout.o): Add dependency on cfgloop.h.
854 (cfgloop.o): Add flags.h dependency.
855 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
856 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
857 (struct loop, struct loops, flow_loops_find, flow_loops_update,
858 flow_loops_free, flow_loops_dump, flow_loop_dump,
859 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
860 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
861 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
862 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
863 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
864 find_common_loop, verify_loop_structure): Declarations moved to ...
865 * cfgloop.h: New file.
866 * bb-reorder.c (reorder_basic_blocks): Modified.
867 * cfglayout.c: Include cfgloop.h.
868 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
869 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
870 (break_superblocks): New static function.
871 (cfg_layout_finalize): Use it.
872 (cfg_layout_split_block): New function.
873 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
874 fields.
875 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
876 changed.
877 (cfg_layout_split_block): Declare.
878 * cfgloop.c: Include cfgloop.h and flags.h.
879 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
880 get_loop_body): Avoid signed versus unsigned comparison warnings.
881 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
882 loop_latch_edge): Modified.
883 (verify_loop_structure): Modified to use flags stored in loop structure;
884 check irreducible loops.
885 (cancel_loop, cancel_loop_tree): New functions.
886 (estimate_probability): Use loop analysis code for predictions.
887 (estimate_loops_at_level): Avoid signed versus unsigned comparison
888 warnings.
889 * doloop.c: Include cfgloop.h.
890 * loop.c: Include cfgloop.h.
891 * predict.c: Include cfgloop.h.
892 * toplev.c: Include cfgloop.h.
893 * unroll.c: Include cfgloop.h.
894 * tracer.c (tracer): Modified.
895
896 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
897
898 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
899
900 2003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
901
902 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
903 * configure: Regenerate.
904
905 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
906 (tls_symbolic_reference_mentioned_p): Add prototype.
907 (s390_tls_get_offset): Add prototype.
908 (emit_pic_move): Remove prototype, replace by ...
909 (emit_symbolic_move): .. this new prototype.
910
911 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
912 (tls_model_chars): New global variable.
913 (s390_encode_section_info): Encode TLS model.
914 Use targetm.binds_local_p to check for local symbols.
915 (s390_strip_name_encoding): New function.
916 (TARGET_STRIP_NAME_ENCODING): Define.
917
918 (get_thread_pointer): New function.
919 (legitimize_tls_address): New function.
920 (legitimize_address): Call it.
921 (emit_pic_move): Remove, replace by ...
922 (emit_symbolic_move): ... this new function.
923
924 (larl_operand): Handle TLS operands.
925 (legitimate_constant_p): Likewise.
926 (s390_decompose_address): Likewise.
927 (s390_cannot_force_const_mem): New function.
928 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
929
930 (s390_output_symbolic_const): Handle TLS unspecs.
931 (print_operand): New code 'J'.
932 (machine_function): Add struct member 'some_ld_name'.
933 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
934
935 (enum s390_builtin): New type.
936 (code_for_builtin_64, code_for_builtin_31): New global variables.
937 (s390_init_builtins, s390_expand_builtin): New functions.
938 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
939
940 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
941 (ASM_OUTPUT_LABELREF): Define.
942 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
943
944 * config/s390/s390.md: Define TLS UNSPEC constants.
945 ("movdi", "movsi"): Handle TLS operands.
946 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
947 ("*tls_load_64", "*tls_load_31"): New insns.
948 ("call_value_tls", "call_value_tls_exp"): New expanders.
949 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
950 "bas_tls_64", "bas_tls_31"): New insns.
951
952 2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
953
954 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
955 spe ABI is configured, if requested.
956
957 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
958
959 * doc/passes.texi: Fix typo.
960
961 2003-01-24 Andreas Schwab <schwab@suse.de>
962
963 * stor-layout.c (excess_unit_span): Only define if used.
964
965 2003-01-24 Jerry Quinn <jlquinn@optonline.net>
966
967 * gcc/doc/invoke.texi (Optimization Options): List -O levels
968 for each optimization flag.
969
970 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
971
972 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
973
974 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
975
976 * doc/bugreport.texi: Use @command instead of @code for commands.
977 * doc/collect2.texi: Likewise.
978 * doc/headerdirs.texi: Likewise.
979 * doc/invoke.texi: Likewise.
980 * doc/standards.texi: Likewise.
981 * doc/tm.texi: Likewise.
982 * doc/trouble.texi: Likewise.
983
984 2003-01-24 Nick Clifton <nickc@redhat.com>
985
986 * config/arm/arm.c (use_return_insn): Do not use a single return
987 instruction for interrupt handelrs which have to create a stack
988 frame.
989 (arm_expand_prologue): Do not pre-bias the return address of
990 interrupt handlers which create a stack frame.
991
992 2003-01-24 Nick Clifton <nickc@redhat.com>
993
994 * Add sh2e support:
995
996 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
997
998 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
999 med_cbranches. Fix logic in short_cbranches.
1000
1001 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
1002
1003 * config/sh/sh.md (delay for cbranch): Don't annul delay
1004 slots on SH2e.
1005 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
1006 cbranch with unfilled delay slot on SH2e.
1007 (output_branch): Fill with a nop the delay slot of a
1008 branch that required a delay slot but didn't get one.
1009
1010 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
1011
1012 * doc/invoke.texi (SH options): Document -m2e.
1013 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
1014 * config/sh/lib1funcs.asm: Likewise.
1015 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
1016 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
1017 not __sh1__.
1018 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
1019 SH2E up.
1020 (SH3E_BIT): Renamed to...
1021 (SH_E_BIT): ... this. Replace all uses.
1022 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
1023 Replace all uses of TARGET_SH3E with TARGET_SH2E.
1024 (TARGET_SWITCHES): Added 2e.
1025 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
1026 (processor_type): Added PROCESSOR_SH2E.
1027 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
1028 TARGET_SH2E, except in sqrtsf2_i.
1029 (attribute cpu): Added sh2e.
1030 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
1031 (MULTILIB_MATCHES): Use m2e multilib for m3e.
1032 * config.gcc: Add sh2e target support.
1033
1034 2003-01-24 Phil Edwards <pme@gcc.gnu.org>
1035
1036 Rename -W to -Wextra.
1037 * c-decl.c: Update comments.
1038 * c-typeck.c: Likewise.
1039 * flags.h: Likewise.
1040 * function.c: Likewise.
1041 * stmt.c: Likewise.
1042 * toplev.c: Update comments.
1043 (W_options): Add 'extra'.
1044 (display_help): Remove '-W'.
1045 (decode_W_option): Special warn_uninitialized treatment in the case
1046 of -Wextra.
1047 * doc/invoke.texi: Update with new entries.
1048
1049 2003-01-23 Richard Henderson <rth@redhat.com>
1050
1051 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
1052 in no-else-block case. Add commentary.
1053
1054 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1055
1056 * configure.in: Revert last change.
1057
1058 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1059
1060 * configure.in: Don't include ansidecl.h in tconfig.h.
1061 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
1062 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
1063 ATTRIBUTE_UNUSED.
1064
1065 * configure: Regenerate.
1066
1067 2003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1068
1069 PR java/6748
1070 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
1071 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
1072 kernels.
1073
1074 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1075
1076 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
1077
1078 2003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
1079
1080 * genattrtab.c (write_attr_get): Mark 'insn' paramter
1081 as ATTRIBUTE_UNUSED.
1082
1083 2003-01-23 Richard Earnshaw <rearnsha@arm.com>
1084
1085 * arm.c (thumb_base_register_rtx_p): New function.
1086 (thumb_index_register_rtx_p): New function.
1087 (thumb_legitimate_address_p): New function.
1088 (thumb_legitimate_offset_p): New function.
1089 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
1090 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
1091 definitions.
1092 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
1093 (THUMB_LEGITIMATE_OFFSET): Delte.
1094 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
1095 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
1096 (thumb_legitimate_offset_p): Likewise.
1097
1098 2003-01-23 Andreas Schwab <schwab@suse.de>
1099
1100 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
1101
1102 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1103
1104 * fixinc/Makefile.in (FL_LIST): Revert last change.
1105
1106 2003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1107
1108 PR other/7341
1109 * invoke.texi (ftest-coverage): Fix broken cross-reference.
1110 Change @code to @command for gcov command.
1111
1112 * gcc.texi: Adjust title of gcov section.
1113 Adjust copyright.
1114 * gcov.texi: Likewise.
1115
1116 2003-01-22 Roger Sayle <roger@eyesopen.com>
1117
1118 PR optimization/8423
1119 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
1120 its argument is constant, or 0 if !flag_gcse.
1121 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
1122 if it's argument is constant.
1123 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
1124 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
1125 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
1126 * builtins.c (purge_builtin_constant_p): New function to force
1127 instantiation of any remaining CONSTANT_P_RTX nodes.
1128 * rtl.h (purge_builtin_constant_p): Prototype here.
1129 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
1130 pass after GCSE and before loop.
1131 (flag_gcse): No longer static.
1132 * flags.h (flag_gcse): Prototype here.
1133
1134 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
1135
1136 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
1137 introduced by last change.
1138
1139 2003-01-22 Andreas Schwab <schwab@suse.de>
1140
1141 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
1142
1143 2003-01-22 Kazu Hirata <kazu@cs.umass.edu>
1144
1145 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
1146 request a scratch reg on H8S when the shift count is 8.
1147
1148 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
1149
1150 * config/s390/s390-protos.h (preferred_la_operand_p):
1151 Remove second parameter.
1152 * config/s390/s390.c (preferred_la_operand_p): Likewise.
1153 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
1154 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
1155 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
1156 Add peepholes to transform ADD to LOAD ADDRESS.
1157
1158 2003-01-22 Richard Earnshaw <rearnsha@arm.com>
1159
1160 * arm.c (arm_address_register_rtx_p): New function.
1161 (arm_legitimate_address_p): New function.
1162 (arm_legitimate_index_p): New function.
1163 (legitimize_pic_address): Use arm_legitimate_index_p.
1164 * arm-protos.h (arm_legtimate_address_p): Add prototype.
1165 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
1166 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
1167
1168 2003-01-22 Hartmut Penner <hpenner@de.ibm.com>
1169
1170 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
1171 * config/s390/2064.md (define_bypass): Correct 'Load' and
1172 'Load-address' bypass values.
1173
1174 2003-01-22 Andreas Schwab <schwab@suse.de>
1175
1176 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
1177
1178 2003-01-21 Zack Weinberg <zack@codesourcery.com>
1179
1180 * genautomata.c (output_internal_insn_latency_func,
1181 output_print_reservation_func): Short circuit when there is no
1182 automaton to generate code for.
1183
1184 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1185
1186 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
1187 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
1188
1189 2003-01-21 Geoffrey Keating <geoffk@apple.com>
1190
1191 * config/rs6000/rs6000.md: Remove warning.
1192 (builtin_setjmp_receiver): Likewise.
1193 * config/darwin.c (update_stubs): Slightly improve terrible hack
1194 with identifiers. Add comment pointing out problems with it.
1195 (update_non_lazy_ptrs): Likewise.
1196
1197 2003-01-21 Richard Henderson <rth@redhat.com>
1198
1199 * dwarf2out.c (lookup_filename): Fix printf format warning.
1200 * system.h (fread_unlocked, fwrite_unlocked): Undef.
1201
1202 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
1203 (fixincl.o-warn, gnu-regex.o-warn): New.
1204 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
1205 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
1206 * fixinc/fixincl.c (process): Fix printf format warning.
1207
1208 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
1209
1210 * dwarf2out (output_file_names): Don't crash if called
1211 with empty file_table.
1212
1213 2003-01-21 Zack Weinberg <zack@codesourcery.com>
1214
1215 * genautomata.c (output_internal_insn_latency_func): Add
1216 missing break statement to generated code.
1217
1218 2003-01-21 Roger Sayle <roger@eyesopen.com>
1219
1220 * stmt.c (same_case_target_p): New function to determine whether
1221 two case labels branch to the same target. Split out from...
1222 (group_case_nodes): ... here. Use same_case_target_p instead.
1223 (strip_default_case_nodes): Remove explicit case nodes
1224 that branch to the default destination.
1225 (expand_end_case_type): Call strip_default_case_nodes after
1226 group_case_nodes, to simplify the case-list before we count it.
1227 Only generate table_label RTX when actually needed. Try to share
1228 thiscase->exit_label and thiscase->data.case_stmt.default_label
1229 when a switch has no explicit default case. Simplify test for
1230 constant index.
1231
1232 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
1233
1234 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
1235 \t.
1236 (*negsf2_h8300hs): Likewise.
1237 (*addsi3_lshiftrt_16_zexthi): Likewise.
1238 (*iorhi3_lshiftrt_8): Likewise.
1239
1240 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
1241
1242 * dwarf2out.c (fde_table_in_use): Mark GTY.
1243 (dwarf2out_cfi_label_num): New variable, marked GTY.
1244 (dwarf2out_cfi_label): Use it instead of static label_num.
1245 * emit-rtl.c (label_num): Mark GTY.
1246
1247 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
1248
1249 * config/h8300/h8300.c (output_plussi): Support H8/300.
1250 (compute_plussi_length): Likewise.
1251 (compute_plussi_cc): Likewise.
1252 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
1253 output assembly instructions.
1254
1255 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1256
1257 * calls.c (fix_unsafe_tree): Prototype.
1258
1259 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
1260 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
1261 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
1262 c-parse.o-warn): Add -Wno-error.
1263 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
1264
1265 * configure.in (--enable-werror): Add new flag.
1266 * doc/install.texi (--enable-werror): Document.
1267 * configure: Regenerate.
1268
1269 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
1270
1271 2003-01-21 Andreas Schwab <schwab@suse.de>
1272
1273 * genautomata.c (output_internal_insn_latency_func): Fix missing
1274 close paren in output.
1275
1276 2003-01-21 Zack Weinberg <zack@codesourcery.com>
1277
1278 * genautomata.c: Space savings in generated code:
1279 (output_dfa_insn_code_func): Split out the table-enlargement
1280 path to an out-of-line static function, dfa_insn_code_enlarge.
1281 (output_internal_insn_latency_func): Use a lookup table for the
1282 default latencies.
1283 (output_print_reservation_func): Use a lookup table for the
1284 strings.
1285
1286 2003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
1287
1288 PR opt/7507
1289 * calls.c (fix_unsafe_tree): Split out from ...
1290 (expand_call): ... here. Use it on the function address too.
1291
1292 2003-01-20 Richard Henderson <rth@redhat.com>
1293
1294 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
1295
1296 2003-01-20 Richard Henderson <rth@redhat.com>
1297
1298 PR opt/7154
1299 * stmt.c (expand_asm_operands): Validize memory operands.
1300
1301 2003-01-20 Richard Henderson <rth@redhat.com>
1302
1303 PR opt/8848
1304 * ifcvt.c (noce_process_if_block): Correct arguments to
1305 modified_between_p for no-else-block case.
1306
1307 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
1308
1309 * config/h8300/h8300.c (const_costs): Remove a warning.
1310 (output_plussi): Likewise.
1311 (compute_plussi_length): Likewise.
1312 (compute_plussi_cc): Likewise.
1313
1314 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
1315
1316 * config/h8300/h8300.md (addsi_h8300): Remove the last
1317 alternative.
1318
1319 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
1320
1321 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1322
1323 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1324
1325 * system.h (__NO_STRING_INLINES): Define.
1326
1327 2003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1328
1329 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
1330 is not a scalar int mode.
1331
1332 2003-01-20 Roger Sayle <roger@eyesopen.com>
1333
1334 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
1335 insn's notes following a substitution inside a libcall.
1336
1337 2003-01-20 Zack Weinberg <zack@codesourcery.com>
1338
1339 * configure.in: Check for system-provided 'uchar' type.
1340 * configure, config.in: Regenerate.
1341 * cpphash.h: Only typedef 'uchar' if the system doesn't.
1342
1343 2003-01-20 Richard Henderson <rth@redhat.com>
1344
1345 * expr.h (MUST_PASS_IN_STACK): Move implementation...
1346 * calls.c (default_must_pass_in_stack): ... here.
1347
1348 2003-01-20 Vladimir Makarov <vmakarov@redhat.com>
1349
1350 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
1351
1352 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
1353
1354 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
1355 Wrap up definition of `insn_alts'.
1356
1357 * genattrtab.c (main): Wrap up `insn_alts'.
1358
1359 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1360
1361 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
1362 prototyping.
1363 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
1364
1365 * config.in, configure: Regenerate.
1366
1367 2003-01-20 Nick Clifton <nickc@redhat.com>
1368
1369 * config/arm/arm.md (sibcall_epilogue): Add an
1370 UNSPEC_PROLOGUE_USE to prevent the link register from being
1371 considered dead.
1372
1373 Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
1374
1375 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
1376
1377 2003-01-20 Andreas Schwab <schwab@suse.de>
1378
1379 * system.h: Don't declare strsignal if the decl test hasn't been
1380 run yet.
1381
1382 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
1383
1384 * config/h8300/h8300.c (notice_update_cc): Don't assume that
1385 recog_data.operands[0] is always associated with cc0.
1386
1387 2003-01-19 David Edelsohn <edelsohn@gnu.org>
1388
1389 * collect2.c (ldgetname): Expand declaration to prototype.
1390 * read-rtl.c (atoll): Add prototype.
1391 * system.h (strsignal): Also declare if no declaration found.
1392
1393 2003-01-19 Alexandre Oliva <aoliva@redhat.com>
1394
1395 * config.gcc (mips64*-*-linux*): Added.
1396 * config/mips/linux64.h, config/mips/t-linux64: New file.
1397 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
1398 * config/mips/mips.c (override_options): Use it.
1399 * config/mips/mips.h (TARGET_SWITCHES): Added...
1400 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
1401 * Makefile.in (SPECS): New.
1402 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
1403 * gcc.c (process_command): Move self-spec processing past spec
1404 file loading.
1405 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
1406 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
1407 CRTSTUFF_T_CFLAGS.
1408 (SPECS): Document.
1409 * doc/invoke.texi (-mabi-fake-default): Document.
1410
1411 2003-01-19 Stephane Carrez <stcarrez@nerim.fr>
1412
1413 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
1414 z_reg, z_reg_qi): Declare static and GTY().
1415 (da_reg): Remove.
1416 (create_regs_rtx): Don't create da_reg.
1417 ("gt-m68hc11.h"): Include for GTY roots.
1418 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
1419 and GTY() here.
1420 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
1421 (m68hc11_soft_tmp_reg): Likewise.
1422 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
1423
1424 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
1425
1426 * basic-block.h: Fix comment formatting.
1427 * calls.c: Likewise.
1428 * combine.c: Likewise.
1429 * convert.c: Likewise.
1430 * gcov.c: Likewise.
1431 * haifa-sched.c: Likewise.
1432 * libgcc2.c: Likewise.
1433 * loop.c: Likewise.
1434 * profile.c: Likewise.
1435 * system.h: Likewise.
1436
1437 2003-01-18 Roger Sayle <roger@eyesopen.com>
1438
1439 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
1440
1441 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1442
1443 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
1444
1445 2003-01-17 Dale Johannesen <dalej@apple.com>
1446
1447 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
1448 (*floatunssidf2_internal): Ditto.
1449
1450 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
1451
1452 * alias.c: Fix comment typos.
1453 * basic-block.h: Likewise.
1454 * c-common.c: Likewise.
1455 * c-common.h: Likewise.
1456 * c-decl.c: Likewise.
1457 * c-opts.c: Likewise.
1458 * c-pragma.c: Likewise.
1459 * c-pretty-print.h: Likewise.
1460 * cfg.c: Likewise.
1461 * cfganal.c: Likewise.
1462 * cfgbuild.c: Likewise.
1463 * cfgcleanup.c: Likewise.
1464 * cfglayout.c: Likewise.
1465 * cfgrtl.c: Likewise.
1466 * convert.c: Likewise.
1467 * cpphash.h: Likewise.
1468 * cpplex.c: Likewise.
1469 * cpplib.h: Likewise.
1470 * df.h: Likewise.
1471 * diagnostic.c: Likewise.
1472 * diagnostic.h: Likewise.
1473 * dwarf2.h: Likewise.
1474
1475 2003-01-17 Stan Shebs <shebs@apple.com>
1476
1477 * config/darwin-protos.h: Forward-declare struct cpp_reader.
1478
1479 2003-01-17 Douglas B Rupp <rupp@gnat.com>
1480
1481 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
1482 mistake in last checkin.
1483
1484 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
1485
1486 * et-forest.c: Fix comment typos.
1487 * et-forest.h: Likewise.
1488 * except.c: Likewise.
1489 * expr.c: Likewise.
1490 * flags.h: Likewise.
1491 * flow.c: Likewise.
1492 * gcc.c: Likewise.
1493 * gcse.c: Likewise.
1494 * genattrtab.c: Likewise.
1495 * genautomata.c: Likewise.
1496 * gengtype.c: Likewise.
1497 * genrecog.c: Likewise.
1498 * global.c: Likewise.
1499 * gthr-rtems.h: Likewise.
1500
1501 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1502
1503 * i386.c (x86_function_profiler): Fix format specifier.
1504
1505 2003-01-17 Richard Henderson <rth@redhat.com>
1506
1507 * gengtype.c (walk_type): Allow paramN_is.
1508
1509 2003-01-17 Nick Clifton <nickc@redhat.com>
1510
1511 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
1512
1513 2003-01-16 Richard Henderson <rth@redhat.com>
1514
1515 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
1516
1517 2003-01-16 Richard Henderson <rth@redhat.com>
1518
1519 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
1520 (alpha_next_sequence_number): Likewise.
1521 (alpha_this_literal_sequence_number): Likewise.
1522 (alpha_this_gpdisp_sequence_number): Likewise.
1523 (struct alpha_funcs, alpha_funcs_num): Likewise.
1524 (struct alpha_links): Fix branch merge error.
1525 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
1526
1527 2003-01-17 Alexandre Oliva <aoliva@redhat.com>
1528
1529 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
1530 R. Ghazi.
1531
1532 2003-01-16 Kazu Hirata <kazu@cs.umass.edu>
1533
1534 * ifcvt.c: Fix comment typos.
1535 * lcm.c: Likewise.
1536 * libgcc2.c: Likewise.
1537 * local-alloc.c: Likewise.
1538 * loop.c: Likewise.
1539 * predict.c: Likewise.
1540 * ra-build.c: Likewise.
1541 * ra.c: Likewise.
1542 * ra-colorize.c: Likewise.
1543 * ra.h: Likewise.
1544 * ra-rewrite.c: Likewise.
1545 * regmove.c: Likewise.
1546 * reload.h: Likewise.
1547 * rtlanal.c: Likewise.
1548 * toplev.c: Likewise.
1549 * tree.h: Likewise.
1550 * unwind-dw2-fde-glibc.c: Likewise.
1551 * vmsdbgout.c: Likewise.
1552
1553 2003-01-16 Richard Henderson <rth@redhat.com>
1554
1555 * dwarf2out.c (struct file_table): Remove.
1556 (FILE_TABLE_INCREMENT): Remove.
1557 (file_table): Make a varray; mark for GC. Update all users.
1558 (file_table_last_lookup_index): Extract from struct file_table.
1559 (output_file_names): Fix unsigned compare warnings.
1560 (add_name_attribute): Remove inline marker.
1561 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
1562 (lookup_filename): Don't manage size of file_table.
1563 (init_file_table): Allocate file_table with GC.
1564 (dwarf2out_init): Don't record main_input_filename here.
1565 (dwarf2out_finish): Do it here instead.
1566
1567 2003-01-16 Bruce Korb <bkorb@gnu.org>
1568
1569 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
1570
1571 2003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
1572
1573 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
1574 instead of rotldi3_mextr.
1575
1576 2003-01-16 Vladimir Makarov <vmakarov@redhat.com>
1577
1578 * haifa-sched.c (move_insn): Restore moving all schedule group.
1579 (set_priorities): Restore taking SCHED_GROUP_P into account.
1580
1581 * sched-deps.c (add_dependence): Restore processing the last group
1582 insn.
1583 (remove_dependence, group_leader): Restore the functions.
1584 (set_sched_group_p): Restore adding dependencies from previous insn
1585 in the group.
1586 (compute_forward_dependences): Restore usage of group_leader.
1587
1588 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
1589 account.
1590
1591 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
1592 account.
1593 (can_schedule_ready_p): Ditto.
1594 (add_branch_dependences): Restore skipping over the group insns.
1595
1596 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
1597
1598 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
1599 68HC12 pre/post inc/dec side effects.
1600
1601 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
1602
1603 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
1604
1605 Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk>
1606
1607 * sh.md (mshflo_w_x): Fix description of operation.
1608
1609 2003-01-16 Zack Weinberg <zack@codesourcery.com>
1610
1611 * config/rs6000/rs6000.h: Mention Altivec registers in
1612 commentary. Fix typo.
1613
1614 2003-01-16 David Edelsohn <edelsohn@gnu.org>
1615
1616 * config/rs6000/rs6000.md (movti_string): Remove clobber.
1617 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
1618 generate PARALLEL with clobber for TARGET_POWER.
1619
1620 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1621
1622 * ra-colorize.c (colorize_one_web): Initialize variable.
1623 * regmove.c (fixup_match_1): Likewise.
1624 * reload1.c (reload_as_needed): Likewise.
1625 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
1626
1627 2003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1628
1629 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
1630
1631 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1632
1633 * dbxout.c (lastfile, cwd): Fix `unused' warning.
1634 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
1635 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
1636 is_main_source, file_table, decl_die_table_in_use,
1637 abbrev_die_table_in_use, line_info_table_in_use,
1638 separate_line_info_table_in_use, pubname_table_in_use,
1639 arange_table_in_use, ranges_table_in_use,
1640 current_function_has_inlines): Likewise.
1641 * flow.c (life_analysis): Likewise.
1642 * genemit.c (gen_insn): Likewise.
1643 * protoize.c (cplus_suffix): Likewise.
1644
1645 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
1646 * arm.h (ROUND_UP_WORD): Likewise.
1647
1648 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
1649 warning.
1650 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
1651 init_emit_once): Likewise.
1652 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
1653 Likewise.
1654 * function.c (assign_stack_temp_for_type): Likewise.
1655 * loop.c (loop_invariant_p): Likewise.
1656 * recog.c (push_operand): Likewise.
1657 * regclass.c (init_reg_sets_1): Likewise.
1658 * reload.c (update_auto_inc_notes): Likewise.
1659 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
1660 * stmt.c (expand_asm_operands): Likewise.
1661 * stor-layout.c (start_record_layout): Likewise.
1662
1663 2003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
1664
1665 * config/c4x/c4x.md (epilogue): Correct last patch.
1666
1667 2003-01-15 Richard Henderson <rth@redhat.com>
1668
1669 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
1670 also check that GP is being used.
1671 (alpha_find_lo_sum_using_gp): New.
1672 (alpha_does_function_need_gp): Use get_attr_usegp.
1673 * config/alpha/alpha-protos.h: Update.
1674 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
1675 as needed.
1676
1677 2003-01-15 Roger Sayle <roger@eyesopen.com>
1678
1679 * gcse.c (one_cprop_pass): Change function arguments to take both
1680 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
1681 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
1682 (bypass_jumps): New function to perform separate jump bypassing pass.
1683 * rtl.h (bypass_jumps): Add function prototype.
1684 * timevar.def (TV_BYPASS): New timing variable.
1685 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
1686 (dump_file): New entry for the bypass RTL dump file.
1687 (rest_of_compilation): Insert new jump bypassing optimization
1688 pass after loop.
1689 * doc/passes.texi: Document new pass.
1690
1691 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
1692
1693 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
1694 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
1695 * pa.h (TARGET_SOM_SDEF): Define.
1696 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
1697
1698 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
1699
1700 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
1701 allocate 4-bytes of locals on 68HC11.
1702 (expand_epilogue): Likewise.
1703 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
1704
1705 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
1706
1707 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
1708 and -mshort-double to the assembler to specify the ABI.
1709 (LINK_SPEC): Likewise.
1710 (CPP_SPEC): Pass HCS12 specific define.
1711 (MASK_M68S12): New define.
1712 (TARGET_M68S12): Likewise.
1713 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
1714 (TARGET_VERSION): Update.
1715 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
1716 (LINK_SPEC): Update.
1717 (ASM_SPEC): Update.
1718 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
1719 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
1720
1721 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
1722
1723 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
1724 the return code.
1725
1726 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
1727
1728 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
1729 flag before setting it.
1730
1731 2003-01-15 Roger Sayle <roger@eyesopen.com>
1732
1733 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
1734 when loop condition is known true, i.e. "while (1) { ... }".
1735 (genrtl_for_stmt): Similarly for "for" statements.
1736
1737 2003-01-15 Roger Sayle <roger@eyesopen.com>
1738
1739 * real.c (real_sqrt): Return a bool result indicating whether
1740 a floating point exception or trap should be raised.
1741 * real.h (real_sqrt): Update function prototype.
1742 * builtins.c (fold_builtin): Only fold non-trapping square
1743 roots unless we're ignoring errno and trapping math.
1744
1745 2003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
1746
1747 * expr.h (emit_conditional_add): Add PARAMS to declaration.
1748 * gengtype-lex.l (malloc, realloc): Move defines after include of
1749 system.h. Remove duplicate include of system.h.
1750
1751 2003-01-15 Roger Sayle <roger@eyesopen.com>
1752
1753 PR middle-end/9009
1754 * optabs.c (expand_unop): When manipulating the FP sign bit
1755 using integer operations, account for targets with different
1756 integer and FP word orders.
1757 (expand_abs): Likewise.
1758
1759 2003-01-15 David Edelsohn <edelsohn@gnu.org>
1760
1761 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
1762 file extension in section name.
1763
1764 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
1765
1766 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
1767 constant offset.
1768
1769 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
1770
1771 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
1772 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
1773 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
1774 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1775
1776 Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
1777
1778 PR f/9258
1779 * global.c (struct allocno): Add no_stack_reg.
1780 (global_conflicts): Set no_stack_reg.
1781 (find_reg): Use it.
1782
1783 * convert.c (convert_to_real): Fold - and abs only when profitable.
1784 * fold-const.c (fold): Fold truncates in - and abs.
1785
1786 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
1787
1788 Segher Boessenkool <segher@koffie.nl>
1789
1790 * predict.c (real_inv_br_prob_base): New variable.
1791 (propagate_freq): Use multiply by reciprocal instead of
1792 division. Don't divide by 1.0 at all.
1793 (estimate_bb_frequencies): Similar.
1794
1795 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
1796
1797 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
1798 * configure: Rebuilt.
1799
1800 2003-01-15 Hartmut Penner <hpenner@de.ibm.com>
1801
1802 * config/s390/s390.c (s390_safe_attr_type): New function.
1803 (s390_use_dfa_pipeline_interface): New function, return true for z900.
1804 (s390_issue_rate): New function.
1805 (s390_agen_dep_p): New function.
1806 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
1807 (s390_adjust_cost): Return 'cost' if new DFA is used.
1808 (s390_adjust_priority): Delete function.
1809 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
1810 * config/s390/s390.md (atype attribute): Attribute 'atype' default
1811 determined by 'op_type'.
1812 (type attribute): Added more type attributes.
1813 * config/s390/2064.md: New DFA description for z900 pipeline.
1814
1815 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
1816
1817 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
1818 forced to memory. Fixes PR bootstrap/9036.
1819
1820 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
1821 to set $gp before the call.
1822
1823 2003-01-14 Richard Henderson <rth@redhat.com>
1824
1825 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
1826 for force_const_mem.
1827
1828 2003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1829
1830 * genattr.c (main): Rearrange output to avoid prototype warning.
1831 * genautomata.c (transform_3): Fix ambiguous-else warning.
1832 * local-alloc.c (requires_inout): Add parentheses around
1833 assignment used as truth-value.
1834 * timevar.c: Move system includes above local includes. Include
1835 toplev.h
1836 * Makefile.in (timevar.o): Depend on toplev.h.
1837
1838 2003-01-14 Denis Chertykov <denisc@overta.ru>
1839
1840 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
1841 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
1842
1843 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
1844 attributes.
1845 (TARGET_ATTRIBUTE_TABLE): New macro.
1846 (valid_machine_type_attribute): Remove.
1847 (valid_machine_decl_attribute): Remove.
1848 (ip2k_handle_progmem_attribute): New function.
1849 (ip2k_handle_fndecl_attribute): New function.
1850
1851 2003-01-10 Andrew Haley <aph@redhat.com>
1852
1853 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
1854 registers to be in correct order. Add rip.
1855
1856 2003-01-14 Kazu Hirata <kazu@cs.umass.edu>
1857
1858 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
1859 (*iorsi3_and_lshiftrt_9_sb): Likewise.
1860
1861 Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
1862
1863 * convert.c (strip_float_extensions): Look for narrowest type handling
1864 FP constants.
1865
1866 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
1867 float1 CMP float2.
1868 * convert.c (strip_float_extensions): Make global.
1869 * tree.h (strip_float_extensions): Declare.
1870
1871 2003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
1872
1873 * timevar.def: define TV_NAME_LOOKUP.
1874 * timevar.c (timevar_pop): Be verbose when aborting.
1875
1876 2003-01-13 Andreas Schwab <schwab@suse.de>
1877
1878 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
1879 $(parsedir), just move the temporary file at the end.
1880 ($(parsedir)/gengtype-yacc.c): Likewise.
1881
1882 2003-01-13 Alexandre Oliva <aoliva@redhat.com>
1883
1884 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
1885 ${ac_tool_prefix} to ADAC or CC. Protect them from word
1886 splitting.
1887 * configure: Rebuilt.
1888
1889 2003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1890
1891 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
1892 internal_mcount): Don't use PARAMS.
1893 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
1894 ISO C style.
1895 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
1896
1897 2003-01-13 Andreas Schwab <schwab@suse.de>
1898
1899 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
1900 directive.
1901
1902 2003-01-13 Kazu Hirata <kazu@cs.umass.edu>
1903
1904 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
1905 (*iorsi3_and_lshiftrt_n_sb): Likewise.
1906
1907 2003-01-12 Mark Mitchell <mark@codesourcery.com>
1908
1909 PR c++/9264
1910 * c-lex.c (c_lex): Set the token value to error_mark_node for
1911 invalid numeric constants.
1912
1913 2003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1914
1915 * c-pch.c (asm_file_startpos): Change to `long'.
1916 (pch_init): Use ftell, not ftello.
1917 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
1918 Use `long' instead of `off_t'.
1919 (c_common_read_pch): Likewise.
1920 * ggc-common.c (gt_pch_save): Use long/ftell instead of
1921 off_t/ftello.
1922
1923 2003-01-12 Alan Modra <amodra@bigpond.net.au>
1924
1925 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
1926
1927 2003-01-11 Richard Earnshaw (rearnsha@arm.com)
1928
1929 * arm-protos.h (struct cpp_reader): Add declaration.
1930
1931 Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
1932
1933 PR target/9068
1934 * i386.c (output_fp_compare): Fix typo.
1935
1936 2003-01-10 David Edelsohn <edelsohn@gnu.org>
1937
1938 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
1939
1940 2003-01-10 Geoffrey Keating <geoffk@apple.com>
1941
1942 * Makefile.in (parsedir): New variable.
1943 (docobjdir): New variable.
1944 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
1945 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
1946 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
1947 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
1948 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
1949 Use docobjdir.
1950 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
1951 objc.maintainer-clean): Use parsedir.
1952
1953 * varasm.c (struct constant_descriptor_rtx): Remove unused
1954 `label' field.
1955
1956 * toplev.c (documented_lang_options): Document -Winvalid-pch.
1957
1958 2003-01-10 Richard Henderson <rth@redhat.com>
1959
1960 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
1961 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
1962
1963 2003-01-10 Richard Henderson <rth@redhat.com>
1964
1965 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
1966 not INTEGRAL_MODE_P when widening extensions.
1967
1968 2003-01-10 Richard Henderson <rth@redhat.com>
1969
1970 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
1971
1972 2003-01-10 Geoffrey Keating <geoffk@apple.com>
1973
1974 * ggc-page.c (ggc_collect): Avoid overflow computing
1975 min_expand.
1976
1977 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
1978 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
1979 Remove calls.
1980 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
1981
1982 Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
1983
1984 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
1985 with weird operands.
1986
1987 2003-01-10 Dale Johannesen <dalej@apple.com>
1988
1989 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
1990 parameters. Call check_sibcall_argument_overlap if indicated.
1991 (check_sibcall_argument_overlap): Add mark_stored_args_map
1992 parameter. Don't mark parameter area as clobbered if not set.
1993 (expand_call): Adjust calls to above.
1994
1995 2003-01-10 Kelley Cook <kelleycook@comcast.net>
1996
1997 * configure.in (linker read-only and read-write section mixing):
1998 Squelch some assembler warnings.
1999 * configure: Likewise.
2000
2001 2003-01-10 Hartmut Penner <hpenner@de.ibm.com>
2002
2003 * doc/invoke.texi: Document -mtune, delete -mcpu
2004 option for S/390 and zSeries.
2005 * config/s390/s390.c (s390_tune_string) New variable.
2006 (s390_cpu_string) Delete variable.
2007 (override_options): Use s390_tune_string instead of
2008 s390_cpu_string.
2009 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
2010
2011 2003-01-10 Kazu Hirata <kazu@cs.umass.edu>
2012
2013 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
2014
2015 2003-01-10 Josef Zlomek <zlomekj@suse.cz>
2016
2017 * jump.c (next_nonnote_insn_in_loop): New function.
2018 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
2019 next_nonnote_insn.
2020 (duplicate_loop_exit_test). Likewise.
2021
2022 2003-01-09 Geoffrey Keating <geoffk@apple.com>
2023
2024 Merge from pch-branch:
2025
2026 2003-01-06 Geoffrey Keating <geoffk@apple.com>
2027
2028 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
2029 load.
2030
2031 2002-12-24 Geoffrey Keating <geoffk@apple.com>
2032
2033 * cpplib.c (count_registered_pragmas): New function.
2034 (save_registered_pragmas): New function.
2035 (_cpp_save_pragma_names): New function.
2036 (restore_registered_pragmas): New function.
2037 (_cpp_restore_pragma_names): New function.
2038 * cpphash.h (_cpp_save_pragma_names): Prototype.
2039 (_cpp_restore_pragma_names): Likewise.
2040 * cpppch.c (struct save_macro_item): Split from save_macro_data.
2041 (struct save_macro_data): New field 'saved_pragmas'.
2042 (save_macros): Update for changes to struct save_macro_data.
2043 (cpp_prepare_state): Call _cpp_save_pragma_names, update
2044 for changes to struct save_macro_data.
2045 (cpp_read_state): Call _cpp_restore_pragma_names, update
2046 for changes to struct save_macro_data.
2047
2048 * cpppch.c (cpp_read_state): Restore the hashtable references
2049 in the cpp_reader.
2050
2051 * tree.h (built_in_decls): Mark for PCH.
2052
2053 * dbxout.c (lastfile): Don't mark for PCH.
2054
2055 * ggc.h: Document PCH calls into memory managers.
2056
2057 2002-12-18 Geoffrey Keating <geoffk@apple.com>
2058
2059 * doc/invoke.texi (Precompiled Headers): Document the
2060 directory form of PCH.
2061 * cppfiles.c (validate_pch): New function.
2062 (open_file_pch): Search suitably-named directories for PCH files.
2063
2064 2002-12-14 Geoffrey Keating <geoffk@apple.com>
2065
2066 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
2067 reorder options.
2068 (Type Information): Mention that the information is also
2069 used to implement PCH.
2070 * doc/passes.texi (Passes): Improve documentation of
2071 language-specific files.
2072
2073 2002-12-11 Geoffrey Keating <geoffk@apple.com>
2074
2075 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
2076 (struct walk_type_data): Add reorder_fn field.
2077 (walk_type): Process 'reorder' option.
2078 (write_types_process_field): Reorder parameters to gt_pch_note_object,
2079 call reorder_note_routine.
2080 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
2081 (ggc_wtd): Update for change to struct write_types_data.
2082 (pch_wtd): Likewise.
2083 * ggc.h (gt_pch_note_object): Reorder parameters.
2084 (gt_handle_reorder): New definition.
2085 (gt_pch_note_reorder): New prototype.
2086 * ggc-common.c (struct ptr_data): Add reorder_fn.
2087 (gt_pch_note_object): Reorder parameters.
2088 (gt_pch_note_reorder): New.
2089 (gt_pch_save): Call reorder_fn.
2090 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
2091
2092 * dbxout.c (cwd): Don't mark for PCH.
2093
2094 2002-12-09 Geoffrey Keating <geoffk@apple.com>
2095
2096 * gengtype.c (finish_root_table): Fix some warnings.
2097 (write_root): Handle TYPE_STRING.
2098 * ggc.h (gt_ggc_m_S): Add prototype.
2099 * stringpool.c (gt_ggc_m_S): New function.
2100
2101 2002-11-30 Geoffrey Keating <geoffk@apple.com>
2102
2103 * dwarf2out.c (dw2_string_counter): New.
2104 (AT_string_form): Use it.
2105 (same_dw_val_p): Update for removal of hashtable.h hash tables.
2106
2107 2002-11-22 Geoffrey Keating <geoffk@apple.com>
2108
2109 * dbxout.c: Include gt-dbxout.h.
2110 (lastfile): Mark for PCH/GGC.
2111 (cwd): Likewise.
2112 (struct typeinfo): Likewise.
2113 (typevec): Likewise.
2114 (typevec_len): Likewise.
2115 (next_type_number): Likewise.
2116 (struct dbx_file): Likewise.
2117 (current_file): Likewise.
2118 (next_file_number): Likewise.
2119 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
2120 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
2121 (dbxout_end_source_file): Don't free struct dbx_file.
2122 (dbxout_type): Use GGC to allocate typevec.
2123 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
2124 (GTFILES): Add dbxout.c.
2125 (gt-dbxout.h): New rule.
2126
2127 * Makefile.in (c-pch.o): Add debug.h as dependency.
2128 * c-pch.c: Include debug.h.
2129 (pch_init): Call start_source_file to keep nesting right.
2130 (c_common_read_pch): Add orig_name parameter. Call
2131 start_source_file debug hook. Call end_source_file debug hook.
2132 * c-common.h (c_common_read_pch): Update prototype.
2133 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
2134 callback.
2135 * cppfiles.c (struct include_file): Add new field `header_name'.
2136 (find_or_create_entry): Default it to `name'.
2137 (open_file_pch): Set it to the original header file searched for.
2138 (stack_include_file): Don't stack an empty buffer, just handle
2139 PCH files immediately. Pass header_name field to read_pch callback.
2140
2141 2002-11-19 Geoffrey Keating <geoffk@apple.com>
2142
2143 * function.c (funcdef_no): Mark to be saved in a PCH.
2144
2145 2002-11-15 Geoffrey Keating <geoffk@apple.com>
2146
2147 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
2148
2149 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
2150
2151 2002-11-14 Geoffrey Keating <geoffk@apple.com>
2152
2153 * optabs.h (code_to_optab): Add GTY marker.
2154
2155 2002-11-13 Geoffrey Keating <geoffk@apple.com>
2156
2157 * Makefile.in (GTFILES): Add cpplib.h.
2158 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
2159 * c-decl.c (build_compound_literal): Don't use var_labelno.
2160 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
2161 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
2162 * varasm.c (const_labelno): Use gengtype to mark.
2163 (var_labelno): Likewise.
2164 (in_section): Likewise.
2165 (in_named_name): Likewise.
2166 (struct in_named_entry): Likewise.
2167 (in_named_htab): Likewise.
2168 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
2169 (init_varasm_once): Use GGC to allocate in_named_htab.
2170 * config/darwin.c (current_pic_label_num): Mark for PCH.
2171
2172 2002-11-11 Geoffrey Keating <geoffk@apple.com>
2173
2174 * ggc-simple.c (init_ggc_pch): New stub procedure.
2175 (ggc_pch_count_object): Likewise.
2176 (ggc_pch_total_size): Likewise.
2177 (ggc_pch_this_base): Likewise.
2178 (ggc_pch_alloc_object): Likewise.
2179 (ggc_pch_prepare_write): Likewise.
2180 (ggc_pch_write_object): Likewise
2181 (ggc_pch_finish): Likewise.
2182 (ggc_pch_read): Likewise.
2183
2184 2002-11-08 Geoffrey Keating <geoffk@apple.com>
2185
2186 * c-pch.c (c_common_write_pch): Write the macro definitions after
2187 the GCed data.
2188 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
2189 definitions after the GCed data.
2190 * cpplib.c (save_macros): New.
2191 (reset_ht): New.
2192 (cpp_write_pch_deps): Split out of cpp_write_pch.
2193 (cpp_write_pch_state): Split out of cpp_write_pch.
2194 (cpp_write_pch): Delete.
2195 (struct save_macro_data): Delete.
2196 (cpp_prepare_state): New.
2197 (cpp_read_state): Erase and restore initial macro definitions.
2198 * cpplib.h (struct save_macro_data): Forward-declare.
2199 (cpp_write_pch_deps): Prototype.
2200 (cpp_write_pch_state): Prototype.
2201 (cpp_write_pch): Delete prototype.
2202 (cpp_prepare_state): Prototype.
2203 (cpp_read_state): Add fourth argument.
2204
2205 2002-11-04 Geoffrey Keating <geoffk@apple.com>
2206
2207 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
2208 (write_array): Remove warning.
2209
2210 * gengtype.c (contains_scalar_p): New.
2211 (finish_root_table): Add the table to all languages, even if it's
2212 empty.
2213 (write_roots): Output gt_pch_scalar_rtab.
2214 * ggc-common.c (gt_pch_save): Write out scalars.
2215 (gt_pch_restore): Read scalars back.
2216
2217 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
2218 (struct page_entry): Delete pch_page field.
2219 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
2220 (clear_marks): Likewise.
2221 (sweep_pages): Likewise.
2222 (poison_pages): Likewise.
2223 (ggc_print_statistics): Likewise.
2224 (ggc_pch_read): Don't free objects read from a PCH.
2225 Properly set up in_use_p and page_tails.
2226
2227 2002-10-25 Geoffrey Keating <geoffk@apple.com>
2228
2229 * gengtype.c (struct write_types_data): New.
2230 (struct walk_type_data): Make `cookie' const; add extra
2231 prev_val item; add `orig_s' field.
2232 (walk_type): Update prev_val[3].
2233 (write_types_process_field): New.
2234 (write_func_for_structure): Take write_types_data structure.
2235 (write_types): New.
2236 (ggc_wtd): New.
2237 (pch_wtd): New.
2238 (write_types_local_process_field): New.
2239 (gc_mark_process_field): Delete.
2240 (write_local_func_for_structure): New.
2241 (gc_mark_func_name): Delete.
2242 (write_gc_types): Delete.
2243 (write_local): New.
2244 (finish_root_table): Don't include 'ggc_' in PFX.
2245 (write_root): Rename from write_root. Fill pchw field of structures.
2246 (write_array): New.
2247 (write_roots): Rename from write_gc_roots. Split out to write_array.
2248 Update to changes to other routines. Write gt_pch_cache_rtab table.
2249 (main): Write PCH walking routines.
2250 * ggc-common.c: Include toplev.h, sys/mman.h.
2251 (ggc_mark_roots): For cache hashtables, also mark the hash table
2252 and the array of entries.
2253 (saving_htab): New.
2254 (struct ptr_data): New.
2255 (POINTER_HASH): New.
2256 (gt_pch_note_object): New.
2257 (saving_htab_hash): New.
2258 (saving_htab_eq): New.
2259 (struct traversal_state): New.
2260 (call_count): New.
2261 (call_alloc): New.
2262 (compare_ptr_data): New.
2263 (relocate_ptrs): New.
2264 (write_pch_globals): New.
2265 (struct mmap_info): New.
2266 (gt_pch_save): New.
2267 (gt_pch_restore): New.
2268 * ggc-page.c (ROUND_UP_VALUE): New.
2269 (ROUND_UP): New.
2270 (struct page_entry): Add field `pch_page'.
2271 (init_ggc): Use ROUND_UP.
2272 (struct ggc_pch_data): Declare.
2273 (init_ggc_pch): New.
2274 (ggc_pch_count_object): New.
2275 (ggc_pch_total_size): New.
2276 (ggc_pch_this_base): New.
2277 (ggc_pch_alloc_object): New.
2278 (ggc_pch_prepare_write): New.
2279 (ggc_pch_write_object): New.
2280 (ggc_pch_finish): New.
2281 (ggc_pch_read): New.
2282 * ggc.h (gt_pointer_operator): New.
2283 (gt_note_pointers): New.
2284 (gt_pch_note_object): New prototype.
2285 (gt_pointer_walker): New.
2286 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
2287 (LAST_GGC_ROOT_TAB): Update.
2288 (gt_pch_cache_rtab): Declare.
2289 (gt_pch_scalar_rtab): Declare.
2290 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
2291 (LAST_GGC_CACHE_TAB): Update.
2292 (gt_pch_save_stringpool): Declare.
2293 (gt_pch_restore_stringpool): Declare.
2294 (gt_pch_p_S): Declare.
2295 (gt_pch_n_S): Declare.
2296 (struct ggc_pch_data): Forward-declare.
2297 (init_ggc_pch): Declare.
2298 (ggc_pch_count_object): Declare.
2299 (ggc_pch_total_size): Declare.
2300 (ggc_pch_this_base): Declare.
2301 (ggc_pch_alloc_object): Declare.
2302 (ggc_pch_prepare_write): Declare.
2303 (ggc_pch_write_object): Declare.
2304 (ggc_pch_finish): Declare.
2305 (ggc_pch_read): Declare.
2306 (gt_pch_save): Declare.
2307 (gt_pch_restore): Declare.
2308 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
2309 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
2310 const_double_htab, mem_attrs_htab using GGC.
2311 * c-pch.c: Include ggc.h.
2312 (pch_init): Allow reading PCH file back.
2313 (c_common_write_pch): Call gt_pch_save.
2314 (c_common_read_pch): Call gt_pch_restore.
2315 * c-parse.in (init_reswords): Delete now-untrue comment.
2316 Allocate ridpointers using GGC.
2317 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
2318 calling expand_deferred_fns.
2319 * c-common.h (ridpointers): Mark for GTY machinery.
2320 * Makefile.in (stringpool.o): Update dependencies.
2321 (c-pch.o): Update dependencies.
2322 (ggc-common.o): Update dependencies.
2323 * stringpool.c: Include gt-stringpool.h.
2324 (gt_pch_p_S): New.
2325 (gt_pch_n_S): New.
2326 (struct string_pool_data): New.
2327 (spd): New.
2328 (gt_pch_save_stringpool): New.
2329 (gt_pch_restore_stringpool): New.
2330 * tree.c (init_ttree): Make type_hash_table allocated using GC.
2331
2332 2002-10-04 Geoffrey Keating <geoffk@apple.com>
2333
2334 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
2335 (output_mangled_typename): Don't pass size_t to printf.
2336
2337 * tree.h (union tree_type_symtab): Add tag to `address' field.
2338 (union tree_decl_u2): Add tag to 'i' field.
2339 * varasm.c (union rtx_const_un): Add tags to all fields.
2340 * gengtype.c (struct walk_type_data): New.
2341 (output_escaped_param): Take struct walk_type_data parameter.
2342 (write_gc_structure_fields): Delete.
2343 (walk_type): New.
2344 (write_gc_marker_routine_for_structure): Delete.
2345 (write_func_for_structure): New.
2346 (gc_mark_process_field): New.
2347 (gc_mark_func_name): New.
2348 (gc_counter): Delete.
2349 (write_gc_types): Use write_func_for_structure.
2350 (write_gc_roots): Use walk_type.
2351
2352 2002-10-02 Geoffrey Keating <geoffk@apple.com>
2353
2354 * ggc-common.c (ggc_mark_roots): Delete 'x'.
2355 (ggc_splay_dont_free): Fix warning about unused 'x'.
2356 (ggc_print_common_statistics): Remove warnings.
2357
2358 2002-10-01 Mike Stump <mrs@apple.com>
2359
2360 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
2361 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
2362
2363 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
2364 Catherine Moore <clm@redhat.com>
2365
2366 * Makefile (c-pch.o): Update dependencies.
2367 (LIBCPP_OBJS): Add cpppch.o.
2368 (cpppch.o): New.
2369 * c-common.c (c_common_init): Don't call pch_init here.
2370 * c-common.h (c_common_read_pch): Update prototype.
2371 * c-lex.c (c_common_parse_file): Call pch_init here.
2372 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
2373 (c_common_decode_option): Handle them.
2374 * c-pch.c: Include c-pragma.h.
2375 (save_asm_offset): Delete.
2376 (pch_init): Move contents of save_asm_offset into here, call
2377 cpp_save_state.
2378 (c_common_write_pch): Call cpp_write_pch.
2379 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
2380 cpp_valid_state.
2381 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
2382 * cppfiles.c (stack_include_file): Update for change to
2383 parameters of cb.read_pch.
2384 * cpphash.h (struct cpp_reader): Add `savedstate' field.
2385 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
2386 `restore_pch_deps' fields.
2387 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
2388 (cpp_save_state): Prototype.
2389 (cpp_write_pch): Prototype.
2390 (cpp_valid_state): Prototype.
2391 (cpp_read_state): Prototype.
2392 * cpppch.c: New file.
2393 * flags.h (version_flag): Remove prototype.
2394 * mkdeps.c (deps_save): New.
2395 (deps_restore): New.
2396 * mkdeps.h (deps_save): Prototype.
2397 (deps_restore): Prototype.
2398 * toplev.c (late_init_hook): Delete.
2399 (version_flag): Make static again.
2400 (compile_file): Don't call late_init_hook.
2401 * toplev.h (late_init_hook): Delete.
2402 * doc/cppopts.texi: Document -fpch-deps.
2403 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
2404
2405 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
2406
2407 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
2408 callers.
2409 (c_common_valid_pch): Rename from c_valid_pch, change callers.
2410 (c_common_read_pch): Rename from c_read_pch, change callers.
2411
2412 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
2413 a space between it and its argument.
2414
2415 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
2416
2417 * c-pch.c: New file.
2418 * toplev.h (late_init_hook): Declare.
2419 * toplev.c (late_init_hook): Define.
2420 (version_flag): Make globally visible.
2421 (compile_file): Call late_init_hook.
2422 (init_asm_output): Make output file seekable.
2423 * gcc.c (default_compilers): Update c-header rule.
2424 * flags.h (version_flag): Declare.
2425 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
2426 fields.
2427 * cppfiles.c (struct include_file): Add 'pch' field.
2428 (INCLUDE_PCH_P): New.
2429 (open_file_pch): New.
2430 (stack_include_file): Handle PCH files specially.
2431 (find_include_file): Call open_file_pch instead of open_file.
2432 (_cpp_read_file): Explain why open_file is used instead of
2433 open_file_pch.
2434 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
2435 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
2436 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
2437 in cpplib callbacks.
2438 * c-common.c (pch_file): Correct comment.
2439 (allow_pch): Define.
2440 (c_common_init): Call pch_init.
2441 * c-common.h (allow_pch): Declare.
2442 (pch_init): Declare.
2443 (c_valid_pch): Declare.
2444 (c_read_pch): Declare.
2445 (c_write_pch): Declare.
2446 * Makefile.in (c-pch.o): New.
2447 (C_AND_OBJC_OBJS): Add c-pch.o.
2448 * doc/invoke.texi (Precompiled Headers): Add index entries,
2449 complete truncated paragraph.
2450
2451 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
2452
2453 * c-common.c: (pch_file): Define.
2454 * c-common.h (pch_file): Declare.
2455 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
2456 (missing_arg): Require --output-pch= to have an argument.
2457 (c_common_decode_option): Handle --output-pch=.
2458 * gcc.c: Document new %V.
2459 (default_compilers): Handle compiling C header files.
2460 (do_spec_1): Implement %V.
2461 (main): Handle "gcc foo.h" without trying to run linker.
2462 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
2463 (Overall Options): Document what the driver does with header files,
2464 document new -x option possibilities.
2465 (Invoking G++): More documentation for PCH.
2466 (Precompiled Headers): New.
2467
2468 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
2469
2470 * ggc.h: Don't include varray.h. Rearrange functions to be more
2471 organized.
2472 (ggc_add_root): Delete.
2473 (ggc_mark_rtx): Delete.
2474 (ggc_mark_tree): Delete.
2475 (struct ggc_statistics): Remove contents.
2476 * ggc-common.c: Remove unneeded includes.
2477 (struct ggc_root): Delete.
2478 (roots): Delete.
2479 (ggc_add_root): Delete.
2480 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
2481 (ggc_print_common_statistics): Remove most of the contents.
2482 * Makefile.in (GGC_H): No longer uses varray.h.
2483 (ggc-common.o): Update dependencies.
2484 (c-parse.o): Add varray.h to dependencies.
2485 (c-common.o): Add varray.h.
2486 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
2487 (mark_ident_hash): Rename to ggc_mark_stringpool.
2488 (init_stringpool): Don't use ggc_add_root.
2489 * c-parse.in: Include varray.h.
2490 * c-common.c: Include varray.h.
2491 * objc/Make-lang.in (objc-act.o): Add varray.h.
2492 * objc/objc-act.c: Include varray.h.
2493
2494 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
2495
2496 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
2497 (dw_cfi_oprnd1_desc): Likewise.
2498
2499 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
2500
2501 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
2502 move out of ifdef.
2503 (alpha_links): Use gengtype to mark; move out of ifdef.
2504 (mark_alpha_links_node): Delete.
2505 (mark_alpha_links): Delete.
2506 (alpha_need_linkage): Use GGC to allocate splay tree, struct
2507 alpha_links, strings. Don't use ggc_add_root.
2508 * ggc-common.c (ggc_splay_alloc): New.
2509 (ggc_splay_dont_free): New.
2510 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
2511 (ggc_mark_tree): Likewise.
2512 (splay_tree_new_ggc): New.
2513 (ggc_splay_alloc): Declare.
2514 (ggc_splay_dont_free): Declare.
2515 * dwarf2asm.c: Include gt-dwarf2asm.h.
2516 (mark_indirect_pool_entry): Delete.
2517 (mark_indirect_pool): Delete.
2518 (indirect_pool): Use gengtype to mark.
2519 (dw2_force_const_mem): Don't use ggc_add_root.
2520 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
2521 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
2522 (gt-dwarf2asm.h): Depend on s-gtype.
2523
2524 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
2525
2526 * tree.h (union tree_type_symtab): Mark `die' field.
2527 * Makefile.in (dwarf2out.o): Update dependencies.
2528 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
2529 hash tables.
2530 (dw_cfi_oprnd1_desc): New function.
2531 (dw_cfi_oprnd2_desc): New function.
2532 (indirect_string_alloc): Delete.
2533 (debug_str_do_hash): New function.
2534 (debug_str_eq): New function.
2535 (mark_limbo_die_list): Delete.
2536 (dwarf2out_init): Don't call ggc_add_root.
2537
2538 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>
2539
2540 The following changes are merged from itanium-sched-branch:
2541
2542 2003-01-08 David Edelsohn <edelsohn@gnu.org>
2543
2544 * doc/md.texi: Clarify assignment of units to automata description.
2545
2546 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
2547
2548 * genautomata.c (unit_decl): Remove members
2549 `the_same_automaton_unit' and
2550 `the_same_automaton_message_reported_p'.
2551 (process_unit_to_form_the_same_automaton_unit_lists,
2552 form_the_same_automaton_unit_lists_from_regexp,
2553 form_the_same_automaton_unit_lists, the_same_automaton_lists):
2554 Remove them.
2555 (annotation_message_reported_p): New global variable.
2556 (check_unit_distribution_in_reserv,
2557 check_regexp_units_distribution): New functions.
2558 (check_unit_distributions_to_automata): Rewrite it.
2559
2560 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
2561
2562 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
2563 Use continue instead of break if cycle is too big.
2564
2565 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
2566
2567 * genautomata.c (check_unit_distributions_to_automata): Output at
2568 most one message for a unit.
2569 (process_unit_to_form_the_same_automaton_unit_lists): Check
2570 automaton of units instead of units themself.
2571
2572 * doc/md.texi: Describe the constraint about assigning unit to
2573 automata.
2574
2575 2002-12-20 Jan Hubicka <jH@suse.cz>
2576 Vladimir Makarov <vmakarov@redhat.com>
2577
2578 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
2579 and `in_set_p'.
2580 (gen_cpu_unit): Initialize the new members.
2581 (process_regexp_cycles): Calculate minimal finish cycle too. Set
2582 up `min_occ_cycle_num'.
2583 (evaluate_max_reserv_cycles): Change the function call.
2584 (CLEAR_BIT): New macro.
2585 (states_union, state_shift): Use the mask.
2586 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
2587 (form_reservs_matter): New function.
2588 (make_automaton): Call the function and use the mask.
2589 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
2590 account.
2591
2592 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2593
2594 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
2595
2596 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2597
2598 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
2599 for Itanium.
2600
2601 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2602
2603 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
2604 default cpu.
2605
2606 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2607 2002-10-31 Dale Johannesen <dalej@apple.com>
2608
2609 * haifa-sched.c (find_set_reg_weight): New function.
2610 (find_insn_reg_weight): Use the new function.
2611 (schedule_block): Do sorting ready queue always
2612 after insn issue.
2613
2614 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
2615
2616 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
2617
2618 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
2619
2620 * haifa-sched.c (choice_entry): New structure.
2621 (choice_stack, cycle_issued_insns): New variables.
2622 (max_issue): Rewrite it.
2623 (choose_ready): Set up ready_try for unknown insns too.
2624 (schedule_block): Allocate and free choice_stack. Set up
2625 and modify cycle_issued_insns.
2626
2627 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
2628 with and without filling the bundle.
2629 (bundling): Combine calls of issue_nops_and_insn.
2630
2631 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
2632
2633 * config/ia64/itanium1.md: New file.
2634
2635 * config/ia64/itanium2.md: New file.
2636
2637 * config/ia64/ia64.md: Move DFA descriptions into the new files.
2638 Remove the old pipeline description.
2639
2640 * config/ia64/ia64.c (ia64_override_options): Add aliases of
2641 itanium processor names.
2642
2643 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
2644
2645 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
2646 (ia64_reorg): Set up queried unit codes for Itanium2 too.
2647
2648 * config/ia64/ia64.md: Add descriptions for Itanium2.
2649
2650 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
2651
2652 * config/ia64/ia64.h (processor_type): New enumeration.
2653 (ia64_tune, ia64_tune_string): New external declarations.
2654 (TARGET_OPTIONS): Add option `tune='.
2655
2656 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
2657 variables.
2658 (ia64_override_options): Set up `ia64_tune'.
2659 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
2660 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
2661 (bundling): Add nops for MM-insns only for Itanium.
2662 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
2663 Itanium.
2664
2665 * config/ia64/ia64.md (cpu): New attribute.
2666 (DFA description): Enable it only for Itanium.
2667
2668 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
2669 Richard Henderson <rth@redhat.com>
2670
2671 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
2672 MASK_EARLY_STOP_BITS.
2673 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
2674 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
2675 `early-stop-bits'.
2676
2677 * config/ia64/ia64.c (ia64_dfa_new_cycle,
2678 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
2679 instead of TARGET_TUNE_STOP_BITS.
2680
2681 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
2682 `-mearly-stop-bits'.
2683
2684 * config/ia64/ia64.c (automata_option "v"): Comment it.
2685
2686 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
2687
2688 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
2689 New macros.
2690 (TARGET_SWITCHES): Add entries for the new option.
2691
2692 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
2693 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
2694 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
2695 global variables.
2696 (ia64_sched_reorder2): Set up `clocks'.
2697 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
2698 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
2699 queue when TARGET_TUNE_STOP_BITS.
2700 (bundling): Insert additional nops for MM-insns.
2701 (final_emit_insn_group_barriers): Add insertion of stop bits
2702 according `stops_p'.
2703 (ia64_reorg): Initiate the new varibales.
2704
2705 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
2706
2707 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
2708
2709 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
2710 insns at the end of block insn scheduling.
2711
2712 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
2713
2714 * sched-deps.c (remove_dependence, group_leader): Remove it.
2715 (add_dependence): Add dependence to group leader to.
2716 (set_sched_group_p): Add dependence to the first insn of the
2717 schedule group too.
2718 (sched_analyze_insn): Make dependence to jump as anti-dependence.
2719 Change true dependence by anti-dependence when
2720 `reg_pending_barrier'.
2721
2722 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
2723 add_branch_dependences): Ignore schedule groups.
2724
2725 * sched-ebb.c (init_ready_list): Ditto.
2726
2727 * (move_insn, set_priorities): Ditto.
2728
2729 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
2730 flag is clear after reload.
2731 (adjust_cost): Change cost only for output dependencies.
2732
2733 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
2734
2735 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
2736
2737 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
2738
2739 * target.h (gcc_target): Add member
2740 `dependencies_evaluation_hook'.
2741
2742 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
2743 macro.
2744 (TARGET_SCHED): Add initiatialization of the new member.
2745
2746 * sched-ebb.c: Include `target.h'.
2747 (schedule_ebb): Call `dependencies_evaluation_hook'.
2748
2749 * sched-rgn.c (schedule_region): Call
2750 `dependencies_evaluation_hook'.
2751
2752 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2753 New macro.
2754 (ia64_dependencies_evaluation_hook): New function.
2755
2756 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2757 Describe the new hook.
2758
2759 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
2760
2761 * target.h (gcc_target): Add members
2762 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
2763
2764 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
2765 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
2766 macros.
2767 (TARGET_SCHED): Add initiatialization of the new members.
2768
2769 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
2770 insn scheduling too.
2771 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
2772 initialize `ready_try'.
2773 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
2774 `dfa_new_cycle' says not to do it.
2775
2776 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
2777 bundling.
2778
2779 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
2780
2781 * config/ia64/ia64.c: Include `hashtab.h'.
2782 (ia64_first_cycle_multipass_dfa_lookahead_guard,
2783 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
2784 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
2785 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
2786 bundle_state_eq_p, insert_bundle_state,
2787 initiate_bundle_state_table, finish_bundle_state_table,
2788 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
2789 get_template, get_next_important_insn, bundling): New functions.
2790 (ia64_internal_sched_reorder): Remove it.
2791 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2792 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
2793 (ia64_safe_itanium_requires_unit0): Remove it.
2794 (group_barrier_needed_p): Place group barrier right before a real
2795 insn.
2796 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
2797 Remove them.
2798 (bundle_name): New variable.
2799 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
2800 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
2801 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
2802 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
2803 temp_dfa_state, prev_cycle_state): New global variables.
2804 (insn_matches_slot, maybe_rotate, finish_last_head,
2805 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
2806 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
2807 find_best_packet, itanium_reorder, dump_current_packet,
2808 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
2809 (sched_data, sched_ready, sched_types): Remove them.
2810 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
2811 `init_insn_group_barriers'.
2812 (ia64_sched_reorder, ia64_sched_reorder2): Call
2813 ia64_dfa_sched_reorder.
2814 (ia64_variable_issue): Rewrite it.
2815 (bundle_state): New structure.
2816 (index_to_bundle_states, bundle_states_num,
2817 allocated_bundle_states_chain, free_bundle_state_chain): New
2818 global variables.
2819 (ia64_sched_finish): Add stop bits and call `bundling' after the
2820 2nd insn scheduling.
2821 (ia64_use_dfa_pipeline_interface): Return zero always.
2822 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
2823 insn scheduling.
2824 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
2825 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
2826 (ia64_reorg): Add bundling insns.
2827
2828 * doc/tm.texi
2829 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2830 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
2831
2832 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
2833
2834 * config/ia64/ia64.md: Add Itanium1 DFA description.
2835 (itanium_class): Add `nop' and `pre_cycle'. Add
2836 define_function_unit for `nop'.
2837 (nop): Change attribute `itanium_class'.
2838 (pre_cycle): New define_insn.
2839
2840 * config/ia64/ia64-protos.h (bundling_p): New external variable.
2841 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
2842 ia64_produce_address_p): New function prototypes.
2843
2844 * config/ia64/ia64.c (bundling_p): New global variable.
2845 (ia64_use_dfa_pipeline_interface,
2846 ia64_first_cycle_multipass_dfa_lookahead,
2847 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
2848 functions.
2849 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2850 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2851 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2852 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
2853 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
2854 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
2855 (dfa_pre_cycle_insn): New variable.
2856
2857 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
2858
2859 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
2860 constructions.
2861
2862 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
2863 New function prototypes.
2864
2865 * genattrtab.c (main): Process the new constructions.
2866
2867 * genautomata.c (gen_presence_absence_set,
2868 process_presence_absence_names, process_presence_absence_patterns,
2869 add_presence_absence, check_absence_pattern_sets): Add parameter
2870 `final_p'.
2871 (unit_decl): Add new members `final_presence_list' and
2872 `final_absence_list'.
2873 (unit_pattern_rel_decl): Add new member `final_p'.
2874 (gen_final_presence_set, gen_final_absence_set): New functions.
2875 (process_decls): Use member `final_p'.
2876 (temp_reserv): New global variable.
2877 (reserv_sets_are_intersected): Add processing `final_presence_set'
2878 and `final_absence_set'.
2879 (initiate_states): Allocate `temp_reserv'.
2880 (unit_final_presence_set_table, unit_final_absence_set_table): New
2881 gloabal variables.
2882 (initiate_presence_absence_pattern_sets): Initiate them.
2883 (NDFA_to_DFA): Fix typo.
2884 (output_description): Output `final_presence_set' and
2885 `final_absence_set'.
2886
2887 * doc/md.texi (final_presence_set, final_absence_set): Describe
2888 them.
2889
2890 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
2891
2892 * genautomata.c (transform_3): Process a missing case (nothing on
2893 unit place).
2894
2895 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
2896
2897 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
2898 comments about queried units and the minimization.
2899
2900 * doc/md.texi: Ditto.
2901
2902 * genautomata.c (create_composed_state): Return nonzero if the new
2903 state has been created.
2904 (first_cycle_unit_presence): New function.
2905 (state_is_differed): Add new parameter. Use the new function.
2906 Take queried units into account.
2907 (partition_equiv_class): Pass additional parameter to
2908 `state_is_differed'.
2909 (merge_states): Process composed states too.
2910 (build_automaton, create_automata, output_min_issue_delay_table,
2911 output_tables, output_statistics): Output more information.
2912 (output_reserved_units_table): Use function
2913 `first_cycle_unit_presence'.
2914 (output_tables): Output table of queried units even if the
2915 minimization is switched on.
2916 (write_automata): Output code for querying units even if the
2917 minimization is switched on.
2918
2919 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
2920
2921 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
2922 syntax of the constructions.
2923
2924 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
2925 extended syntax of the constructions.
2926
2927 * genautomata.c (unit_rel_decl): Rename it to
2928 `unit_pattern_rel_decl'.
2929 (pattern_set_el, pattern_reserv): New structures.
2930 (pattern_set_el_t, pattern_reserv_t): New types.
2931 (gen_presence_absence_set): New function.
2932 (process_presence_absence): Remove it.
2933 (process_presence_absence_names,
2934 process_presence_absence_patterns): New functions.
2935 (get_presence_absence_set): Remove it.
2936 (initiate_presence_absence_sets): Rename it on
2937 `initiate_presence_absence_pattern_sets'. Use new function
2938 `form_reserv_sets_list'.
2939 (form_reserv_sets_list, check_presence_pattern_sets,
2940 check_absence_pattern_sets, output_pattern_set_el_list): New
2941 functions.
2942 (unit_decl): Change types of members `presence_list' and
2943 `absence_list'.
2944 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
2945 (decl): Change types of members `excl', `presence', and `absence'.
2946 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
2947 at the end of the vector.
2948 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
2949 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
2950 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
2951 (gen_presence_set, gen_absence_set): Use new function
2952 `gen_presence_absence_set'.
2953 (add_presence_absence): Process `pattern_list' instead of
2954 `source_list'.
2955 (process_decls): USe new functions
2956 `process_presence_absence_names' and
2957 `process_presence_absence_patterns'.
2958 (reserv_sets_are_intersected): Use new function
2959 `check_presence_pattern_sets'.
2960 (presence_set, absence_set): Remove them.
2961 (unit_presence_set_table, unit_absence_set_table): New global
2962 variables.
2963 (output_description): Use new function
2964 `output_pattern_set_el_list'.
2965 (generate): Use `initiate_presence_absence_pattern_sets'.
2966
2967 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
2968
2969 * genattr.c (main): Add output of prototype of new interface
2970 function `dfa_clean_insn_cache'.
2971
2972 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
2973 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
2974 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
2975 the generated code.
2976 (write_automata): Call the new function.
2977
2978 Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
2979
2980 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
2981 correctly.
2982
2983 2003-01-09 Paolo Carlini <pcarlini@unitus.it>
2984
2985 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
2986
2987 Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
2988
2989 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
2990 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
2991 (CONSTRAINT_LEN): Provide default definition.
2992 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2993 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
2994 (EXTRA_CONSTRAINT_STR): Likewise.
2995 (REG_CLASS_FROM_CONSTRAINT): Define.
2996 * genoutput.c (check_constraint_len, constraint_len): New functions.
2997 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
2998 constraint / modifier.
2999 (gen_insn): Call check_constraint_len.
3000 * local-alloc.c (block_alloc): Update to use new macros / pass
3001 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
3002 * ra-build.c (handle_asm_insn): Likewise.
3003 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
3004 (constrain_operands, peep2_find_free_register): Likewise.
3005 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
3006 * regmove.c (find_matches): Likewise.
3007 * reload.c (push_secondary_reload, find_reloads): Likewise.
3008 (alternative_allows_memconst): Likewise.
3009 * reload1.c (maybe_fix_stack_asms): Likewise.
3010 (reload_cse_simplify_operands): Likewise.
3011 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
3012 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
3013 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
3014 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
3015 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
3016 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
3017
3018 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
3019
3020 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
3021
3022 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
3023 length.
3024 (*extzv_1_r_h8300hs): Likewise.
3025 (*extzv_1_r_inv_h8300): Likewise.
3026 (*extzv_1_r_inv_h8300hs): Likewise.
3027
3028 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
3029
3030 * config/h8300/h8300.h (PREDICATE_CODES): New.
3031
3032 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
3033
3034 * config/h8300/h8300.md (*addsi3_upper): New.
3035 (*iorsi3_shift): Likewise.
3036 (two splitters): Likewise.
3037 (*addsi3_shift): Likewise.
3038 (two splitters): Likewise.
3039
3040 2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
3041
3042 * Makefile.in (optabs.o): Add dependency on basic-block.h.
3043 * basic-block.h (control_flow_insn_p): Fuction was exported.
3044 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
3045 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
3046 notes only when the region is contained in a single basic block.
3047
3048 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
3049
3050 PR inline-asm/8832
3051 * tree.h (expand_asm): New prototype.
3052 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
3053 to do so.
3054 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
3055 down to expand_asm.
3056 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
3057 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
3058 (volatile_refs_p) [ASM_INPUT]: Likewise.
3059 (side_effects_p) [ASM_INPUT]: Likewise.
3060
3061 Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
3062
3063 * i386.md (*mul*): FIx constraints; remove confused comment; fix
3064 athlon_decode attributes
3065 (imul/k8 optimization peep2s): New.
3066
3067 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
3068 * i386.md (type attribute): Add ssecomi.
3069 (unit, memory, prefix attributes): Handle ssecomi.
3070 (cvt?2? patterns): Fix athlon_decode attribute
3071 (comi patterns): Set attribute to ssecomi.
3072
3073 PR target/8343
3074 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
3075
3076 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
3077
3078 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
3079 that match register_operands.
3080 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
3081 register_operand the default case.
3082
3083 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
3084
3085 PR c/8032
3086 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
3087 an empty element, do not advance the pointer to unfilled
3088 fields if there are pending initializers.
3089
3090 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
3091
3092 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
3093 (install-gcc-tooldir, install-cpp, installdirs,
3094 install-common, install-driver, install-info, install-man,
3095 install-headers, install-include-dir, install-headers-tar,
3096 install-headers-cpio, install-headers-cp, install-mkheaders,
3097 install-collect2, uninstall): Prepend $(DESTDIR) to
3098 destination paths in all (un)installation commands.
3099 (install-driver): Rewrite $(LN) commands to support DESTDIR
3100 with "ln" as well as with "ln -s".
3101 (installdirs): Simply use mkinstalldirs.
3102 (install-libgcc, install-multilib): Also pass DESTDIR.
3103 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
3104 installation destination variable ldir.
3105 * config/alpha/t-osf4, config/arm/t-netbsd,
3106 config/ia64/t-hpux, config/mips/t-iris5-6,
3107 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
3108 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
3109 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
3110 in the definition of SHLIB_INSTALL.
3111 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
3112 $(libsubdir) in the installation commands.
3113
3114 2003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
3115
3116 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
3117 non-optimizing compile.
3118 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
3119 compile.
3120
3121 2003-01-08 Douglas B Rupp <rupp@gnat.com>
3122
3123 * config/i386/i386.c (ix86_attribute_table): Add new attributes
3124 ms_struct and gcc_struct.
3125 (ix86_handle_struct_attribute): New function.
3126 (ix86_ms_bitfield_layout_p): Update to take new attributes
3127 into account.
3128 * doc/extend.texi: Document new attributes.
3129 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
3130
3131 2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
3132
3133 PR optimization/8750
3134 * config/i386/i386.c (ix86_expand_prologue): Don't allow
3135 scheduling pass to move insns across __alloca call.
3136
3137 2003-01-08 Dale Johannesen <dalej@apple.com>
3138
3139 * config/rs6000/rs6000.md: Replace *store_multiple_string
3140 with *stmsi[3-8].
3141
3142 2003-01-08 Jeff Sturm <jsturm@one-point.com>
3143
3144 PR target/9210
3145 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
3146 Set SYMBOL_REF_FLAG on local data sym_ref.
3147
3148 2003-01-08 Dale Johannesen <dalej@apple.com>
3149
3150 * function.c (assign_parms): Don't set pretend_args_size if
3151 REG_PARM_STACK_SPACE.
3152 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
3153 pretend_args_size.
3154
3155 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
3156
3157 * gcc.hlp: Delete.
3158
3159 Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
3160
3161 * i386.c (ix86_expand_int_addcc): Fix thinko.
3162
3163 2003-01-08 David Edelsohn <edelsohn@gnu.org>
3164
3165 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
3166 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
3167 as hook_bool_tree_hwi_hwi_tree_true.
3168 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
3169 (rs6000_emit_epilogue): Same.
3170 (rs6000_output_mi_thunk): Re-implement as RTL.
3171 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
3172 xcoffout_declare_function if any debugging enabled.
3173
3174 2003-01-08 Chris Demetriou <cgd@broadcom.com>
3175
3176 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
3177 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
3178 * config/mips/mips.h (enum processor_type): Rename
3179 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
3180 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
3181 Add PROCESSOR_M4K.
3182 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
3183 (ISA_MIPS32R2): New define.
3184 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
3185 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
3186 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
3187 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
3188 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
3189 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
3190 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
3191 compiling MIPS16 code.
3192 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
3193 comment.
3194 (ISA_HAS_SEB_SEH): New define.
3195 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
3196 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
3197 processor_type value renaming. Add support for MIPS32R2.
3198 Clean up comments, and move "sb1" entry with other MIPS64 CPU
3199 entries.
3200 (override_options): Reimplement -mipsN option handling so that
3201 it will work correctly for -mips32r2. Avoid branch-likely
3202 instructions on MIPS32R2.
3203 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
3204 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
3205 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
3206 (extendhisi2_hw, extendqisi2_hw): New.
3207 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
3208 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
3209 MIPS32R2, and MIPS64.
3210 (LINK_SPEC): Pass -mips32r2 to linker.
3211 * config/mips/t-isa3264: Built -mips32r2 multilibs.
3212 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
3213 for mips32r2 in the -march description. Alphabetically sort
3214 CPU names in the -march description. Add long-missed -mips32
3215 and -mips64 to MIPS option summary.
3216
3217 * config.gcc: Update copyright years to include 2003.
3218 * config/mips/mips.c: Likewise.
3219 * config/mips/mips.h: Likewise.
3220 * config/mips/mips.md: Likewise.
3221 * config/mips/netbsd.h: Likewise.
3222 * doc/invoke.texi: Likewise.
3223
3224 2003-01-08 Andreas Schwab <schwab@suse.de>
3225
3226 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
3227 variable.
3228 * configure: Regenerated.
3229
3230 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
3231
3232 * config/h8300/h8300.c (output_logical_op): Replace byte/word
3233 extraction of det with b0, b1, w0, w2, etc.
3234 (compute_logical_op_length): Likewise.
3235 (compute_logical_op_cc): Likewise.
3236
3237 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
3238
3239 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
3240 HIGH on all variants.
3241
3242 Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
3243
3244 * Makefile.in (PARTITION_H): New.
3245 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
3246 * basic-block.h: Include hard-reg-set.h.
3247
3248 2003-01-08 Richard Earnshaw <rearnsha@arm.com>
3249
3250 * arm.h (ENABLE_XF_PATTERNS): Delete.
3251 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
3252 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
3253 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
3254 (cmpxf_trap): Delete.
3255 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
3256
3257 Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
3258
3259 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
3260 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
3261 (add??cc): New expanders.
3262 * i386.c (expand_int_addcc): New function.
3263 * i386-protos.h (expand_int_addcc): Declare.
3264
3265 * alias.c (memory_modified_1): New static function.
3266 (memory_modified): New static varaible.
3267 (memory_modified_in_insn_p): New global function.
3268 * rtl.h (memory_modified_in_insn_p): Declare.
3269 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
3270 references.
3271
3272 * expr.h (emit_conditional_add): Declare.
3273
3274 2003-01-07 Janis Johnson <janis187@us.ibm.com>
3275
3276 PR other/8947
3277 * doc/invoke.texi (-malign-double): Explain that the option breaks
3278 binary compatibility.
3279
3280 2003-01-08 Andreas Schwab <schwab@suse.de>
3281
3282 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
3283 should come from the generic *-*-linux* entry.
3284
3285 Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
3286
3287 * cselib.c (cselib_current_insn_in_libcall): New static variable.
3288 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
3289 we are inside libcall.
3290 * cselib.h (elt_loc_list): Add in_libcall.
3291 * gcse.c (do_local_cprop): Do not copy propagate using insns
3292 in libcalls.
3293
3294 2003-01-07 David Edelsohn <edelsohn@gnu.org>
3295
3296 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
3297 not normally affect to issue rate.
3298
3299 Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
3300
3301 * genopinit.c (optabs): Add addc_optab.
3302 * ifcvt.c (noce_try_store_flag): Rename to ...
3303 (noce_try_addcc): ... this one; handle generic conditional increment.
3304 (noce_process_if_block): Update noce_try_addcc call.
3305 * optabs.c (emit_conditional_add): New.
3306 (init_obtabs): Initialize addc_optab.
3307 * optabs.h (optab_index): Add OTI_addcc.
3308 (addcc_optab): New macro.
3309 * md.texi: Document addMcc
3310
3311 PR target/8322
3312 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
3313 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
3314 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
3315
3316 * reload1.c (delete_output_reload): Avoid repeated attempts
3317 to delete insn.
3318
3319 2003-01-07 Andreas Schwab <schwab@suse.de>
3320
3321 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
3322 Move --enable-initfini-array check ...
3323 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
3324 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
3325 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
3326 * configure: Rebuild.
3327
3328 2003-01-07 Richard Henderson <rth@redhat.com>
3329
3330 * alias.c (find_base_value): Only use new_reg_base_value shortcut
3331 if the register is set once.
3332
3333 2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
3334
3335 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
3336 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
3337 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
3338
3339 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
3340 Sunil Davasam <sunil.k.davasam@intel.com>
3341
3342 PR libstdc++/9076
3343 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
3344 DW_CFA_same_value, read next and ignore.
3345
3346 2003-01-07 Richard Henderson <rth@redhat.com>
3347
3348 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
3349
3350 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
3351
3352 * cfg.c: Include alloc-pool.h
3353 (edge_pool): New pool.
3354 (bb_pool): New pool.
3355 (first_deleted_edge): Remove.
3356 (first_deleted_block): Remove.
3357 (init_flow): Alloc/free the pools.
3358 (free_edge): Use pools.
3359 (alloc_block): Ditto.
3360 (expunge_block): Ditto.
3361 (cached_make_edge): Ditto.
3362
3363 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
3364
3365 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
3366
3367 * et-forest.c: Include alloc-pool.h.
3368 (struct et_forest): Add node_pool and occur_pool.
3369 (et_forest_create): Create the new pools.
3370 (et_forest_delete): Delete them.
3371 (et_forest_add_node): Allocate and free using pools.
3372 (et_forest_add_edge): Ditto.
3373 (et_forest_remove_node): Ditto.
3374 (et_forest_remove_edge): Ditto.
3375
3376 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
3377
3378 2003-01-07 Kazu Hirata <kazu@cs.umass.edu>
3379
3380 * config/h8300/h8300.c (output_logical_op): Simplify and
3381 optimize the handling of SImode.
3382 * config/h8300/h8300.c (compute_logical_op_length): Update
3383 accordingly.
3384 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
3385
3386 2003-01-07 Richard Sandiford <rsandifo@redhat.com>
3387
3388 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
3389 big-endian correction to indirect arguments too.
3390
3391 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
3392
3393 Segher Boessenkool <segher@koffie.nl>
3394
3395 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
3396 (alt_reg_names): Ditto, fix formatting.
3397 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
3398
3399 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
3400
3401 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
3402 (output_logical_op): Constify intval and det.
3403 (compute_logical_length): Likewise.
3404 (compute_logical_cc): Likewise.
3405 (output_a_shift): Constify mask.
3406 (h8300_encode_label): Constify len.
3407
3408 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
3409
3410 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
3411 (h8300_expand_epilogue): Likewise.
3412
3413 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
3414
3415 Segher Boessenkool <segher@koffie.nl>
3416
3417 * config/rs6000/altivec.md: Remove spaces from assembler
3418 instruction argument lists.
3419
3420 2003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3421
3422 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
3423 c4x_assembler_function_p.
3424 (c4x_null_epilogue_p): Complement return value, all uses updated.
3425 (c4x_insert_attributes): Add naked.
3426 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
3427 * doc/extend.texi: Update C4x function attributes.
3428
3429 2003-01-06 Richard Henderson <rth@redhat.com>
3430
3431 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
3432 properly when changing "local-ness".
3433 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
3434
3435 2003-01-06 Dale Johannesen <dalej@apple.com>
3436
3437 * config/darwin-protos.h: Add prototypes for new section functions.
3438
3439 2003-01-06 Chris Demetriou <cgd@broadcom.com>
3440
3441 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
3442 to EABI.
3443
3444 2003-01-06 Zack Weinberg <zack@codesourcery.com>
3445
3446 * hwint.h: If the current compiler has no 64-bit type at all,
3447 make HOST_WIDEST_INT 32 bits.
3448
3449 2003-01-06 Eric Christopher <echristo@redhat.com>
3450
3451 * config/mips/mips.md (movdf_internal2): Fix constraints.
3452
3453 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
3454
3455 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
3456
3457 2003-01-06 Richard Sandiford <rsandifo@redhat.com>
3458
3459 * config/mips/mips.md (leadi): Use dla rather than la.
3460
3461 2003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
3462
3463 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
3464 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
3465
3466 2003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3467
3468 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
3469 redefinition.
3470
3471 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
3472
3473 * config/h8300/h8300.md (*extzv_8_23): New.
3474
3475 2003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3476
3477 * pa64-hpux.h (JCR_SECTION_NAME): Define.
3478 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
3479 USE_EH_FRAME_REGISTRY when defining.
3480
3481 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
3482
3483 * config/h8300/h8300.c (output_a_shift): Do not output a
3484 variable shift.
3485 * config/h8300/h8300.md (two splitters): New.
3486
3487 2003-01-05 Richard Sandiford <rsandifo@redhat.com>
3488
3489 * config/mips/mips.md: Disable the movstrsi define_split.
3490
3491 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3492
3493 * alloc-pool.c: Don't include "libiberty.h".
3494 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
3495 * convert.c (convert_to_real): Hide unused variable.
3496
3497 2003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3498
3499 * Makefile.in (gtyp-gen.h): Const-ify.
3500 * gcov-dump.c (tag_table): Likewise.
3501
3502 2003-01-04 Bruce Korb <bkorb@gnu.org>
3503
3504 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
3505 of *both* the file name and the fix name.
3506
3507 2003-01-04 John David Anglin <dave.anglin@nrc.ca>
3508
3509 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
3510 collect2.
3511 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
3512 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
3513 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
3514 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
3515 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
3516 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
3517 elfos.h.
3518 (EH_FRAME_IN_DATA_SECTION): Delete define.
3519 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
3520 (STARTFILE_SPEC): Use crtbegin.o.
3521 (ENDFILE_SPEC): Use crtend.o.
3522 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
3523 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
3524 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
3525 DTOR_LIST_BEGIN): Define.
3526 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
3527 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
3528 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
3529
3530 2002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
3531
3532 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
3533 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
3534 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
3535 Cleanup handling of replacement text.
3536 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
3537
3538 2003-01-04 Bruce Korb <bkorb@gnu.org>
3539
3540 * fixinc/tests/base/math.h: removed obsolete results
3541 * fixinc/tests/base/stdlib.h: ditto
3542 * fixinc/tests/base/sys/param.h: ditto
3543 * fixinc/tests/base/sys/stat.h: ditto
3544 * fixinc/tests/base/time.h: ditto
3545 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
3546 * fixinc/tests/base/sys/byteorder.h: ditto
3547 * fixinc/inclhack.def: Remove superfluous backslashes
3548
3549 2003-01-04 Kazu Hirata <kazu@cs.umass.edu>
3550
3551 * config/h8300/h8300-protos.h: Add prototypes for
3552 the new functions defined below.
3553 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
3554 define.
3555 (dosize): Emit RTL instead of assembly code.
3556 (push): Likewise.
3557 (pop): Likewise.
3558 (h8300_output_function_prologue): Remove.
3559 (h8300_expand_prologue): New.
3560 (h8300_expand_epilogue): New.
3561 (h8300_output_function_epilogue): Do only the reset of
3562 pragma_saveall.
3563 * config/h8300/h8300.md (push_h8300): New.
3564 (push_h8300hs): Likewise.
3565 (pop_h8300): Likewise.
3566 (pop_h8300hs): Likewise.
3567 (*stm_h8300s_2): Change the name to stm_h8300s_2.
3568 (*stm_h8300s_3): Change the name to stm_h8300s_3.
3569 (*stm_h8300s_4): Change the name to stm_h8300s_4.
3570 (*ldm_h8300s_2): New.
3571 (*ldm_h8300s_3): Likewise.
3572 (*ldm_h8300s_4): Likewise.
3573 (return): Likewise.
3574 (*return_1): Likewise.
3575 (prologue): Likewise.
3576 (epilogue): Likewise.
3577 (monitor_prologue): Likewise.
3578
3579 2003-01-03 Dale Johannesen <dalej@apple.com>
3580
3581 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
3582 machopic_picsymbol_stub1.
3583 (EXTRA_SECTION_FUNCTIONS): Ditto.
3584 * rs6000/rs6000.c: Update copyright.
3585 (machopic_output_stub): Use them. Remove an insn from stub code.
3586
3587 2003-01-02 Jason Merrill <jason@redhat.com>
3588
3589 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
3590
3591 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
3592 static/external decls.
3593
3594 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
3595 outermost scope.
3596 * c-decl.c (c_make_fname_decl): Push the decls there, too.
3597
3598 2003-01-03 Kazu Hirata <kazu@cs.umass.edu>
3599
3600 * config/h8300/h8300-protos.h: Add a prototype for
3601 h8300_current_function_interrupt_function_p.
3602 * config/h8300/h8300.c (interrupt_handler): Remove.
3603 (os_task): Likewise.
3604 (monitor): Likewise.
3605 (pragma_interrupt): New.
3606 (WORD_REG_USED): Use
3607 h8300_current_function_interrupt_function_p.
3608 (dosize): Likewise.
3609 (h8300_output_function_prologue): Likewise.
3610 Do not set interrupt_handler, os_task, monitor.
3611 (h8300_output_function_prologue): Use
3612 h8300_current_function_interrupt_function_p.
3613 Do not set interrupt_handler, os_task, monitor.
3614 (h8300_current_function_interrupt_function_p): New.
3615 (h8300_pr_interrupt): Set pragma_interrupt.
3616 (h8300_insert_attributes): Reset pragma_interrupt.
3617
3618 2003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3619
3620 * doc/install.texi (Configuration): Fix markup for reference to
3621 gcc/config.gcc.
3622
3623 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
3624
3625 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
3626 (*iorhi3_two_qi): Likewise.
3627 (*iorsi3_zexthi): Likewise.
3628 (*xorhi3_zextqi): Likewise.
3629 (*xorsi3_zexthi): Likewise.
3630 (*xorsi3_zextqi): Likewise.
3631
3632 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
3633
3634 * config/h8300/h8300.c (stack_pointer_operand): New.
3635 (const_int_gt_2_operand): Likewise.
3636 (const_int_ge_8_operand): Likewise.
3637 * config/h8300/h8300.md (a splitter): Likewise.
3638 (a peephole2): Likewise.
3639 * config/h8300/h8300-protos.h: Add prototypes for the new
3640 functions above.
3641
3642 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
3643
3644 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
3645 objc/objc-act.h: Fix copyright years.
3646
3647 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
3648
3649 * doc/passes.texi: Fix documentation for -fssa-ccp
3650
3651 2003-01-02 Neil Booth <neil@daikokuya.co.uk>
3652
3653 * gccbug.in: Update for new categories.
3654
3655 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3656
3657 * config/h8300/h8300.md: Reorder some patterns.
3658
3659 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3660
3661 * config/h8300/h8300.c (output_logical_op): Fix a warning.
3662
3663 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
3664
3665 * config/darwin-protos.h, config/c4x/c4x-protos.h,
3666 config/cris/cris-protos.h, config/i370/i370-protos.h,
3667 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
3668 config/v850/v850-protos.h: Use struct, and don't conditionally
3669 compile on GCC_C_PRAGMA_H.
3670
3671 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3672
3673 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
3674 * config/h8300/h8300-protos.h: Likewise.
3675 * config/sh/sh-protos.h: Likewise.
3676
3677 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3678
3679 * config/arm/arm-protos.h: Use struct cpp_reader instead of
3680 cpp_reader.
3681 * config/h8300/h8300-protos.h: Likewise.
3682 * config/sh/sh-protos.h: Likewise.
3683
3684 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
3685
3686 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
3687 arm_pr_long_calls_off): Use struct.
3688 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
3689 : Similarly.
3690 Don't include cpplib.h.
3691 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
3692 sh_pr_nosave_low_regs): Similarly.
3693
3694 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3695
3696 * config/h8300/h8300.c: Include cpplib.h.
3697
3698 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
3699
3700 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
3701 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
3702 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
3703 "GCC" in the copyright header.
3704
3705 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
3706
3707 * c-pragma.c (c_register_pragma): New.
3708 (init_pragma): Use it.
3709 * c-pragma.h (cpp_register_pragma): Don't declare.
3710 (c_register_pragma): New.
3711 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
3712 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
3713 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
3714 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3715 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
3716 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
3717 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
3718 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
3719 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
3720 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
3721 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
3722 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
3723
3724 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
3725
3726 * config/h8300/h8300-protos.h: Update the prototypes.
3727 * config/h8300/h8300.c (const_le_2_operand): Change to
3728 const_int_le_2_operand.
3729 (const_int_le_6_operand): Change to const_int_le_6_operand.
3730 * config/h8300/h8300.md (two peepholes): Update the function
3731 names.
3732
3733 2002-12-31 Tom Tromey <tromey@redhat.com>
3734
3735 * doc/install.texi (Testing): Fixed typo.
3736
3737 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
3738
3739 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
3740 (TRAMPOLINE_SIZE): Support the normal mode.
3741 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
3742
3743 2002-12-31 Mark Mitchell <mark@codesourcery.com>
3744
3745 * c-common.h (pending_lang_change): Declare.
3746
3747 2002-12-31 Jerry Quinn <jlquinn@optonline.net>
3748
3749 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
3750 descriptions.
3751
3752 2002-12-31 Jerry Quinn <jlquinn@optonline.net>
3753
3754 * gcc/doc/invoke.texi (Optimization Options): List the options
3755 enabled by each -O flag.
3756
3757 2002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3758
3759 * doc/install.texi (Configuration): Explicitly refer
3760 gcc/config.gcc for a list of cpu models.
3761
3762 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
3763
3764 * config/h8300/h8300.h: Fix comment typos.
3765
3766 2002-12-30 David Edelsohn <edelsohn@gnu.org>
3767
3768 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
3769
3770 2002-12-30 Tom Tromey <tromey@redhat.com>
3771
3772 * doc/install.texi (Testing): Mention Jacks.
3773
3774 2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
3775
3776 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
3777
3778 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
3779
3780 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
3781 cases.
3782 (compute_logical_op_length): Update to reflect the change in
3783 output_logical_op.
3784 (compute_logical_op_cc): Likewise.
3785
3786 2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
3787
3788 * doc/service.texi: Uncomment and update FAQ link.
3789
3790 2002-12-30 Andreas Jaeger <aj@suse.de>
3791
3792 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
3793
3794 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
3795
3796 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
3797
3798 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
3799
3800 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
3801 are clearing the most significant byte.
3802 (compute_logical_op_length): Update to reflect the change in
3803 output_logical_op.
3804 (compute_logical_op_cc): Likewise.
3805
3806 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
3807
3808 * config/h8300/h8300.md: Give internal names to anonymous
3809 insns.
3810
3811 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
3812
3813 * config/h8300/h8300.md: Reorder some insns.
3814
3815 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
3816
3817 * config/h8300/h8300-protos.h: Add prototypes for
3818 const_int_qi_operand and const_int_hi_operand.
3819 * config/h8300/h8300.c (const_int_qi_operand): New.
3820 (const_int_hi_operand): Likewise.
3821 * config/h8300/h8300.md (three peepholes): New.
3822
3823 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
3824
3825 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
3826 Use @copying.
3827
3828 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
3829
3830 * configure.in: Increase makeinfo version requirement to 4.[2-9].
3831 * configure: Regenerate.
3832 * doc/install.texi: Update Texinfo version requirement.
3833
3834 2002-12-28 Andreas Jaeger <aj@suse.de>
3835
3836 * config/i386/i386.c (x86_function_profiler): Mark labelno as
3837 possibly unused.
3838
3839 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
3840 correct format.
3841
3842 2002-12-27 Kazu Hirata <kazu@cs.umass.edu>
3843
3844 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
3845 *iorhi_ashift_8.
3846 (*iorhi_lshiftrt_8): New.
3847
3848 2002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
3849
3850 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
3851
3852 2002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3853
3854 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
3855
3856 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
3857
3858 * config/h8300/h8300-protos.h: Fix comment typos.
3859 Update copyright.
3860 * config/h8300/h8300.c: Fix comment typos.
3861
3862 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
3863
3864 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
3865
3866 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
3867
3868 * config/i386/athlon.md: Fix comment typos.
3869 * config/i386/crtdll.h: Likewise.
3870 * config/i386/djgpp.h: Likewise.
3871 * config/i386/i386-interix.h: Likewise.
3872 * config/i386/i386.c: Likewise.
3873 * config/i386/i386.h: Likewise.
3874 * config/i386/i386.md: Likewise.
3875 * config/i386/k6.md: Likewise.
3876 * config/i386/mingw32.h: Likewise.
3877 * config/i386/pentium.md: Likewise.
3878 * config/i386/sco5.h: Likewise.
3879 * config/i386/winnt.c: Likewise.
3880 * config/i386/xmmintrin.h: Likewise.
3881
3882 2002-12-26 Jose Renau <renau@cs.uiuc.edu>
3883
3884 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
3885 INSN_P before checking to see if it is dead.
3886 (mark_all_insn_unnecessary): Similarly.
3887 (ssa_eliminate_dead_code): Similarly.
3888 * rtl.h (struct rtx_def): Update comments for in_struct usage
3889 in dead code elimination pass.
3890 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
3891
3892 2002-12-26 Andreas Schwab <schwab@suse.de>
3893
3894 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
3895
3896 2002-12-25 David Edelsohn <edelsohn@gnu.org>
3897
3898 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
3899 tartet_flags_explicit.
3900 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
3901 Compact target_flags bits.
3902 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
3903 (TARGET_SWITCHES): Delete references to *_SET flags.
3904
3905 Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
3906
3907 * i386.md (memory attribute): Fix setcc attribute.
3908
3909 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
3910
3911 * output.h: Fix comment typos.
3912 * predict.c: Likewise.
3913 * print-tree.c: Likewise.
3914 * profile.c: Likewise.
3915 * ra-build.c: Likewise.
3916 * ra-colorize.c: Likewise.
3917 * ra-debug.c: Likewise.
3918 * ra-rewrite.c: Likewise.
3919 * ra.c: Likewise.
3920 * ra.h: Likewise.
3921 * real.c: Likewise.
3922 * recog.c: Likewise.
3923 * reg-stack.c: Likewise.
3924 * regclass.c: Likewise.
3925
3926 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
3927
3928 * config/h8300/h8300.c (print_operand_address): Do not negate
3929 a negative number when printing one.
3930
3931 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
3932
3933 * config/h8300/h8300-protos.h: Add prototypes for
3934 output_plussi, compute_plussi_length, and compute_plussi_cc.
3935 * config/h8300/h8300.c (output_plussi): New.
3936 (compute_plussi_length): Likewise.
3937 (compute_plussi_cc): Likewise.
3938 * config/h8300/h8300.md (addsi_h8300h): Call
3939 output_plussi, compute_plussi_length, and compute_plussi_cc.
3940
3941 2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
3942
3943 * config/h8300/h8300.md (two peepholes): Use match_dup instead
3944 of match_operand in the new patterns.
3945
3946 2002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
3947
3948 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
3949
3950 2002-12-24 Nathan Sidwell <nathan@codesourcery.com>
3951
3952 * configure.in (enable-coverage): Add SELF_COVERAGE.
3953 * profile.c (end_branch_prob): Use SELF_COVERAGE.
3954
3955 2002-12-24 Jim Wilson <wilson@redhat.com>
3956
3957 * alias.c (record_set): Handle multi-reg hard registers.
3958
3959 2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
3960
3961 * regmove.c: Fix comment typos.
3962 * reload.c: Likewise.
3963 * reload1.c: Likewise.
3964 * resource.c: Likewise.
3965 * rtl.def: Likewise.
3966 * rtl.h: Likewise.
3967 * rtlanal.c: Likewise.
3968 * sched-deps.c: Likewise.
3969 * sched-rgn.c: Likewise.
3970 * sibcall.c: Likewise.
3971 * simplify-rtx.c: Likewise.
3972 * ssa-ccp.c: Likewise.
3973 * ssa.c: Likewise.
3974 * stmt.c: Likewise.
3975 * stor-layout.c: Likewise.
3976 * system.h: Likewise.
3977 * tlink.c: Likewise.
3978 * toplev.c: Likewise.
3979 * tracer.c: Likewise.
3980 * tree-inline.c: Likewise.
3981 * tree.c: Likewise.
3982 * tree.h: Likewise.
3983 * unroll.c: Likewise.
3984 * varasm.c: Likewise.
3985
3986 2002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
3987
3988 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
3989 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
3990 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
3991 DG/UX entries.
3992 * doc/md.texi: Remove AMD 29K entries.
3993 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
3994 1.38.1, NewsOS, RT PC, WE32K entries.
3995
3996 2002-12-23 Aldy Hernandez <aldyh@redhat.com>
3997
3998 PR/8763
3999 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
4000 (altivec_vspltisw_v4sf): Name pattern.
4001 (altivec_vslw_v4sf): New pattern.
4002
4003 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
4004
4005 * doc/include/gcc-common.texi: Define DEVELOPMENT.
4006
4007 2002-12-23 Mark Mitchell <mark@codesourcery.com>
4008
4009 * stor-layout.c (update_alignment_for_field): Correct handling of
4010 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
4011 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
4012 bitfield does not affect alignment.
4013
4014 2002-12-23 David Edelsohn <edelsohn@gnu.org>
4015
4016 * expr.c (expand_assignment): Apply special treatment to
4017 ARRAY_TYPE.
4018
4019 2002-12-23 Kazu Hirata <kazu@cs.umass.edu>
4020
4021 * config/h8300/h8300-protos.h: Update the prototype of
4022 expand_a_shift.
4023 * config/h8300/h8300.c (expand_a_shift): Change the return
4024 type to void.
4025 * config/h8300/h8300.md: Update all the uses of
4026 expand_a_shift.
4027
4028 2002-12-22 Nathan Sidwell <nathan@codesourcery.com>
4029
4030 * tree.c (save_expr): Allow either side of a dyadic operand to be
4031 constant.
4032
4033 * doc/portability.texi (portability): Update portability goals.
4034
4035 2002-12-23 Kazu Hirata <kazu@cs.umass.edu>
4036
4037 * config/h8300/h8300.c (output_a_shift): Remove unused code.
4038
4039 2002-12-22 Mark Mitchell <mark@codesourcery.com>
4040
4041 * stor-layout.c (update_alignment_for_field): Guard use of
4042 ADJUST_FIELD_ALIGN with #ifdef.
4043
4044 * stor-layout.c (update_alignment_for_field): Use
4045 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
4046 bitfield when PCC_BITFIELD_TYPE_MATTERS.
4047
4048 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
4049
4050 * genautomata.c: Fix comment typos.
4051
4052 Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
4053
4054 * params.def (tracer-min-branch-probability-feedback): Fix default.
4055 * final.c (compute_alignments): Use profile to avoid code bloat.
4056
4057 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
4058
4059 * config/h8300/h8300.c (get_shift_alg): Make shift insn
4060 sequences end with a valid cc0 whenever possible.
4061
4062 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
4063
4064 * config/h8300/h8300.md (negsf2): New.
4065 (*negsf2_h8300): Likewise.
4066 (*negsf2_h8300hs): Likewise.
4067
4068 2002-12-21 Geoffrey Keating <geoffk@apple.com>
4069
4070 * integrate.c (output_inline_function): Don't hold private
4071 pointers to 'struct function' over GC calls.
4072
4073 2002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
4074
4075 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
4076 NO_FPSCR_VALUES.
4077 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
4078
4079 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
4080
4081 * config/h8300/h8300.md (zero_extendqisi2): Correct the
4082 length.
4083
4084 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
4085
4086 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
4087 second alternative "#".
4088 (*zero_extendqihi2_h8300hs): Likewise.
4089 (a define_split): New.
4090
4091 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
4092
4093 * config/h8300/h8300-protos.h: Update the prototype for
4094 split_adds_subs.
4095 Add prototypes for const_le_2_operand and const_le_6_operand.
4096 * config/h8300/h8300.c (split_adds_subs): Add an argument to
4097 specify whether inc/dec should be used when possible.
4098 (const_le_2_operand): New.
4099 (const_le_6_operand): Likewise.
4100 * config/h8300/h8300.md (two peepholes): New.
4101
4102 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
4103
4104 * config/fr30/fr30.md: Fix a comment typo.
4105 * config/i386/i386.c: Likewise.
4106 * config/ip2k/ip2k.h: Likewise.
4107
4108 2002-12-20 Jim Wilson <wilson@redhat.com>
4109
4110 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
4111 (__ev_subw, __ev_subiw): New.
4112 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
4113 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
4114
4115 2002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
4116
4117 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
4118 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
4119 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
4120 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
4121
4122 2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
4123
4124 * config/h8300/h8300-protos.h: Add prototypes for
4125 incdec_operand and eqne_operator.
4126 * config/h8300/h8300.c (incdec_operand): New.
4127 (eqne_operator): Likewise.
4128 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
4129 (CONST_OK_FOR_O): Likewise.
4130 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
4131 CONST_OK_FOR_O.
4132 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
4133 (addhi3_incdec): New.
4134 (addsi3_incdec): Likewise.
4135 (two peepholes): Likewise.
4136
4137 2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
4138
4139 * config/h8300/h8300.c (dosize): Remove warnings.
4140 (print_operand): Likewise.
4141
4142 2002-12-20 Richard Henderson <rth@redhat.com>
4143
4144 * config/alpha/alpha.c (decl_has_samegp): New.
4145 (samegp_function_operand): Use it. Rename from
4146 current_file_function_operand.
4147 (direct_call_operand): Handle -msmall-text via symbol->jump.
4148 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
4149 (tls_symbolic_operand_type): Likewise.
4150 (alpha_encode_section_info): Likewise. Handle -msmall-text.
4151 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
4152 (alpha_end_function): Set symbol->jump for functions defined in
4153 the text section.
4154 * config/alpha/alpha-protos.h: Update.
4155 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
4156 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
4157 (PREDICATE_CODES): Update.
4158 * config/alpha/alpha.md (call patterns): Update for
4159 samegp_function_operand rename; use !samegp reloc if
4160 TARGET_EXPLICIT_RELOCS.
4161 * doc/invoke.text: Document -msmall-text and -mlarge-text.
4162
4163 2002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4164
4165 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
4166 all registers capable of holding a double float.
4167 (*rcond): change name of "reverse branch" insns to
4168 something more meaningful.
4169 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
4170 comparisons properly.
4171 (*ffs): Change operand 0 from write to read-modify-write.
4172 (*ffsssi2): Drop constraints from define_expand.
4173
4174 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
4175 MOVE_RATIO as default for store operations.
4176
4177 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
4178 LONG_REGS class.
4179 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
4180 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
4181 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
4182
4183 * config/ns32k/STATUS: New File
4184 * config/ns32k/NOTES: New file.
4185
4186 2002-12-20 Hartmut Penner <hpenner@de.ibm.com>
4187
4188 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
4189 option for S/390 and zSeries.
4190 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
4191 s390_arch_string): New variables.
4192 (override_options): Checking for options and setting of
4193 appropriate target_flags, cpu and arch flags.
4194 * config/s390/s390.h: (processor_type): New enum.
4195 (TARGET_SWITCHES): New switches -mesa/zarch.
4196 * config/s390/s390.md: New attribute 'cpu'.
4197
4198 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
4199
4200 * c-pretty-print.h: Fix comment typos.
4201 * integrate.c: Likewise.
4202 * varasm.c: Likewise.
4203 * config/c4x/c4x.h: Likewise.
4204 * config/c4x/c4x.md: Likewise.
4205 * config/fr30/fr30.md: Likewise.
4206 * config/frv/frv.c: Likewise.
4207 * config/h8300/h8300.c: Likewise.
4208 * config/i386/i386.c: Likewise.
4209 * config/i386/i386.h: Likewise.
4210 * config/ia64/ia64.c: Likewise.
4211 * config/ia64/ia64.h: Likewise.
4212 * config/ip2k/ip2k.md: Likewise.
4213 * config/m68hc11/m68hc11-crt0.S: Likewise.
4214 * config/m68hc11/m68hc11.h: Likewise.
4215 * config/m68hc11/m68hc11.md: Likewise.
4216 * config/m68hc11/m68hc12.h: Likewise.
4217 * config/mcore/mcore.md: Likewise.
4218 * config/mips/mips.c: Likewise.
4219 * config/mips/mips.md: Likewise.
4220 * config/mmix/mmix-modes.def: Likewise.
4221 * config/pa/pa.c: Likewise.
4222 * config/rs6000/rs6000.c: Likewise.
4223 * config/rs6000/rs6000.h: Likewise.
4224 * config/rs6000/rs6000.md: Likewise.
4225
4226 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
4227
4228 * config/h8300/h8300.md (output_a_shift): Clean up the code to
4229 output shifts using rotation.
4230
4231 2002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4232
4233 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
4234
4235 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
4236
4237 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
4238 pointer.
4239 (pushqi_h8300hs): Likewise.
4240 (pushhi_h8300): Likewise.
4241 (pushhi_h8300hs): Likewise.
4242
4243 Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
4244
4245 * sched-rgn.c (init_regions): Update comment.
4246
4247 2002-12-19 David Edelsohn <edelsohn@gnu.org>
4248
4249 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
4250 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
4251 attributes.
4252 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
4253 (get_vrsave_internal,set_vrsave_internal): Same.
4254 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
4255 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
4256 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
4257
4258 2002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
4259 Danny Smith <dannysmith@users.sourceforge.net>
4260 Eric Kohl <ekohl@rz-online.de>
4261
4262 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
4263 attributes incompatible with fastcall attribute.
4264 (ix86_handle_regparm_attribute): Likewise.
4265
4266 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
4267 fastcall types.
4268
4269 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4270 attributes.
4271 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
4272 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
4273 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
4274 i386_pe_output_labelref rather than here.
4275 (gen_fastcall_suffix): New function. Decorates a label name with the
4276 fastcall prefix (@) and the stdcall suffix.
4277 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
4278 has a fastcall attribute.
4279 (i386_pe_output_labelref): New function. Outputs a label reference.
4280 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
4281 valid attribute.
4282 (ix86_return_pops_args): Fastcall functions pop the stack.
4283 (init_cumulative_args): Reserve registers ECX and EDX if function has
4284 fastcall attribute.
4285 (function_arg): Use registers ECX and EDX if function has fastcall
4286 attribute.
4287 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
4288 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
4289 (FASTCALL_PREFIX): Define as '@'.
4290 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4291 attributes.
4292 * doc/extend.texi: Add documentation of fastcall attribute.
4293
4294 2002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
4295
4296 * configure.in: FORBUILD when build!=host changed from
4297 ../$build-alias to ../build-$build_alias to match change made
4298 in top directory.
4299 * configure: Regenerated.
4300
4301 2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4302
4303 PR optimization/8988
4304 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
4305 the biv when eliminating.
4306
4307 2002-12-19 Devang Patel <dpatel@apple.com>
4308 * gcc.c (struct default_compiler): Recognizes input file name with
4309 .CPP extension as C++ source files
4310 * cp/lang-spec.h: Same
4311 * doc/invoke.texi: Add documentation for .CPP support.
4312
4313 2002-12-19 Aldy Hernandez <aldyh@redhat.com>
4314
4315 PR 8553
4316 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
4317 registers.
4318 ("absv16qi2"): Same.
4319 ("absv4si2"): Same.
4320 ("absv4sf2"): Same.
4321 ("altivec_abss_v16qi"): Same.
4322 ("altivec_abss_v8hi"): Same.
4323 ("altivec_abss_v4si"): Same.
4324
4325 2002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
4326
4327 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
4328 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
4329
4330 2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4331
4332 PR target/8340
4333 * stmt.c (expand_asm_operands): Produce an error when
4334 the PIC register is clobbered.
4335
4336 2002-12-18 Daniel Berlin <dberlin@dberlin.org>
4337
4338 * Makefile.in (OBJS): Add alloc-pool.o
4339 (alloc-pool.o): New object.
4340
4341 * alloc-pool.c: New file.
4342 * alloc-pool.h: New file.
4343
4344 2002-12-18 Loren James Rittle <rittle@labs.mot.com>
4345
4346 * gcc.c (validate_switches): Robustify against skipping past '\0'.
4347
4348 2002-12-18 Geoffrey Keating <geoffk@apple.com>
4349
4350 * config.gcc: Set extra_objs in the generic Darwin rule,
4351 not in the machine-specific rules.
4352
4353 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
4354
4355 * ChangeLog: Follow spelling conventions.
4356 * ChangeLog.2: Likewise.
4357 * ChangeLog.4: Likewise.
4358 * ChangeLog.5: Likewise.
4359 * cppexp.c: Likewise.
4360 * df.c: Likewise.
4361 * gcov.c: Likewise.
4362 * gengtype.c: Likewise.
4363 * reload1.c: Likewise.
4364 * sched-rgn.c: Likewise.
4365 * stmt.c: Likewise.
4366 * stor-layout.c: Likewise.
4367 * timevar.c: Likewise.
4368 * toplev.c: Likewise.
4369 * tree.h: Likewise.
4370 * varasm.c: Likewise.
4371 * config/fr30/fr30.md: Likewise.
4372 * config/i386/i386.c: Likewise.
4373 * config/ia64/ia64.c: Likewise.
4374 * config/pa/pa.c: Likewise.
4375
4376 2002-12-18 Roger Sayle <roger@eyesopen.com>
4377
4378 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
4379
4380 2002-12-18 Aldy Hernandez <aldyh@redhat.com>
4381
4382 PR 8551
4383 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
4384 macro.
4385 (vec_cmplt C++ functions): Reverse arguments.
4386
4387 2002-12-18 Geoffrey Keating <geoffk@apple.com>
4388
4389 * config/rs6000/t-rs6000: Move contents to t-fprules,
4390 add rules for dependencies of rs6000.o and to build rs6000-c.o
4391 * config/rs6000/t-fprules: New file from t-rs6000.
4392 * config/rs6000/t-beos: Remove soft-fp rules.
4393 * config/rs6000/t-ppccomm: Likewise.
4394 * config/rs6000/t-newas: Likewise.
4395 * config/rs6000/t-rs6000-c-rule: Delete.
4396 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
4397 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
4398 Create generic Darwin rules.
4399
4400 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
4401
4402 2002-12-18 Doug Evans <dje@sebabeach.org>
4403
4404 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
4405 and LIT_NAME_P.
4406 (move_src_operand): Remove compile-time warning.
4407 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
4408
4409 2002-12-18 Jason Merrill <jason@redhat.com>
4410
4411 * unwind-dw2-fde.c (frame_downheap): Split out from...
4412 (frame_heapsort): Here.
4413
4414 2002-12-17 Jason Merrill <jason@redhat.com>
4415
4416 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
4417 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
4418
4419 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
4420
4421 * calls.c (expand_call): Don't try to be clever about expanding
4422 the return slot address.
4423
4424 2002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
4425
4426 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
4427 Define.
4428
4429 2002-12-17 Jason Merrill <jason@redhat.com>
4430
4431 * genmultilib: Use 'cd ./foo'.
4432
4433 2002-12-17 Kazu Hirata <kazu@cs.umass.edu>
4434
4435 * doc/c-tree.texi: Restore deliberate spelling mistakes.
4436
4437 2002-12-17 Kazu Hirata <kazu@cs.umass.edu>
4438
4439 * doc/c-tree.texi: Fix typos and follow spelling conventions.
4440 * doc/cpp.texi: Likewise.
4441 * doc/extend.texi: Likewise.
4442 * doc/gty.texi: Likewise.
4443 * doc/install.texi: Likewise.
4444 * doc/invoke.texi: Likewise.
4445 * doc/md.texi: Likewise.
4446 * doc/passes.texi: Likewise.
4447 * doc/rtl.texi: Likewise.
4448 * doc/sourcebuild.texi: Likewise.
4449 * doc/tm.texi: Likewise.
4450
4451 2002-12-17 Jerry Quinn <jlquinn@optonline.net>
4452
4453 * doc/invoke.texi: Minor spelling and grammar fixes.
4454
4455 2002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
4456
4457 * config/s390/s390.c (s390_output_constant_pool): Replace
4458 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
4459
4460 Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
4461
4462 * convert.c (convert_to_real): Disable function transformation for
4463 now.
4464
4465 2002-12-16 Geoffrey Keating <geoffk@apple.com>
4466
4467 * gcc.c (handle_braces): Allow '@' as a switch name.
4468
4469 2002-12-16 Jason Merrill <jason@redhat.com>
4470
4471 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
4472 with special struct-return ABIs.
4473
4474 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
4475 doesn't match the begin SCOPE_STMT in partialness.
4476
4477 2002-12-16 Geoffrey Keating <geoffk@apple.com>
4478
4479 * genmultilib: Create temporary files in unique subdirectory.
4480
4481 * gcc.c (validate_switches): Allow '@' as a switch name.
4482
4483 2002-12-16 Loren J. Rittle <ljrittle@acm.org>
4484
4485 * Makefile.in (gcov-iov.h): Improve portability.
4486
4487 Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
4488
4489 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
4490 gas
4491 * mips.md (tablejump insn): Likewise.
4492
4493 2002-12-16 Mark Mitchell <mark@codesourcery.com>
4494
4495 * doc/include/gcc-common.texi: Change version number to 3.4.
4496
4497 2002-12-16 Bruce Korb <bkorb@gnu.org>
4498
4499 * fixinc/fixlib.h: add: #include <signal.h>
4500 * fixinc/fixincl.c: remove: #include <signal.h>
4501
4502 Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
4503
4504 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
4505 (EXTRA_CONSTRAINT): Use it.
4506 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
4507
4508 2002-12-15 Zack Weinberg <zack@codesourcery.com>
4509
4510 * config.gcc (need_64bit_hwint): New variable.
4511 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
4512 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
4513 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
4514 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
4515 Set it.
4516 (powerpc*-*-darwin*): Unset it.
4517 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
4518 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
4519 deleted/nonexistent xm-*.h headers.
4520 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
4521 target set need_64bit_hwint in config.gcc.
4522 * configure, config.in: Regenerate.
4523
4524 * hwint.h: Overhaul. Don't bother trying int for
4525 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
4526 decision to force 64-bit HOST_WIDE_INT on
4527 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
4528 not visible at this point. Don't allow prior definition of
4529 any macro defined by this file.
4530
4531 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
4532 HOST_BITS_PER_WIDE_INT.
4533 * config/c4x/c4x.h: Adjust redefinition of
4534 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
4535 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
4536 config/i386/xm-i386-interix.h: Delete file.
4537
4538 2002-12-14 Rodney Brown <rbrown64@csc.com.au>
4539 John David Anglin <dave@hiauly1.hia.nrc.ca>
4540
4541 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
4542 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
4543
4544 2002-12-14 Zack Weinberg <zack@codesourcery.com>
4545
4546 * mkconfig.sh: Correct comment. Add copyright boilerplate.
4547
4548 2002-12-14 Zack Weinberg <zack@codesourcery.com>
4549
4550 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
4551 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
4552 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
4553 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
4554 config/v850/t-v850: Correct dependencies and normalize
4555 compilation commands for files that include coretypes.h and tm.h.
4556
4557 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
4558 not config.h and system.h.
4559
4560 Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
4561
4562 * i386.c (flags_reg_operand): New function.
4563 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
4564 * i386.md (cmov splitter, movqicc): Use new predicate.
4565
4566 Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
4567
4568 * i386.md (movqicc splitter): Fix template.
4569
4570 2002-12-13 Jason Merrill <jason@redhat.com>
4571
4572 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
4573 * calls.c (expand_call): Handle it.
4574 * tree-inline.c (struct inline_data): Remove target_exprs field.
4575 (optimize_inline_calls): Don't initialize it.
4576 (expand_call_inline): Don't modify it. Handle
4577 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
4578 (declare_return_variable): Take return slot addr.
4579 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
4580 to return_slot_addr.
4581 * langhooks-def.h, langhooks.c: Adjust.
4582 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
4583 a decl with no DECL_INITIAL.
4584
4585 * expr.c (expand_expr): Don't discard the target of a call which
4586 returns in memory.
4587
4588 2002-12-13 Neil Booth <neil@daikokuya.co.uk>
4589
4590 * cppinit.c (path_include): Take an environment variable name.
4591 Tidy up.
4592 (init_standard_includes): Simplify environment handling, and
4593 move to ...
4594 (cpp_read_main_file): ...here as -nostdinc should not affect
4595 environment variable paths.
4596
4597 2002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
4598
4599 * pa.c (output_millicode_call): Correct typo.
4600 (output_call): Likewise.
4601
4602 Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
4603
4604 * config/mn10300/mn10300.c (print_operand) <case N>: Check
4605 operand's range. Print value directly, without aid from
4606 output_address.
4607 <case U>: New.
4608 <case S>: Make sure argument to fprintf has the right type.
4609 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
4610 (EXTRA_CONSTRAINT): Adjust.
4611 * config/mn10300/mn10300.md: Add new all-QImode pattern for
4612 bclr. Use %U for immediate operands of bset and bclr.
4613 (iorqi3): New expand, with insns for AM33 and mn10300.
4614
4615 Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
4616
4617 * sh.c (sh_register_operand): New function.
4618 (prepare_move_operands): Use it.
4619 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
4620 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
4621 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
4622 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
4623 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
4624 (movv2si_i): Likewise.
4625
4626 2002-12-13 Jim Wilson <wilson@redhat.com>
4627
4628 * doc/extend.texi (Complex Numbers): Update info on debug info.
4629
4630 2002-12-13 Kazu Hirata <kazu@cs.umass.edu>
4631
4632 * config/h8300/h8300.md (addhi3_h8300): Remove the last
4633 alternative.
4634
4635 2002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4636
4637 * hooks.h (hook_tree_tree_bool_false): Declare
4638 hook_bool_tree_tree_false instead.
4639
4640 2002-12-12 Devang Patel <dpatel@apple.com>
4641
4642 * doc/invoke.texi: Document Darwin linker options, -bundle
4643 -bind_at_load, -all_load and -arch_errors_fatal
4644
4645 2002-12-12 Jim Wilson <wilson@redhat.com>
4646
4647 * dbxout.c (dbxout_fptype_value): New.
4648 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
4649
4650 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4651
4652 * c-decl.c: Fix a comment typo.
4653 * cfg.c: Likewise.
4654 * cfgcleanup.c: Likewise.
4655 * cfglayout.c: Likewise.
4656 * cfgrtl.c: Likewise.
4657 * c-typeck.c: Likewise.
4658 * dominance.c: Likewise.
4659 * dwarf2asm.c: Likewise.
4660 * dwarfout.c: Likewise.
4661 * expmed.c: Likewise.
4662 * expr.c: Likewise.
4663 * final.c: Likewise.
4664 * flow.c: Likewise.
4665 * function.c: Likewise.
4666 * gcc.c: Likewise.
4667 * genautomata.c: Likewise.
4668 * integrate.c: Likewise.
4669 * loop.c: Likewise.
4670 * loop.h: Likewise.
4671 * output.h: Likewise.
4672 * profile.c: Likewise.
4673 * ra.h: Likewise.
4674 * reload1.c: Likewise.
4675 * reload.c: Likewise.
4676 * sched-rgn.c: Likewise.
4677 * stmt.c: Likewise.
4678 * tree.h: Likewise.
4679 * vmsdbgout.c: Likewise.
4680
4681 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4682
4683 * config/h8300/h8300.md: Add a new peephole2.
4684
4685 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4686
4687 * config/h8300/h8300.md (a peephole2): Accept a constant
4688 that's accepted by CONST_OK_FOR_J.
4689
4690 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4691
4692 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
4693 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
4694 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
4695 (*addhi_h8300hs): Likewise.
4696
4697 Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
4698
4699 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
4700 (sh_register_move_cost): Add clause for SImode fp-fp moves.
4701 Increase cost for moves involving multiple general purpose registers.
4702 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
4703 TARGET_FMOVD.
4704 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
4705 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
4706 (enum reg_class reg_class_from_letter): No longer const.
4707 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
4708 REGCLASS_HAS_GENERAL_REG.
4709 Handle SImode moves from/to fp registers.
4710 ! TARGET_SHMEDIA && TARGET_FMOVD.
4711 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
4712 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
4713
4714 2002-12-12 Andreas Schwab <schwab@suse.de>
4715
4716 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
4717 change and some warnings.
4718
4719 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4720
4721 * doc/md.texi (pushm): Fix a typo.
4722
4723 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
4724
4725 * config/mips/mips.c (mips_output_conditional_branch): Support
4726 PIC-safe out-of-range branch and branch-likely.
4727 * config/mips/mips.md (attr length): PIC-safe out-of-range
4728 branches are longer.
4729 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
4730 unused code to support indirect jumps.
4731
4732 2002-12-11 Zack Weinberg <zack@codesourcery.com>
4733
4734 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
4735 $(tm_file_list).
4736
4737 2002-12-11 David Edelsohn <edelsohn@gnu.org>
4738
4739 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
4740
4741 Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
4742
4743 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
4744
4745 2002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4746
4747 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
4748 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
4749 BIGGEST_ALIGNMENT.
4750 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
4751 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
4752
4753 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
4754
4755 * doc/invoke.texi: Correct dump file names.
4756
4757 2002-12-09 Steve Ellcey <sje@cup.hp.com>
4758
4759 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
4760 name to globalize_label or assemble_name.
4761
4762 Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
4763
4764 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
4765 if not TARGET_SHMEDIA.
4766
4767 Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
4768
4769 * sh.h (REG_CLASS_HAS_FP_REG): New.
4770 (REGISTER_MOVE_COST) Use it. Put body into a function and
4771 move it into:
4772 * sh.c (sh_register_move_cost).
4773 * sh-protos.h (sh_register_move_cost): Declare.
4774
4775 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
4776 (sh_adjust_cost): Always return a value.
4777
4778 Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
4779
4780 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
4781 (REGISTER_MOVE_COST): Use it.
4782
4783 2002-12-11 Richard Henderson <rth@redhat.com>
4784
4785 * tree.h (MODULE_LOCAL_P): Kill.
4786 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
4787
4788 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
4789
4790 * config/h8300/h8300.md (two define_peephole2): New.
4791
4792 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
4793
4794 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
4795 (CONST_OK_FOR_K): Likewise.
4796 (CONST_OK_FOR_M): Likewise.
4797 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
4798
4799 2002-12-11 Neil Booth <neil@daikokuya.co.uk>
4800
4801 * c-common.c (builtin_define_type_max): Handle unsigned
4802 types too.
4803
4804 2002-12-10 David Edelsohn <edelsohn@gnu.org>
4805
4806 * haifa-sched.c (rank_for_schedule): Correct style.
4807
4808 2002-12-10 Per Bothner <pbothner@apple.com>
4809
4810 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
4811 directive_index into an unsigned field and a new is_directive field.
4812 * cppinit.c (mark_named_operators): Update to set new fields.
4813 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
4814 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
4815 No longer need to subtract 1 from directive_index.
4816 (_cpp_init_directives): No longer need to add 1 to directive_index.
4817 * cpptrad.c (scan_out_logical_line): Use is_directive field.
4818
4819 2002-12-10 Roger Sayle <roger@eyesopen.com>
4820
4821 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
4822 check for evaluating sqrt of a constant at compile time.
4823 * simplify-rtx.c (simplify_unary_operation): Likewise.
4824
4825 2002-12-10 Janis Johnson <janis187@us.ibm.com>
4826
4827 PR other/8882
4828 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
4829
4830 2002-12-10 Devang Patel <dpatel@appple.com>
4831
4832 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
4833 * doc/invoke.texi: Add new "Darwin Options" section.
4834
4835 2002-12-10 Jim Wilson <wilson@redhat.com>
4836
4837 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
4838 memory.
4839
4840 2002-12-10 Andrew Haley <aph@redhat.com>
4841
4842 * cse.c (cse_insn): Don't cse past a basic block boundary.
4843
4844 2002-12-10 Jakub Jelinek <jakub@redhat.com>
4845
4846 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
4847 -shared.
4848 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
4849 * config/alpha/linux.h (LIB_SPEC): Likewise.
4850 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
4851 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
4852 * config/sparc/linux.h (LIB_SPEC): Likewise.
4853 * config/sparc/linux64.h (LIB_SPEC): Likewise.
4854
4855 2002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
4856
4857 * doc/invoke.texi: Document UltraSparc III option.
4858
4859 2002-12-09 Richard Henderson <rth@redhat.com>
4860
4861 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
4862 __tune_pentium2__ and __tune_pentium3__ as necessary.
4863
4864 2002-12-09 Richard Henderson <rth@redhat.com>
4865
4866 * target.h (gcc_target): Add cannot_force_const_mem.
4867 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
4868 (TARGET_INITIALIZER): Add it.
4869 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
4870 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
4871 * reload1.c (reload): Likewise.
4872 * hooks.c (hook_bool_rtx_false): New.
4873 * hooks.h: Declare it.
4874
4875 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
4876 (TARGET_CANNOT_FORCE_CONST_MEM): New.
4877 (ix86_expand_move): Remove de-const-pooling hack.
4878
4879 Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
4880
4881 * toplev.c (dump_file): Fix order to match reality.
4882
4883 2002-12-08 Geoffrey Keating <geoffk@apple.com>
4884
4885 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
4886 (store_multiple): Likewise.
4887
4888 2002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
4889
4890 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
4891 function pointers in page 0.
4892
4893 2002-12-09 Steve Ellcey <sje@cup.hp.com>
4894
4895 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
4896 definition
4897 (MEMBER_TYPE_FORCES_BLK): Move.
4898 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
4899 aggregate arguments.
4900 (ia64_function_value): Use PARALLEL to return aggregate values.
4901
4902 2002-12-09 Steve Ellcey <sje@cup.hp.com>
4903
4904 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4905 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4906 * calls.c (store_unaligned_arguments_into_pseudos) Remove
4907 FUNCTION_ARG_REG_LITTLE_ENDIAN.
4908 * stmt.c (expand_return): Ditto.
4909 * expr.c (move_block_from_reg): Ditto.
4910 (copy_blkmode_from_reg): Ditto.
4911 * expmed.c (store_bit_field): Ditto.
4912
4913 2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
4914
4915 * config.gcc: Added tic4x-* target as an alias to c4x-*
4916
4917 Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
4918
4919 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
4920 constructing insn directly.
4921
4922 2002-12-06 Per Bothner <pbothner@apple.com>
4923
4924 * cpplib.h (struct cpp_hashnode): Change field directive_index from
4925 char to an int bit-field, for hosts where char is unsigned.
4926
4927 2002-12-07 Roger Sayle <roger@eyesopen.com>
4928 Richard Henderson <rth@redhat.com>
4929
4930 * real.c (ieee_extended_motorola_format,
4931 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
4932 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
4933 Provide appropriate values for new signbit field.
4934
4935 2002-12-07 Roger Sayle <roger@eyesopen.com>
4936
4937 * real.h (real_format): Add signbit field.
4938 * real.c (ieee_single_format, ieee_double_format,
4939 ieee_extended_motorola_format, ieee_extended_intel_96_format,
4940 ieee_extended_intel_128_format, ibm_extended_format,
4941 ieee_quad_format, vax_f_format, vax_d_format,
4942 vax_g_format, i370_single_format, i370_double_format,
4943 c4x_single_format, c4x_extended_format, real_internal_format):
4944 Provide suitable signbit value, or -1 to avoid bit twiddling.
4945
4946 * optabs.c (expand_unop): Try implementing negation of
4947 floating point modes by flipping the sign bit.
4948 (expand_abs): Try implementing abs of floating point modes
4949 by clearing the sign bit.
4950
4951 Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
4952
4953 * i386.c (ix86_expand_int_movcc): Use force_operand instead
4954 of constructing insn directly.
4955
4956 2002-12-07 Kazu Hirata <kazu@cs.umass.edu>
4957
4958 * config/h8300/h8300.md (*iorhi_shift_8): New.
4959
4960 2002-12-06 Bernd Schmidt <bernds@redhat.com>
4961
4962 * doc/invoke.texi: Document FRV port options.
4963 * doc/md.texi: Document FRV register classes.
4964
4965 2002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4966
4967 * doc/install.texi (Configuration): Improve description of cases
4968 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
4969
4970 2002-12-06 Per Bothner <pbothner@apple.com>
4971
4972 * cpplib.h (NODE_MACRO_ARG): New flag.
4973 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
4974 Remove value.operator field. Move arg_index field to value union.
4975 (directive_index): Make signed, since also used for C++ operators.
4976 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
4977 check for duplicate parameter. Set NODE_MACRO_ARG flag.
4978 Save node->value, and set node->value.arg_index.
4979 (_cpp_create_definition): For each paramater, restore node->value.
4980 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
4981 * cpptrad.c (scan_out_logical_line): Likewise.
4982 (scan_out_logical_line): Check for directive > 0.
4983 * cpplib.c (cpp_handle_directive): Likewise.
4984 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
4985 by negative of directive_index.
4986 * cppinit.c (mark_named_operators): Likewise.
4987
4988 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
4989
4990 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
4991
4992 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
4993 FPU.
4994 (push): Generate push_fpscr.
4995 (pop): Generate pop_fpscr.
4996 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
4997 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
4998
4999 Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
5000
5001 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
5002 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
5003
5004 Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
5005
5006 * sh.md (movdi_i): Name. Remove inappropriate comment.
5007
5008 Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
5009 Merged from basic improvements branch (excerpt):
5010
5011 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
5012 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5013
5014 2002-12-06 Jakub Jelinek <jakub@redhat.com>
5015
5016 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
5017
5018 Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
5019
5020 * i386.md (dimode peep2s): Re-add "&& 1".
5021
5022 Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
5023
5024 * i386.c (ix86_expand_prologue): Add comment, do not use
5025 fast prologues for cold and normal functions.
5026
5027 Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
5028
5029 * i386.c (x86_rep_movl_optimal): New variable.
5030 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
5031 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
5032
5033 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5034 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5035 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5036 generate unnecesary subregs.
5037
5038 2002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
5039
5040 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
5041 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
5042
5043 2002-12-05 Dale Johannesen <dalej@apple.com>
5044
5045 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
5046
5047 2002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
5048
5049 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
5050 PROFILE_HOOK.
5051 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
5052
5053 2002-12-05 Aldy Hernandez <aldyh@redhat.com>
5054
5055 * config/rs6000/spe.h (__ev_mwlufi): Remove.
5056 (__ev_mwlufia): Remove.
5057 (__ev_mwlumfaaw): Remove.
5058 (__ev_mwlusfaaw): Remove.
5059 (__ev_mwlumfanw): Remove.
5060 (__ev_mwlusfanw): Remove.
5061
5062 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
5063
5064 * config/h8300/h8300.md (*andorsi3_shift_8): New.
5065
5066 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
5067
5068 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
5069 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
5070 (get_shift_alg): Return optimal assembly instructions for the
5071 shifts mentioned above.
5072
5073 Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
5074
5075 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
5076 condtiional moves.
5077
5078 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
5079
5080 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
5081 implement ashiftrt:HI by 13 bits on H8S.
5082
5083 2002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
5084
5085 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
5086 * pa.md (canonicalize_funcptr_for_compare): Output library call to
5087 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
5088 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
5089 CTOR_LIST_BEGIN): New defines.
5090 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
5091 (fptr.c): Add make rules.
5092
5093 2002-12-04 Geoffrey Keating <geoffk@apple.com>
5094
5095 * combine.c (combine_simplify_rtx): Add new canonicalizations.
5096 * doc/md.texi (Insn Canonicalizations): Document new
5097 canonicalizations for multiply/add combinations.
5098 * config/rs6000/rs6000.md: Add and modify floating add/multiply
5099 patterns to ensure they're used whenever they can be.
5100
5101 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
5102
5103 * config/h8300/h8300.c: Update the comments related to shifts.
5104
5105 2002-12-04 Chris Demetriou <cgd@broadcom.com>
5106
5107 * config/mips/mips.md (get_fnaddr): Correct length attribute.
5108
5109 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
5110
5111 * config/h8300/h8300.md (*extzv_8_8): New.
5112 (*extzv_8_16): Likewise.
5113
5114 2002-12-04 Jason Merrill <jason@redhat.com>
5115
5116 PR c++/8461, c++/8625
5117 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
5118 references.
5119 * tree-inline.c (initialize_inlined_parameters): Likewise.
5120
5121 * tree.c (variably_modified_type_p): Just return an error_mark_node.
5122
5123 2002-12-04 Chris Demetriou <cgd@broadcom.com>
5124
5125 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
5126 macro instruction in a branch delay slot, to avoid assembler
5127 warnings.
5128
5129 2002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5130
5131 PR c/7622
5132 * c-semantics (genrtl_scope_stmt): Do not output inlined
5133 nested functions that contain no code.
5134
5135 Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
5136
5137 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
5138 to be forced into nonfallthru.
5139
5140 2002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
5141
5142 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
5143
5144 2002-12-03 Aldy Hernandez <aldyh@redhat.com>
5145
5146 * config/rs6000/spe.md (*movv1di_const0): New pattern.
5147
5148 2002-12-03 Richard Henderson <rth@redhat.com>
5149
5150 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
5151
5152 2002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
5153
5154 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
5155 Initialize tmp.using_obstack to 0.
5156
5157 2002-12-03 Andreas Schwab <schwab@suse.de>
5158
5159 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
5160 (EH_RETURN_STACKADJ_RTX): Define.
5161 (EH_RETURN_HANDLER_RTX): Define.
5162 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5163 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
5164 registers and don't save fixed registers.
5165 (m68k_output_function_prologue): Use it.
5166 (use_return_insn): Likewise.
5167 (m68k_output_function_epilogue): Likewise.
5168
5169 2002-12-03 Kazu Hirata <kazu@cs.umass.edu>
5170
5171 * config/h8300/h8300.c (single_one_operand): Fix a warning.
5172 (single_zero_operand): Likewise.
5173
5174 2002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
5175
5176 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
5177 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
5178 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
5179 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
5180 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
5181 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
5182 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
5183 doc/install-old.texi: Replace hconfig.h with bconfig.h.
5184 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
5185
5186 2002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
5187
5188 * config/rs6000/rs6000.md (ffssi): Convert to expander.
5189 (ffsdi): Likewise.
5190 (cntlzw2, cntlzd2): New patterns.
5191
5192 2002-12-02 H.J. Lu <hjl@gnu.org>
5193
5194 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
5195 (mips*-*-linux*): Remove mips/t-linux.
5196
5197 Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
5198
5199 * i386.c (ix86_expand_int_movcc): Avoid overflow.
5200
5201 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
5202
5203 * config/h8300/h8300.c (dosize): Replace argument op with
5204 sign.
5205 (h8300_output_function_prologue): Update the call to dosize.
5206 (h8300_output_function_epilogue): Likewise.
5207
5208 2002-12-02 Bob Wilson <bob.wilson@acm.org>
5209
5210 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
5211
5212 2002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
5213
5214 * configure.in: Use "missing" script to generate warning if
5215 flex or bison programs not found, instead of invoking "false".
5216 * configure: Rebuilt.
5217
5218 Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
5219
5220 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
5221
5222 Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
5223
5224 * i386.c (ix86_expand_int_movcc): Avoid overflow.
5225
5226 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
5227
5228 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
5229 (push): Likewise.
5230 (pop): Likewise.
5231 (h8300_output_function_prologue): Likewise.
5232 (h8300_output_function_epilogue): Likewise.
5233
5234 Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
5235
5236 * expmed.c (store_bit_field): Use int_mode_for_mode to find
5237 corresponding mode of non-integer mode, unless it is VOIDmode.
5238
5239 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
5240
5241 * config/h8300/h8300.md (stm_h8300s_2): New.
5242 (stm_h8300s_3): Likewise.
5243 (stm_h8300s_4): Likewise.
5244 (five define_peephole2): Likewise.
5245
5246 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
5247
5248 * ra-build.c: Fix a comment typo.
5249
5250 Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
5251
5252 * i386.c (ix86_expand_int_movcc): fix
5253 reversed BRANCH_COST test; be curefull about infinite recursion.
5254
5255 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
5256
5257 * config/h8300/h8300.c (h8300_output_function_prologue):
5258 Remove variable idx.
5259 (h8300_output_function_epilogue): Likewise.
5260
5261 2002-12-01 Zack Weinberg <zack@codesourcery.com>
5262
5263 * config/frv/xm-frv.h: Delete, unnecessary.
5264
5265 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
5266
5267 * config/h8300/h8300.md: Add comments for define_peephole2.
5268
5269 2002-12-01 Mark Mitchell <mark@codesourcery.com>
5270
5271 * builtin-types.def (BT_SIZE): Use size_type_node.
5272 * builtins.c (fold_builtin): Make the builtin strlen returns a
5273 size_t, not a sizetype.
5274 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
5275 c_size_type_node.
5276 (c_alignof_expr): Likewise.
5277 (c_common_nodes_and_builtins): Likewise.
5278 * c-common.h (CTI_C_SIZE_TYPE): Remove.
5279 (c_size_type_node): Likewise.
5280 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
5281 * tree.h (TI_SIZE_TYPE): New enumeral.
5282 (size_type_node): Likewise.
5283
5284 2002-11-30 Zack Weinberg <zack@codesourcery.com>
5285
5286 * configure.in: Don't put ${tm_file} into host_xm_file,
5287 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
5288 Take location of tm-preds.h into account when calculating
5289 tm_p_file_list.
5290 * configure: Regenerate.
5291 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
5292 arguments. Do not provide rtx, rtvec, tree, or GTY here.
5293 Remove special case code for tm_p.h and *config.h; add new
5294 special case code for tm.h and tconfig.h. Clean up a bit.
5295
5296 * Makefile.in (tm_file, tm_file_list): New variables set from
5297 @-substitutions.
5298 (GCONFIG_H): Deleted.
5299 (GTM_H, TM_H): New.
5300 (CONFIG_H): Is now just config.h $(host_xm_file_list).
5301 (TM_P_H): Move up with the other mkconfig.sh-generated
5302 headers; don't mention tm-preds.h explicitly.
5303 (tm.h, cs-tm.h): New rule.
5304 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
5305 invocations of mkconfig.sh for changes to that program.
5306 (mostlyclean): Delete print-rtl1.c.
5307 (clean): Delete tm.h.
5308 Update dependencies for the files listed below.
5309
5310 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
5311
5312 * coretypes.h: New file.
5313 * system.h: #define malloc to xmalloc and realloc to xrealloc
5314 when FLEX_SCANNER or YYBISON is defined, independent of the
5315 value of GCC_VERSION.
5316 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
5317 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
5318 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
5319 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
5320 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
5321 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
5322 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
5323 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
5324 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
5325 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
5326 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
5327 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
5328 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
5329 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
5330 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
5331 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
5332 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
5333 genconstants.c, genemit.c, genextract.c, genflags.c,
5334 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
5335 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
5336 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
5337 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
5338 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
5339 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
5340 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
5341 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
5342 print-tree.c, profile.c, protoize.c, ra-build.c,
5343 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
5344 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
5345 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
5346 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
5347 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
5348 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
5349 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
5350 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
5351 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
5352 xcoffout.c, config/darwin-c.c, config/darwin.c,
5353 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
5354 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
5355 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
5356 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
5357 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
5358 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
5359 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
5360 config/i960/i960-c.c, config/i960/i960.c,
5361 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
5362 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
5363 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
5364 config/mips/irix6-libc-compat.c, config/mips/mips.c,
5365 config/mmix/mmix.c, config/mn10200/mn10200.c,
5366 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
5367 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
5368 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
5369 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
5370 config/sparc/sparc.c, config/stormy16/stormy16.c,
5371 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
5372 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
5373 Include coretypes.h and tm.h.
5374
5375 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
5376 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
5377 genrecog.c: Include coretypes.h and tm.h from the file
5378 generated by this program.
5379
5380 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
5381 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
5382 coretypes.h and tm.h, and tsystem.h when not already included.
5383 No need to include stddef.h nor stdlib.h.
5384
5385 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
5386 include auto-host.h or ansidecl.h/
5387 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
5388 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
5389 include auto-host.h, ansidecl.h, or system.h.
5390 * fixinc/server.c: Likewise. Also, do not include signal.h,
5391 and do not redefine volatile.
5392
5393 Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
5394
5395 * i386.md (movdf_integer): Always enable in 64bit.
5396 (movdf_nointeger): Always disable in 64bit.
5397
5398 2002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
5399
5400 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
5401 pseudo register number plus 1.
5402
5403 Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
5404
5405 * expmed.c (store_bit_field): Use int_mode_for_mode to find
5406 corresponding mode of non-integer mode, unless it is VOIDmode.
5407
5408 2002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
5409
5410 * cpplib.c (_cpp_test_assertion): Default *value to 0.
5411
5412 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
5413
5414 2002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
5415
5416 * config/s390/t-crtstuff: New target makefile fragment.
5417 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
5418
5419 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
5420
5421 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
5422 alternatives to correct the length when the memory operand is
5423 either pre_dec or post_inc.
5424
5425 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
5426
5427 * config/h8300/h8300.md (an anonymous pattern): Give an
5428 internal name *tst_extzv_bitqi_1_n.
5429 Accept bit_operand instead of bit_memory_operand.
5430 Do not accept bit tests with the MSB.
5431 (*tst_extzv_memqi_1_n): New.
5432
5433 Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
5434
5435 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
5436 sharing when operand is SUBREG.
5437
5438 Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
5439
5440 * athlon.md (athlon-decodev): New reservation unit.
5441 (athlon-direct0): New reservation.
5442 (athlon-vector): New use athlon-decodev.
5443 (athlon-double, athlon-direct): Better model.
5444 (athlon_imul_k8): Use athlon-direct0.
5445 (athlon_movlpd_load): New insn reservation.
5446
5447 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
5448
5449 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5450 Fix a comment typo.
5451 (h8300_tiny_constant_address_p): Likewise.
5452
5453 2002-11-28 Michael Matz <matz@suse.de>
5454
5455 * doc/passes.texi: Mention the other register allocator.
5456
5457 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
5458
5459 * config/h8300/h8300.md (6 new peephole2 patterns): New.
5460
5461 2002-11-28 Jakub Jelinek <jakub@redhat.com>
5462
5463 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
5464 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
5465 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
5466
5467 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
5468
5469 * config/h8300/h8300.c (h8300_and_costs): New.
5470 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
5471 * config/h8300/h8300-protos.h: Add a prototype for
5472 h8300_and_costs.
5473
5474 Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
5475
5476 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
5477 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
5478 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
5479 * i386.md (truncdfsf patterns and splitters): Use
5480 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
5481
5482 2002-11-27 Zack Weinberg <zack@codesourcery.com>
5483
5484 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
5485 pointer argument in the prototypes of the following builtins
5486 be (const TYPE *) rather than (TYPE *):
5487 + __builtin_altivec_ld_internal_4sf
5488 + __builtin_altivec_ld_internal_4si
5489 + __builtin_altivec_ld_internal_8hi
5490 + __builtin_altivec_ld_internal_16qi
5491 + __builtin_altivec_lvsl
5492 + __builtin_altivec_lvsr
5493 + __builtin_altivec_lvebx
5494 + __builtin_altivec_lvehx
5495 + __builtin_altivec_lvewx
5496 + __builtin_altivec_lvxl
5497 + __builtin_altivec_lvx
5498 + __builtin_altivec_dst
5499 + __builtin_altivec_dstt
5500 + __builtin_altivec_dstst
5501 + __builtin_altivec_dststt
5502
5503 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5504
5505 * except.c (default_exception_section): Move variable into the
5506 scope where it is used.
5507
5508 2002-11-27 Krister Walfridsson <cato@df.lth.se>
5509
5510 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
5511 correct version.
5512
5513 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
5514
5515 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
5516
5517 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
5518
5519 * config/h8300/h8300.c (h8300_shift_costs): New.
5520 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
5521 * config/h8300/h8300-protos.h: Add a prototype for
5522 h8300_shift_costs.
5523
5524 2002-11-27 Jim Wilson <wilson@redhat.com>
5525
5526 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
5527 in output template.
5528
5529 2002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
5530
5531 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
5532 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
5533 DLL_IMPORT_EXPORT_PREFIX, not '@'.
5534 (i386_pe_dllimport_name_p): Likewise.
5535 (i386_pe_mark_dllexport): Likewise.
5536 (i386_pe_mark_dllimport): Likewise.
5537 (i386_pe_encode_section_info): Likewise.
5538 (i386_pe_strip_name_encoding): Likewise.
5539
5540 2002-11-27 Richard Henderson <rth@redhat.com>
5541
5542 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
5543 (nm && NF == 3): Set sawsymbol true.
5544 (END): Exit if no symbols seen.
5545 (output): Fix map syntax error if no globals for the version.
5546
5547 Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
5548
5549 * builtins.def (DEF_C99_BUILTIN): Fix.
5550
5551 2002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
5552
5553 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
5554 (all): Add .size and .type information.
5555
5556 Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
5557
5558 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
5559 partial_reg_stall target.
5560
5561 Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
5562
5563 * i386.md (movhicc): Allow general operand.
5564 (movqicc): New expander.
5565 (movqicc_noc): New pattern.
5566 * i386.c (ix86_expand_carry_flag_compare): New function.
5567 (ix86_expand_int_movcc): Optimize harder using sbb; support more
5568 HImode conversion; support QImode conditional moves
5569
5570 Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
5571
5572 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
5573 (ix86_expand_prologue): Multiply the count by amount of registers to be
5574 pushed.
5575
5576 Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
5577
5578 * i386.c (override_options): Error about wrong -mcpu on x86-64
5579 compilation.
5580
5581 2002-11-26 NIIBE Yutaka <gniibe@m17n.org>
5582
5583 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
5584
5585 Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
5586
5587 * i386-protos.h (x86_extended_QIreg_mentioned_p,
5588 x86_extended_reg_mentioned_p): Declare.
5589 * i386.c (extended_reg_mentioned_1): New static function.
5590 (x86_extended_QIreg_mentioned_p,
5591 x86_extended_reg_mentioned_p): New global functions.
5592 * i386.h (REX_SSE_REGNO_P): New macro.
5593 * i386.md (prefix_rex): New attribute.
5594 (length attribute): Add rex.
5595
5596 2002-11-26 Andrew Haley <aph@redhat.com>
5597
5598 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
5599 from_Unwind_Find_Enclosing_Function.
5600 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
5601 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
5602 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
5603 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
5604 * unwind.h (_Unwind_FindEnclosingFunction): Add.
5605
5606 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
5607
5608 * config/s390/s390.c (390_output_constant_pool): Set alignment
5609 before label in 64 bit mode, behind otherwise.
5610
5611 2002-11-26 Richard Henderson <rth@redhat.com>
5612
5613 * c-common.c (handle_visibility_attribute): Accept "default".
5614 * tree.h (enum symbol_visibility): New.
5615 (decl_visibility): Declare.
5616 * target.h (gcc_target.visibility): Take visibility arg as integer.
5617 * varasm.c (default_assemble_visibility): Likewise.
5618 (decl_visibility): New.
5619 (maybe_assemble_visibility): Use it.
5620 * output.h (default_assemble_visibility): Update prototype.
5621 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
5622 visibility arg as integer.
5623 * doc/extend.texi: Document default visibility.
5624
5625 2002-11-26 Kazu Hirata <kazu@cs.umass.edu>
5626
5627 * config/h8300/h8300.c: Adjust spacing.
5628 * config/h8300/h8300.h: Likewise.
5629
5630 2002-11-26 Richard Henderson <rth@redhat.com>
5631
5632 * hooks.c (hook_bool_void_false, hook_void_tree_int,
5633 hook_void_FILEptr_constcharptr): Rename so that the return
5634 type is first.
5635 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
5636 hook_bool_tree_false): New.
5637 * hooks.h: Update.
5638 * langhooks-def.h: Update for renames.
5639 * target-def.h: Likewise.
5640 * tree.c (default_comp_type_attributes,
5641 default_set_default_type_attributes, default_insert_attributes,
5642 default_function_attribute_inlinable_p,
5643 default_ms_bitfield_layout_p): Remove.
5644 * tree.h: Update.
5645
5646 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
5647
5648 * pa-protos.h (function_value): New prototype.
5649 * pa.c (function_value): Use a PARALLEL to return small aggregates on
5650 TARGET_64BIT.
5651 * pa.h (FUNCTION_VALUE): Use function_value.
5652 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
5653 call_value_internal_reg, sibcall_value_internal_symref,
5654 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
5655 value.
5656
5657 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
5658
5659 * expr.c (gen_group_rtx, emit_group_move): New functions.
5660 * expr.h (gen_group_rtx, emit_group_move): Prototype.
5661 * function.c (expand_function_start): Use gen_group_rtx to create a
5662 PARALLEL rtx to hold the return value when the real return rtx is a
5663 PARALLEL.
5664 (expand_function_end): Use emit_group_move to move the return value
5665 from a PARALLEL to the real return registers.
5666 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
5667 in PARALLELs.
5668
5669 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
5670
5671 * config/t-libc-ok: Fix typo.
5672
5673 2002-11-26 Jakub Jelinek <jakub@redhat.com>
5674
5675 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
5676 before AC_PROG_CC.
5677 * configure: Rebuilt.
5678
5679 2002-11-26 Nathan Sidwell <nathan@codesourcery.com>
5680
5681 * c-decl.c: (start_struct): Commonize flag setting.
5682
5683 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
5684
5685 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
5686 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
5687 RS6000_CPU_CPP_ENDIAN_BUILTINS.
5688 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
5689
5690 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
5691
5692 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
5693 insns.
5694 * config/s390/s390.c (struct machine_function): Introduction of
5695 struct machine_function.
5696 (s390_output_symbolic_const): Use of cfun.
5697 (s390_optimize_prolog): Likewise.
5698 (s390_fixup_clobbered_return_reg): Likewise.
5699 (s390_frame_info): Likewise.
5700 (s390_emit_prologue, s390_emit_epilogue): Likewise.
5701 (s390_init_machine_status): New function.
5702 (override_options): call s390_init_machine_status.
5703 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
5704 prototype.
5705
5706 2002-11-26 Jakub Jelinek <jakub@redhat.com>
5707
5708 * varasm.c (output_constant_pool): For pool constants in mergeable
5709 section ensure each constant is padded to multiple of entity size.
5710
5711 2002-11-26 Jakub Jelinek <jakub@redhat.com>
5712
5713 * varasm.c (default_exception_section): Move to...
5714 * except.c (default_exception_section): ... here. Make
5715 .gcc_except_table read-only if it is not expected to have any
5716 dynamic relocations and linker handles it.
5717 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
5718 if it is not expected to have any dynamic relocations and linker
5719 handles it.
5720 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
5721 when linking read-only and read-write sections together.
5722 * configure, config.in: Rebuilt.
5723 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
5724 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
5725
5726 Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
5727
5728 * i386.md (pushsf_rex64): Fix typo.
5729
5730 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
5731
5732 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
5733 new function.
5734 (__ev_create_ufix32_fs): Same.
5735 (__ev_get_sfix32_fs_internal): New.
5736 (__ev_get_sfix32_fs): Define to use function.
5737 (__ev_get_ufix32_fs_internal): New.
5738 (__ev_get_ufix32_fs): Define to use function.
5739 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
5740 (__ev_get_lower_ufix32_fs): Same.
5741 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
5742 (__ev_get_lower_sfix32_fs): Same.
5743 (__ev_set_sfix32_fs_internal): New.
5744 (__ev_set_ufix32_fs_internal): New.
5745 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
5746 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
5747 (__ev_set_upper_sfix32_fs): Call function.
5748 (__ev_set_lower_sfix32_fs): Same.
5749 (__ev_set_upper_ufix32_fs): Same.
5750 (__ev_set_lower_ufix32_fs): Same.
5751
5752 2002-11-25 Douglas B Rupp <rupp@gnat.com>
5753
5754 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
5755
5756 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
5757
5758 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
5759 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5760 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5761 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
5762 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
5763 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5764 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
5765 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
5766 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5767 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5768 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
5769 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
5770 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
5771 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5772 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
5773 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
5774 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
5775 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
5776 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
5777 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
5778 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5779 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
5780 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
5781 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
5782 defining.
5783 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
5784 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
5785
5786 2002-11-25 Dave Pitts <dpitts@cozx.com>
5787
5788 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
5789
5790 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
5791
5792 * config/h8300/h8300.md (an anonymous pattern): New.
5793
5794 2002-11-25 Richard Henderson <rth@redhat.com>
5795
5796 * alias.c (find_base_value): Use new_reg_base_value if it's live.
5797 (copying_arguments): Make boolean.
5798
5799 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
5800
5801 * gcc.c (static_spec_functions): Add if-exists-else spec
5802 function.
5803 (if_exists_else_spec_function): New function.
5804 * doc/invoke.texi: Document the if-exists-else spec function.
5805
5806 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
5807 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
5808
5809 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
5810
5811 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
5812 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
5813 "${tmake_file} rs6000/t-netbsd".
5814 * config/rs6000/netbsd.h: Rewrite.
5815 * config/rs6000/t-netbsd: New file.
5816
5817 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
5818
5819 * config/h8300/h8300.md (an anonymous pattern): Relax the
5820 condition for the pattern.
5821
5822 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
5823
5824 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
5825 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
5826 evmwlssfanw, evmwlsmfanw.
5827
5828 * config/rs6000/rs6000.c (bdesc_2arg): Same.
5829
5830 * config/rs6000/spe.md: Same for patterns.
5831
5832 2002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
5833
5834 PR c/8639
5835 * fold-const.c (extract_muldiv): Don't propagate division unless
5836 both arguments are multiples of C.
5837
5838 2002-11-25 Andrew Haley <aph@redhat.com>
5839
5840 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
5841 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
5842 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
5843 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5844
5845 Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
5846
5847 * i386.c (x86_use_ffreep): New global variable.
5848 * i386.h (x86_use_frfeep): Declare
5849 (TARGET_USE_FFREEP): New macro
5850 * i386.md (movs?f*): Use freep when asked for.
5851 (push?f): Remove dead code.
5852
5853 2002-11-24 Kazu Hirata <kazu@cs.umass.edu>
5854
5855 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
5856 target help message.
5857
5858 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
5859
5860 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
5861 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
5862 crtbeginT.o".
5863 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
5864 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
5865 to "" for a.out configurations.
5866 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
5867
5868 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
5869
5870 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
5871 NETBSD_CPP_SPEC directly.
5872 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
5873 netbsd_endfile_spec.
5874 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
5875
5876 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
5877
5878 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
5879 NETBSD_STARTFILE_SPEC.
5880 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
5881 (ENDFILE_SPEC): Likewise.
5882 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
5883
5884 2002-11-24 Andreas Schwab <schwab@suse.de>
5885
5886 * Makefile.in (install-driver): Remove versioned link before
5887 trying to create it.
5888
5889 * config/m68k/m68k.c: Fix typo in last change defining
5890 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
5891
5892 2002-11-23 H.J. Lu <hjl@gnu.org>
5893
5894 * aclocal.m4: Include ../config/accross.m4.
5895 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
5896 (gcc_AC_C_COMPILE_ENDIAN): Removed.
5897 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
5898 instead of $ac_cv_c_compile_endian.
5899
5900 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
5901 AC_COMPILE_CHECK_SIZEOF.
5902 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
5903 * configure: Rebuild.
5904
5905 2002-11-23 Kazu Hirata <kazu@cs.umass.edu>
5906
5907 * config/h8300/h8300.c (print_operand): Update the use of
5908 h8300_tiny_constant_address_p.
5909 (h8300_adjust_insn_length): Likewise.
5910 (h8300_tiny_constant_address_p): Check if the given rtx is a
5911 variable declared with __attribute__ ((tiny_data)).
5912
5913 2002-11-22 Dale Johannesen <dalej@apple.com>
5914
5915 * toplev.c (rest_of_compilation): Fix comments.
5916
5917 2002-11-22 Geoffrey Keating <geoffk@apple.com>
5918
5919 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
5920 allow mmap from /dev/zero. Don't make decisions for the host
5921 based on presence or absence of /dev/zero on the build machine.
5922 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
5923 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
5924 * configure: Regenerate.
5925
5926 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
5927
5928 * gcc.c (make_relative_prefix, split_directories)
5929 (free_split_directories): Removed.
5930
5931 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
5932
5933 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
5934 * configure: Regenerated.
5935
5936 2002-11-22 Kazu Hirata <kazu@cs.umass.edu>
5937
5938 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
5939 length computation when xor.l is output.
5940
5941 2002-11-21 Douglas B Rupp <rupp@gnat.com>
5942
5943 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
5944 (call_vms_1, call_value_vms_1): Cleanup syntax.
5945
5946 Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
5947
5948 * athlon.md (define_atuomaton): Add athlon_load.
5949 (athlon-double): New reservation.
5950 (athlon-ieu0): New CPU unit.
5951 (athlon-load?): Use athlon_load automaton.
5952 (*_k8 reservations): New.
5953 (other insn revervations): Activate for K8.
5954
5955 Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
5956
5957 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
5958
5959 2002-11-21 Jim Wilson <wilson@redhat.com>
5960
5961 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
5962 vectors to SI.
5963
5964 2002-11-21 Bob Wilson <bob.wilson@acm.org>
5965
5966 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
5967 * config/xtensa/xtensa.c (struct machine_function): Add
5968 incoming_a7_copied flag.
5969 (xtensa_copy_incoming_a7): Define.
5970 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
5971 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
5972
5973 Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
5974
5975 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
5976 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
5977 x86_64_nonmemory_operand, x86_64_movabs_operand,
5978 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
5979 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
5980 (local_symbolic_operand): Do not care the 64bit limits.
5981 (x86_64_sign_extended_value): Remove allow_rip support.
5982 (legitimate_pic_address_disp_p): Handle all cases allowed
5983 with RIP addressing.
5984 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
5985 (legitimize_pic_address): Reorganize.
5986 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
5987
5988 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
5989
5990 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
5991 * config/arm/netbsd-elf.h: New file.
5992
5993 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
5994
5995 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
5996 subtarget_asm_float_spec.
5997 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
5998 defaults from...
5999 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
6000
6001 2002-11-21 Nick Clifton <nickc@redhat.com>
6002
6003 * config/fr30/fr30.md (movsf_constant_store): Move code to
6004 detect 0.0 into fr30.c.
6005 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
6006 Prototype.
6007 * config/fr30/fr30.c (fr30_const_double_is_zero): New
6008 function. Return true if the rtx is 0.0.
6009
6010 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
6011
6012 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
6013 if -mlittle-endian is specified.
6014
6015 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
6016
6017 PR optimization/2903
6018 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
6019 (anddi_notsesidi_di): Likewise.
6020
6021 2002-11-21 Kazu Hirata <kazu@cs.umass.edu>
6022
6023 * config/h8300/h8300.c (print_operand): Use
6024 h8300_eightbit_constant_address_p and
6025 h8300_tiny_constant_address_p.
6026 (h8300_adjust_insn_length): Likewise.
6027 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
6028 (TINY_CONSTANT_ADDRESS_P): Likewise.
6029 (OK_FOR_U): Use eightbit_constant_address_p.
6030
6031 2002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
6032
6033 * config/s390/libgcc-libc.ver: Add multilib support.
6034 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
6035 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
6036 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
6037 EXTRA_MULTILIB_PARTS): Define.
6038
6039 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
6040
6041 * arm.c (arm_get_frame_size): A leaf function does not need its
6042 stack padding to an aligned boundary if it has no frame.
6043 (thumb_get_frame_size): Likewise.
6044
6045 Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
6046
6047 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
6048 (override_options): Likewise.
6049
6050 Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
6051
6052 * config.gcc: Add k8 target alias support
6053 * i386.c (_cost): Declare costs for various variants of divides and
6054 multiplies.
6055 (k8_cost): New.
6056 (m_K8, m_ATHLON_K8): New macros.
6057 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
6058 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
6059 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
6060 x86_integer_DFmode_moves, x86_partial_reg_dependency,
6061 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
6062 x86_prologue_using_move, x86_epilogue_using_move,
6063 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
6064 x86_sse_typeless_stores): Set for K8
6065 (override_options): Add k8 support; fix athlon alignment;
6066 complain about non-x86-64 capable CPU being used in x86-64 compilation.
6067 (ix86_issue_rate): Set for K8.
6068 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
6069 x86_machine_dependent_reorg): Handle K8 like
6070 * i386.h
6071 (x86_costs): Change mult_init and divide into array.
6072 (TARGET_K8, TARGET_ATHLON): New macros.
6073 (MODE_INDEX): New macro.
6074 (RTX_COST): Use new costs.
6075 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
6076 (TARGET_CPU_DEFAULT_NAMES): Add k8
6077 (TARGET_CPU_DEFAULT_k8): New constant
6078 (enum processor_type): Add PROCESSOR_K8.
6079 * i386.md (cpu attribute): Add k8.
6080
6081 * invoke.texi: Document -march=k8.
6082
6083 * i386.md (type attribute): Add leave
6084 (mode attribute): Remove unknownfp.
6085 (length_immediate, modrm, memory attributes): Handle leave correctly.
6086 (fp comparison patterns): Determine FP mode.
6087 (leave, leave_rex64): Remove special cases.
6088 * ppro.md (ppro_uops, ppro_p2): Add leave
6089 * pentiun.md (pent_pop): Handle leave too.
6090 * k6.md (k6_load): Handle leave.
6091 * athlon.md (athlon_leave, athlon_pop): Fix.
6092 (athlon_decode): Handle leave.
6093
6094 2002-11-20 Steve Ellcey <sje@cup.hp.com>
6095
6096 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
6097 to component type using GET_MODE_INNER.
6098 * expr.c (emit_move_insn_1): Ditto.
6099 * optabs.c (expand_binop): Ditto.
6100 (expand_unop): Ditto.
6101 (expand_complex_abs): Ditto.
6102
6103 2002-11-20 Douglas B Rupp <rupp@gnat.com>
6104
6105 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
6106
6107 2002-11-20 DJ Delorie <dj@redhat.com>
6108
6109 * config/stormy16/stormy16.c (s16builtins,
6110 xstormy16_init_builtins, xstormy16_expand_builtin): New.
6111 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
6112
6113 2002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
6114
6115 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
6116 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
6117 (executing gencheck, genconfigs, genconditions, genflags,
6118 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
6119 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
6120 gengtype, genprotos): Prepend $(RUN_GEN).
6121 * configure.in: Move host compiler tests before --enable-checking
6122 tests.
6123 (--enable-checking=valgrind): New.
6124 * config.in, configure: Regenerate.
6125 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6126 Define as empty.
6127 (read_include_file): When doing the mmap+1 trick,
6128 valgrind-annotate the byte after the mmap:ed area as readable.
6129 (purge_cache): Remove above annotation.
6130 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
6131 VALGRIND_PATH -q to each command.
6132
6133 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6134 Define as empty.
6135 (ggc_realloc): Update valgrind annotations.
6136 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6137 Define as empty.
6138 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
6139 valgrind-annotate memory.
6140
6141 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
6142
6143 * recog.c (constrain_operands): Prefer exact match over reloadable
6144 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
6145
6146 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
6147 operands in Pmode.
6148
6149 2002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
6150
6151 PR c/8518
6152 * c-decl.c (duplicate_decls): Outline the second definition
6153 of an extern inline function in all cases.
6154
6155 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
6156
6157 * stor-layout.c (place_field): Update rli->offset as well as
6158 rli->bitpos.
6159
6160 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
6161
6162 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
6163
6164 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
6165
6166 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
6167 into a libcall block.
6168 (divsi3): Likewise divsi3_i4_media.
6169
6170 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
6171
6172 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
6173 out another register.
6174
6175 2002-11-20 Jakub Jelinek <jakub@redhat.com>
6176
6177 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
6178 (not just mask) are set in C.
6179
6180 2002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
6181
6182 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
6183
6184 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6185
6186 * profile.c (index_counts_file): Fix obvious mistake.
6187
6188 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6189
6190 * Makefile.in (profile.o): Add hashtab.h dependency.
6191 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
6192 * profile.c: Include hashtab.h.
6193 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
6194 cleanup_counts_index, index_counts_file, struct section_reference,
6195 struct da_index_entry, counts_file_name, counts_file_index): New.
6196 (get_exec_counts, init_branch_prob): Modified.
6197
6198 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
6199
6200 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
6201 to tmake_file. Remove setting gas and gnu_ld here.
6202 * config/sh/libgcc-glibc.ver: New file.
6203 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
6204 (SHLIB_MAPFILES): New.
6205 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
6206 (MD_STARTFILE_PREFIX): Likewise.
6207 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
6208 (DWARF2_UNWIND_INFO): Redefine.
6209 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6210 (LINK_EH_SPEC): Redefine.
6211 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
6212 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
6213 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
6214 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
6215 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
6216 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
6217 SH_DWARF_FRAME_FPSCR): Likewise.
6218 * config/sh/sh-protos.h (sh_set_return_address): Declare.
6219 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
6220 registers if the current function calls EH return.
6221 (sh_expand_epilogue): Handle EH stack adjustments.
6222 (sh_set_return_address): New function.
6223 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6224 Don't abort even if the number is mapped to -1.
6225 (EH_RETURN_DATA_REGNO): Define.
6226 (EH_RETURN_STACKADJ_RTX): Define.
6227 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
6228 (eh_return): New pattern.
6229 (eh_set_ra_di, eh_set_ra_si): Likewise.
6230 Add splitter to perform EH return after reload.
6231
6232 Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
6233
6234 * stor-layout.c (excess_unit_span): New function.
6235 (place_field): Use it.
6236
6237 2002-11-19 Andreas Schwab <schwab@suse.de>
6238
6239 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
6240 not valid in C++.
6241
6242 2002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
6243
6244 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
6245 * configure: Regenerate.
6246
6247 Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
6248
6249 * convert.c (strip_float_extensions): New function.
6250 (convert_to_real): Optimize some cases.
6251
6252 2002-11-19 Andreas Jaeger <aj@suse.de>
6253
6254 * loop.c (record_giv): Initialize not_replaceable.
6255 (check_final_value): Likewise.
6256
6257 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
6258
6259 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
6260 MASK_H8300S.
6261
6262 2002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
6263
6264 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
6265 only if -mh or -ms present.
6266 (h8300_eightbit_constant_address_p): Support the normal mode.
6267 (h8300_tiny_constant_address_p): Likewise.
6268 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
6269 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
6270 (Pmode): Evaluate to HImode for the normal mode.
6271 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
6272 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
6273 (ASM_WORD_OP): Evaluate to word for the normal mode.
6274 * config/h8300/h8300.md (tablejump_normal_mode): New.
6275 (indirect_jump_normal_mode): New.
6276 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
6277 directory.
6278 (MULTILIB_DIRNAMES): Create target dependent directory
6279 'normal'.
6280 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
6281 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
6282
6283 Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
6284
6285 * i386.md (length_immediate): Do not refer to insn address.
6286 (jcc*, jmp patterns): Compute length explicitly.
6287
6288 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
6289
6290 PR c/8588
6291 * optabs.c (expand_binop): Convert CONST_INTs in shift
6292 operations too.
6293
6294 2002-11-19 Roger Sayle <roger@eyesopen.com>
6295
6296 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
6297
6298 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
6299
6300 * config/h8300/h8300.md (an anonymous pattern): Relax the
6301 condition to accept the same operands and/or subregs.
6302
6303 2002-11-19 Daniel Jacobowitz <drow@mvista.com>
6304
6305 * config/sh/sh.c (gen_shl_and): Revert previous patch.
6306 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
6307 reload_completed.
6308
6309 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
6310
6311 * config/h8300/h8300.c (print_operand): Update the use of
6312 EIGHTBIT_CONSTANT_ADDRESS_P.
6313 (h8300_adjust_insn_length): Likewise.
6314 (h8300_eightbit_constant_address_p): Check if the given rtx is
6315 a variable with __attribute__((eightbit_data)).
6316 * config/h8300/h8300.h (OK_FOR_U): Update the use of
6317 EIGHTBIT_CONSTANT_ADDRESS_P.
6318
6319 2002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6320
6321 * doc/contrib.texi (Contributors): Add self as second contact in
6322 addition to Jeff Law.
6323
6324 2002-11-19 Andreas Jaeger <aj@suse.de>
6325
6326 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
6327 find_alloca_call to right place.
6328
6329 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
6330
6331 * cppfiles.c: Fix formatting.
6332
6333 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
6334
6335 * gcc.c (The Specs Language): Document spec functions.
6336 (static_spec_functions, lookup_spec_function)
6337 (eval_spec_function, handle_spec_function)
6338 (if_exists_spec_function, alloc_args): New.
6339 (execute): Abort if processing_spec_function is true.
6340 (do_spec_1): Hand off spec to handle_spec_function if %:
6341 is encountered. If processing_spec_function is true,
6342 end any pending argument when the end of the string is reached.
6343 (main): Use alloc_args to allocate the initial argument vector.
6344 * gcc.h (struct spec_function): New.
6345 (lang_specific_spec_functions): New extern.
6346
6347 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
6348 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
6349 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
6350
6351 * doc/invoke.texi: Document spec functions.
6352
6353 * cppspec.c (lang_specific_spec_functions): New.
6354 * gccspec.c: Likewise.
6355
6356 2002-11-18 Steve Ellcey <sje@cup.hp.com>
6357
6358 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
6359 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
6360 (fixunstfsi_libfunc): Change.
6361 (fixunstfdi_libfunc): Change.
6362 (sdiv_optab): Don't zero out SImode handler.
6363 (udiv_optab): Don't zero out SImode handler.
6364 (smod_optab): Don't zero out SImode handler.
6365 (umod_optab): Don't zero out SImode handler.
6366
6367 2002-11-18 Neil Booth <neil@daikokuya.co.uk>
6368
6369 PR preprocessor/8524
6370 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
6371 Add a new one in its place, which hopefully works.
6372 (skip_rest_of_line): Change test for bottom-of-context-stack.
6373
6374 Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
6375
6376 * i386.md (addqi_1_slp): Fix output template.
6377 (subqi_1_slp): Fix type.
6378
6379 Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
6380
6381 * calls.c (alloca_call_p): New global function.
6382 * tree.h (alloca_call_p): New.
6383 * tree-inline.c (inlinable_function_p): Do not inline when
6384 function calls alloca.
6385 (find_alloca_call, find_alloca_call_1): New functions.
6386
6387 2002-11-18 Kazu Hirata <kazu@cs.umass.edu>
6388
6389 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
6390 bst. Update the insn length.
6391 (*andorhi3): Likewise.
6392 (*andorsi3): Likewise.
6393
6394 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
6395
6396 * config/sh/sh-protos.h (sh_mark_label): Declare.
6397 * config/sh/sh.c (sh_mark_label): New function, taken from
6398 movdi_const, but fixing the case when the address has an addend.
6399 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
6400
6401 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
6402
6403 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
6404 (add_constant): Set it.
6405 (dump_table): Don't reorder a constant if part_of_sequence_p.
6406 (machine_dependent_reorg): Assume that float constants will
6407 stay in their original order if used as a sequence.
6408
6409 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
6410
6411 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
6412 in compact code.
6413
6414 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
6415
6416 * config/sh/sh.md (initialize_trampoline): Do not force the
6417 trampoline address into R0_REGS here.
6418
6419 Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
6420
6421 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
6422 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
6423 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
6424 generate unnecesary subregs.
6425
6426 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
6427
6428 * df.c: Fix formatting.
6429
6430 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
6431
6432 * config/h8300/h8300.md (two anonymous patterns): Fix insn
6433 lengths.
6434
6435 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
6436
6437 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
6438 is not an arith_reg_operand.
6439
6440 2002-11-17 Graham Stott <graham.stott@btinternet.com>
6441
6442 * real.c (real_to_decimal): Fix buffer overrun when buffer size
6443 is smaller than representation.
6444
6445 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
6446
6447 * builtins.c: Fix formatting.
6448
6449 Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
6450
6451 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
6452 floats?dff2_i387):
6453 Work around regclass stupidity.
6454 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
6455
6456 Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
6457
6458 * i386.md (fop_df_6): New pattern.
6459 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
6460 (fop_xf_6): Rewrite
6461 (fop_xf_7): Delete.
6462 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
6463 (fop_tf_6): Rewrite
6464 (fop_tf_7): Delete.
6465
6466 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
6467
6468 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
6469
6470 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
6471
6472 * config/h8300/h8300.md: Fix formatting.
6473
6474 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
6475
6476 * config/h8300/h8300.md: Replace spaces with tabs.
6477 * config/h8300/t-h8300: Remove a trailing empty line.
6478
6479 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
6480
6481 * tlink.c: Fix formatting.
6482
6483 2002-11-16 David Edelsohn <edelsohn@gnu.org>
6484
6485 PR 8362
6486 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
6487 * config/rs6000/rs6000.md (movti_string): Remove output modifier
6488 when scratch register never needed.
6489 (ldmsi[3-8]): New patterns.
6490
6491 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
6492
6493 * hard-reg-set.h: Follow spelling conventions.
6494 * real.c: Likewise.
6495 * target.h: Likewise.
6496
6497 2002-11-16 Jakub Jelinek <jakub@redhat.com>
6498
6499 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
6500
6501 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
6502
6503 * optabs.c: Fix formatting.
6504
6505 Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
6506
6507 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
6508 * i386.md (attribute type): Add type shift1 and rotate1.
6509 (*_slp): Rewrite to have just two operands to avoid reload problems.
6510
6511 2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
6512
6513 * config/h8300/h8300.md (4 anonymous patterns): New.
6514
6515 2002-11-15 Geoffrey Keating <geoffk@apple.com>
6516
6517 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
6518 * doc/invoke.texi: Correct description of what needs to be done to
6519 force collection at every ggc_collect call.
6520
6521 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
6522
6523 * config/s390/s390.c (optimization_options): Set
6524 flag_asynchronous_unwind_tables to 1 by default.
6525
6526 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
6527
6528 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6529
6530 Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
6531
6532 * i386-protos.h (x86_function_profiler): New function
6533 * i386.h (MCOUNT_NAME): New.
6534 (PROFILE_COUNT_REGISTER): New.
6535 (FUNCTION_PROFILER): Move offline to ...
6536 * i386.c (x86_function_profiler) ... here; fix 64bit support
6537 * beos-elf.h (FUNCTION_PROFILER): Kill.
6538 (MCOUNT_NAME): New.
6539 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
6540 (MCOUNT_NAME): New.
6541 (PROFILE_COUNT_REGISTER): New.
6542 * linux.h (FUNCTION_PROFILER): Kill.
6543 (MCOUNT_NAME): New.
6544 * x86-64.h (FUNCTION_PROFILER): Kill.
6545 (MCOUNT_NAME): New.
6546 * freebsd.h (FUNCTION_PROFILER): Kill.
6547 (MCOUNT_NAME): New.
6548
6549 2002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
6550
6551 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
6552 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
6553 * config/arm/arm.c (arm_va_arg,
6554 arm_function_arg_pass_by_reference): New.
6555 * config/arm/arm-protos.h: Add prototypes.
6556
6557 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
6558
6559 * gthr-single.h: Fix formatting.
6560
6561 2002-11-14 Zack Weinberg <zack@codesourcery.com>
6562
6563 * tree.c (tree_vec_elt_check_failed): New function.
6564 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
6565 (TREE_VEC_ELT): Use it.
6566
6567 * tree-inline.c (optimize_inline_calls): Don't copy a
6568 zero-length vector.
6569
6570 2002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
6571
6572 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
6573
6574 2002-11-14 Jakub Jelinek <jakub@redhat.com>
6575
6576 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
6577 both operands contain local relocations.
6578 (categorize_decl_for_section): Don't use mergeable sections if
6579 initializer has any relocations.
6580
6581 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
6582
6583 * gthr-vxworks.h: Fix formatting.
6584
6585 2002-11-13 Janis Johnson <janis187@us.ibm.com>
6586
6587 * doc/install.texi (Testing): Document extra Java testing.
6588 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
6589
6590 2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
6591
6592 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
6593 beginning of the spec.
6594 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
6595 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
6596 regarding problems with global constructors when using GNU ld.
6597
6598 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
6599
6600 * gthr-solaris.h: Fix formatting.
6601
6602 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
6603
6604 * gthr-posix.h: Fix formatting.
6605
6606 2002-11-12 Devang Patel <dpatel@apple.com>
6607 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
6608 (process_command): Same.
6609 * doc/invoke.texi: Info about these two new options.
6610
6611 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6612
6613 * config/h8300/h8300.md (*andorsi3): New.
6614
6615 2002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6616
6617 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
6618
6619 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6620
6621 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
6622 expressions appropriately.
6623
6624 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6625
6626 * gthr-win32.h: Fix formatting.
6627
6628 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6629
6630 * config/h8300/h8300.c (single_one_operand): Correctly compute
6631 mask when mode is SImode.
6632 (single_zero_operand): Likewise.
6633 * config/h8300/h8300.md (two new anonymous insns): New.
6634
6635 2002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6636
6637 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
6638 to that entire project.
6639
6640 2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6641
6642 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
6643 directories.
6644
6645 2002-11-11 Zack Weinberg <zack@codesourcery.com>
6646
6647 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
6648 * doc/invoke.texi: Document them.
6649
6650 * ggc-page.c: Include params.h. Remove definitions of
6651 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
6652 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
6653 (init_gcc): Don't set G.allocated_last_gc here.
6654 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
6655 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
6656 perform collection.
6657 * ggc-simple.c: Similarly.
6658 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
6659 dependencies.
6660
6661 2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
6662
6663 * gthr-dce.h: Fix formatting.
6664
6665 2002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6666
6667 PR c/8467
6668 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
6669 mode of DECL_RTL case.
6670
6671 2002-11-11 Janis Johnson <janis187@us.ibm.com>
6672
6673 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
6674
6675 Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
6676
6677 * i386.c (construct_container): Fix handling of SSE_CLASS.
6678
6679 2002-11-10 Joel Sherrill <joel@gcc.gnu.org>
6680
6681 * config/m68k/t-crtstuff (crti.o): Use this...
6682 ($(T)crti.o): ... instead.
6683 (crtn.o): Use this...
6684 ($(T)crtn.o): ... instead.
6685
6686 2002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
6687
6688 PR c/8439
6689 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
6690 if there is something new to be simplified.
6691
6692 2002-11-10 H.J. Lu <hjl@gnu.org>
6693
6694 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
6695 * expr.c (PUSH_ARGS_REVERSED): Likewise.
6696
6697 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
6698
6699 2002-11-10 Zack Weinberg <zack@codesourcery.com>
6700
6701 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
6702 * config/rs6000/linux.h, config/rs6000/linux64.h,
6703 config/rs6000/windiss.h: ... not here.
6704
6705 2002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
6706
6707 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
6708 __ABICALLS__ if TARGET_ABICALLS.
6709
6710 Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
6711
6712 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
6713
6714 2002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
6715
6716 * c-decl.c (grokdeclarator): Make error for duplicate type
6717 qualifiers into a pedwarn, disabled for C99.
6718
6719 2002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
6720
6721 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
6722 as FUNCTION_ARG_PASS_BY_REFERENCE.
6723
6724 2002-11-09 Zack Weinberg <zack@codesourcery.com>
6725
6726 * doc/install.texi: Add *-*-vxworks* specific installation
6727 instructions.
6728
6729 * config/vxlib.c: Rewrite using generation numbers to identify
6730 valid TSD keys.
6731
6732 Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
6733
6734 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
6735
6736 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6737
6738 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
6739
6740 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
6741 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
6742 * pa.c (output_millicode_call): Use symbol difference rather than
6743 $PIC_pcrel$0 when using HP assembler.
6744 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
6745 not elfos.h (i.e., gas) is being used.
6746 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
6747 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
6748 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
6749 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
6750 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
6751 using elfos.h.
6752 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
6753 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
6754 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
6755 using elfos.h.
6756 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6757 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
6758 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
6759 Don't define when not using elfos.h.
6760 (ASM_DECLARE_RESULT): Don't define.
6761 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
6762 doesn't work on hppa64-hp-hpux11.
6763 (hppa*-hp-hpux11): Update.
6764
6765 2002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
6766
6767 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
6768 to the assembler if -mno-abicalls was specified.
6769
6770 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6771
6772 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
6773 ASM_OUTPUT_DEF): Delete.
6774
6775 2002-11-09 Neil Booth <neil@daikokuya.co.uk>
6776
6777 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
6778
6779 2002-11-08 Roger Sayle <roger@eyesopen.com>
6780
6781 * real.c (real_sqrt): Update comment with bibliographic reference.
6782
6783 Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
6784
6785 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
6786
6787 Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
6788
6789 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
6790
6791 Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
6792
6793 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
6794 (expand_builtin): Likewise.
6795 * builtins.def: Add
6796 __builtin_floor, __builtin_floorf, __builtin_floorl
6797 __builtin_ceil, __builtin_ceilf, __builtin_ceill
6798 __builtin_round, __builtin_roundf, __builtin_roundl
6799 __builtin_trunc, __builtin_truncf, __builtin_truncl
6800 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
6801 * genopinit.c (optabs): Initialize the new optabs.
6802 * optab.c (init_optabs): Likewise.
6803 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
6804 OTI_round, OTI_nearbyint.
6805 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
6806 * doc/md.texi: Document new named patterns.
6807 * doc/extend.texi (builtin functions) Document
6808 floor, floorf, floorl, ceil, ceilf,
6809 ceill, round, roundf, roundl, trunc,
6810 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
6811
6812 Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
6813
6814 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
6815
6816 2002-11-08 Dale Johannesen <dalej@apple.com>
6817
6818 * dbxout.c (dbxout_type): Fix stabs info for vector types.
6819
6820 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
6821
6822 PR preprocessor/8497
6823 PR preprocessor/8501
6824 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
6825 start a directive. In assembler, #NUM is not a line directive.
6826
6827 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
6828
6829 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
6830 buffers.
6831
6832 2002-11-08 Kazu Hirata <kazu@cs.umass.edu>
6833
6834 * config/h8300/h8300.md (two anonymous test insns): New.
6835
6836 Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
6837
6838 * jump.c (mark_jump_label): Handle subregs of label_refs.
6839
6840 Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
6841
6842 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
6843 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
6844
6845 2002-11-07 David Mosberger <davidm@hpl.hp.com>
6846
6847 * config/ia64/crtend.asm: Include "auto-host.h".
6848 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
6849 * config/ia64/crtbegin.asm: Similarly.
6850 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
6851 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
6852
6853 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
6854 * configure.in: Use it if --enable-initfini-array not specified.
6855 * doc/install.texi (Configuration): Document --enable-initfini-array.
6856 * configure, config.in: Rebuild.
6857
6858 2002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
6859
6860 * config/arm/arm-protos.h (arm_get_frame_size)
6861 (thumb_get_frame_size): New prototypes.
6862 * config/arm/arm.c (arm_get_frame_size)
6863 (thumb_get_frame_size): New functions.
6864 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
6865 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
6866 arm_get_frame_size.
6867 (thumb_expand_prologue, thumb_expand_epilogue): Use
6868 thumb_get_frame_size.
6869 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
6870 (machine_function): Add frame_size member.
6871 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
6872
6873 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
6874
6875 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
6876 Adjust code to use portable unsigned bit manipulation.
6877 (insn_flags, tune_flags): Change type to unsigned.
6878 (struct processors): Make flags unsigned long.
6879 (arm_override_options): Change type of count and current_bit_count
6880 to unsigned.
6881
6882 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
6883
6884 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
6885
6886 Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
6887
6888 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
6889
6890 Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
6891
6892 * reg-stack.c (compensate_edge): Fix sanity check.
6893
6894 2002-11-05 Geoffrey Keating <geoffk@apple.com>
6895
6896 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
6897 crt2.o. Rearrange t-darwin makefiles.
6898 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
6899 * unwind-dw2-fde-darwin.c: New.
6900 * unwind-dw2-fde-glibc.c: Correct comment.
6901 * unwind-dw2-fde.c (__register_frame_info_bases)
6902 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
6903 (classify_object_over_fdes): Use last_fde.
6904 (add_fdes): Likewise.
6905 (linear_search_fdes): Likewise.
6906 * unwind-dw2-fde.h (struct object)
6907 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
6908 (last_fde): New.
6909 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
6910 (ENDFILE_SPEC): No crtend.o.
6911 * config/t-darwin: New.
6912 * config/i386/t-darwin: Delete.
6913 * config/darwin-crt2.c: New.
6914 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
6915 or config/t-darwin.
6916
6917 2002-11-06 Douglas B Rupp <rupp@gnat.com>
6918
6919 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
6920 MASK_MS_BITFIELD_LAYOUT
6921 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
6922 MS bitfields for Objective-C.
6923 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
6924 defines.
6925
6926 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
6927 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
6928 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
6929
6930 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
6931 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
6932 (TARGET_SWITCHES): Add above mask.
6933
6934 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
6935 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
6936 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
6937 flags for interix.
6938
6939 Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
6940
6941 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
6942 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
6943 assembler.
6944 * config/mips/mips.md (tablejump_internal3): Output .cpadd
6945 before jump on ABI_N32 too.
6946 (tablejump_internal4): Ditto on ABI_64. Increase maximum
6947 length to match.
6948
6949 Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
6950
6951 * i386.md (negsf splitter): Accept memory operand in second register.
6952 (abssf/absdf splitters): Simplify
6953 (sse_loadss, sse_loadsd): Turn into expander.
6954
6955 2002-11-06 David Edelsohn <edelsohn@gnu.org>
6956
6957 PR target/8480
6958 * config/rs6000/rs6000.md (movdi_internal64): Discourage
6959 FPR to FPR moves.
6960
6961 2002-11-06 Janis Johnson <janis187@us.ibm.com>
6962
6963 * doc/contrib.texi: Merge in the list from the Java web pages.
6964
6965 2002-11-06 David O'Brien <obrien@FreeBSD.org>
6966
6967 * config/sparc/freebsd: Fix typo.
6968
6969 2002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
6970
6971 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
6972
6973 2002-11-06 Alexandre Oliva <aoliva@redhat.com>
6974
6975 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
6976 non-SImode addresses.
6977
6978 Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
6979
6980 * i386.md (float_truncate SSE splitter): Ensure that operand is not
6981 stack register.
6982 (float SSE splitters): Reorder conditional.
6983
6984 2002-11-05 Bob Wilson <bob.wilson@acm.org>
6985
6986 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
6987
6988 2002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
6989
6990 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
6991 (STARTFILE_SPEC): Remove p and pg options.
6992
6993 2002-11-05 Andrew Haley <aph@redhat.com>
6994
6995 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
6996 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
6997
6998 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
6999
7000 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
7001 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
7002
7003 2002-11-04 Zack Weinberg <zack@codesourcery.com>
7004
7005 * gthr-vxworks.h: Rewritten from scratch.
7006 * config/vxlib.c: New file.
7007 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
7008 * config/rs6000/t-vxworks: Add config/vxlib.c to
7009 LIB2FUNCS_EXTRA here too, because of clash with
7010 config/rs6000/t-ppccomm.
7011
7012 2002-11-04 Dale Johannesen <dalej@apple.com>
7013
7014 * doloop.c (doloop_modify_runtime): Fix loop count computation
7015 for unrolled loops.
7016 * loop.c (loop_invariant_p): Support calling from unroller.
7017
7018 2002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
7019
7020 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
7021 for comparison.
7022
7023 2002-11-04 Aldy Hernandez <aldyh@redhat.com>
7024
7025 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
7026
7027 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
7028 (CLASS_CANNOT_CHANGE_MODE): Remove.
7029 (CANNOT_CHANGE_MODE_CLASS): New.
7030
7031 * config/alpha/alpha.h: Same.
7032
7033 * config/ia64/ia64.h: Same.
7034
7035 * config/mips/mips.h: Same.
7036
7037 * config/s390/s390.h: Same.
7038
7039 * config/sh/sh.h: Same.
7040
7041 * config/pa/pa64-regs.h: Same.
7042
7043 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7044
7045 * config/sh/sh.c (sh_cannot_change_mode_class): New.
7046
7047 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
7048 prototype.
7049
7050 * config/mips/mips.c (mips_cannot_change_mode_class): New.
7051
7052 * doc/tm.texi (Register Classes): Remove
7053 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
7054 Document CANNOT_CHANGE_MODE_CLASS.
7055
7056 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
7057 (push_reload): Same.
7058
7059 * simplify-rtx.c (simplify_subreg): Same.
7060
7061 * reload1.c (choose_reload_regs): Same.
7062
7063 * recog.c (register_operand): Same.
7064
7065 * regrename.c (mode_change_ok): Change to use new
7066 CANNOT_CHANGE_MODE_CLASS infrastructure.
7067
7068 * regclass.c (cannot_change_mode_set_regs): New.
7069 Declare subregs_of_mode.
7070 (regclass): Use subregs_of_mode.
7071 Remove references to reg_changes_mode.
7072 (init_reg_sets_1): Remove class_can_change_mode and
7073 reg_changes_mode code.
7074 (invalid_mode_change_p): New.
7075 (dump_regclass): Use invalid_mode_change_p instead of
7076 class_can_change_mode.
7077 (regclass): Same.
7078 (record_operand_costs): Do not set reg_changes_mode.
7079
7080 * local-alloc.c (struct qty): Remove changes_mode field.
7081 (alloc_qty): Remove changes_mode initialization.
7082 (update_qty_class): Remove set of changes_mode.
7083 (find_free_reg): Use subregs_of_mode.
7084
7085 * global.c (find_reg): Use subregs_of_mode info.
7086
7087 * rtl.h (cannot_change_mode_set_regs): New prototype.
7088 (invalid_mode_change_p): Same.
7089 (REG_CANNOT_CHANGE_MODE_P): New macro.
7090
7091 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
7092 REG_CHANGES_MODE.
7093 (life_analysis): Clear subregs_of_mode.
7094
7095 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
7096 Remove use of CLASS_CANNOT_CHANGE_MODE.
7097 (simplify_set): Same.
7098 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
7099 REG_CHANGES_MODE.
7100
7101 * regs.h: Add extern for subregs_of_mode;
7102 Include hard-reg-set and basic-block.
7103 (REG_CHANGES_MODE): Delete.
7104
7105 2002-11-03 Roger Sayle <roger@eyesopen.com>
7106
7107 * real.c (real_sqrt): New function to calculate square roots.
7108 * real.h (real_sqrt): Add function prototype.
7109 * builtins.c (fold_builtin): Fold sqrt of constant argument.
7110 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
7111 of constant argument.
7112
7113 2002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
7114
7115 * jump.c (never_reached_warning): Don't set contains_insn until the
7116 first line note is seen.
7117
7118 2002-11-03 David Edelsohn <edelsohn@gnu.org>
7119
7120 * config/rs6000/rs6000.md (movti_string): Use string instructions.
7121
7122 2002-11-03 Roger Sayle <roger@eyesopen.com>
7123
7124 PR c/7128
7125 * c-typeck.c (c_expand_asm_operands): Defend against
7126 error_mark_nodes in the output argument to avoid ICE.
7127
7128 2002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7129
7130 PR middle-end/8408
7131 * genrecog.c (preds): Handle ADDRESSOF.
7132 (validate_pattern): Mark it as an lvalue.
7133
7134 2002-11-02 David Edelsohn <edelsohn@gnu.org>
7135
7136 * config/rs6000/rs6000.c (rs6000_override_options): Use string
7137 instructions when optimizing for size.
7138
7139 2002-11-02 Kazu Hirata <kazu@cs.umass.edu>
7140
7141 * config/h8300/h8300.h: Fix comment typos.
7142 * config/h8300/h8300.md: Likewise.
7143 * config/h8300/lib1funcs.asm: Likewise.
7144
7145 2002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7146
7147 Revert this change:
7148
7149 *doc/install.texi (Installing GCC: Configuration): Clarify
7150 the only supported ways to configure gcc.
7151
7152 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
7153
7154 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
7155 instead of 'O' for the constraint for the second operand.
7156
7157 2002-11-01 Mark Mitchell <mark@codesourcery.com>
7158
7159 PR c++/8391
7160 * toplev.c (rest_of_compilation): Do not refuse to output code for
7161 an inline function in a local class.
7162
7163 2002-11-01 David O'Brien <obrien@FreeBSD.org>
7164
7165 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
7166 (TRANSFER_FROM_TRAMPOLINE): Reformat.
7167 Add comment.
7168
7169 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
7170
7171 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
7172
7173 2002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
7174
7175 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
7176
7177 2002-11-01 Steve Ellcey <sje@cup.hp.com>
7178
7179 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
7180 (MASK_INLINE_DIV_THR): Remove.
7181 (TARGET_INLINE_DIV_LAT): Remove.
7182 (TARGET_INLINE_DIV_THR): Remove.
7183 (TARGET_INLINE_DIV): Remove.
7184 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
7185 (MASK_INLINE_FLOAT_DIV_THR): New macro.
7186 (MASK_INLINE_INT_DIV_LAT): New macro.
7187 (MASK_INLINE_INT_DIV_THR): New macro.
7188 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
7189 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
7190 (TARGET_INLINE_INT_DIV_LAT): New macro.
7191 (TARGET_INLINE_INT_DIV_THR): New macro.
7192 (TARGET_INLINE_FLOAT_DIV): New macro.
7193 (TARGET_INLINE_INT_DIV): New macro.
7194 * config/ia64/ia64.md (divsi3): Change to use new macros.
7195 (modsi3): Ditto.
7196 (udivsi3): Ditto.
7197 (umodsi3): Ditto.
7198 (divsi3_internal): Ditto.
7199 (divdi3): Ditto.
7200 (moddi3): Ditto.
7201 (udivdi3): Ditto.
7202 (umoddi3): Ditto.
7203 (divdi3_internal_lat): Ditto.
7204 (divdi3_internal_thr): Ditto.
7205 (divsf3): Ditto.
7206 (divsf3_internal_lat): Ditto.
7207 (divsf3_internal_thr): Ditto.
7208 (divdf3): Ditto.
7209 (divdf3_internal_lat): Ditto.
7210 (divdf3_internal_thr): Ditto.
7211 (divtf3): Ditto.
7212 (divtf3_internal_lat): Ditto.
7213 (divtf3_internal_thr): Ditto.
7214 * config/ia64/ia64.c (ia64_override_options): Change
7215 to check new macros for conflicts in settings.
7216 * doc/invoke.texi (-minline-divide-min-latency): Remove.
7217 (-minline-divide-max-throughput): Remove.
7218 (-minline-float-divide-min-latency): New.
7219 (-minline-float-divide-max-throughput): New.
7220 (-minline-int-divide-min-latency): New.
7221 (-minline-int-divide-max-throughput): New.
7222
7223 2002-11-01 Richard Earnshaw (rearnsha@arm.com)
7224
7225 PR target/7856
7226 * arm.c (use_return_insn): Don't use a return insn if there are
7227 saved integer regs, but LR is not one of them.
7228
7229 Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
7230
7231 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
7232 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
7233
7234 Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
7235
7236 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
7237 (movps, movpd splitters): Use canonical form.
7238 (movv2di): Fix merge problem.
7239
7240 Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
7241
7242 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7243
7244 2002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
7245
7246 PR optimization/6162
7247 * doc/md.texi: Document restriction on commutative operand
7248 specification.
7249
7250 2002-10-31 Eric Christopher <echristo@redhat.com>
7251
7252 * explow.c (convert_memory_address): Use shallow_copy_rtx.
7253
7254 2002-10-31 Steve Ellcey <sje@cup.hp.com>
7255
7256 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
7257
7258 2002-10-31 Steve Ellcey <sje@cup.hp.com>
7259
7260 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
7261
7262 Thu Oct 31 Dale Johannesen <dalej@apple.com>
7263
7264 * config/rs6000/darwin.h: Correct formatting in previous.
7265
7266 Thu Oct 31 Dale Johannesen <dalej@apple.com>
7267
7268 * config/rs6000/darwin.h: Enable -falign-xxx options.
7269
7270 Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
7271
7272 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
7273 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
7274 * i386.c (optimization_options): Set flag_omit_frame_pointer,
7275 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
7276 Do not clear -momit-leaf-frame-pointer when profiling.
7277 (ix86_frame_pointer_required): Frame pointer is always required when
7278 profiling.
7279
7280 Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
7281
7282 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7283
7284 Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
7285
7286 * sh.h (binary_logical_operator): Declare.
7287 * sh.c (binary_logical_operator): New function.
7288 * sh.md (xordi3+1): New combiner splitter pattern.
7289
7290 2002-10-31 David O'Brien <obrien@FreeBSD.org>
7291
7292 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7293 __enable_execute_stack function.
7294
7295 2002-10-30 Zack Weinberg <zack@codesourcery.com>
7296
7297 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
7298 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
7299 * unwind-sjlj.c (fc_key_dtor): Delete.
7300 (fc_key_init): Adjust __gthread_key_create call to match.
7301
7302 2002-10-30 Aldy Hernandez <aldyh@redhat.com>
7303
7304 * c-common.c: Add GTY to vector_type_node_list.
7305
7306 2002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
7307
7308 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
7309 * pa-protos.h (attr_length_millicode_call, attr_length_call,
7310 pa_init_machine_status): Declare new global functions.
7311 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
7312 implement new functions.
7313 (attr_length_millicode_call, attr_length_call): Implement.
7314 (total_code_bytes): Change type to long.
7315 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
7316 Reset counter if flag_function_sections.
7317 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
7318 (output_cbranch): Move call to gen_label_rtx.
7319 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
7320 delay slot in all variants, shorten pc-relative calls.
7321 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
7322 slot usage and exposure, various new call variants, and shortened
7323 sequences for some variants on TARGET_PA_20.
7324 Miscellaneous format changes.
7325 * pa.h (total_code_bytes): Change type to long.
7326 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
7327 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
7328 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
7329 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
7330 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
7331 stores on TARGET_ELF32.
7332 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
7333 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
7334 canonicalize_funcptr_for_compare expanders): Calculate attribute length
7335 attr_length_millicode_call().
7336 (call_internal_symref, call_value_internal_symref): Clobber register 1.
7337 Calculate attribute length using attr_length_call().
7338 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
7339 to delay slot.
7340 (sibcall, sibcall_value): Rewrite.
7341 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
7342 register 1. Use attr_length_call().
7343 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
7344 New patterns.
7345 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
7346 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
7347 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
7348 * doc/invoke.texi (mlong-calls): Document.
7349
7350 2002-10-30 Roger Sayle <roger@eyesopen.com>
7351
7352 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
7353 handling of cases where one or both branches of the conditional
7354 have void type, i.e. throw an exception or don't return.
7355 (fold): Only apply (and undo) type conversion to the non-void
7356 branches of a COND_EXPR.
7357
7358 2002-10-30 Mark Mitchell <mark@codesourcery.com>
7359
7360 PR c++/8333
7361 * varasm.c (asm_output_aligned_bss): Do not call
7362 ASM_GLOBALIZE_LABEL.
7363
7364 2002-10-30 David Edelsohn <edelsohn@gnu.org>
7365 Torbjorn Granlund <tege@swox.com>
7366
7367 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
7368 for addressibility.
7369 (load_toc_v4_PIC_1b): Same.
7370
7371 2002-10-30 Kazu Hirata <kazu@cs.umass.edu>
7372
7373 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7374 Truncate the addresses for H8/300 using HImode.
7375
7376 Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
7377
7378 * i386.md (negdf splitter): Fix construction of the constant.
7379
7380 Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
7381
7382 * i386.md (negsf, negdf): Reorganize to use vector modes
7383 for SSE variants.
7384 (abssf, absdf): Use force_reg.
7385 (movv4sf, movv2df): New splitters.
7386 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
7387 * i386.c (zero_extended_scalar_load_operand
7388
7389 * i386-protos.h (ix86_expand_call): Update prototype.
7390 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
7391 (ix86_expand_call): Use r11 for indirect sibcalls.
7392 * i386.md (call, call_value, untyped_call, call_value_pop):
7393 update x86_expand_call call.
7394 (sibcall, sibcall_value): new patterns
7395 (call_rex64, call_value_rex64): Do not accept sibcalls.
7396 (sibcall_rex64, sibcall_value_rex64,
7397 sibcall_rex64_v, sibcall_value_rex64_v): New.
7398
7399 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
7400
7401 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
7402 before final pass.
7403
7404 2002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
7405
7406 * toplev.c (rest_of_type_compilation): Return early in case of
7407 errors.
7408 (check_global_declarations): Don't call debug_hooks->global_decl
7409 in case of errors.
7410
7411 2002-10-28 Andreas Bauer <baueran@in.tum.de>
7412
7413 * doc/c-tree.texi (Tree overview): Fix typos.
7414
7415 2002-10-29 Phil Edwards <pme@gcc.gnu.org>
7416
7417 * Makefile.in (gnucompare*): Only record bad comparisons
7418 if there really was a bad comparison.
7419
7420 Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
7421
7422 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
7423 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
7424 * md.texi (machine dependent constraints): Document 'C'
7425
7426 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
7427
7428 * i386.c (ix86_expand_vector_move): Fix.
7429
7430 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
7431 * i386.md (sse2_maskmovdqu_rex64): New pattern
7432
7433 PR target/8322
7434 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
7435 (ix86_init_mmx_sse_builtins): Fix type.
7436
7437 2002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
7438
7439 * gthr-posix.h: Include <unistd.h> for feature tests.
7440 (sched_get_priority_max, sched_get_priority_min)
7441 (pthread_getschedparam, pthread_setschedparam): Only use
7442 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
7443 (__gthread_objc_thread_set_priority): Don't treat all nonzero
7444 returns from sched_get_priority_max and sched_get_priority_min
7445 as an error.
7446
7447 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
7448
7449 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
7450 MASK_QUICKCALL.
7451
7452 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
7453
7454 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
7455 (h8300_tiny_constant_address_p): Likewise.
7456 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
7457 h8300_eightbit_constant_address_p.
7458 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
7459 * config/h8300/h8300-protos.h: Add the prototypes for the two
7460 new functions.
7461
7462 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
7463
7464 * reload1.c (update_eliminables): Unconditionally check if
7465 frame_pointer_needed has changed.
7466
7467 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
7468
7469 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
7470 before final pass.
7471
7472 2002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
7473
7474 PR optimization/8334
7475 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
7476 check for zero operands explicitly.
7477
7478 2002-10-29 Richard Sandiford <rsandifo@redhat.com>
7479
7480 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
7481 memory after adjusting to BLKmode.
7482
7483 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
7484
7485 * config/h8300/h8300.h (MASK_*): New.
7486 (TARGET_*): Use MASK_*.
7487
7488 2002-10-28 Zack Weinberg <zack@codesourcery.com>
7489
7490 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
7491 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
7492 config/rs6000/vxworks.h: New files.
7493 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
7494
7495 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
7496 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
7497 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
7498 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
7499 sparc-*-vxsim*): Delete stanzas.
7500 * gthr-vxworks.h: Rip out all substantive code and just
7501 include gthr-single.h.
7502
7503 * config/alpha/vxworks.h, config/arm/vxarm.h,
7504 config/i386/vxi386.h, config/i960/t-vxworks960,
7505 config/i960/vx960-coff.h, config/i960/vx960.h,
7506 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
7507 config/mips/vxworks.h, config/rs6000/vxppc.h,
7508 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
7509 config/sparc/vxsim.h, config/sparc/vxsparc.h,
7510 config/sparc/vxsparc64.h: Delete files.
7511
7512 2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
7513
7514 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
7515 tm_defines if pthreads are enabled.
7516 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
7517 if NETBSD_ENABLE_PTHREADS is defined.
7518
7519 2002-10-28 Kazu Hirata <kazu@cs.umass.edu>
7520
7521 * ChangeLog.1: Fix typos.
7522 * cse.c: Fix a comment typo.
7523 * reload1.c: Likewise.
7524
7525 2002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
7526
7527 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
7528 * fixinc/tests/base/_G_config.h: New file.
7529
7530 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
7531
7532 * combine.c: Fix comment formatting.
7533 * loop.c: Likewise.
7534 * real.c: Likewise.
7535 * regclass.c: Likewise.
7536 * regmove.c: Likewise.
7537 * regrename.c: Likewise.
7538 * reg-stack.c: Likewise.
7539 * reload1.c: Likewise.
7540 * reload.c: Likewise.
7541 * reload.h: Likewise.
7542 * unroll.c: Likewise.
7543
7544 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
7545
7546 * reload1.c (reload): Fix a comment typo.
7547
7548 Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
7549
7550 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
7551
7552 2002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7553
7554 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
7555 * dwarf2out.c: Include hashtab.h.
7556 (is_main_source): New static variable.
7557 (attr_checksum, die_checksum): Modified to handle die references.
7558 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
7559 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
7560 record_comdat_symbol_number): New static functions.
7561 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
7562 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
7563 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
7564 declarations added.
7565
7566 2002-10-26 Kazu Hirata <kazu@cs.umass.edu>
7567
7568 * config/h8300/h8300.c (initial_offset): Change to
7569 h8300_initial_elimination_offset.
7570 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
7571 h8300_initial_elimination_offset.
7572 * config/h8300/h8300-protos.h: Update the prototype.
7573
7574 2002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
7575
7576 * config/mmix/mmix.h (LIBCALL_VALUE): Use
7577 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
7578 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
7579 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
7580 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
7581 and RTX_CODE.
7582 (mmix_function_value_regno_p): Declare.
7583
7584 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
7585 invalid for floating point mode result, with fix.
7586
7587 Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
7588
7589 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
7590 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
7591 (stage1_build): Likewise.
7592
7593 2002-10-25 Mike Stump <mrs@apple.com>
7594
7595 Fixes gcc.dg/warn-1.c.
7596 * c-typeck.c (warn_for_assignment): Don't print argument number,
7597 if zero.
7598
7599 Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
7600
7601 * toplev.c (dump_file_index): Add DFI_ce3.
7602 (dump_file_info): Likewise.
7603 (rest_of_compilation): Run first ifcvt pass before tracer.
7604
7605 2002-10-25 Steve Ellcey <sje@cup.hp.com>
7606
7607 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
7608
7609 2002-10-25 Richard Henderson <rth@redhat.com>
7610
7611 * real.c (real_to_decimal): If the >1 tens reduction loop results
7612 in a negative exponent, fall into the <1 pten computation.
7613
7614 2002-10-25 Zack Weinberg <zack@codesourcery.com>
7615
7616 PR middle-end/6994
7617 * c-objc-common.c (inline_forbidden_p): Can not inline
7618 functions containing structures or unions containing VLAs.
7619 * tree-inline.c (walk_tree): For all class 't' nodes, walk
7620 TYPE_SIZE and TYPE_SIZE_UNIT.
7621 (copy_tree_r): Copy types if they are variably modified.
7622
7623 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
7624
7625 * config/s390/s390.md: Remove old-style peepholes.
7626
7627 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
7628
7629 * config/s390/s390.c (s390_decompose_address): Do not range check the
7630 displacement if base or index is the argument pointer register.
7631
7632 2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
7633
7634 PR other/3337
7635 PR bootstrap/6763
7636 PR bootstrap/8122
7637 * fixinc/inclhack.def (libc1_G_va_list): New fix.
7638 * fixinc/fixincl.x: Regenerate.
7639 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
7640 ifndef IN_LIBGCC2. Wrap it together with signal.h and
7641 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
7642 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
7643 * config.in, configure: Regenerate.
7644
7645 2002-10-24 Igor Shevlyakov <igor@microunity.com>
7646
7647 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7648
7649 2002-10-24 Richard Henderson <rth@redhat.com>
7650
7651 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
7652
7653 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
7654
7655 * config/h8300/h8300.c (initial_offset): Simplify by using
7656 round_frame_size.
7657
7658 2002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
7659
7660 * doc/install.texi (avr): Update required binutils version.
7661
7662 2002-10-24 Theodore A. Roth <troth@openavr.org>
7663
7664 * doc/install.texi: Point avr users at more up-to-date information.
7665
7666 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
7667
7668 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
7669 to pull operands out of the literal pool where possible.
7670
7671 2002-10-24 Denis Chertykov <denisc@overta.ru>
7672
7673 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
7674
7675 2002-10-24 Steve Ellcey <sje@cup.hp.com>
7676
7677 * expr.c (convert_move): If unsignedp is less then zero there
7678 is no equivalent code.
7679
7680 2002-10-24 Zack Weinberg <zack@codesourcery.com>
7681
7682 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
7683
7684 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
7685
7686 * config/s390/s390.h: Rework comments; re-sort target macro definitions
7687 according to the sequence they are defined in the manual.
7688 (POINTER_BOUNDARY): Remove.
7689
7690 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
7691
7692 * config/h8300/h8300.c (round_frame_size): Replace 8 with
7693 BITS_PER_UNIT.
7694
7695 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
7696
7697 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
7698 64-bit safe.
7699 (TINY_CONSTANT_ADDRESS_P): Likewise.
7700
7701 2002-10-24 Richard Henderson <rth@redhat.com>
7702
7703 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7704 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
7705 vcall offset.
7706
7707 2002-10-24 Richard Henderson <rth@redhat.com>
7708
7709 PR opt/7944
7710 * reload.c (find_reloads_toplev): Mode of X is not important
7711 when simplifying subregs of constants.
7712
7713 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
7714
7715 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
7716 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
7717 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
7718 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
7719 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
7720
7721 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
7722
7723 * optabs.c (expand_binop): Don't reuse the shift target in the
7724 middle of shift sequences.
7725
7726 Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
7727
7728 * i386.md (abs splitters): Do not produce nested subregs.
7729
7730 Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
7731
7732 * i386.md (movti_rex64): Fix constraints.
7733
7734 Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
7735
7736 * i386.md (abssf,absdf): Use vector operands for SSE
7737 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
7738 vector operand.
7739
7740 2002-10-23 Ziemowit Laski <zlaski@apple.com>
7741
7742 * objc/objc-act.c (get_static_reference): Remove unneeded
7743 TYPE_BINFO initialization.
7744 (get_object-reference): Likewise.
7745 (build_constructor): Tighten precondition check.
7746 (finish_message_expr): Likewise.
7747
7748 2002-10-23 Jakub Jelinek <jakub@redhat.com>
7749
7750 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
7751 after CONST test.
7752
7753 2002-10-23 Steve Ellcey <sje@cup.hp.com>
7754
7755 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
7756 in HFAs.
7757
7758 2002-10-23 Richard Henderson <rth@redhat.com>
7759
7760 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7761 (alpha_output_mi_thunk_osf): Handle vcall_offset.
7762
7763 2002-10-23 Zack Weinberg <zack@codesourcery.com>
7764
7765 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
7766 var_mod_type_p.
7767 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
7768 hook_tree_bool_false.
7769
7770 * tree.c (variably_modified_type_p): Moved here from
7771 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
7772 language-specific cases. Due to this, must weaken some 'if
7773 and only if' checks to merely 'if'.
7774 * tree.h: Prototype variably_modified_type_p.
7775
7776 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
7777
7778 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
7779
7780 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
7781 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
7782
7783 * config/s390/s390-protos.h (fp_operand): Remove.
7784 * config/s390/s390.c (fp_operand): Remove.
7785 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
7786 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
7787 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
7788 (movdi_31, movdf_31 splitters): Likewise.
7789
7790 * config/s390/s390.h (IEEE_FLOAT): Remove.
7791 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
7792 (INT_REGNO_P): Rename to ...
7793 (GENERAL_REGNO_P): ... this.
7794 (FLOAT_REGNO_P): Rename to ...
7795 (FP_REGNO_P): ... this.
7796 (ADDR_REGNO_P): New macro.
7797 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
7798 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
7799 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
7800 (HARD_REGNO_NREGS): Adapt to macro renaming.
7801 (HARD_REGNO_MODE_OK): Likewise.
7802
7803 2002-10-23 David Edelsohn <edelsohn@gnu.org>
7804 Geoff Keating <geoffk@apple.com>
7805
7806 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
7807 (rs6000_memory_move_cost): New function.
7808 * config/rs6000/rs6000-protos.h: Declare them.
7809 * config/rs6000/rs6000.h: Use them.
7810
7811 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
7812
7813 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
7814 inlining it into other libgcc2 routines.
7815 (__udivmoddi4): Likewise.
7816
7817 2002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
7818
7819 * doc/sourcebuild.texi (Test Suites): Improve.
7820
7821 2002-10-22 Stan Shebs <shebs@apple.com>
7822
7823 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
7824 case for Darwin.
7825
7826 2002-10-22 Jim Wilson <wilson@redhat.com>
7827
7828 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
7829
7830 Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
7831
7832 PR other/8289
7833 * xmmintrin.h: Add const to the argument of loads.
7834
7835 * i386.md (pushv2di): New pattern.
7836 PR target/6890
7837 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
7838
7839 2002-10-22 Richard Henderson <rth@redhat.com>
7840
7841 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
7842 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
7843 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
7844 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7845 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7846 (TARGET_ASM_OUT): Update.
7847 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
7848 (hook_bool_tree_hwi_hwi_tree_true): New.
7849 (default_can_output_mi_thunk_no_vcall): New.
7850 * hooks.h: Declare them.
7851 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
7852
7853 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7854 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
7855 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
7856 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
7857 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
7858 config/stormy16/stormy16.c: Similarly.
7859
7860 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
7861 Handle 64-bit properly. Streamline.
7862 (x86_output_mi_vcall_thunk): Remove.
7863 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
7864 (x86_can_output_mi_thunk): New.
7865 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7866 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7867 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
7868
7869 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
7870 output_mi_thunk; make static; always use function_section.
7871 (TARGET_ASM_OUTPUT_MI_THUNK): New.
7872 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7873 (rs6000_ra_ever_killed): Test no_new_pseudos not
7874 targetm.asm_out.output_mi_thunk in conjunction with thunks.
7875 * config/rs6000/rs6000-protos.h: Update.
7876 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7877 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
7878 xcoffout_declare_function when using rs6000_output_mi_thunk.
7879
7880 * config/s390/s390.c (s390_output_mi_thunk): Rename from
7881 s390_output_mi_vcall_thunk.
7882 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7883 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7884
7885 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
7886 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7887 * config/vax/vax-protos.h: Update.
7888 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
7889
7890 Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
7891
7892 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
7893 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
7894 * i386.md (movti_internal): Use 'C'
7895
7896 * xmmintrin.h (_mm_cmplt_epi*): New.
7897
7898 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
7899
7900 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
7901 ("*movdf_64"): Likewise.
7902 ("*lshrdi3_64"): Likewise.
7903 ("blockage"): Add length attribute.
7904 ("lit"): Likewise.
7905
7906 Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
7907
7908 * i386.md: FIx typo.
7909 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
7910 (sse2_umulv2siv2di3): Fix predicate.
7911 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
7912 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
7913 * xmmintrin.h (_mm_mul_epu16): Rename to...
7914 (_mm_mul_epu32): This one.
7915 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
7916
7917 (contains_128bit_aligned_vector_p): Undo accidental checkin.
7918
7919 2002-10-22 Eric Christopher <echristo@redhat.com>
7920
7921 * config/sparc/sparc.h: Add #error.
7922
7923 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
7924
7925 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
7926 [s390x-*-linux*]: Likewise.
7927 * config/s390/t-linux: Remove.
7928 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
7929
7930 Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
7931
7932 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
7933 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
7934 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
7935 * i386.md (mmx_punpck?dq): Simplify.
7936 (sse2_pubpcklqdq): Fix.
7937 (sse2_pubpckhqdq): New.
7938 * xmmintrin.h (_mm_unpackhi_epi32): New.
7939
7940 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
7941 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
7942
7943 2002-10-22 Nathan Sidwell <nathan@codesourcery.com>
7944
7945 PR c++/7209
7946 * fold_const.c (fold_binary_op_with_conditional_arg): Always
7947 build compound_expr if we used save_expr.
7948
7949 2002-10-22 Alan Modra <amodra@bigpond.net.au>
7950
7951 * output.h (SECTION_NOTYPE): Define.
7952 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
7953 init array sections.
7954 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
7955 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
7956 merge TLS support.
7957
7958 2002-10-21 Richard Henderson <rth@redhat.com>
7959
7960 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
7961 the function type, not the return type.
7962
7963 2002-10-21 Richard Henderson <rth@redhat.com>
7964
7965 * real.c (sticky_rshift_significand): Return inexact, don't
7966 or it in immediately.
7967 (sub_significands): Accept incomming carry.
7968 (div_significands, rtd_divmod): Update for sub_significands change.
7969 (round_for_format): Update for sticky_rshift_significand change.
7970 (do_add): Don't involve the inexact bit in addition, do give the
7971 inexact bit as the subtraction carry-in.
7972 (encode_internal, decode_internal, real_internal_format): New.
7973 * real.h (real_internal_format): Declare.
7974
7975 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
7976
7977 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
7978 don't define sdiv_qrnnd.
7979
7980 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
7981
7982 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
7983 using IN_RANGE.
7984 (TINY_CONSTANT_ADDRESS_P): Likewise.
7985
7986 Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
7987
7988 * i386.c (builtin_description): Add punpcklqdq and movdq2q
7989 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
7990 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
7991 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
7992 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
7993 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
7994 __builtin_ia32_setzero128.
7995 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
7996 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
7997 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
7998 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
7999 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
8000 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
8001 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
8002 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
8003 sse2_movq): New patterns.
8004 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
8005 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
8006 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
8007 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
8008 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
8009 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
8010 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
8011 (_mm_insert_epi16): Fix.
8012
8013 2002-10-21 Dale Johannesen <dalej@apple.com>
8014
8015 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
8016 unsafe math reversals correctly for RTL generation.
8017 (output_cbranch): Replace rs6000_reverse_condition call
8018 by its former definition.
8019
8020 2002-10-21 Jakub Jelinek <jakub@redhat.com>
8021
8022 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
8023 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
8024 from constant pool or LABEL_REFs as sign extended if allow_rip.
8025 Change all +-1GB limits to +-16MB.
8026 (x86_64_general_operand, x86_64_szext_general_operand,
8027 x86_64_nonmemory_operand, x86_64_movabs_operand,
8028 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8029 legitimate_address_p, ix86_expand_int_movcc): Update callers.
8030 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
8031 in CM_SMALL_PIC model.
8032 (legitimate_pic_address_disp_p): Don't check offsets before
8033 calling local_symbolic_operand.
8034 (legitimize_pic_address): Force offsets bigger than +-16MB into
8035 register.
8036 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
8037 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
8038 prototype.
8039
8040 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
8041 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
8042 * configure: Rebuilt.
8043 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
8044 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
8045 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
8046 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
8047 -fpic.
8048 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
8049 non-pic code if TARGET_64BIT.
8050 (legitimize_address): Generate 64-bit TLS sequences.
8051 (output_pic_addr_const): Support x86-64 TLS operators.
8052 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
8053 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
8054 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
8055 (output_addr_const_extra): Support x86-64 TLS operators.
8056 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
8057 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
8058 unconditionally.
8059 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
8060 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
8061 (*tls_global_dynamic_sun): Renamed to...
8062 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
8063 (tls_global_dynamic): Renamed to...
8064 (tls_global_dynamic_32): ... this.
8065 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
8066 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
8067 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
8068 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
8069 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
8070 (tls_local_dynamic_base_dynamic): Renamed to...
8071 (tls_local_dynamic_base_dynamic_32): ... this.
8072 (tls_local_dynamic_base_dynamic_64,
8073 *tls_local_dynamic_base_dynamic_64): New.
8074 (*tls_local_dynamic_once): Renamed to...
8075 (*tls_local_dynamic_32_once): ... this.
8076
8077 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
8078
8079 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
8080 __divdi3, __umoddi3, or __moddi3.
8081
8082 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
8083
8084 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
8085 instead of just opt_index as switch expression.
8086
8087 * calls.c (store_one_arg): Change type of 'excess_align'
8088 to unsigned int.
8089
8090 * profile.c (output_gcov_string): Change type of 'temp'
8091 to size_t.
8092
8093 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
8094
8095 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
8096 (__fixunssfdi, __fixsfdi): Likewise.
8097 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
8098 (s390_single_qi): Likewise.
8099 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
8100 unsigned comparison warning.
8101 (s390_return_addr_rtx): New function.
8102 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
8103 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
8104 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
8105
8106 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
8107
8108 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
8109 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
8110 (s390_output_mi_thunk): Remove.
8111 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8112
8113 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
8114
8115 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
8116
8117 2002-10-20 Zack Weinberg <zack@codesourcery.com>
8118
8119 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
8120 inverted test in the conditional determining the possibility
8121 of sibcalls in PIC mode.
8122
8123 2002-10-20 Richard Henderson <rth@redhat.com>
8124
8125 * target.h (struct gcc_target): Line wrap.
8126
8127 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
8128 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
8129 * config/alpha/alpha.h: ... not here.
8130 * config/alpha/alpha-protos.h: Update.
8131
8132 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
8133 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
8134 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
8135 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
8136 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
8137 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
8138 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
8139 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
8140 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
8141 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
8142 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
8143 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
8144 config/sparc/sparc.c, config/sparc/sparc.h,
8145 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
8146 config/stormy16/stormy16.h: Similarly.
8147
8148 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
8149 selection logic from call patterns.
8150
8151 2002-10-20 Mark Mitchell <mark@codesourcery.com>
8152
8153 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
8154
8155 2002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8156
8157 PR other/8202
8158 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
8159 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
8160 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
8161 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
8162
8163 2002-10-20 Roger Sayle <roger@eyesopen.com>
8164
8165 PR c/761
8166 * toplev.c (flag_unsafe_profile_arcs): Remove.
8167 (flag_bounded_pointers): Remove.
8168 (flag_bounds_check): Correct comments.
8169 (lang_independent_options): Remove -funsafe-profile-arcs and
8170 -fbounded-pointers. Correct -fbounds-check comments.
8171
8172 * flags.h: Correct flag_schedule_interblock comments.
8173 (flag_bounded_pointers): Remove prototype.
8174 (flag_bounds_check): Correct comments.
8175
8176 * c-opts.c (c_common_init_options): No need to mark
8177 flag_bounds_check as unspecified.
8178 (c_common_post_options): And no need to set it from
8179 flag_bounded_pointers if its still unspecified.
8180
8181 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
8182 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
8183 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
8184 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
8185
8186 Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
8187 Angela Marie Thomas <angela@releasedominatrix.com>
8188 Brendan Kehoe <brendan@zen.org>
8189 Nick Clifton <nickc@redhat.com>
8190 Andrew Haley <aph@redhat.com>
8191
8192 * configure.in (--with-sysroot): New. Don't inhibit libc if
8193 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
8194 and CROSS_SYSTEM_HEADER_DIR.
8195 * configure: Rebuilt.
8196 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
8197 (TARGET_SYSTEM_ROOT): New.
8198 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
8199 CROSS_SYSTEM_HEADER_DIR.
8200 (install-gcc-tooldir): New target.
8201 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
8202 if SYSTEM_HEADER_DIR does not exist and it's not the default
8203 sys-include directory.
8204 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
8205 (install-mkheaders): Likewise.
8206 * gcc.c (target_system_root): New variable.
8207 (add_sysrooted_prefix): New function.
8208 (process_command): Recompute run-time target_system_root from
8209 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
8210 does not exist.
8211 (do_spec_1): Process 'R' spec.
8212 (main): Add md_exec_prefix to exec_prefixes regardless of
8213 startfile_prefix_spec. Use add_sysrooted_prefix for
8214 startfile_prefixes, and don't skip the default ones when cross
8215 compiling with sysroot enabled. Removed unused case of
8216 non-absolute standard_startfile_prefix.
8217 * config/interix.h: Remove the only potential, yet disabled,
8218 occurrence of non-absolute (empty) standard_startfile_prefix.
8219 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
8220 linking.
8221 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
8222 * doc/install.texi (--with-sysroot): Document.
8223 (--with-headers, --with-libs): Deprecate.
8224
8225 2002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8226 Mark Mitchell <mark@codesourcery.com>
8227
8228 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
8229 match target.h.
8230 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
8231 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
8232 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
8233 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
8234 x86_output_mi_thunk): Likewise.
8235 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
8236 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
8237 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
8238 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
8239 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
8240 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
8241 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
8242 Likewise.
8243 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
8244
8245 * target.h (gcc_target): Update output_mi_thunk and
8246 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
8247 vcall_index.
8248
8249 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
8250 TARGET_ASM_OUTPUT_MI_THUNK in comments.
8251 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
8252 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
8253 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
8254 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
8255 signature.
8256 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
8257 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8258 TARGET_ASM_OUTPUT_MI_THUNK in comments.
8259 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
8260 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
8261 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8262 TARGET_ASM_OUTPUT_MI_THUNK in comments.
8263 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
8264 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
8265
8266 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
8267 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
8268
8269 2002-10-19 Brad Lucier <lucier@math.purdue.edu>
8270
8271 * real.c (do_add): Fix 0+0 sign corner case.
8272 (do_divide): Fix Inf/0 corner case.
8273
8274 Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
8275
8276 * i386.c (classify_argument): Pass MMX arguments in memory
8277 (ix86_expand_builtin): Expand proper address mode for cflush.
8278 * i386.md (movdqa): Fix typo.
8279 (sse2_cflush): Accept DImode addresses.
8280
8281 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
8282 (_mm_max_sd): Fix pasto.
8283 (_mm_storeh_pd, _mm_storel_pd): Fix.
8284
8285 * i386.c (bdesc_comi): Fix to match specification.
8286 (ix86_expand_sse_comi): Emit the comparison properly.
8287 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
8288 Do not use comparison operator.
8289 (vnmaskcmp): Fix template.
8290
8291 * xmmintrin.h (_mm_cvtps_pi16): Fix.
8292
8293 2002-10-19 Sebastian Pop <s.pop@laposte.net>
8294
8295 * dependence.c : Removed.
8296 * Makefile.in : Remove dependence.o.
8297
8298 Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
8299
8300 * mmintrin.h (__m64): typedef it to v2si.
8301 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
8302 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
8303 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
8304 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
8305 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
8306 * xmmintrin.h (_mm_setzero_si64): Likewise.
8307
8308 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
8309 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
8310
8311 PR target/7693
8312 Patch by Shawn Wagner
8313 * mmintrin.h: Replace pi64 by si64.
8314
8315 2002-10-18 David Edelsohn <edelsohn@gnu.org>
8316
8317 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
8318 Use length of 4 not *.
8319 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
8320 (movdf_softfloat64): Likewise.
8321 (movdi_internal32): Use length of 4 not *.
8322 (movti_power): Same.
8323 (ctrsi, ctrdi): Same.
8324
8325 2002-10-18 Zack Weinberg <zack@codesourcery.com>
8326
8327 * c-decl.c (start_decl): Point users of the old initialized-
8328 typedef extension at __typeof__.
8329
8330 2002-10-18 Richard Henderson <rth@redhat.com>
8331
8332 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
8333 (real_to_decimal): Re-implement using the logic from the
8334 gcc 3.2 etoasc. Comment heavily.
8335 (div_significands): Simplify loop startup and comparison logic.
8336
8337 2002-10-18 Mark Mitchell <mark@codesourcery.com>
8338
8339 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
8340 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
8341 (TARGET_ASM_OUT): Add them.
8342 * target.h (asm_out): Add output_mi_thunk and
8343 output_mi_vcall_thunk.
8344 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8345 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8346 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
8347 * config/arm/arm.c (arm_output_mi_thunk): Define.
8348 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8349 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8350 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8351 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8352 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8353 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8354 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
8355 prototype.
8356 (x86_output_mi_vcall_thunk): Declare.
8357 * config/i386/i386.c (override_options): Clear
8358 output_mi_vcall_thunk in 64-bit mode.
8359 (ix86_fntype_regparm): New function.
8360 (ix86_return_pops_args): Use it.
8361 (ia32_this_parameter): New function.
8362 (x86_output_mi_vcall_thunk): New function.
8363 (x86_output_mi_thunk): Use it
8364 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
8365 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
8366 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
8367 * config/i960/i960.c (i960_output_mi_thunk): New function.
8368 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
8369 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
8370 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
8371 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8372 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8373 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
8374 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8375 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8376 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8377 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8378 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8379 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8380 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8381 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8382 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8383 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8384 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
8385 * config/s390/s390.c (s390_output_mi_thunk): Define.
8386 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8387 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8388 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8389 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8390 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8391 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8392 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
8393 * config/vax/vax.c (vax_output_mi_thunk): Define.
8394 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8395 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8396 * doc/tm.texi: Adjust documentation.
8397
8398 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
8399
8400 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
8401 __enable_execute_stack function.
8402 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
8403 as NETBSD_ENABLE_EXECUTE_STACK.
8404 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8405 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8406 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8407 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8408 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8409
8410 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
8411
8412 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
8413 to __enable_execute_stack with the address of the trampoline
8414 if TRANSFER_FROM_TRAMPOLINE is defined.
8415 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
8416 constant if building libgcc2.
8417
8418 Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
8419
8420 * i386.c (pentium4_cost): Fix according to Intel recommendations.
8421 (ix86_memory_move_cost): Fix for 64bit compilation.
8422
8423 2002-10-17 Roger Sayle <roger@eyesopen.com>
8424
8425 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
8426
8427 2002-10-17 Geoffrey Keating <geoffk@apple.com>
8428
8429 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
8430 in CTR/LR/MQ.
8431 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
8432 to/from CTR/LR/MQ.
8433 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
8434 (movsf_softfloat): Likewise.
8435
8436 2002-10-17 Janis Johnson <janis187@us.ibm.com>
8437
8438 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
8439
8440 2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
8441
8442 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
8443 tramp, not addr, to pass the trampoline address to
8444 __enable_execute_stack.
8445
8446 Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
8447
8448 * mmintrin.h: Guard by __MMX__
8449 * xmmintrin.h: Guard by __SSE__
8450
8451 PR other/8062
8452 * xmmintrin.h (_MM_SHUFFLE2): New macro.
8453 (_mm_load*_?d): New functions.
8454 (_mm_set*_?d): New functions.
8455 (_mm_store*_?d): New functions.
8456
8457 Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
8458
8459 Really commit patch announced at Oct 14
8460 PR c/7344
8461 * predict.c (can_predict_insn_p): New function.
8462 (estimate_probability): Avoid unnecesary work.
8463 (process_note_prediction): Likewise.
8464 * toplev.c (rest_of_compilation): Account early branch prediction pass
8465 as TV_BRANCH_PROB.
8466
8467 PR other/8048
8468 Found by Ian Ollmann
8469 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
8470 (_mm_load?_pd): Likewise.
8471 (_mm_store?_pd): Likewise.
8472
8473 PR target/7386
8474 * i386.c (builtin_description):Drop cmpg[te]s[sd].
8475 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
8476 swapped alternative.
8477
8478 PR opt/7630
8479 * reload1.c (reload_inner_reg_of_subreg): New argument output;
8480 (push_reload): Update call.
8481
8482 2002-10-17 Richard Sandiford <rsandifo@redhat.com>
8483
8484 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
8485 if using mips/elf.h or mips/elf64.h.
8486 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
8487 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
8488
8489 2002-10-16 Aldy Hernandez <aldyh@redhat.com>
8490
8491 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
8492 SI.
8493
8494 2002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
8495
8496 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
8497 (LPREFIX): Likewise.
8498 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
8499 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
8500 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
8501 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
8502 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
8503
8504 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
8505 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
8506 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8507 BSS_SECTION_ASM_OP): Move from linux.h.
8508 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8509 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
8510
8511 * config/s390/s390.c (s390_function_profiler): Use
8512 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
8513
8514 2002-10-15 Eric Christopher <echristo@redhat.com>
8515
8516 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
8517 * java/parse.y (obtain_incomplete_type): Make pointer
8518 ptr_mode.
8519
8520 2002-10-15 Richard Henderson <rth@redhat.com>
8521
8522 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
8523 as arguments. Bound DIGITS by the available buffer size.
8524 (real_to_hexadecimal): Likewise.
8525 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
8526 (REAL_VALUE_TO_DECIMAL): Remove.
8527 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
8528 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
8529 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
8530 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
8531 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
8532 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
8533 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
8534 use real_to_decimal directly, and with the proper arguments.
8535 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
8536
8537 2002-10-15 Jim Wilson <wilson@redhat.com>
8538
8539 * reload1.c (merge_assigned_reloads): After converting overlapping
8540 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
8541
8542 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
8543
8544 Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
8545
8546 * expr.c (do_tablejump): Fix typo in my previous commit.
8547
8548 2002-10-15 Richard Sandiford <rsandifo@redhat.com>
8549
8550 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
8551
8552 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
8553
8554 * config/s390/s390.c (s390_split_branches): Add return
8555 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
8556
8557 (find_base_register_in_addr): New function.
8558 (find_base_register_ref): New function.
8559 (replace_base_register_ref): New function.
8560
8561 (struct constant_pool): Add members pool_insn, insns, and anchor.
8562 Remove member last_insn.
8563 (s390_start_pool): Initialize them.
8564 (s390_end_pool): Emit pool placeholder insn.
8565 (s390_add_pool_insn): New function.
8566 (s390_find_pool): Use insns bitmap instead of addresses.
8567 (s390_dump_pool): Replace placeholder insn. Emit anchor.
8568 Replace unspec 104 by local-pool-relative references.
8569 (s390_output_constant_pool): Output anchor label if required.
8570 (s390_output_symbolic_const): Handle unspec 104 and 105.
8571 (s390_add_pool): Remove, replace by ...
8572 (s390_add_constant, s390_find_constant): ... these new functions.
8573 (s390_add_anchor): New function.
8574
8575 (s390_chunkify_pool): Delete, replace by ...
8576 (s390_chunkify_start, s390_chunkify_finish,
8577 s390_chunkify_cancel): ... these new functions.
8578 (s390_optimize_prolog): Add parameter TEMP_REGNO.
8579 Recompute register live data for special registers.
8580 (s390_fixup_clobbered_return_reg): New function.
8581 (s390_machine_dependent_reorg): Rewrite to use new
8582 s390_chunkify_... routines.
8583
8584 config/s390/s390.md ("reload_base"): Rename to ...
8585 ("reload_base_31"): ... this.
8586 ("reload_base_64"): New insn.
8587 ("reload_base2"): Remove.
8588 ("reload_anchor"): New insn.
8589 ("pool"): New insn.
8590
8591 s390.c (s390_pool_overflow): Remove.
8592 s390.h (s390_pool_overflow): Likewise.
8593 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
8594
8595 Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
8596
8597 * sh.md (movv8qi_i+2): Don't split if source is -1.
8598
8599 2002-10-15 Janis Johnson <janis187@us.ibm.com>
8600
8601 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
8602
8603 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
8604
8605 PR opt/7409
8606 * loop.c (loop_regs_scan): Mark registers used for function
8607 argument passing as MAY_NOT_OPTIMIZE.
8608
8609 Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
8610
8611 * gcov-io.h (gcov_info): Fix type.
8612 * profile.c (create_profiler): Fix type mismatch.
8613
8614 Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
8615
8616 * i386.md (movv2di_internal): New pattern.
8617 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
8618 (movv2di): New expander.
8619 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
8620
8621 * i386.c (ix86_expand_timode_binop_builtin): Delete.
8622 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
8623 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
8624 (ix86_expand_builtin): Likewise.
8625 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
8626 sse_andti3,
8627 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
8628 sse_andnti3,
8629 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
8630 sse_orti3,
8631 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
8632 sse_xorti3): Kill.
8633 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
8634 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
8635 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
8636 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8637 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
8638 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8639
8640 * xmmintrin.h (__m128i): Define as __v2di.
8641
8642 PR c++/6419
8643 (expand_expr): Use DECL_RTL_SET_P.
8644
8645 2002-10-14 Roger Sayle <roger@eyesopen.com>
8646
8647 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
8648
8649 2002-10-14 Roger Sayle <roger@eyesopen.com>
8650 Zack Weinberg <zack@codesourcery.com>
8651
8652 * config/i386/i386.c (k6_cost): Correct typo.
8653
8654 2002-10-14 Mark Mitchell <mark@codesourcery.com>
8655
8656 PR optimization/6631
8657 * alias.c (objects_must_conflict_p): Check honor_readonly when
8658 examining TYPE_READONLY.
8659 * function.c (assign_stack_temp_for_type): Likewise.
8660
8661 2002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
8662
8663 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
8664 Swap zero extension arguments.
8665 (umaxhi3): Fix instruction class.
8666 PR target/7211
8667 (prefetch): Fix prefetch instructions.
8668 PR target/7238
8669 (pkwb): Fix output constraint.
8670
8671 2002-10-14 Alexandre Oliva <aoliva@redhat.com>
8672
8673 * config/mips/mips.c (print_operand): Increase buffer size for
8674 real numbers.
8675
8676 2002-10-14 Richard Henderson <rth@redhat.com>
8677
8678 PR opt/8165
8679 * gcse.c (adjust_libcall_notes): Revert last change.
8680 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
8681
8682 2002-10-14 Andrew Haley <aph@redhat.com>
8683
8684 * tree-inline.c (remap_block): All local class initialization
8685 flags go in the outermost scope.
8686 (expand_call_inline): Call java_inlining_map_static_initializers.
8687 (expand_call_inline): Call java_inlining_merge_static_initializers.
8688 * java/lang.c (merge_init_test_initialization): New.
8689 (java_inlining_merge_static_initializers): New.
8690 (inline_init_test_initialization): New.
8691 (java_inlining_map_static_initializers): New.
8692
8693 * tree-inline.c (expand_call_inline): Convert retvar to expected
8694 type.
8695
8696 2002-10-14 Graham Stott <graham.stott@btinternet.com>
8697
8698 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
8699
8700 2002-10-14 Aldy Hernandez <aldyh@redhat.com>
8701
8702 * stmt.c: Fix typo in comment.
8703
8704 Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
8705
8706 * c-common.c (c_common_type_for_mode): Add V2HImode case.
8707 * tree.c (build_common_tree_nodes_2): Initialize
8708 unsigned_V2HI_type_node and V2HI_type_node.
8709 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
8710 (unsigned_V2HI_type_node, V2HI_type_node): Define.
8711
8712 2002-10-14 Jakub Jelinek <jakub@redhat.com>
8713
8714 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8715 Handle TARGET_64BIT.
8716
8717 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
8718
8719 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
8720 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
8721 (MULTILIB_DIRNAMES): Remove long32.
8722 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
8723 (MULTILIB_REDUNDANT_DIRS): Remove.
8724
8725 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
8726
8727 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
8728 * gcc.c (driver_self_specs): New variable.
8729 (do_self_spec): New function.
8730 (main): Use it to process driver_self_specs.
8731
8732 2002-10-13 Richard Henderson <rth@redhat.com>
8733
8734 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
8735 indirect sibcalls when regparm >= 3.
8736
8737 * config/i386/i386.c (sibcall_insn_operand): New.
8738 * config/i386/i386.h (PREDICATE_CODES): Update.
8739 * config/i386/i386-protos.h: Update.
8740 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
8741
8742 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
8743
8744 2002-10-12 Roger Sayle <roger@eyesopen.com>
8745
8746 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
8747 arithmetic right shifts of ~0 during RTL simplifications.
8748
8749 2002-10-12 Neil Booth <neil@daikokuya.co.uk>
8750
8751 PR preprocessor/7862
8752 PR preprocessor/8190
8753 * gcc.c (cpp_unique_options): Don't delete .d files.
8754 Remove stray whitespace.
8755
8756 2002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
8757
8758 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
8759 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
8760 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
8761 (pdp11_output_function_epilogue, output_ascii): Likewise.
8762 (output_addr_const_pdp11): Likewise.
8763 * pdp11.md (movdi): Use offsetable memory for floating store.
8764 (lshrsi3, negsi2): Delete irrelevant comment.
8765
8766 2002-10-11 Andreas Bauer <baueran@in.tum.de>
8767
8768 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
8769 indirect calls to be sibcall optimized.
8770 * config/i386/i386.md (sibcall_1): New.
8771 (call_1): Add no-sibcalls condition.
8772 (sibcall_value_1): New.
8773 (call_value_1): Add no-sibcalls condition.
8774
8775 2002-10-11 Eric Christopher <echristo@redhat.com>
8776
8777 * output.h (default_valid_pointer_mode): Declare.
8778 * varasm.c (default_valid_pointer_mode): Define.
8779 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
8780 * target.h: Ditto.
8781 * tree.c (build_pointer_type_for_mode): New function.
8782 (build_pointer_type): Use.
8783 (build_reference_type_for_mode): New function.
8784 (build_reference_type): Use.
8785 * tree.h: Declare new functions.
8786 * c-common.c (handle_mode_attribute): Use new functions, check
8787 for type.
8788 * stor-layout.c (layout_type): Depend on machine mode for
8789 REFERENCE_TYPE and POINTER_TYPE.
8790 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
8791 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
8792 and REFERENCE_TYPE.
8793 * config/mips/mips.c (mips_valid_pointer_mode): New function.
8794 (TARGET_VALID_POINTER_MODE): Use and define.
8795 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
8796
8797 2002-10-11 Geoffrey Keating <geoffk@apple.com>
8798
8799 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
8800 not the address of the REG.
8801 (struct cse_reg_info): Make subreg_ticked unsigned.
8802
8803 2002-10-11 Janis Johnson <janis187@us.ibm.com>
8804
8805 * doc/compat.texi: Add info about C++ libraries.
8806
8807 2002-10-11 Richard Henderson <rth@redhat.com>
8808
8809 PR opt/8165
8810 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
8811
8812 2002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8813
8814 * cfganal.c (dfs_enumerate_from): Use PARAMS.
8815 * genautomata.c (output_insn_code_cases): Likewise.
8816 * real.c (real_format): Likewise.
8817 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
8818 ensure value is promoted before doing subtraction.
8819
8820 Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
8821
8822 * calls.c (expand_call): Simplify noreturn call.
8823
8824 PR c/7344
8825 * cfgbuild.c (make_edges): Create edge cache when we do have
8826 large jumptable.
8827 * expr.c (do_tablejump): Note size of maximal jumptable.
8828 * function.c (prepare_function_start): Zero out size.
8829 * function.h (function): Add max_jumptable_ents.
8830
8831 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8832
8833 Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
8834
8835 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
8836 register for mperm_w operation.
8837
8838 Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
8839
8840 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
8841 an integer, use simplify_gen_subreg.
8842
8843 2002-10-10 Diego Novillo <dnovillo@redhat.com>
8844
8845 * calls.c (flags_from_decl_or_type): Make extern.
8846 (ECF_*): Move ...
8847 * rtl.h (ECF_*): ... here.
8848 (flags_from_decl_or_type): Declare.
8849
8850 2002-10-10 Roger Sayle <roger@eyesopen.com>
8851 Nathan Sidwell <nathan@codesourcery.com>
8852
8853 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
8854 shifts of the form -1 >> x.
8855
8856 Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
8857
8858 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8859
8860 2002-10-10 Aldy Hernandez <aldyh@redhat.com>
8861
8862 * extend.texi (Vector Extensions): Remove comment about single
8863 element vectors.
8864
8865 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8866
8867 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
8868 * function.c (insns_for_mem_hash): Likewise.
8869 * varasm.c (STRHASH): Likewise.
8870
8871 2002-10-10 Stuart Hastings <stuart@apple.com>
8872
8873 * cse.c (struct cse_reg_info): Add subreg_ticked.
8874 (SUBREG_TICKED): New.
8875 (get_cse_reg_info): Initialize SUBREG_TICKED.
8876 (mention_regs): Use it.
8877 (invalidate): Set SUBREG_TICKED.
8878 (invalidate_for_call): Likewise.
8879 (addr_affects_sp_p): Likewise.
8880
8881 2002-10-10 Jakub Jelinek <jakub@redhat.com>
8882
8883 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
8884 into proper operand.
8885
8886 2002-10-10 Denis Chertykov <denisc@overta.ru>
8887
8888 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
8889 deallocation.
8890 * config/ip2k/libgcc.S: Combine routines used by function
8891 epilogue.
8892
8893 2002-10-10 Jim Wilson <wilson@redhat.com>
8894
8895 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
8896 UDIV.
8897
8898 2002-10-10 David Edelsohn <edelsohn@gnu.org>
8899
8900 * config/rs6000/aix52.h: New file.
8901 * config/rs6000/t-aix52: New File.
8902 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
8903 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
8904
8905 Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
8906
8907 PR target/5610
8908 * invoke.texi (-msse-math): Kill
8909 (-msse): Add note to mfpmath=sse.
8910
8911 Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
8912
8913 PR target/7723
8914 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
8915
8916 2002-10-10 Neil Booth <neil@daikokuya.co.uk>
8917
8918 PR preprocessor/8179
8919 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
8920 as cc1_options.
8921 (default_compilers): Pass debug options when preprocessing
8922 stdin.
8923
8924 2002-10-06 Richard Henderson <rth@redhat.com>
8925
8926 * toplev.c (rest_of_compilation): Revert opt/2960 change.
8927
8928 Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
8929
8930 * i386.c (*_cost): Add branch costs.
8931 (override_options): set ix86_branch_cost.
8932 (ix86_expand_int_movcc): Use BRANCH_COST.
8933 * i386.h (costs): Add branch_cost.
8934
8935 2002-10-09 Zack Weinberg <zack@codesourcery.com>
8936
8937 PR c/7353
8938 * c-decl.c (start_decl): Unconditionally issue error for
8939 'typedef foo = bar'.
8940 (finish_decl): Remove special case for TYPE_DECL with initializer.
8941
8942 * doc/extend.texi: Delete "Naming Types" section. Change all
8943 cross-references to that section to refer to "Typeof" instead.
8944 Add the useful safe-max()-macro example from "Naming Types" to
8945 "Typeof", rewritten using that extension. Add some compatibility
8946 notes to "Typeof."
8947
8948 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8949
8950 * loop.c: Revert 2002-08-15 change.
8951 (LOOP_REGNO_NREGS): Ensure type is int.
8952
8953 2002-10-09 David Edelsohn <edelsohn@gnu.org>
8954
8955 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
8956 which copies first FPR and clears second.
8957 (extendsftf2): Same.
8958 (floatditf2): Fix typo.
8959 (floatsitf2): Same.
8960 (fix_trunctfdi2): Same.
8961 (fix_trunctfsi2): Same.
8962
8963 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8964
8965 * conflict.c (arc_hash): Change return type to hashval_t.
8966 * cselib.c (get_value_hash): Likewise.
8967 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
8968 state_hash, automata_list_hash): Likewise.
8969 * read-rtl.c (def_hash): Likewise.
8970 * tree.c (type_hash_hash): Likewise.
8971
8972 2002-10-08 Aldy Hernandez <aldyh@redhat.com>
8973
8974 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
8975 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
8976
8977 Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
8978
8979 * sh.md (ffssi2): Fix emitted code.
8980
8981 2002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
8982
8983 * cse.c (insn_live_p): Pass insn pattern, not full insn
8984 to may_trap_p.
8985
8986 2002-10-09 Neil Booth <neil@daikokuya.co.uk>
8987
8988 * cppmacro.c (paste_tokens): Only allow / to paste with =.
8989
8990 2002-10-09 David Edelsohn <edelsohn@gnu.org>
8991
8992 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
8993 64-bit hosts.
8994 (movtf_internal): Reference correct displacement for second value
8995 in memory.
8996 (movtf splitter): Correct generation of constants in 64-bit mode.
8997
8998 2002-10-09 Alan Modra <amodra@bigpond.net.au>
8999
9000 * libgcc2.c (__floatdisf): Properly cure double rounding.
9001
9002 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
9003
9004 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
9005 * doc/cpp.texi (Common Predefined Macros): Document.
9006
9007 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
9008
9009 PR doc/7484
9010 * doc/invoke.texi (Option Summary): List
9011 -Wmissing-declarations as a C only option.
9012
9013 2002-10-08 Roger Sayle <roger@eyesopen.com>
9014
9015 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
9016 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
9017 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
9018
9019 Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
9020
9021 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9022 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
9023 variables.
9024 (safe_vector_operand): Update sse_clrv4sf call.
9025 (ix86_expand_buildin): Likewise
9026 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9027 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
9028 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
9029 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
9030 macros.
9031 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
9032 movv4si): Obey the new flags.
9033 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
9034 reformating penalty.
9035 (anddf, cmov patterns): Avoid reformating by first converting.
9036 (sse_cvtsd2ss): Fix predicate.
9037 (sse2_clrti): Fix mode,
9038 (sse_clrv4sf): Avoid unspec.
9039
9040 2002-10-08 Jakub Jelinek <jakub@redhat.com>
9041
9042 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
9043 mno-app-regs|mcmodel=medany.
9044 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
9045 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
9046 (CRTSTUFF_T_CFLAGS): Define.
9047
9048 2002-10-08 Roger Sayle <roger@eyesopen.com>
9049
9050 PR target/8087
9051 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
9052 pool references that are constructed using LO_SUM.
9053
9054 2002-10-08 Nathan Sidwell <nathan@codesourcery.com>
9055
9056 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
9057 -Wall.
9058 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
9059 message.
9060 * flags.h (warn_strict_aliasing): Declare.
9061 * toplev.c (warn_strict_aliasing): Define.
9062 (lang_independent_options): Add it.
9063 * doc/invoke.texi (-Wstrict-aliasing): Document it.
9064
9065 2002-10-08 Zack Weinberg <zack@codesourcery.com>
9066
9067 * system.h (GCCBUGURL): Delete.
9068 * version.c (bug_report_url): New. Add commentary about
9069 modifying both these strings in modified distributions.
9070 * version.h: Declare bug_report_url.
9071
9072 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
9073 bug_report_url.
9074
9075 2002-10-08 Nick Clifton <nickc@redhat.com>
9076
9077 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
9078 convert uint64_t into __ev64_opaque__.
9079 (__ev_set_acc_s64): Likewise, but using signed types.
9080
9081 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
9082
9083 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
9084 ("*doloop_di_long"): Likewise.
9085
9086 Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
9087
9088 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
9089
9090 2002-10-08 Richard Sandiford <rsandifo@redhat.com>
9091
9092 * config/mips/mips.md (define_attr cpu): Add r4111.
9093
9094 2002-10-08 Anthony Green <green@redhat.com>
9095
9096 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
9097
9098 2002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9099
9100 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
9101 for REAL_VALUE_TO_DECIMAL output.
9102
9103 2002-10-07 Richard Henderson <rth@redhat.com>
9104
9105 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
9106 function; cleanup PLUS case by using recursion. Update all users.
9107 (NONZERO_BASE_PLUS_P): Remove.
9108 (find_comparison_args): Use rtx_addr_can_trap_p instead.
9109 (fold_rtx): Use nonzero_address_p.
9110 * rtl.h (nonzero_address_p): Declare.
9111 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
9112 (rtx_addr_can_trap_p): Likewise.
9113 (nonzero_address_p): New.
9114 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
9115 (simplify_relational_operation): Use nonzero_address_p.
9116
9117 2002-10-07 David Edelsohn <edelsohn@gnu.org>
9118
9119 * config/rs6000/rs6000.c (rs6000_override_options): Set
9120 real_format_for_mode for IBM extended format, if enabled.
9121 (easy_fp_constant): Add TFmode.
9122 (rs6000_legitimize_address): Add TFmode.
9123 (rs6000_legitimate_address): Same.
9124 (function_arg_advance): TFmode uses two FPRs.
9125 (rs6000_emit_prologue): Fix warning.
9126 (rs6000_output_function_epilogue): Add TFmode.
9127 (output_toc): Add TFmode.
9128 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
9129 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
9130 * rs6000.md (movtf splitter): Load TFmode constant.
9131
9132 2002-10-07 Dale Johannesen <dalej@apple.com>
9133
9134 * rtl.h: Add NOTE_PRECONDITIONED.
9135 * unroll.c: Set it.
9136 * loop.c: Set loop_info->preconditioned from it.
9137 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
9138
9139 2002-10-07 Richard Henderson <rth@redhat.com>
9140
9141 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
9142 new rtx for comparing the argument pointer against zero.
9143 (i960_va_start): Similarly.
9144
9145 2002-10-07 Richard Henderson <rth@redhat.com>
9146
9147 * config/i960/i960.md (*): Use TFmode, not XFmode.
9148 * config/i960/i960.c (*): Likewise.
9149 (i960_arg_size_and_align): Remove XFmode alignment hack.
9150 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
9151 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
9152 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
9153 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
9154
9155 2002-10-07 Richard Henderson <rth@redhat.com>
9156
9157 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
9158 entry points; use void return value and argument list.
9159
9160 2002-10-06 Andreas Bauer <baueran@in.tum.de>
9161
9162 * calls.c (expand_call): Fix function-is-volatile check.
9163
9164 2002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
9165
9166 * t-pdp11: Add MULTILIB support for msoft-float.
9167 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
9168
9169 * t-pdp11: Add LIB2FUNCS_EXTRA.
9170 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
9171 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
9172 'fldd' to 'ldd', rename 'fstd' to 'std'.
9173 (pdp11_output_function_epilogue): Likewise.
9174 (output_move_quad): Make the comment gas compatible.
9175 (output_ascii): Add preceding 0 to the octal constant.
9176 (print_operand_address): Add pre_modify, post_modify.
9177 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
9178 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
9179 with the indication of Paul Koning.
9180 (PRINT_OPERAND): Fix floating constant.
9181 * pdp11.md (movdi): Restrict matching pattern.
9182 (movqi): Generalize the matching pattern.
9183 (movdf): Restrict matching pattern.
9184 (zero_extendqihi2): Change constant representation.
9185 (floatsidf2): Fix wrong operands.
9186 (addqi3): Fix wrong instruction name.
9187 (subqi3): Fix wrong instruction name.
9188 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
9189 (xorsi3): Fix wrong insn.
9190 (one_cmplqi2): Add two operand pattern.
9191 (lsrsi3): New.
9192 (negsi2): New.
9193 (call): Add register indirect case.
9194 (mod): Fix wrong subreg.
9195
9196 2002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
9197 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9198
9199 PR c/7411
9200 * expr.c (expand_expr) [PLUS]: Simplify after the operands
9201 have been expanded in EXPAND_NORMAL mode.
9202
9203 2002-10-06 Richard Henderson <rth@redhat.com>
9204
9205 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
9206
9207 2002-10-06 Richard Henderson <rth@redhat.com>
9208
9209 PR optimization/2960
9210 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
9211 optimize_size.
9212
9213 2002-10-06 Alexandre Oliva <aoliva@redhat.com>
9214
9215 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
9216 previously definitions.
9217
9218 2002-10-06 Frank Ch. Eigler <fche@redhat.com>
9219
9220 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
9221 * c-opts.c (find_opt): Similarly.
9222
9223 Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
9224
9225 * athlon.md: rewrite to DFA.
9226 * i386 (ix86_adjust_cost): Drop memory latency code.
9227 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
9228
9229 2002-10-05 Jakub Jelinek <jakub@redhat.com>
9230
9231 * gcc.c (set_multilib_dir): Don't access *end.
9232 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
9233 (print_multilib_info): Don't show paths starting with ".:".
9234 * genmultilib: Add new option, "yes" if multilibs are enabled.
9235 Update comments. If multilibs not enabled, print .:${osdirout}
9236 for each directory. If multilibs are enabled, always print
9237 ${dirout}:${osdirout}, even if the two are the same.
9238 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
9239 Pass all MULTILIB_* variables to genmultilib even if
9240 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
9241
9242 2002-10-04 Zack Weinberg <zack@codesourcery.com>
9243
9244 * gcc.c (process_command): Set .validated for -pipe. Correct
9245 grammar in comment.
9246
9247 2002-10-04 Bruce Korb <bkorb@gnu.org>
9248
9249 * fixinc/inclhack.def(hpux11_abs): use format fix
9250 * fixinc/fixincl.x: regenerate
9251 * fixinc/tests/base/stdlib.h: accommodate new fix test
9252
9253 Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
9254
9255 * c-common.c (cb_register_builtins): Use really_no_inline.
9256
9257 2002-10-04 David Edelsohn <edelsohn@gnu.org>
9258
9259 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
9260 copied instruction if the note is not loop invariant.
9261
9262 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
9263
9264 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
9265
9266 2002-10-04 Steve Ellcey <sje@cup.hp.com>
9267
9268 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
9269 and -mhp-ld options to list of options. Add -mgnu-ld
9270 and -mhp-ld option descriptions.
9271
9272 2002-10-04 Steve Ellcey <sje@cup.hp.com>
9273
9274 * fixinc/inclhack.def (hpux11_abs): New.
9275 (stdio_va_list): change __va_list__ to __gnuc_va_list.
9276 * fixinc/fixincl.x: Rebuild.
9277
9278 2002-10-04 Roger Sayle <roger@eyesopen.com>
9279
9280 * config/i386/i386.h (processor_costs): Add new fields fadd,
9281 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
9282 (RTX_COSTS): Use these fields to determine the RTX costs
9283 of floating point addition/subtraction, multiplication,
9284 division, fabs, negation and square root respectively.
9285 * config/i386/i386.c (size_cost): Provide instruction sizes
9286 for these new fields.
9287 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
9288 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
9289 counts for these new fields for all x86 processor variants.
9290
9291 2002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9292
9293 * mips.c (mips_const_double_ok): Delete unused variable.
9294
9295 * gengtype.c (rtx_next): Change type to int.
9296
9297 2002-10-04 Andreas Jaeger <aj@suse.de>
9298
9299 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
9300
9301 2002-10-04 Richard Henderson <rth@redhat.com>
9302
9303 * real.h (SIGNIFICAND_BITS): Add one more word.
9304 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
9305 * real.c (times_pten): New.
9306 (real_to_decimal, real_from_string): Use it.
9307 (sticky_rshift_significand): Use & to find modulus.
9308 (rshift_significand, lshift_significand): Likewise.
9309 (do_divide): Apply sticky bit after normalization.
9310 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
9311
9312 2002-10-03 Andreas Bauer <baueran@in.tum.de>
9313
9314 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
9315 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
9316
9317 2002-10-03 Andreas Jaeger <aj@suse.de>
9318
9319 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
9320 to unsigned long, adjust printf format string.
9321 (output_mangled_typename): Likewise.
9322
9323 2002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
9324
9325 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
9326 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
9327 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
9328 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
9329 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
9330 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
9331 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
9332 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
9333
9334 2002-10-03 Mark Mitchell <mark@codesourcery.com>
9335
9336 * doc/invoke.texi (-Wabi): Document mangling bug.
9337
9338 2002-10-04 Alan Modra <amodra@bigpond.net.au>
9339
9340 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
9341 name for the tbtab label that depends on the function asm name.
9342 Don't output tbtab label unless optional_tbtab.
9343 (output_mi_thunk): Formatting.
9344
9345 2002-10-03 Richard Henderson <rth@redhat.com>
9346
9347 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
9348 * config/m68k/m68k.c (override_options): ... here.
9349 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
9350 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
9351 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
9352 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
9353
9354 2002-10-03 Richard Henderson <rth@redhat.com>
9355
9356 * real.h (struct real_value): Use ENUM_BITFIELD.
9357
9358 2002-10-03 Richard Henderson <rth@redhat.com>
9359
9360 * config/i960/i960.md (call, call_value): Use emit_call_insn.
9361
9362 2002-10-03 Steve Ellcey <sje@cup.hp.com>
9363
9364 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
9365
9366 2002-10-03 Steve Ellcey <sje@cup.hp.com>
9367
9368 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
9369 * config/pa/pa.h (MASK_GNU_LD): New.
9370 (TARGET_GNU_LD): New.
9371 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
9372 on gnu-ld and MASK_GNU_LD.
9373 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
9374
9375 Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
9376
9377 * i386.c (athlon_cost): Fix the move costs.
9378
9379 Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
9380
9381 * final.c (final): Use symbol name as function name for profiling.
9382 * profile.c (get_exec_counts): Likewise.
9383 (branch_prob): Likewise.
9384
9385 2002-10-03 Jakub Jelinek <jakub@redhat.com>
9386
9387 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
9388
9389 2002-10-03 Jakub Jelinek <jakub@redhat.com>
9390
9391 * gcc.c (print_multi_os_directory): New variable.
9392 (option_map): Support --print-multi-os-directory.
9393 (struct prefix_list): Add os_multilib field.
9394 (multilib_os_dir): New variable.
9395 (static_specs): Add multilib_options.
9396 (find_a_file): Add multilib argument. Search in GCC or OS multilib
9397 subdirs if nonzero.
9398 (read_specs, execute): Update callers.
9399 (find_file): Likewise. Don't prefix name with multilib_dir, instead
9400 pass 1 as multilib option.
9401 (display_help): Include --print-multi-os-directory.
9402 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
9403 (process_command): Update callers. Handle --print-multi-os-directory.
9404 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
9405 set.
9406 (main): Update find_a_file and add_prefix callers.
9407 Handle print_multi_os_directory.
9408 (struct mdswitchstr): New.
9409 (mdswitches, n_mdswitches): New variables.
9410 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
9411 present on the command line nor their mutually incompatible
9412 switches.
9413 (default_arg): Optimize.
9414 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
9415 array.
9416 (print_multilib_info): Only print GCC multilib dir name, not OS
9417 multilib dirname.
9418 * genmultilib: Add osdirnames parameter. Output multilib_options
9419 variable. If osdirnames is specified, output dirnames as
9420 dirname:osdirname.
9421 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
9422 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
9423 to compute libgcc_s soname and install path.
9424 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
9425 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
9426 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
9427 argument.
9428
9429 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
9430 (SHLIB_SLIBDIR_SUFFIXES): Remove.
9431 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
9432 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
9433 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
9434 and -m64.
9435 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
9436 (SHLIB_SLIBDIR_SUFFIXES): Remove.
9437 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
9438 (STARTFILE_ARCH_SPEC): Remove.
9439 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
9440 (SHLIB_SLIBDIR_SUFFIXES): Remove.
9441 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9442 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
9443 (SHLIB_SLIBDIR_SUFFIXES): Remove.
9444
9445 Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9446
9447 * predict.c (choose_function_section): Avoid choice for linkonce functions.
9448
9449 Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
9450
9451 * i386.md (lea to mul peep2): Fix condition.
9452
9453 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
9454
9455 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
9456 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
9457
9458 2002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
9459
9460 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
9461 attribute "unused".
9462
9463 * config/t-libunwind: Mention unwind-sjlj.c.
9464 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
9465 to #ifndef __USING_SJLJ_EXCEPTIONS__.
9466
9467 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
9468 before inclusion of config.gcc, but after configuring the compiler etc.
9469 Determine default value for --enable-libunwind-exceptions based on
9470 whether the host has a libunwind library (not guaranteed to be correct,
9471 but it's a reasonable first guess and can always be overridden with an
9472 explicit --enable/disable-libunwind-exceptions.
9473 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
9474 tmake_file when $use_libunwind_exceptions is enabled.
9475 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
9476 ia64 (e.g., config/t-linux also updates it).
9477 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
9478 along with the shared version of libgcc since the latter requires
9479 the former.
9480 * unwind-libunwind.c: New file.
9481 * config/t-libunwind: Ditto.
9482
9483 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
9484
9485 * config.gcc: Remove support for vax-*-vms*.
9486 * config/vax/vms.h: Remove.
9487 * config/vax/xm-vms.h: Remove.
9488 * config/vax/vax-protos.h: Remove VMS-specific code.
9489 * config/vax/vax.c: Remove VMS-specific code.
9490
9491 2002-10-02 Richard Henderson <rth@redhat.com>
9492
9493 PR opt/7124
9494 * config/i386/i386.c (ix86_register_move_cost): Increase cost
9495 for secondary_memory_needed pairs.
9496
9497 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
9498
9499 * doc/vms.texi: Blow away false include file section.
9500
9501 2002-10-02 Roger Sayle <roger@eyesopen.com>
9502
9503 PR optimization/6627
9504 * toplev.c (force_align_functions_log): New global variable.
9505 * flags.h (force_align_functions_log): Add extern prototype.
9506 * varasm.c (assemble_start_function): Use it to force minimum
9507 function alignment.
9508 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
9509 minimum function alignment to one byte.
9510 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
9511 the least significant bit of vtable member function pointers.
9512 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
9513 here from cp/cp-tree.h.
9514
9515 Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
9516
9517 * i386.c (print_operand_address): Use RIP addressing for offsetted
9518 label refs too.
9519
9520 2002-09-30 David S. Miller <davem@redhat.com>
9521
9522 PR middle-end/7151
9523 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
9524 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
9525
9526 2002-10-01 Andreas Bauer <baueran@in.tum.de>
9527
9528 * calls.c (expand_call): Remove the `no indirect check'
9529 for sibcall optimization; use function_ok_for_sibcall
9530 target hook; refine check for `function is volatile'.
9531 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
9532 * hooks.c (hook_tree_tree_bool_false): New.
9533 * hooks.h (hook_tree_tree_bool_false): Declare.
9534 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
9535 (TARGET_INITIALIZER): Add it.
9536 * target.h (struct gcc_target): Add function_ok_for_sibcall.
9537 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
9538 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9539 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9540 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
9541 Remove function declaration.
9542 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
9543 function static and accept another argument of type `tree'.
9544 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9545 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9546 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9547 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
9548 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9549 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9550 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9551 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
9552 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
9553 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9554 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9555 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
9556 Remove function declaration.
9557 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
9558 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
9559 rename first argument to `decl'; accept another argument
9560 of type `tree'; make static.
9561 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9562 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9563 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
9564 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9565 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9566 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
9567 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9568 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9569 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9570
9571 2002-10-01 Roger Sayle <roger@eyesopen.com>
9572
9573 * unroll.c (loop_iterations): Revert 2002-09-08 change.
9574
9575 2002-10-01 Richard Henderson <rth@redhat.com>
9576
9577 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
9578 (real_to_hexadecimal): Likewise.
9579 * print-rtl.c (print_rtx): If we are linked with real.c, don't
9580 dump the XWINT fields of a floating point CONST_DOUBLE.
9581
9582 2002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
9583
9584 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
9585
9586 2002-10-01 Richard Henderson <rth@redhat.com>
9587
9588 * calls.c (precompute_register_parameters): Force non-legitimate
9589 constants into pseudos.
9590
9591 2002-10-01 Nick Clifton <nickc@redhat.com>
9592
9593 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
9594 to assembler template.
9595
9596 2002-10-01 Richard Henderson <rth@redhat.com>
9597
9598 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
9599 for TLS debug info to !DECL_EXTERNAL.
9600
9601 2002-10-01 Matt Thomas <matt@3am-software.com>
9602 Jason Thorpe <thorpej@wasabisystems.com>
9603
9604 * config.gcc (vax-*-netbsdelf*): Enable configuration.
9605 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
9606 if not already defined.
9607 * config/vax/elf.h: New file.
9608 * config/vax/netbsd-elf.h: New file.
9609 * config/vax/vax.c: Include "debug.h".
9610 (vax_output_function_prologue): Add dwarf2 support. Use
9611 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
9612 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
9613 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
9614 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
9615 (VAX_ISTREAM_SYNC): Remove.
9616 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
9617 (JUMP_TABLES_IN_TEXT_SECTION): Define.
9618 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
9619 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
9620 and assemble_name.
9621 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9622 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
9623 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
9624 (INCOMING_RETURN_ADDR_RTX): Define.
9625 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
9626 (VUNSPEC_SYNC_ISTREAM): Define.
9627 (blockage): Use VUNSPEC_BLOCKAGE.
9628 (sync_istream): New insn.
9629
9630 2002-10-01 Richard Henderson <rth@redhat.com>
9631
9632 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
9633 (*call_value_pop, call, call_value): Add dwarf2 EH support.
9634 (*call): New insn.
9635
9636 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
9637
9638 PR c/8083
9639 * c-typeck.c (build_c_cast): Warn about type punning which breaks
9640 type based aliasing.
9641
9642 2002-10-01 Mark Mitchell <mark@codesourcery.com>
9643
9644 * stor-layout.c (update_alignment_for_field): New function.
9645 (place_union_field): Use it.
9646 (place_field): Likewise.
9647
9648 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
9649
9650 PR other/8077
9651 * gcc.c (cc1_options): Add space on -auxbase-strip.
9652
9653 2002-10-01 Jim Wilson <wilson@redhat.com>
9654
9655 * config/v850/v850.h (EPILOGUE_USES): Define.
9656
9657 2002-09-30 Andrew Haley <aph@redhat.com>
9658
9659 * flow.c (insn_dead_p): When using non-call-exceptions, don't
9660 eliminate insns that may trap.
9661 * cse.c (insn_live_p): Likewise.
9662
9663 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
9664
9665 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
9666 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
9667 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
9668 * config/mips/mips.md: Apply same renaming here.
9669
9670 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
9671
9672 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
9673 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
9674 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
9675 * config/mips/mips.md (define_attr cpu): Remove r4320.
9676 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
9677
9678 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
9679
9680 * config/mips/mips.c (mips16_strings): New variable.
9681 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
9682 symbol in mips16_strings. Free the list.
9683 (mips_encode_section_info): Keep track of local strings.
9684
9685 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
9686
9687 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
9688 (sordered_df, sordered_sf): Remove.
9689 * config/mips/mips.c (get_float_compare_codes): New fn.
9690 (gen_int_relational, gen_conditional_move): Use it.
9691
9692 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
9693
9694 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
9695 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
9696 * config/mips/mips.c (fcc_register_operand): New function.
9697 (mips_emit_fcc_reload): New function, extracted from reload_incc.
9698 (override_options): Allow TFmode values in float registers
9699 if ISA_HAS_8CC.
9700 * cnfig/mips/mips.md (reload_incc): Change destination prediate
9701 to fcc_register_operand. Remove misleading source constraint.
9702 Use mips_emit_fcc_reload.
9703 (reload_outcc): Duplicate reload_incc.
9704
9705 2002-09-30 Zack Weinberg <zack@codesourcery.com>
9706
9707 * gcc.c (validate_switches): Handle all new forms of spec
9708 syntax introduced recently. Now returns a char *.
9709 (validate_all_switches): Repetitive logic broken out to...
9710 (validate_switches_from_spec): ...here.
9711 * mklibgcc.in: Don't @-flag commands to generate .oS files.
9712
9713 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
9714
9715 * longlong.h: Partially synchronize with GMP-4.1 version:
9716 Use i370 definitions also for s390.
9717 Add generic definition of umul_ppmm in terms of smul_ppmm.
9718 [s390] (umul_ppmm): Remove.
9719 [s390] (smul_ppmm): Fix incorrect assembler constraints.
9720 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
9721
9722 2002-09-30 Bob Wilson <bob.wilson@acm.org>
9723
9724 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
9725 Add new RL_REGS register class.
9726 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
9727 Call xtensa_preferred_reload_class for both input and output reloads.
9728 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
9729 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
9730 instead of either AR_REGS or GR_REGS classes.
9731 (xtensa_secondary_reload_class): Use new RL_REGS class.
9732 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
9733
9734 2002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
9735
9736 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
9737 (pa_strip_name_encoding): Strip '@' and '*', in that order.
9738 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
9739 there is a '*' prefix in NAME.
9740
9741 Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
9742
9743 * reload.c (push_reload): Handle subregs and secondary memory.
9744 * reload1.c (gen_reload): Likewise.
9745
9746 * jump.c (reg_or_subregno): New function.
9747 * rtl.h (reg_or_subregno): Declare
9748 * unroll.c (find_splittable_givs): Handle subregs.
9749
9750 2002-09-30 Mark Mitchell <mark@codesourcery.com>
9751
9752 * store-layout.c (finish_record_layout): Add free_p parameter.
9753 (layout_type): Pass it.
9754 * tree.h (finish_record_layout): Update prototype.
9755
9756 Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
9757
9758 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
9759
9760 * gcse.c (cprop_jump): Check that the register has not
9761 been modified
9762 (cprop_jump): Likewise.
9763
9764 2002-09-30 Richard Earnshaw <rearnsha@arm.com>
9765
9766 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
9767 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
9768 that we have a SImode access, and only then if reload hasn't completed;
9769 for all other cases, use LO_REGS.
9770
9771 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9772
9773 * openbsd.h: Fix typo in last change.
9774
9775 2002-09-29 Richard Henderson <rth@redhat.com>
9776
9777 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
9778
9779 2002-09-29 Richard Henderson <rth@redhat.com>
9780
9781 PR c/8002
9782 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
9783 for CONST_INT.
9784
9785 2002-09-29 David Edelsohn <edelsohn@gnu.org>
9786
9787 * real.h (ibm_extended_format): Declare.
9788 * real.c (encode_ibm_extended, decode_ibm_extended): New
9789 functions.
9790
9791 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9792
9793 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
9794
9795 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
9796
9797 2002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
9798
9799 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
9800
9801 2002-09-29 Kazu Hirata <kazu@cs.umass.edu>
9802
9803 * builtins.def: Fix comment formatting.
9804 * c-common.def: Likewise.
9805 * cfgcleanup.c: Likewise.
9806 * combine.c: Likewise.
9807 * gengtype.c: Likewise.
9808 * params.def: Likewise.
9809 * predict.def: Likewise.
9810 * rtl.def: Likewise.
9811 * stab.def: Likewise.
9812 * stor-layout.c: Likewise.
9813 * tree.def: Likewise.
9814 * config/darwin.c: Likewise.
9815 * config/darwin.h: Likewise.
9816 * config/dbxcoff.h: Likewise.
9817 * config/elfos.h: Likewise.
9818 * config/fp-bit.c: Likewise.
9819 * config/freebsd-spec.h: Likewise.
9820 * config/interix.h: Likewise.
9821 * config/libgloss.h: Likewise.
9822 * config/linux-aout.h: Likewise.
9823 * config/linux.h: Likewise.
9824 * config/lynx-ng.h: Likewise.
9825 * config/lynx.h: Likewise.
9826 * config/netbsd-aout.h: Likewise.
9827 * config/netbsd.h: Likewise.
9828 * config/netware.h: Likewise.
9829 * config/psos.h: Likewise.
9830 * config/ptx4.h: Likewise.
9831
9832 2002-09-28 Kazu Hirata <kazu@cs.umass.edu>
9833
9834 * ChangeLog.4: Fix typos.
9835 * ChangeLog.6: Likewise.
9836 * FSFChangeLog.10: Likewise.
9837 * genattrtab.c: Fix comment typos.
9838 * haifa-sched.c: Likewise.
9839 * real.c: Likewise.
9840 * tree.h: Likewise.
9841 * config/arm/arm.c: Likewise.
9842 * config/arm/crti.asm: Likewise.
9843 * config/arm/crtn.asm: Likewise.
9844 * config/frv/frv.c: Likewise.
9845 * config/frv/frv.md: Likewise.
9846 * config/h8300/h8300.md: Likewise.
9847 * config/i386/rtemself.h: Likewise.
9848 * config/ia64/unwind-ia64.c: Likewise.
9849 * config/ip2k/ip2k.h: Likewise.
9850 * config/m88k/m88k.c: Likewise.
9851 * config/m88k/m88k.md: Likewise.
9852 * config/mips/sr71k.md: Likewise.
9853 * config/mmix/mmix.c: Likewise.
9854 * config/rs6000/rs6000.c: Likewise.
9855 * config/sh/sh.md: Likewise.
9856
9857 2002-09-26 Theodore A. Roth <troth@verinet.com>
9858
9859 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
9860 * config/avr/avr.md: Ditto.
9861
9862 2002-09-27 Alexander N. Kabaev <ak03@gte.com>
9863
9864 PR preprocessor/8055
9865 * cppmacro.c (stringify_arg): Do not overflow the buffer
9866 with the terminating NUL when the argument to be stringified
9867 has no tokens.
9868
9869 2002-09-27 Richard Henderson <rth@redhat.com>
9870
9871 * unroll.c (simplify_cmp_and_jump_insns): New.
9872 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
9873 instead of expand_simple_foo.
9874
9875 2002-09-27 Richard Henderson <rth@redhat.com>
9876
9877 PR optimization/7520
9878 * cfganal.c (flow_active_insn_p): New.
9879 (forwarder_block_p): Use it.
9880
9881 2002-09-27 Richard Henderson <rth@redhat.com>
9882
9883 * emit-rtl.c (active_insn_p): Revert last change.
9884
9885 2002-09-27 Jakub Jelinek <jakub@redhat.com>
9886
9887 * doc/extend.texi (tls_model): Document.
9888 * varasm.c (decl_tls_model): New.
9889 * c-common.c (handle_tls_model_attribute): New.
9890 (c_common_attribute_table): Add tls_model.
9891 * config/alpha/alpha.c (alpha_encode_section_info): Use
9892 decl_tls_model.
9893 * flags.h (enum tls_model, flag_tls_default): Move...
9894 * tree.h (enum tls_model, flag_tls_default): ...here.
9895 (decl_tls_model): New prototype.
9896 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9897 * config/i386/i386.c (ix86_encode_section_info): Likewise.
9898 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
9899 Allow !flag_pic.
9900
9901 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
9902
9903 * LANGUAGES: Follow spelling conventions.
9904 * rtl.def: Likewise.
9905 * sbitmap.c: Likewise.
9906 * sched-int.h: Likewise.
9907 * sched-rgn.c: Likewise.
9908 * sibcall.c: Likewise.
9909 * simplify-rtx.c: Likewise.
9910 * ssa.c: Likewise.
9911 * stab.def: Likewise.
9912 * stmt.c: Likewise.
9913 * stor-layout.c: Likewise.
9914 * target.h: Likewise.
9915 * timevar.c: Likewise.
9916 * toplev.c: Likewise.
9917 * tree-dump.c: Likewise.
9918 * tree-inline.c: Likewise.
9919 * tree.c: Likewise.
9920 * tree.def: Likewise.
9921 * tree.h: Likewise.
9922 * unroll.c: Likewise.
9923 * varasm.c: Likewise.
9924 * vmsdbgout.c: Likewise.
9925 * treelang/treelang.texi: Likewise.
9926 * treelang/treetree.c: Likewise.
9927
9928 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
9929
9930 * config/h8300/h8300.c (compute_saved_regs): Use a macro
9931 instead of a hard register number.
9932 (get_shift_alg): Use an enumerated type instead of numbers.
9933 (h8300_shift_needs_scratch_p): Likewise.
9934
9935 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
9936
9937 * varasm.c (force_data_section): Remove.
9938 (assemble_constant_align): Likewise.
9939 * output.h: Remove corresponding prototypes.
9940
9941 2002-09-26 Roger Sayle <roger@eyesopen.com>
9942
9943 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
9944 jump, if the loop to exit is the top of the current nesting stack.
9945
9946 2002-09-26 Torbjorn Granlund <tege@swox.com>
9947
9948 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
9949 arithmetic.
9950
9951 2002-09-26 David S. Miller <davem@redhat.com>
9952
9953 PR optimization/7335
9954 * calls.c (emit_library_call_value_1): Passing args by reference
9955 converts a CONST function into a PURE one.
9956
9957 2002-09-26 David Edelsohn <edelsohn@gnu.org>
9958
9959 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
9960 text_section.
9961 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
9962 text section.
9963 * config/rs6000/rs6000.c (rs6000_override_options): Allow
9964 function-sections and data-sections functionality on AIX.
9965
9966 2002-09-26 David Edelsohn <edelsohn@gnu.org>
9967 Dale Johannesen <dalej@apple.com>
9968
9969 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
9970 in RTL for sub-word loads from memory.
9971
9972 2002-09-26 Richard Henderson <rth@redhat.com>
9973
9974 PR c/7160
9975 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
9976 on call insns.
9977
9978 2002-09-26 Richard Henderson <rth@redhat.com>
9979
9980 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
9981
9982 2002-09-26 Chris Lattner <sabre@nondot.org>
9983
9984 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
9985 handling undefined values.
9986
9987 2002-09-26 Richard Henderson <rth@redhat.com>
9988
9989 PR opt/7520
9990 * emit-rtl.c (active_insn_p): Consider a clobber of the
9991 function return value to be active even after reload.
9992
9993 2002-09-27 Alan Modra <amodra@bigpond.net.au>
9994
9995 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
9996 by absolute loop increment, not loop increment.
9997
9998 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
9999
10000 * c-common.h: Follow spelling conventions.
10001 * cpplex.c: Likewise.
10002 * cpplib.h: Likewise.
10003 * gthr-dce.h: Likewise.
10004 * gthr-posix.h: Likewise.
10005 * optabs.c: Likewise.
10006 * output.h: Likewise.
10007 * profile.c: Likewise.
10008 * protoize.c: Likewise.
10009 * ra-rewrite.c: Likewise.
10010 * real.c: Likewise.
10011 * recog.c: Likewise.
10012 * reg-stack.c: Likewise.
10013 * regclass.c: Likewise.
10014 * regmove.c: Likewise.
10015 * reload.c: Likewise.
10016 * reload.h: Likewise.
10017 * reload1.c: Likewise.
10018 * reorg.c: Likewise.
10019 * resource.c: Likewise.
10020 * rtl.h: Likewise.
10021 * rtlanal.c: Likewise.
10022
10023 2002-09-26 Steve Ellcey <sje@cup.hp.com>
10024
10025 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
10026 for symbol address.
10027
10028 2002-09-24 Eric Christopher <echristo@redhat.com>
10029
10030 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
10031 * config/mips/elf64.h: Ditto.
10032
10033 2002-09-24 Eric Christopher <echristo@redhat.com>
10034
10035 * except.c (expand_builtin_extract_return_address): Handle case
10036 where Pmode != ptr_mode.
10037
10038 2002-09-26 Steve Ellcey <sje@cup.hp.com>
10039
10040 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
10041
10042 2002-09-26 Steve Ellcey <sje@cup.hp.com>
10043
10044 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
10045
10046 2002-09-26 Igor Shevlyakov <igor@microunity.com>
10047
10048 * combine.c (simplify_set): Don't call to force_to_mode if size
10049 of integer type is larger than HOST_BITS_PER_WIDE_INT.
10050
10051 2002-09-26 Janis Johnson <janis187@us.ibm.com>
10052
10053 * Makefile.in (qmtest-g++): Fix file path.
10054
10055 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
10056
10057 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
10058 A + (-const) on RTX level, even for unsigned types.
10059
10060 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
10061
10062 * reload.c (dup_replacements): New function.
10063 (find_reloads): Use it to duplicate replacements at the top level
10064 of match_dup operands.
10065
10066 2002-09-26 Miles Bader <miles@gnu.org>
10067
10068 * v850.md ("length"): Change default value to 4.
10069
10070 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
10071
10072 * ChangeLog.1: Follow spelling conventions.
10073 * ChangeLog.4: Likewise.
10074 * ChangeLog.6: Likewise.
10075 * FSFChangeLog.11: Likewise.
10076 * doc/cpp.texi: Likewise.
10077 * doc/invoke.texi: Likewise.
10078 * doc/tm.texi: Likewise.
10079
10080 2002-09-26 Nick Clifton <nickc@redhat.com>
10081
10082 * config.gcc: Add x prefix to v850e case for handling
10083 --with-cpu=v850e.
10084
10085 2002-09-25 Zack Weinberg <zack@codesourcery.com>
10086
10087 * gcc.c (input_suffix_matches, switch_matches,
10088 mark_matching_switches, process_marked_switches,
10089 process_brace_body): New functions - split from handle_braces.
10090 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
10091 and ignore whitespace in more places.
10092 (specs documentation comment): Document %{S:X;T:Y;:D}.
10093 Clarify other %{...} docs.
10094 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
10095 %{...} docs.
10096
10097 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
10098 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
10099
10100 2002-09-25 David S. Miller <davem@redhat.com>
10101
10102 PR target/7842
10103 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
10104 extend.
10105
10106 2002-09-25 Richard Henderson <rth@redhat.com>
10107
10108 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
10109 fp CONST_DOUBLE; use real_identical.
10110
10111 2002-09-25 Mark Mitchell <mark@codesourcery.com>
10112
10113 * doc/invoke.texi: Add more -Wabi examples.
10114
10115 2002-09-25 Richard Sandiford <rsandifo@redhat.com>
10116
10117 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
10118
10119 2002-09-24 Nathan Sidwell <nathan@codesourcery.com>
10120
10121 * profile.c (end_branch_prob): Only look for __gcov_init on
10122 weak-enabled native compilers.
10123
10124 2002-09-24 Denis Chertykov <denisc@overta.ru>
10125
10126 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
10127 cases of optimizing "add sp,w" to "inc sp".
10128
10129 2002-09-24 Adam Nemet <anemet@lnxw.com>
10130
10131 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
10132 epilogue for naked functions.
10133
10134 2002-09-24 Adam Nemet <anemet@lnxw.com>
10135 Nick Clifton <nickc@redhat.com>
10136
10137 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
10138 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
10139 is defined.
10140
10141 2002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
10142
10143 * config/s390/s390.c (preferred_la_operand_p): New function.
10144 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
10145 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
10146 ("*la_64_cc", "*la_31_cc", splitters): ... these.
10147 ("*la_31"): Deactivate for TARGET_64BIT.
10148 ("*la_31_and", "*la_31_and_cc"): New.
10149
10150 2002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10151
10152 * real.h (real_value): Make `exp' explicitly signed.
10153
10154 2002-09-24 Kazu Hirata <kazu@cs.umass.edu>
10155
10156 * config/elfos.h: Follow spelling conventions.
10157 * config/alpha/alpha.h: Likewise.
10158 * config/arc/arc.h: Likewise.
10159 * config/arm/arm.md: Likewise.
10160 * config/avr/avr.h: Likewise.
10161 * config/cris/cris.md: Likewise.
10162 * config/d30v/d30v.h: Likewise.
10163 * config/frv/frv.c: Likewise.
10164 * config/frv/frv.h: Likewise.
10165 * config/h8300/h8300.c: Likewise.
10166 * config/h8300/h8300.h: Likewise.
10167 * config/h8300/h8300.md: Likewise.
10168 * config/i386/cygwin.h: Likewise.
10169 * config/i386/i386.h: Likewise.
10170 * config/i386/sysv3.h: Likewise.
10171 * config/i960/i960.h: Likewise.
10172 * config/ia64/ia64.h: Likewise.
10173 * config/ia64/ia64.md: Likewise.
10174 * config/ip2k/ip2k.h: Likewise.
10175 * config/m32r/m32r.h: Likewise.
10176 * config/m68k/m68k.h: Likewise.
10177 * config/m88k/m88k.h: Likewise.
10178 * config/mcore/mcore.c: Likewise.
10179 * config/mcore/mcore.h: Likewise.
10180 * config/mcore/mcore.md: Likewise.
10181 * config/mips/mips.h: Likewise.
10182 * config/mmix/mmix.h: Likewise.
10183 * config/mmix/mmix.md: Likewise.
10184 * config/ns32k/netbsd.h: Likewise.
10185 * config/ns32k/ns32k.h: Likewise.
10186 * config/ns32k/ns32k.md: Likewise.
10187 * config/pa/pa.h: Likewise.
10188 * config/romp/romp.h: Likewise.
10189 * config/rs6000/rs6000.h: Likewise.
10190 * config/rs6000/rs6000.md: Likewise.
10191 * config/sparc/sparc.h: Likewise.
10192 * config/stormy16/stormy-abi: Likewise.
10193 * config/stormy16/stormy16.h: Likewise.
10194 * config/vax/vax.h: Likewise.
10195
10196 2002-09-23 Kazu Hirata <kazu@cs.umass.edu>
10197
10198 * config/alpha/alpha.h: Remove commented-out macro
10199 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
10200 * config/avr/avr.h: Likewise.
10201 * config/d30v/d30v.h: Likewise.
10202 * config/dsp16xx/dsp16xx.h: Likewise.
10203 * config/i370/i370.h: Likewise.
10204 * config/i386/i386.h: Likewise.
10205 * config/i960/i960.h: Likewise.
10206 * config/m68k/m68k.h: Likewise.
10207 * config/m88k/m88k.h: Likewise.
10208 * config/mips/mips.h: Likewise.
10209 * config/ns32k/ns32k.h: Likewise.
10210 * config/pdp11/pdp11.h: Likewise.
10211 * config/romp/romp.h: Likewise.
10212 * config/rs6000/rs6000.h: Likewise.
10213 * config/s390/s390.h: Likewise.
10214 * config/sh/sh.h: Likewise.
10215 * config/sparc/sparc.h: Likewise.
10216 * config/stormy16/stormy16.h: Likewise.
10217 * config/vax/vax.h: Likewise.
10218
10219 2002-09-23 Kazu Hirata <kazu@cs.umass.edu>
10220
10221 * function.c (push_temp_slots_for_block): Remove.
10222 (push_temp_slots_for_target): Likewise.
10223 (get_target_temp_slot_level): Likewise.
10224 (set_target_temp_slot_level): Likewise.
10225 (get_first_block_beg): Likewise.
10226 * function.h: Remove corresponding prototypes.
10227
10228 2002-09-23 Zack Weinberg <zack@codesourcery.com>
10229
10230 * version.c (version_string): Now const char[].
10231 * version.h: Update to match.
10232
10233 2002-09-23 Richard Henderson <rth@redhat.com>
10234
10235 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
10236 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
10237 (TARGET_SWITCHES): Don't reference them.
10238 * config/i386/i386.c (override_options): Use target_flags_explicit
10239 to examine bits set by the user.
10240
10241 2002-09-23 Dale Johannesen <dalej@apple.com>
10242
10243 * dbxout.c (dbxout_parms): Set current_sym_code for params
10244 passed on stack by invisible reference.
10245
10246 2002-09-23 Richard Earnshaw <rearnsha@arm.com>
10247
10248 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
10249 at least one byte of space.
10250
10251 2002-09-23 Mark Mitchell <mark@codesourcery.com>
10252
10253 * c-common.h (flag_abi_version): Fix typo in comment.
10254 * doc/invoke.texi (flag_abi_version): Document default value.
10255
10256 2002-09-23 Hans-Peter Nilsson <hp@axis.com>
10257
10258 * doc/extend.texi (Extended Asm): Clarify that overlap between
10259 asm-declared register variables used in an asm and the asm clobber
10260 list is not allowed.
10261 * stmt.c (decl_conflicts_with_clobbers_p): New function.
10262 (expand_asm_operands): Keep track of clobbered registers. Call
10263 decl_conflicts_with_clobbers_p for each input and output operand.
10264 If no conflicts found before, also do conflict sanity check when
10265 emitting clobbers.
10266
10267 2002-09-23 Richard Henderson <rth@redhat.com>
10268
10269 * c-common.c (cpp_define_data_format): Remove.
10270 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
10271 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
10272 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
10273 * doc/cpp.texi: Don't document them either.
10274 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
10275 __LONG_LONG_MAX__): Document.
10276 (__TARGET_FLOAT_FORMAT__): Remove.
10277
10278 2002-09-23 Richard Henderson <rth@redhat.com>
10279
10280 * real.c (do_multiply): Normalize U before addition.
10281
10282 2002-09-23 Mark Mitchell <mark@codesourcery.com>
10283
10284 * c-common.c (flag_abi_version): New variable.
10285 * c-common.h (flag_abi_version): Declare it.
10286 * c-opts.c (missing_arg): Add -fabi-version.
10287 (c_common_decode_option): Process -fabi-version.
10288 * doc/invoke.texi (-fabi-version): Document it.
10289 (-Wabi): Add information about bit-fields in unions.
10290
10291 2002-09-22 Roger Sayle <roger@eyesopen.com>
10292
10293 * expr.c (STORE_BY_PIECES_P): New target macro.
10294 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
10295 instead of MOVE_BY_PIECES_P.
10296 * doc/tm.texi: Document this new macro.
10297
10298 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
10299
10300 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
10301 unless -fno-pic or -fno-PIC is specified.
10302
10303 2002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
10304
10305 * c-common.c (preprocessing_trad_p): Define.
10306 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
10307 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
10308 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
10309 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
10310 * pa-linux.h (CPP_PREDEFINES): Delete.
10311 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
10312 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
10313 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
10314 (TARGET_OS_CPP_BUILTINS): Define.
10315 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
10316 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
10317 (SUBTARGET_SWITCHES): Provide default definition.
10318 (TARGET_OPTIONS): Reformat. Use N_() macro.
10319 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
10320 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
10321 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
10322 (TARGET_CPU_CPP_BUILTINS): Define.
10323 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
10324 * doc/invoke.texi (msio, mwsio): Document new hppa options.
10325 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
10326 preprocessing_trad_p().
10327
10328 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
10329
10330 * doc/install.texi: Document behavior of --with-headers and
10331 --with-libs when arguments are omitted.
10332
10333 2002-09-22 Kazu Hirata <kazu@cs.umass.edu>
10334
10335 * dbxout.c: Follow spelling conventions.
10336 * defaults.h: Likewise.
10337 * df.c: Likewise.
10338 * diagnostic.h: Likewise.
10339 * doloop.c: Likewise.
10340 * dwarf2out.c: Likewise.
10341 * dwarfout.c: Likewise.
10342 * emit-rtl.c: Likewise.
10343 * except.c: Likewise.
10344 * explow.c: Likewise.
10345 * expmed.c: Likewise.
10346 * expr.c: Likewise.
10347 * expr.h: Likewise.
10348 * flags.h: Likewise.
10349 * flow.c: Likewise.
10350 * fold-const.c: Likewise.
10351 * function.c: Likewise.
10352 * function.h: Likewise.
10353 * gcc.c: Likewise.
10354 * gcov-io.h: Likewise.
10355 * gcov.c: Likewise.
10356 * gcse.c: Likewise.
10357 * genattrtab.c: Likewise.
10358 * genconfig.c: Likewise.
10359 * genrecog.c: Likewise.
10360 * ggc-page.c: Likewise.
10361 * ggc.h: Likewise.
10362 * global.c: Likewise.
10363 * gthr-win32.h: Likewise.
10364 * integrate.c: Likewise.
10365 * jump.c: Likewise.
10366 * langhooks.c: Likewise.
10367 * langhooks.h: Likewise.
10368 * line-map.h: Likewise.
10369 * local-alloc.c: Likewise.
10370 * longlong.h: Likewise.
10371 * loop.c: Likewise.
10372 * loop.h: Likewise.
10373
10374 Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
10375
10376 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
10377
10378 Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
10379
10380 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
10381 for -Os/TARGET_64BIT too.
10382
10383 2002-09-21 Kazu Hirata <kazu@cs.umass.edu>
10384
10385 * ChangeLog: Follow spelling conventions.
10386 * ChangeLog.0: Likewise.
10387 * ChangeLog.1: Likewise.
10388 * ChangeLog.2: Likewise.
10389 * ChangeLog.3: Likewise.
10390 * ChangeLog.4: Likewise.
10391 * ChangeLog.5: Likewise.
10392 * ChangeLog.6: Likewise.
10393 * FSFChangeLog.10: Likewise.
10394 * FSFChangeLog.11: Likewise.
10395 * alias.c: Likewise.
10396 * basic-block.h: Likewise.
10397 * c-aux-info.c: Likewise.
10398 * c-common.c: Likewise.
10399 * c-common.h: Likewise.
10400 * c-decl.c: Likewise.
10401 * c-format.c: Likewise.
10402 * c-semantics.c: Likewise.
10403 * c-typeck.c: Likewise.
10404 * calls.c: Likewise.
10405 * cfganal.c: Likewise.
10406 * cfgloop.c: Likewise.
10407 * collect2.c: Likewise.
10408 * combine.c: Likewise.
10409 * conflict.c: Likewise.
10410 * cppexp.c: Likewise.
10411 * cppfiles.c: Likewise.
10412 * cpphash.h: Likewise.
10413 * cppinit.c: Likewise.
10414 * cpplex.c: Likewise.
10415 * cpplib.c: Likewise.
10416 * cpplib.h: Likewise.
10417 * cppmacro.c: Likewise.
10418 * cse.c: Likewise.
10419
10420 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
10421
10422 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
10423 LINK_SPEC.
10424 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
10425 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
10426 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
10427
10428 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
10429
10430 PR opt/7930
10431 * cse.c (fold_rtx): Calculate old_cost before we fold each
10432 operand.
10433
10434 2002-09-21 Richard Henderson <rth@redhat.com>
10435
10436 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
10437 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
10438 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
10439 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
10440 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
10441 * doc/cpp.texi: Don't document them.
10442
10443 2002-09-21 Richard Henderson <rth@redhat.com>
10444
10445 * c-common.c (builtin_define_float_constants): Use real_format
10446 to get the floating-point parameters.
10447
10448 2002-09-21 Richard Henderson <rth@redhat.com>
10449
10450 * real.c (struct real_format): Move to real.h.
10451 (real_format_for_mode): Rename from fmt_for_mode; update all users;
10452 initialize with ieee defaults.
10453 (real_to_target_fmt, real_from_target_fmt): New.
10454 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
10455 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
10456 ieee_quad_format, i370_single_format, i370_double_format,
10457 c4x_single_format, c4x_extended_format): Rename from s/_format//.
10458 (ieee_quad_format): Fix emin.
10459 (format_for_size, init_real_once): Remove.
10460 * real.h (struct real_format): Move from real.c.
10461 (real_format_for_mode): Declare.
10462 (real_to_target_fmt, real_from_target_fmt): Declare.
10463 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
10464 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
10465 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
10466 i370_single_format, i370_double_format, c4x_single_format,
10467 c4x_extended_format): Declare.
10468 * toplev.c (do_compile): Don't call init_real_once.
10469
10470 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
10471 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
10472
10473 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
10474 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
10475 * config/alpha/alpha.c (override_options): Set real_format_for_mode
10476 for VAX, if enabled.
10477
10478 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
10479 for C4X.
10480
10481 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
10482 * config/i370/i370.c (override_options): New.
10483 * config/i370/i370-protos.h: Update.
10484
10485 * config/i386/i386.c (override_options): Set real_format_for_mode
10486 for Intel 80-bit extended.
10487 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
10488
10489 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
10490 (OVERRIDE_OPTIONS): Move code...
10491 * config/i960/i960.c (i960_initialize): ... here. Set
10492 real_format_for_mode for Intel 80-bit extended.
10493
10494 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
10495 for Intel 80-bit extended, if enabled.
10496
10497 * config/m68k/m68k.c (override_options): Set real_format_for_mode
10498 for Motorola 96-bit extended.
10499
10500 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
10501 * config/vax/vax.c (override_options): New.
10502 * config/vax/vax-protos.h: Update.
10503
10504 2002-09-21 Alan Modra <amodra@bigpond.net.au>
10505
10506 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
10507 #if TARGET_MACHO.
10508
10509 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
10510 insns. Supply missing clobber of scratch reg.
10511
10512 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
10513
10514 * config/m32r/m32r.c: Follow spelling conventions.
10515 * config/m32r/m32r.h: Likewise.
10516 * config/m32r/m32r.md: Likewise.
10517 * config/m68k/m68k.c: Likewise.
10518 * config/m88k/m88k.c: Likewise.
10519 * config/mcore/mcore.c: Likewise.
10520 * config/mips/mips.c: Likewise.
10521 * config/mips/mips.h: Likewise.
10522 * config/mmix/mmix.c: Likewise.
10523 * config/mn10200/mn10200.c: Likewise.
10524 * config/ns32k/ns32k.h: Likewise.
10525 * config/pa/pa.c: Likewise.
10526 * config/pa/pa64-linux.h: Likewise.
10527 * config/pdp11/pdp11.h: Likewise.
10528 * config/romp/romp.c: Likewise.
10529 * config/romp/romp.h: Likewise.
10530 * config/rs6000/eabi.asm: Likewise.
10531 * config/rs6000/linux64.h: Likewise.
10532 * config/rs6000/rs6000.c: Likewise.
10533 * config/rs6000/rs6000.h: Likewise.
10534 * config/rs6000/rs6000.md: Likewise.
10535 * config/rs6000/sysv4.h: Likewise.
10536 * config/rs6000/xcoff.h: Likewise.
10537
10538 2002-09-20 Jim Wilson <wilson@redhat.com>
10539
10540 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
10541
10542 2002-09-20 Jakub Jelinek <jakub@redhat.com>
10543
10544 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
10545 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
10546 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
10547 (legitimate_address_p): Likewise.
10548 (legitimize_address): Use @gotntpoff and @indntpoff.
10549 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
10550 (output_addr_const_extra): Likewise.
10551
10552 2002-09-20 Jim Wilson <wilson@redhat.com>
10553
10554 * combine.c (try_combine): When split an instruction pair, where the
10555 first has a sign_extend src, verify that the src and dest modes match.
10556
10557 2002-09-20 Richard Henderson <rth@redhat.com>
10558
10559 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
10560 (override_options): Do not initialize them.
10561 (mips_const_double_ok): Allow no fp constants except zero,
10562 and not even that for mips16.
10563 (const_float_1_operand): Use dconst1.
10564 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
10565 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
10566 Don't allow arbitrary constants; fix predicates and C constraint.
10567
10568 2002-09-20 Neil Booth <neil@daikokuya.co.uk>
10569
10570 * cppmacro.c: Don't warn about function-like macros without
10571 '(' during pre-expansion.
10572
10573 2002-09-20 Jim Wilson <wilson@redhat.com>
10574
10575 * config/v850/v850.c (current_function_anonymous_args): Delete.
10576 (expand_prologue): Use current_function_args_info.anonymous_args.
10577 (expand_epilogue): Delete use of current_function_anonymous_args.
10578 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
10579 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
10580 (current_function_anonymous_args): Delete extern declaration.
10581 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
10582
10583 2002-09-20 Geoffrey Keating <geoffk@apple.com>
10584
10585 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
10586 to load_macho_picbase.
10587 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
10588 (load_macho_picbase): Take the symbol to use as a parameter.
10589 (macho_correct_pic): New insn.
10590 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
10591
10592 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
10593 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
10594 (CAN_ELIMINATE): Likewise.
10595 (INITIAL_ELIMINATION_OFFSET): Likewise.
10596 (TOC_REGISTER): Likewise.
10597
10598 2002-09-20 Richard Henderson <rth@redhat.com>
10599
10600 * real.c (real_hash): New.
10601 * real.h: Declare it.
10602 * cse.c (canon_hash): Use it.
10603 * cselib.c (hash_rtx): Likewise.
10604 * emit-rtl.c (const_double_htab_hash): Likewise.
10605 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
10606 * varasm.c (struct rtx_const): Reduce vector size; separate
10607 integer and fp vectors.
10608 (HASHBITS): Remove.
10609 (const_hash_1): Rename from const_hash. Use real_hash. Do not
10610 take modulus MAX_HASH_TABLE.
10611 (const_hash): New. Do take modulus MAX_HASH_TABLE.
10612 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
10613 (SYMHASH): Don't use HASHBITS.
10614 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
10615 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
10616 (simplify_subtraction): Fix kind comparison.
10617 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
10618 Use a union to pun integer array.
10619 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
10620 only hash two words of integral CONST_DOUBLE.
10621
10622 2002-09-20 Steve Ellcey <sje@cup.hp.com>
10623
10624 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
10625 (STARTFILE_PREFIX_SPEC): New.
10626 (LINK_SPEC): Modify.
10627 (LIB_SPEC): Modify.
10628 (LIBGCC_SPEC): New.
10629
10630 2002-09-20 Jakub Jelinek <jakub@redhat.com>
10631
10632 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
10633 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
10634
10635 2002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
10636
10637 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
10638 Add clobber of the condition code register.
10639
10640 2002-09-20 Richard Henderson <rth@redhat.com>
10641
10642 * real.c (do_fix_trunc): Static.
10643 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
10644 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
10645 encode_i370_single, encode_i370_double, encode_c4x_single,
10646 encode_c4x_extended): Add default abort case.
10647
10648 2002-09-20 Richard Henderson <rth@redhat.com>
10649
10650 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
10651 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
10652 (struct realvaluetype): Remove.
10653 (REAL_VALUE_TYPE): Use struct real_value.
10654 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
10655 (test_real_width): New.
10656 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
10657 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
10658 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
10659 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
10660 real_to_integer, real_to_integer2, real_to_decimal,
10661 real_to_hexadecimal, real_from_string, real_from_integer,
10662 real_inf, real_nan, real_2expN, real_convert, real_to_target,
10663 real_from_target): Likewise.
10664 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
10665 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
10666
10667 2002-09-20 Richard Henderson <rth@redhat.com>
10668
10669 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
10670 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
10671 * defaults.h: ... here.
10672 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
10673 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
10674 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
10675 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
10676
10677 2002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
10678
10679 * config/mmix/mmix.md ("negdf2"): Rewrite.
10680 ("*expanded_negdf2"): New.
10681
10682 2002-09-19 Jim Wilson <wilson@redhat.com>
10683
10684 * combine.c (simplify_set): When optimizing a subreg src with a
10685 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
10686
10687 2002-09-19 Dale Johannesen <dalej@apple.com>
10688 * combine.c (make_extraction): Don't create
10689 invalid subreg.
10690
10691 2002-09-19 Roger Sayle <roger@eyesopen.com>
10692
10693 * tree.c (integer_nonzerop): New predicate for nonzero integers.
10694 * tree.h (integer_nonzerop): Add function prototype.
10695 * stmt.c (expand_end_loop): Don't rotate the loop when there
10696 are no instructions in the test, i.e. the loop is unconditional.
10697 (expand_exit_loop_if_false): Optimize RTL generation of loop
10698 tests when the condition is always true or always false.
10699 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
10700 do-loops when the condition is always true.
10701 (genrtl_for_stmt): Optimize RTL generation of for-loops when
10702 the for-expression is empty.
10703
10704 2002-09-19 Zack Weinberg <zack@codesourcery.com>
10705
10706 * gcc.c (use_pipes): New flag.
10707 (process_command): Set it. Adjust check for -pipe conflicting
10708 with -time or -save-temps.
10709 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
10710 %<SWITCH. Drop %| (without a SUFFIX).
10711 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
10712 (give_switch): Third argument eliminated.
10713 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
10714 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
10715 (specs documentation comment): Update.
10716
10717 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
10718 config/svr4.h, config/i386/freebsd-aout.h,
10719 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
10720 config/m68k/openbsd.h, config/mips/openbsd.h,
10721 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
10722 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
10723 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
10724 * config/cris/cris.h: Update comment.
10725
10726 * ada/lang-specs.h: Use %(invoke_as). Straighten out
10727 error messages. Don't use %{^SWITCH}.
10728 * ada/misc.c (gnat_decode_option): Handle -I with a
10729 separate argument.
10730
10731 * f/lang-specs.h: Use %| and %m.
10732 * java/jvspec.c: Use %m and %(invoke_as). Change all
10733 uses of %{<SWITCH} to %<SWITCH.
10734
10735 * doc/invoke.texi: Update documentation of specs.
10736 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
10737
10738 2002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
10739
10740 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
10741 and STRICT_LOW_PART within SET_DEST.
10742 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
10743 splitters, replacing pre-reload splitters.
10744 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
10745 "*zero_extendqihi2_31"): New insns.
10746 ("*zero_extendqihi2_64"): Do not clobber CC.
10747
10748 2002-09-18 Devang Patel <dpatel@apple.com>
10749
10750 * cp/cp-tree.h: New prototype for walk_vtables().
10751 * cp/decl.c (walk_vtables_r): New function.
10752 (struct cp_binding_level): Add new members, namespaces,
10753 names_size and vtables.
10754 (add_decl_to_level): Add decl in namespaces or vtables
10755 chain, if conditions match.
10756 (walk_vtables): New function.
10757 (walk_namespaces_r): Travers separate namespace chain
10758 for namespace decls.
10759 (wrapup_globals_for_namespace): Use names_size instead
10760 of list_length().
10761 * cp/decl2.c (finish_file): Use walk_vtables() instead of
10762 walk_globals() to walk vtable decls.
10763
10764 2002-09-19 Steve Ellcey <sje@cup.hp.com>
10765
10766 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
10767 (DTORS_SECTION_ASM_OP): Ditto.
10768 (READONLY_DATA_SECTION_ASM_OP): Moved.
10769 (DATA_SECTION_ASM_OP): New.
10770 (SDATA_SECTION_ASM_OP): New.
10771 (BSS_SECTION_ASM_OP): New.
10772 (SBSS_SECTION_ASM_OP): New.
10773 (TEXT_SECTION_ASM_OP): New.
10774
10775 2002-09-19 Kazu Hirata <kazu@cs.umass.edu>
10776
10777 * config/fp-bit.c: Follow spelling conventions.
10778 * config/d30v/d30v.c: Likewise.
10779 * config/d30v/d30v.h: Likewise.
10780 * config/fr30/fr30.c: Likewise.
10781 * config/fr30/fr30.h: Likewise.
10782 * config/fr30/fr30.md: Likewise.
10783 * config/frv/frv.c: Likewise.
10784 * config/frv/frv.h: Likewise.
10785 * config/h8300/h8300.c: Likewise.
10786 * config/h8300/lib1funcs.asm: Likewise.
10787 * config/i370/i370.c: Likewise.
10788 * config/i386/i386.h: Likewise.
10789 * config/i386/i386.md: Likewise.
10790 * config/i386/pentium.md: Likewise.
10791 * config/i386/winnt.c: Likewise.
10792 * config/i960/i960.c: Likewise.
10793 * config/ia64/ia64.h: Likewise.
10794 * config/ip2k/ip2k.c: Likewise.
10795 * config/ip2k/ip2k.h: Likewise.
10796 * config/ip2k/ip2k.md: Likewise.
10797 * config/ip2k/libgcc.S: Likewise.
10798
10799 2002-09-19 Stephen Clarke <stephen.clarke@superh.com>
10800
10801 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
10802 (GOTOFF_P): Extend to allow gotoff plus constant.
10803
10804 2002-09-18 Richard Henderson <rth@redhat.com>
10805
10806 * ifcvt.c (noce_process_if_block): Correctly detect X modified
10807 with INSN_B before COND_EARLIEST. Don't check A and B for
10808 modification in condition range. Reorder INSN_B for A==B properly.
10809 (if_convert): Iterate until no matches for a block.
10810
10811 2002-09-18 Richard Henderson <rth@redhat.com>
10812
10813 * calls.c (store_one_arg): Rename default_align to parm_align;
10814 always adjust parm_align for downward padding.
10815
10816 2002-09-18 Richard Henderson <rth@redhat.com>
10817
10818 * toplev.c (backend_init): Move init_real_once invocation ...
10819 (do_compile): ... here.
10820
10821 2002-09-18 Richard Henderson <rth@redhat.com>
10822
10823 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
10824 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
10825
10826 2002-09-18 Richard Henderson <rth@redhat.com>
10827
10828 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
10829
10830 2002-09-19 Alan Modra <amodra@bigpond.net.au>
10831
10832 * config/rs6000/rs6000.md: (floatdisf2): Rename to
10833 floatdisf2_internal1.
10834 (floatdisf2): New define_expand.
10835 (floatdisf2_internal2): Likewise.
10836
10837 2002-09-18 Richard Henderson <rth@redhat.com>
10838
10839 * real.c (sticky_rshift_significand): Collect sticky as
10840 unsigned long, not bool.
10841
10842 2002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
10843
10844 * config/s390/s390.c (s390_address_cost): New function.
10845 config/s390/s390-protos.h (s390_address_cost): Add prototype.
10846 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
10847 (RTX_COST): Use COSTS_N_INSNS.
10848
10849 2002-09-18 Douglas Rupp <rupp@gnat.com>
10850 Donn Terry <donnte@microsoft.com>
10851
10852 * stor-layout.c (place_field): Handle alignment of whole
10853 structures when MSVC compatible bitfields are involved.
10854 Change method of computing location of MS bitfields to
10855 be compatible with #pragma pack(n).
10856
10857 * tree.h (record_layout_info): Add new field
10858 remaining_in_alignment.
10859
10860 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
10861 (pragma pack): Add paragraph on MSVC bitfield packing.
10862
10863 2002-09-18 Richard Earnshaw (reanrsha@arm.com)
10864
10865 PR optimization/7967
10866 * arm.md (ne_zeroextractsi): Add clobber of the condition code
10867 register.
10868
10869 2002-09-18 Kazu Hirata <kazu@cs.umass.edu>
10870
10871 * config/s390/s390.c: Follow spelling conventions.
10872 * config/sh/lib1funcs.asm: Likewise.
10873 * config/sh/sh.c: Likewise.
10874 * config/sh/sh.h: Likewise.
10875 * config/sparc/sparc.c: Likewise.
10876 * config/sparc/sparc.h: Likewise.
10877 * config/sparc/sparc.md: Likewise.
10878 * config/stormy16/stormy16.c: Likewise.
10879 * config/stormy16/stormy16.h: Likewise.
10880 * config/v850/v850.c: Likewise.
10881 * config/v850/v850.h: Likewise.
10882 * config/vax/vax.c: Likewise.
10883 * config/vax/vax.h: Likewise.
10884
10885 2002-09-18 Nick Clifton <nickc@redhat.com>
10886
10887 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
10888 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
10889 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
10890
10891 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
10892
10893 * function.c (max_parm_reg_num): Remove.
10894 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
10895 drop_through_at_end_p, move_cleanups_up,
10896 expand_end_case_dummy, case_index_expr_type): Likewise.
10897 * stor-layout.c (pos_from_byte): Likewise.
10898 * tree.c (chain_member_value, chain_member_purpose, listify,
10899 tree_int_cst_msb, index_type_equal): Likewise.
10900 * tree.h: Remove prototypes for unused functions.
10901
10902 2002-09-17 Zack Weinberg <zack@codesourcery.com>
10903
10904 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
10905 statement that the only translation is to en_UK.
10906
10907 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
10908
10909 * config/alpha/alpha.c: Follow spelling conventions.
10910 * config/alpha/alpha.h: Likewise.
10911 * config/alpha/alpha.md: Likewise.
10912 * config/arc/arc.h: Likewise.
10913 * config/arm/arm.c: Likewise.
10914 * config/arm/arm.h: Likewise.
10915 * config/arm/arm.md: Likewise.
10916 * config/arm/pe.c: Likewise.
10917 * config/arm/unknown-elf.h: Likewise.
10918 * config/avr/avr.c: Likewise.
10919 * config/avr/avr.h: Likewise.
10920 * config/c4x/c4x.c: Likewise.
10921 * config/cris/cris.c: Likewise.
10922 * config/cris/cris.h: Likewise.
10923
10924 2002-09-17 Samuel Figueroa <figueroa@apple.com>
10925
10926 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
10927 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
10928 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
10929
10930 2002-09-17 Dale Johannesen <dalej@apple.com>
10931
10932 * cfgcleanup.c (try_forward_edges): Do not forward a
10933 branch to just after a loop exit before loop optimization;
10934 this interfered with doloop detection.
10935
10936 2002-09-17 Nick Clifton <nickc@redhat.com>
10937
10938 * config/arm/arm.c (output_return_instruction): Do not
10939 writeback the stack pointer when it is being loaded.
10940 (arm_output_epilogue): Likewise.
10941
10942 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
10943
10944 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
10945 generate a pseudo reg that receives the result of a libcall.
10946 (prepare_float_lib_cmp): Likewise.
10947
10948 2002-09-17 Steve Ellcey <sje@cup.hp.com>
10949
10950 * config/ia64/elf.h: Remove CPP_PREDEFINES.
10951
10952 Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
10953
10954 Fix PR/7014 and related objc bugs:
10955 * c-typeck.c (comp_target_types): Added a reflexive argument.
10956 Pass it to ObjC when/if calling objc_comptypes(). Updated all
10957 callers to provide the appropriate reflexive argument.
10958 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
10959 typechecking for all cases of comparisons and assignments,
10960 particularly the obscure and less common ones involving protocols.
10961
10962 2002-09-17 Nick Clifton <nickc@redhat.com>
10963
10964 * machmode.def (V1DImode): New mode. A single element vector.
10965 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
10966 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
10967 * tree.c (build_common_tree_nodes_2): Build
10968 unsigned_V1DI_type_node and V1D1_type_node.
10969 * c-common.c (c_common_type_for_mode): Return
10970 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
10971 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
10972
10973 Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
10974
10975 * doc/objc.texi (Constant string objects): Extended documentation
10976 to make clear that the constant string class ivar layout is
10977 completely fixed.
10978
10979 2002-09-17 Roger Sayle <roger@eyesopen.com>
10980
10981 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
10982 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
10983
10984 2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10985
10986 * config/mips/mips.c (save_restore_insns): Remove unused variable.
10987 * gcc.c (make_relative_prefix): Likewise.
10988 * loop.c (check_final_value): Likewise.
10989 * jump.c (init_label_info): Remove return value.
10990 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
10991
10992 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10993
10994 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
10995 (ASM_PN_FORMAT): Define.
10996
10997 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10998
10999 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
11000 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
11001 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
11002 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
11003 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
11004 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
11005 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
11006 Delete.
11007 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
11008 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
11009 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
11010
11011 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
11012 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
11013
11014 2002-09-16 Richard Henderson <rth@redhat.com>
11015
11016 * expr.c (emit_block_move): Set memory block size as appropriate
11017 for the copy.
11018
11019 2002-09-16 Richard Henderson <rth@redhat.com>
11020
11021 PR fortran/3924
11022 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
11023
11024 2002-09-16 Richard Henderson <rth@redhat.com>
11025
11026 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
11027 as well as OFFSET for BITPOS.
11028
11029 2002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
11030
11031 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
11032 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
11033 winchip2 and c3.
11034 * doc/invoke.texi: Mention new aliases.
11035
11036 2002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
11037
11038 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
11039 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
11040 downward.
11041 * function.c (pad_below): Always compile.
11042 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
11043 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
11044 Pad below when the argument is not in a register and the padding
11045 direction is downward.
11046
11047 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
11048 (PAD_VARARGS_DOWN): Define.
11049 * pa.c (function_arg_padding): Revise padding directions to make them
11050 compatible with the 32 and 64-bit runtime architecture documentation.
11051 (hppa_va_arg): Add code to handle variable and size zero arguments
11052 passed by reference on TARGET_64BIT. Reformat.
11053 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
11054 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
11055 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
11056 Add comments.
11057 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
11058 (RETURN_IN_MEMORY): Return size zero types in memory.
11059 (FUNCTION_VALUE): Return TFmode in general registers.
11060 (MUST_PASS_IN_STACK): Define.
11061 (FUNCTION_ARG_BOUNDARY): Simplify.
11062 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
11063 by reference.
11064 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
11065
11066 2002-09-16 Richard Henderson <rth@redhat.com>
11067
11068 * real.c (do_fix_trunc): New.
11069 (real_arithmetic): Call it.
11070 * simplify-rtx.c (simplify_unary_operation): Handle FIX
11071 with a floating-point result mode.
11072
11073 2002-09-16 Richard Henderson <rth@redhat.com>
11074
11075 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
11076 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
11077 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
11078 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
11079 * builtins.c (fold_builtin_nan): New.
11080 (fold_builtin): Call it.
11081 * real.c (real_nan): Parse a non-empty string.
11082 (round_for_format): Fix NaN significand truncation.
11083 * real.h (real_nan): Return bool.
11084 * doc/extend.texi: Document new builtins.
11085
11086 2002-09-16 Jason Merrill <jason@redhat.com>
11087 Danny Smith <dannysmith@users.sourceforge.net>
11088
11089 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
11090 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
11091 (i386_pe_mark_dllimport): Not here.
11092
11093 2002-09-16 Nathan Sidwell <nathan@codesourcery.com>
11094
11095 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
11096
11097 2002-09-16 Geoffrey Keating <geoffk@redhat.com>
11098
11099 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
11100 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
11101 < 64.
11102 (rs6000_emit_cmove): Use real_isinf not target_isinf.
11103
11104 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
11105
11106 * calls.c (emit_library_call_value_1): Don't refer to
11107 hard_libcall_value.
11108 * optabs.c (prepare_float_lib_cmp): Likewise.
11109
11110 2002-09-16 Geoffrey Keating <geoffk@apple.com>
11111
11112 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
11113 mangling.
11114
11115 The following changes are merged from pch-branch:
11116
11117 * doc/gty.texi (GTY Options): Document %a.
11118 * gengtype.c (do_scalar_typedef): New function.
11119 (process_gc_options): Handle `length' option.
11120 (set_gc_used_type): A pointer to an array of structures doesn't
11121 qualify as a pointer to a structure.
11122 (output_escaped_param): Add `%a' escape.
11123 (write_gc_structure_fields): Allow 'desc' on array of unions.
11124 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
11125 do_scalar_typedef.
11126
11127 * gengtype.c (enum rtx_code): Make global.
11128 (rtx_format): Make global.
11129 (rtx_next): New.
11130 (gen_rtx_next): New.
11131 (write_rtx_next): New.
11132 (adjust_field_rtx_def): Skip fields marked by chain_next.
11133 (open_base_files): Delete redundant prototype.
11134 (write_enum_defn): New.
11135 (output_mangled_typename): Correct abort call.
11136 (write_gc_marker_routine_for_structure): Handle chain_next and
11137 chain_prev options.
11138 (finish_root_table): Don't output redundant \n.
11139 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
11140 * c-tree.h (union lang_tree_node): Add chain_next option.
11141
11142 * gengtype.h (NUM_PARAM): New definition.
11143 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
11144 * gengtype.c (find_param_structure): New.
11145 (adjust_field_type): Handle param<n>_is option.
11146 (process_gc_options): Detect use_params option. Update callers.
11147 (set_gc_used_type): Add 'param' parameter, update callers. Handle
11148 'use_params' option.
11149 (open_base_files): Add splay-tree.h to list of files included.
11150 (output_mangled_typename): New.
11151 (write_gc_structure_fields): Update 'param' parameter to support
11152 multiple parameters. Change name mangling. Allow parameterized
11153 fields to have an apparent scalar type. Handle param<n>_is options,
11154 use_param option.
11155 (write_gc_marker_routine_for_structure): Update for change to name
11156 mangling. Better guess the output file for parameterized types.
11157 (write_gc_types): Update for change to name mangling.
11158 (write_gc_root): Update for change to name mangling. Handle (ignore)
11159 param<n>_is options.
11160 * doc/gty.texi (GTY Options): Add description of param<n>_is
11161 options, use_params option.
11162 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
11163 * gengtype-lex.l: Produce token for param<n>_is.
11164 * gengtype-yacc.y: Parse param<n>_is.
11165
11166 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
11167
11168 * rtl.c: Update comment describing rtx_format.
11169 * rtl.h (union rtunion): Separate definition and typedef.
11170 (struct rtx_def): Use gengtype to mark.
11171 * Makefile.in (gengtype.o): Also depend on rtl.def.
11172 * ggc.h (ggc_mark_rtx_children): Delete prototype.
11173 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
11174 * ggc-common.c (ggc_mark_rtx_children): Delete.
11175 (ggc_mark_rtx_children_1): Delete.
11176 (gt_ggc_m_rtx_def): Delete.
11177 * gengtype.c (adjust_field_rtx_def): New.
11178 (adjust_field_type): Call adjust_field_rtx_def.
11179 (write_gc_structure_fields): Add 'default' case to switch if none
11180 is specified; remove unused code.
11181
11182 * tree.h (struct tree_exp): Update for change to meaning
11183 of special.
11184 * gengtype.c (adjust_field_tree_exp): New function.
11185 (adjust_field_type): Handle `tree_exp' special here.
11186 (write_gc_structure_fields): Don't handle `tree_exp' special here.
11187 Handle new `dot' option.
11188
11189 * gengtype.h: Make `info' a pointer-to-const.
11190 * gengtype-yacc.y (yacc_ids): Use xasprintf.
11191
11192 * gengtype.c (write_gc_structure_fields): Remove implementation
11193 of `always' option, add `default' option.
11194 * doc/gty.texi (GTY Options): Remove documentation of `always',
11195 add `default'.
11196
11197 2002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
11198
11199 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
11200
11201 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11202
11203 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
11204
11205 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
11206 instead of the *-protos.h file directly.
11207 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
11208 * darwin.c (machopic_output_stub): Move prototype ...
11209 * darwin-protos.h (machopic_output_stub): ... here.
11210 * rs6000-protos.h (machopic_output_stub): Don't declare.
11211
11212 2002-09-16 Richard Henderson <rth@redhat.com>
11213
11214 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
11215
11216 2002-09-16 Richard Henderson <rth@redhat.com>
11217
11218 * real.c, real.h: Rewrite from scratch.
11219
11220 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
11221 (paranoia): New target.
11222 * builtins.c (fold_builtin_inf): Use new real.h interface.
11223 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
11224 * c-lex.c (interpret_float): Likewise.
11225 * emit-rtl.c (gen_lowpart_common): Likewise.
11226 * optabs.c (expand_float): Use real_2expN.
11227 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
11228 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
11229 (FLOAT_WORDS_BIG_ENDIAN): New.
11230 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
11231 directly to REAL_VALUE_NEGATIVE.
11232 * loop.c (canonicalize_condition): Likewise.
11233 * simplify-rtx.c: Include tree.h.
11234 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
11235 with floating-point result modes.
11236 * toplev.c (backend_init): Call init_real_once.
11237
11238 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
11239 * tree.c (build_real): Likewise.
11240 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
11241 float_values, inited_float_values, check_float_value): Remove.
11242 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
11243 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
11244 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
11245 (VAX_HALFWORD_ORDER): Remove.
11246
11247 2002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
11248
11249 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
11250 (s390_load_address): ... this new function.
11251 (s390_decompose_address): Allow the argument pointer and all
11252 virtual registers as 'pointer' registers.
11253 (s390_expand_plus_operand): Use s390_load_address.
11254 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
11255 ("force_la_31"): New insn pattern.
11256 config/s390/s390-protos.h (legitimize_la_operand): Remove.
11257 (s390_load_address): Add prototype.
11258
11259 * config/s390/s390.c: Include "optabs.h".
11260 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
11261 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
11262 s390_expand_cmpstr): Add prototypes.
11263 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
11264 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
11265 for operands 0 and 1 to "memory_operand". Add type attribute.
11266 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
11267 for operands 0 and 1 to "memory_operand". Add type attribute.
11268 ("movstrdi_long", "movstrsi_long"): Remove.
11269 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
11270 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
11271 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
11272 ("clrstrsico"): Remove, replace by ...
11273 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
11274 ("clrstrsi_64"): Rename to "clrstr_long_64".
11275 ("clrstrsi_31"): Rename to "clrstr_long_31".
11276 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
11277 ("cmpstr_const"): Remove, replace by ...
11278 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
11279 ("cmpstr_64"): Rename to "cmpstr_long_64".
11280 ("cmpstr_31"): Rename to "cmpstr_long_31".
11281
11282 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
11283
11284 * ABOUT-NLS: Follow spelling conventions.
11285 * ChangeLog: Likewise.
11286 * ChangeLog.1: Likewise.
11287 * ChangeLog.2: Likewise.
11288 * ChangeLog.3: Likewise.
11289 * ChangeLog.4: Likewise.
11290 * ChangeLog.5: Likewise.
11291 * ChangeLog.6: Likewise.
11292 * FSFChangeLog.10: Likewise.
11293 * FSFChangeLog.11: Likewise.
11294 * c-common.c: Likewise.
11295 * c-lex.c: Likewise.
11296 * c-objc-common.c: Likewise.
11297 * cppexp.c: Likewise.
11298 * cppinit.c: Likewise.
11299 * cpplex.c: Likewise.
11300 * doloop.c: Likewise.
11301 * flow.c: Likewise.
11302 * function.c: Likewise.
11303 * integrate.c: Likewise.
11304 * loop.c: Likewise.
11305 * reg-stack.c: Likewise.
11306 * reload.h: Likewise.
11307 * ssa.c: Likewise.
11308
11309 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11310
11311 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
11312 * vmsdbgout.c: Include "target.h".
11313
11314 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
11315
11316 * ChangeLog: Follow spelling conventions.
11317 * ChangeLog.0: Likewise.
11318 * ChangeLog.1: Likewise.
11319 * ChangeLog.2: Likewise.
11320 * ChangeLog.4: Likewise.
11321 * ChangeLog.6: Likewise.
11322 * config.gcc: Likewise.
11323 * dwarfout.c: Likewise.
11324 * reload1.c: Likewise.
11325 * simplify-rtx.c: Likewise.
11326 * unwind-sjlj.c: Likewise.
11327 * config/avr/avr.h: Likewise.
11328 * config/d30v/d30v.h: Likewise.
11329 * config/frv/frv.c: Likewise.
11330 * config/frv/frv.h: Likewise.
11331 * config/ip2k/ip2k.h: Likewise.
11332 * config/m88k/m88k-move.sh: Likewise.
11333 * config/stormy16/stormy16.c: Likewise.
11334 * config/stormy16/stormy16.h: Likewise.
11335 * doc/extend.texi: Likewise.
11336 * doc/interface.texi: Likewise.
11337 * doc/invoke.texi: Likewise.
11338 * doc/md.texi: Likewise.
11339 * doc/rtl.texi: Likewise.
11340 * doc/tm.texi: Likewise.
11341 * doc/trouble.texi: Likewise.
11342 * ginclude/float.h: Likewise.
11343 * treelang/treelang.texi: Likewise.
11344
11345 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11346
11347 * i386-protos.h (i386_pe_dllexport_name_p,
11348 i386_pe_dllimport_name_p, i386_pe_unique_section,
11349 i386_pe_declare_function_type, i386_pe_record_external_function,
11350 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
11351 prototype.
11352 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
11353 * i386/t-interix (winnt.o): Likewise.
11354
11355 * v850-protos.h (v850_output_addr_const_extra): Prototype.
11356
11357 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
11358
11359 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
11360 MIPS ABI CPP macros.
11361 (TARGET_CPU_CPP_BUILTINS): Redefine.
11362 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
11363 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
11364
11365 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11366
11367 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
11368
11369 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
11370
11371 * ChangeLog: Follow spelling conventions.
11372 * ChangeLog.0: Likewise.
11373 * ChangeLog.1: Likewise.
11374 * ChangeLog.2: Likewise.
11375 * ChangeLog.3: Likewise.
11376 * ChangeLog.4: Likewise.
11377 * ChangeLog.5: Likewise.
11378 * ChangeLog.6: Likewise.
11379 * FSFChangeLog.10: Likewise.
11380 * FSFChangeLog.11: Likewise.
11381 * c-common.c: Likewise.
11382 * c-common.h: Likewise.
11383 * c-format.c: Likewise.
11384 * c-opts.c: Likewise.
11385 * cpplib.c: Likewise.
11386 * langhooks.h: Likewise.
11387 * real.c: Likewise.
11388 * reg-stack.c: Likewise.
11389 * toplev.c: Likewise.
11390 * config/arm/arm.c: Likewise.
11391 * config/arm/arm.md: Likewise.
11392 * config/arm/linux-gas.h: Likewise.
11393 * config/arm/netbsd.h: Likewise.
11394 * config/c4x/c4x.c: Likewise.
11395 * config/c4x/c4x.h: Likewise.
11396 * config/c4x/c4x.md: Likewise.
11397 * config/c4x/libgcc.S: Likewise.
11398 * config/fr30/fr30.md: Likewise.
11399 * config/frv/frv.md: Likewise.
11400 * config/ia64/ia64.md: Likewise.
11401 * config/mips/mips.h: Likewise.
11402 * config/mn10300/mn10300.c: Likewise.
11403 * config/stormy16/stormy16.c: Likewise.
11404 * config/v850/v850.md: Likewise.
11405 * doc/extend.texi: Likewise.
11406 * doc/invoke.texi: Likewise.
11407 * doc/md.texi: Likewise.
11408
11409 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
11410
11411 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
11412 library if -pthread is specified.
11413
11414 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
11415
11416 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
11417 for --enable-threads=yes and --enable-threads=posix.
11418
11419 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
11420
11421 * config/sparc/cypress.md: Replace Sparc with SPARC.
11422 * config/sparc/freebsd.h: Likewise.
11423 * config/sparc/gmon-sol2.c: Likewise.
11424 * config/sparc/hypersparc.md: Likewise.
11425 * config/sparc/lb1spc.asm: Likewise.
11426 * config/sparc/lb1spl.asm: Likewise.
11427 * config/sparc/linux.h: Likewise.
11428 * config/sparc/linux64.h: Likewise.
11429 * config/sparc/lynx.h: Likewise.
11430 * config/sparc/sol2.h: Likewise.
11431 * config/sparc/sparc-modes.def: Likewise.
11432 * config/sparc/sparc.c: Likewise.
11433 * config/sparc/sparc.h: Likewise.
11434 * config/sparc/sparc.md: Likewise.
11435 * config/sparc/sparclet.md: Likewise.
11436 * config/sparc/supersparc.md: Likewise.
11437 * config/sparc/sysv4.h: Likewise.
11438 * config/sparc/vxsim.h: Likewise.
11439 * config/sparc/vxsparc64.h: Likewise.
11440
11441 2002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11442
11443 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
11444 * collect2.c (ignore_library, aix_std_libs): Move into the context
11445 where it is used.
11446 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
11447 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
11448 * m88k.c (output_call): Wrap variables with macro controlling use.
11449 * rs6000.md: Likewise. Const-ify variable.
11450 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
11451 * final.c (only_leaf_regs_used): Likewise.
11452 * regrename.c (maybe_mode_change): Mark parameter with
11453 ATTRIBUTE_UNUSED.
11454 * reload.c (find_valid_class): Likewise. Likewise for variable.
11455 (find_reloads_address_1): Likewise.
11456 * varasm.c (weak_finish): Wrap variable with macro controlling use.
11457
11458 2002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
11459
11460 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
11461
11462 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
11463
11464 * ChangeLog: Follow spelling conventions.
11465 * ChangeLog.0: Likewise.
11466 * ChangeLog.2: Likewise.
11467 * ChangeLog.3: Likewise.
11468 * ChangeLog.4: Likewise.
11469 * ChangeLog.5: Likewise.
11470 * ChangeLog.6: Likewise.
11471 * cppfiles.c: Likewise.
11472 * cppinit.c: Likewise.
11473 * cpplib.h: Likewise.
11474 * cse.c: Likewise.
11475 * debug.h: Likewise.
11476 * df.c: Likewise.
11477 * dominance.c: Likewise.
11478 * hashtable.c: Likewise.
11479 * hashtable.h: Likewise.
11480 * loop.c: Likewise.
11481 * config/arm/README-interworking: Likewise.
11482 * config/arm/arm.c: Likewise.
11483 * config/arm/arm.h: Likewise.
11484 * config/arm/arm.md: Likewise.
11485 * config/dsp16xx/dsp16xx.h: Likewise.
11486 * config/frv/frv.c: Likewise.
11487 * config/frv/frv.h: Likewise.
11488 * config/ip2k/ip2k.h: Likewise.
11489 * config/rs6000/rs6000.c: Likewise.
11490 * config/stormy16/stormy-abi: Likewise.
11491 * config/stormy16/stormy16.h: Likewise.
11492 * config/v850/v850.c: Likewise.
11493
11494 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
11495
11496 * loop.c: Fix a comment typo.
11497
11498 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
11499
11500 * config/fr30/fr30.h: Fix comment typos.
11501 * config/frv/frv.c: Likewise.
11502 * config/i386/xmmintrin.h: Likewise.
11503 * config/mips/mips.c: Likewise.
11504 * config/sh/sh.c: Likewise.
11505
11506 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
11507
11508 * haifa-sched.c: Follow spelling conventions.
11509 * regclass.c: Likewise.
11510 * regrename.c: Likewise.
11511 * config/fp-bit.c: Likewise.
11512 * config/frv/frv.h: Likewise.
11513 * config/m88k/m88k.c: Likewise.
11514 * config/mcore/mcore.c: Likewise.
11515 * config/rs6000/darwin.h: Likewise.
11516 * config/rs6000/gnu.h: Likewise.
11517 * config/rs6000/linux.h: Likewise.
11518 * config/rs6000/linux64.h: Likewise.
11519 * config/rs6000/rs6000.c: Likewise.
11520 * config/rs6000/rs6000.h: Likewise.
11521 * config/sh/sh.c: Likewise.
11522 * config/sparc/sparc.c: Likewise.
11523 * config/sparc/ultra1_2.md: Likewise.
11524
11525 2002-09-14 Stephane Carrez <stcarrez@nerim.fr>
11526
11527 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
11528 memory operand when source is 0 (K constraint).
11529 ("movsi_internal"): Likewise.
11530 ("movdf_internal"): Likewise.
11531 ("movsf_internal"): Likewise.
11532
11533 2002-09-14 Alan Modra <amodra@bigpond.net.au>
11534
11535 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
11536 targetm.binds_local_p to set SYMBOL_REF_FLAG.
11537 (rs6000_xcoff_encode_section_info): Likewise.
11538 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11539
11540 2002-09-10 Theodore A. Roth <troth@verinet.com>
11541
11542 * gcc/config/avr/avr.h: Set default options for C++ for avr.
11543
11544 2002-09-13 Roger Sayle <roger@eyesopen.com>
11545
11546 * stmt.c (struct nexting): Remove unused alt_end_label field.
11547 (expand_start_loop): Delete initialization of alt_end_label.
11548 (expand_start_null_loop): Likewise.
11549 (expand_exit_loop_if_false): Delete updating of alt_end_label.
11550
11551 2002-09-13 Richard Henderson <rth@redhat.com>
11552
11553 * Makefile.in (toplev.o): Depend on real.h.
11554 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
11555
11556 2002-09-14 Alan Modra <amodra@bigpond.net.au>
11557
11558 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
11559 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
11560 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
11561
11562 2002-09-13 Nathan Sidwell <nathan@codesourcery.com>
11563
11564 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
11565
11566 2002-09-13 Steve Ellcey <sje@cup.hp.com>
11567
11568 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
11569 ia64*-*-linux*): Set extra_parts.
11570 * config/ia64/t-aix (EXTRA_PARTS): Remove.
11571 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
11572
11573 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
11574
11575 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
11576 * config/h8300/h8300.c: Likewise.
11577 * config/h8300/h8300.h: Likewise.
11578 * config/h8300/h8300.md: Likewise.
11579 * doc/invoke.texi: Likewise.
11580
11581 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
11582
11583 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
11584
11585 2002-09-13 Richard Henderson <rth@redhat.com>
11586
11587 * config/alpha/alpha.md (attr type): Add callpal.
11588 (imb, trap, load_tp, set_tp): Use it.
11589 * config/alpha/ev4.md (ev4_callpal): New.
11590 * config/alpha/ev5.md (ev5_callpal): New.
11591 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
11592 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
11593 (alphaev5_insn_pipe): Likewise.
11594
11595 2002-09-13 Andreas Jaeger <aj@suse.de>
11596
11597 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
11598
11599 2002-09-13 Steve Ellcey <sje@cup.hp.com>
11600
11601 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
11602 LIB2ADDEH): New, set to NULL.
11603 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
11604
11605 2002-09-13 Steve Ellcey <sje@cup.hp.com>
11606
11607 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
11608 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
11609 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
11610 Add declarations.
11611 (_U_Qfneg): Remove.
11612
11613 2002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
11614
11615 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
11616 for H8/300, H8S aa:8 mode.
11617 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
11618 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
11619 for H8/300 aa:8 mode.
11620
11621 2002-09-13 Hartmut Penner <hpenner@de.ibm.com>
11622
11623 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
11624 insns.
11625
11626 2002-09-12 Richard Henderson <rth@redhat.com>
11627
11628 * Makefile.in (HOST_PRINT): Use print-rtl1.o
11629 (print-rtl.o): Don't define GENERATOR_FILE.
11630 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
11631 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
11632 unless GENERATOR_FILE.
11633
11634 2002-09-12 Stan Shebs <shebs@apple.com>
11635
11636 * config/darwin.h (USER_LABEL_PREFIX): Define here...
11637 * config/i386/darwin.h: ... instead of here.
11638
11639 * target.h (struct gcc_target): New field
11640 terminate_dw2_eh_frame_info.
11641 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11642 (TARGET_INITIALIZER): Add it.
11643 * dwarf2out.c (output_call_frame_info): Use target hook.
11644 * dwarf2asm.c (dw2_asm_output_delta): Use macro
11645 ASM_OUTPUT_DWARF_DELTA if defined.
11646 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
11647 (ASM_OUTPUT_DWARF_DELTA): Ditto.
11648 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
11649 (ASM_OUTPUT_DWARF_PCREL): Ditto.
11650 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
11651 (powerpc-*-darwin*): Ditto.
11652 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
11653 to work correctly for Darwin.
11654 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
11655 (STARTFILE_SPEC): Add crtbegin.o.
11656 (ENDFILE_SPEC): Define.
11657 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
11658 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
11659 (ASM_OUTPUT_DWARF_DELTA): Define.
11660 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11661 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
11662
11663 2002-09-13 Alan Modra <amodra@bigpond.net.au>
11664
11665 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
11666 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
11667 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
11668
11669 2002-09-12 Zack Weinberg <zack@codesourcery.com>
11670
11671 * toplev.c: Move default definition of USER_LABEL_PREFIX...
11672 * defaults.h: ... here.
11673
11674 2002-09-12 Richard Henderson <rth@redhat.com>
11675
11676 * vax.c: Include tree.h earlier.
11677
11678 2002-09-12 Stan Shebs <shebs@apple.com>
11679
11680 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
11681 (machopic_operand_p): Ditto.
11682
11683 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11684
11685 * config/arm/arm.c (arm_compute_initial_elimination_offset):
11686 Fix a comment typo.
11687
11688 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11689
11690 * toplev.c (do_abort): Fix a comment typo.
11691
11692 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11693
11694 * cselib.c: Fix comment formatting.
11695 * gengtype.c: Likewise.
11696
11697 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11698
11699 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
11700 (udivmodhi4): Likewise.
11701
11702 2002-09-12 Graham Stott <graham.stott@btinternet.com>
11703 Roger Sayle <roger@eyesopen.com>
11704
11705 * i386.c (any_fp_register_operand, fp_register_operand,
11706 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
11707 New predicate functions.
11708 * i386-protos.h: Add their prototypes.
11709 * i386.h: Add them to PREDICATE_CODES.
11710 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
11711 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
11712 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
11713 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
11714 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
11715 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
11716 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
11717 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
11718 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
11719 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
11720 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
11721 Use these new predicates to simplify and correct the use of
11722 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
11723
11724 2002-09-12 Jason Merrill <jason@redhat.com>
11725
11726 * diagnostic.c (output_add_identifier): New fn.
11727 * diagnostic.h: Declare it.
11728
11729 * calls.c (store_one_arg): Use size_in_bytes to determine the
11730 amount of space to push.
11731
11732 2002-09-12 Jakub Jelinek <jakub@redhat.com>
11733
11734 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
11735
11736 2002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
11737
11738 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
11739 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
11740 (s390_select_ccmode): Likewise.
11741 (s390_branch_condition_mask): Likewise.
11742 (optimization_options): Do not set flag_branch_on_count.
11743 (s390_split_branches): Handle doloop branches.
11744 (s390_chunkify_pool): Likewise.
11745 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
11746 ("doloop_end"): New expander.
11747 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
11748 associated splitters): New.
11749
11750 2002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11751
11752 * genattrtab.c (simplify_cond): Remove unused variable(s).
11753 * global.c (record_conflicts): Likewise.
11754 * jump.c (rebuild_jump_labels): Likewise.
11755 * loop.c (scan_loop, check_final_value): Likewise.
11756 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
11757 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
11758 * rtlanal.c (reg_set_p): Likewise.
11759 * stmt.c (expand_asm_operands, expand_decl): Likewise.
11760 * genautomata.c (empty_reserv): Remove.
11761 * loop.c (max_luid): Likewise.
11762 * sched-rgn.c (bitlst_table_size): Likewise.
11763
11764 2002-09-11 Nathan Sidwell <nathan@codesourcery.com>
11765
11766 Reimplement gcov format.
11767 * gcov-io.h: Replace.
11768 * gcov.c: Reimplement.
11769 * gcov-iov.c: New file.
11770 * gcov-dump.c: New file.
11771 * libgcc2.c (L_bb): Replace with ...
11772 (L_gcov): ... this.
11773 (struct bb_function_info, struct bb): Remove.
11774 (inhibit_libc): Never inhibit.
11775 (gcov_list, gcov_crc): New static variables.
11776 (gcov_version_mismatch): New static function.
11777 (__bb_exit_func): Renamed to ...
11778 (__gcov_exit): ... here. Made static. Reimplement.
11779 (__gcov_init_func): Rename to ...
11780 (__gcov_init): ... here. Check version, update crc.
11781 (__bb_fork_func): Rename to ...
11782 (__gcov_flush): ... here.
11783 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
11784 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
11785 * calls.c (expand_call): Call __gcov_flush.
11786 * profile.c (bb_file, last_bb_file_name): Remove.
11787 (bbg_file_name): New global variable.
11788 (output_gcov_string): Remove.
11789 (get_exec_counts): Reimplement.
11790 (branch_prob): Reimplement gcov file writing.
11791 (init_branch_prob): Create bbg_file_name, don't create
11792 bb_file_name.
11793 (end_branch_prob): Adjust. Don't remove counter file when
11794 instrumenting ourselves.
11795 (create_profiler): Adjust.
11796 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
11797 point to gcov-io.h.
11798 * Makefile.in (LANGUAGES): Add gcov-dump.
11799 (coverageexts): Remove .bb.
11800 (STAGESTUFF): Add gcov-dump.
11801 (LIB2FUNCS_ST): Replace _bb with _gcov.
11802 (profile.o): Depend on gcov-iov.h.
11803 (final.o): Don't depend on profile.h, gcov.h.
11804 (gcov.o): Depend on gcov-iov.h.
11805 (gcov-iov.o): New target.
11806 (gcov-iov): New target.
11807 (gcov-iov.h): New target.
11808 (gcov-dump.o): New target.
11809 (GCOV_DUMP_OBJS): New variable.
11810 (gcov-dump): New target.
11811 (distclean): Remove coverageexts.
11812 (stage1): Remove coverageexts.
11813
11814 2002-09-11 Hartmut Penner <hpenner@de.ibm.com>
11815
11816 * fold-const.c (make_range): Only narrow to signed range if
11817 the signed range is smaller than the unsigned range.
11818
11819 2002-09-12 Alan Modra <amodra@bigpond.net.au>
11820
11821 * emit-rtl.c (set_mem_size): New function.
11822 * expr.h (set_mem_size): Declare.
11823 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
11824 (expand_block_move): Instead, use adjust_address and
11825 replace_equiv_address to generate proper aliasing info.
11826 Move common code out of conditionals. Localize vars.
11827
11828 2002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
11829
11830 * optabs.c (expand_binop): Minor cleanup.
11831 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
11832
11833 2002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
11834
11835 * print-tree.c (print_node): Print the restrict qualifier.
11836
11837 2002-09-11 Janis Johnson <janis187@us.ibm.com>
11838
11839 * doc/install.texi: Fix typos.
11840
11841 2002-09-11 Zack Weinberg <zack@codesourcery.com>
11842
11843 * Makefile.in: Remove all references to s-under and underscore.c.
11844 * collect2.c, tlink.c: Change all uses of prepends_underscore
11845 to look directly at USER_LABEL_PREFIX.
11846
11847 2002-09-11 David Edelsohn <edelsohn@gnu.org>
11848
11849 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
11850 alignment to csect.
11851 (rs6000_xcoff_unique_section): Only set section name for public
11852 data.
11853 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
11854 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
11855 duplicate definition.
11856
11857 2002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
11858
11859 * pa.md (extzv): Check predicates before emitting extzv_32.
11860 (insv): Likewise.
11861
11862 2002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
11863
11864 * config/s390/s390.h (MOVE_MAX): Define to correct value.
11865 (MAX_MOVE_MAX): Define.
11866 (MOVE_BY_PIECES_P): Define.
11867 (CLEAR_BY_PIECES_P): Define.
11868
11869 2002-09-10 Denis Chertykov <denisc@overta.ru>
11870
11871 * config/avr/avr.md (movstrhi): Use right operands for conversion.
11872
11873 2002-09-10 Richard Earnshaw <rearnsha@arm.com>
11874
11875 PR c/7873
11876 * arm.md (insv): Use reg_or_int_operand for operand[3].
11877
11878 2002-09-10 David Edelsohn <edelsohn@gnu.org>
11879
11880 * rs6000.c (rs6000_assemble_visibility): Protect declaration
11881 inside macro. Correct function definition typo.
11882 (rs6000_xcoff_section_type_flags): New function.
11883 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
11884 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
11885 with appropriate PIC test.
11886 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
11887 determine readonly.
11888 (rs6000_binds_local_p): Combine PIC flags.
11889 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
11890 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
11891
11892 2002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11893
11894 * h8300.md: Fix signed/unsigned warnings.
11895 * mcore.md: Likewise.
11896 * mn10300.c (mask_ok_for_mem_btst): Likewise.
11897
11898 2002-09-09 Per Bothner <per@bothner.com>
11899
11900 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
11901 characters, and only print TREE_STRING_LENGTH chars.
11902
11903 2002-09-09 Steve Ellcey <sje@cup.hp.com>
11904
11905 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
11906 (ASM_FILE_END) New.
11907 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
11908 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
11909 * config/ia64/ia64.c (ia64_asm_output_external): Create list
11910 of external functions if TARGET_HPUX_LD is true.
11911 (ia64_hpux_add_extern_decl): New, routine to put names on
11912 list of external functions.
11913 (ia64_hpux_asm_file_end): Put out declarations for external
11914 functions if and only if they are used.
11915
11916 2002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
11917
11918 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
11919 on TARGET_64BIT before pic register restore.
11920
11921 2002-09-09 David Edelsohn <edelsohn@gnu.org>
11922
11923 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
11924 (TARGET_HAVE_TLS): New description.
11925
11926 2002-09-09 Janis Johnson <janis187@us.ibm.com>
11927
11928 * doc/extend.texi (Statement Exprs): Fix broken link.
11929
11930 2002-09-09 Denis Chertykov <denisc@overta.ru>
11931
11932 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
11933 right conversion of operands[1].
11934
11935 2002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
11936
11937 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
11938 commutative. Use "nonimmediate_operand" instead of "register_operand"
11939 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
11940
11941 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
11942 as commutative.
11943
11944 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
11945 mark as commutative. Use "nonimmediate_operand" instead of
11946 "register_operand" as predicate for operand 1.
11947
11948 ("movstrictsi"): Fix typo in insn name.
11949
11950 2002-09-09 Jan Hubicka <jh@suse.cz>
11951
11952 * i386.c (index_register_operand): New.
11953 * i386.h (predicate_codes): Add new predicate.
11954 * i386.md (lea_general_*): Use index_register_operand
11955 (ashift to lea splitter): Do not produce invalid leas
11956 (ashift to mov+ashift split): New.
11957
11958 2002-09-09 Nick Clifton <nickc@redhat.com>
11959
11960 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
11961 Fix folding marks.
11962
11963 2002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11964 J"orn Rennecke <joern.rennecke@superh.com>
11965
11966 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
11967
11968 2002-09-09 Alan Modra <amodra@bigpond.net.au>
11969
11970 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
11971 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
11972 attributes.
11973
11974 2002-09-08 Nathan Sidwell <nathan@codesourcery.com>
11975
11976 * basic_block.h (gcov_type): Explain why it is signed.
11977 * final.c: Don't include profile.h.
11978 (struct function_list, functions_head, functions_tail,
11979 end_final): Moved to profile.c
11980 (final): Move arc chaining code to profile.c.
11981 * function.c (prepare_function_start): Remove duplicate line.
11982 * output.h (end_final): Remove prototype.
11983 * predict.c (estimate_loops_at_level): Use gcov_type.
11984 * profile.c (struct function_list, functions_head,
11985 functions_tail): Moved from final.c
11986 (need_func_profiler): Remove.
11987 (instrument_edges): Don't set need_func_profiler.
11988 (get_exec_counts): Avoid signed/unsigned warning.
11989 (compute_checksum): Use crc32.
11990 (branch_prob): Adjust. Chain onto functions_head.
11991 (init_branch_prob): Absorb init_edge_profiler.
11992 (init_edge_profiler): Remove.
11993 (create_profiler): Moved and renamed from final.c:end_final.
11994 Emit data and constructor.
11995 (output_func_start_profiler): Remove.
11996 * profile.h (struct profile_info): checksum is unsigned.
11997 * rtl.h (output_func_start_profiler): Remove prototype.
11998 (create_profiler): Declare.
11999 * toplev.c (compile_file): Call create_profiler, if instrumenting
12000 arcs. Don't call end_final.
12001
12002 2002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12003
12004 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
12005
12006 2002-09-08 Richard Henderson <rth@redhat.com>
12007
12008 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
12009 (DW_OP_GNU_push_tls_address): New.
12010 (DW_OP_lo_user): Fix.
12011 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
12012 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
12013 (size_of_loc_descr): Likewise.
12014 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
12015 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
12016 (loc_descriptor_from_tree): Handle TLS variables.
12017 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
12018 (add_location_or_const_value_attribute): ... not here. Defer
12019 to loc_descriptor_from_tree for TLS variables.
12020
12021 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
12022 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
12023 * config/i386/i386-protos.h: Update.
12024
12025 2002-09-08 Roger Sayle <roger@eyesopen.com>
12026
12027 PR optimization/6405
12028 * unroll.c (loop_iterations): last_loop_insn should be the previous
12029 non-note instruction before loop->end.
12030 * loop.c (strength_reduce): The conditional jump is the last
12031 non-note instruction before loop->end (as above).
12032
12033 2002-09-08 Roger Sayle <roger@eyesopen.com>
12034
12035 * combine.c (try_combine): Handle the case that undobuf.other_insn
12036 has been turned into a return or unconditional jump, by inserting
12037 a BARRIER if necessary.
12038 (simplify_set): Test if a condition code setter has a constant
12039 comparison at compile time, if so convert this insn to a no-op move
12040 and update/simplify the condition code user (undobuf.other_insn).
12041
12042 2002-09-08 Krister Walfridsson <cato@df.lth.se>
12043
12044 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
12045 (CLEAR_INSN_CACHE): Define.
12046
12047 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
12048
12049 * basic-block.h: Fix comment formatting.
12050 * c-common.c: Likewise.
12051 * c-common.h: Likewise.
12052 * c-lex.c: Likewise.
12053 * c-pretty-print.c: Likewise.
12054 * cfglayout.c: Likewise.
12055 * cfgloop.c: Likewise.
12056 * defaults.h: Likewise.
12057 * et-forest.c: Likewise.
12058 * explow.c: Likewise.
12059 * function.h: Likewise.
12060 * gcov.c: Likewise.
12061 * genattrtab.c: Likewise.
12062 * gengtype.c: Likewise.
12063 * ifcvt.c: Likewise.
12064 * libgcc2.c: Likewise.
12065 * loop.c: Likewise.
12066 * profile.c: Likewise.
12067 * ra-build.c: Likewise.
12068 * real.c: Likewise.
12069 * rtl.h: Likewise.
12070 * tracer.c: Likewise.
12071 * tree-inline.c: Likewise.
12072 * varasm.c: Likewise.
12073
12074 2002-09-08 Jan Hubicka <jh@suse.cz>
12075
12076 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
12077 handling.
12078
12079 * loop.c (loop_givs_reduce): Emit addition after.
12080
12081 2002-09-08 Alan Modra <amodra@bigpond.net.au>
12082
12083 * varasm.c (default_assemble_visibility): Rename from
12084 assemble_visibility.
12085 * output.h: Here too.
12086 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
12087 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
12088
12089 2002-09-08 Alan Modra <amodra@bigpond.net.au>
12090
12091 * reload.c (find_reloads <p constraint>): Pass operand_mode to
12092 find_reloads_address.
12093
12094 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
12095
12096 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
12097 (anonymous pattern): Likewise.
12098
12099 2002-09-07 Igor Shevlyakov <igor@microunity.com>
12100
12101 * machmode.def: Add modes for half-float vectors.
12102
12103 2002-09-07 Scott Snyder <snyder@fnal.gov>
12104
12105 PR target/7374
12106 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
12107
12108 2002-09-07 Roger Sayle <roger@eyesopen.com>
12109
12110 * basic-block.h (struct loop): Remove unused cont_dominator field.
12111
12112 2002-09-07 Igor Shevlyakov <igor@microunity.com>
12113
12114 * varasm.c (decode_rtx_const): Don't check undefined field for
12115 CONST_VECTOR.
12116
12117 2002-09-07 Glen Nakamura <glen@imodulo.com>
12118
12119 PR opt/7814
12120 * sched-deps.c (sched_analyze_insn): Make sure to add insn
12121 to reg_last->sets after flushing the dependency lists to guarantee
12122 that subsequent clobbers will be dependent on it.
12123
12124 2002-09-07 Igor Shevlyakov <igor@microunity.com>
12125
12126 * combine.c (simplify_shift_const): Calculate rotate count
12127 correctly for vector operands.
12128
12129 2002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
12130
12131 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
12132 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
12133 tree_expr_nonnegative_p.
12134 (build_conditional_expr): Likewise.
12135 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
12136
12137 2002-09-07 Richard Henderson <rth@redhat.com>
12138
12139 * builtins.def (inf, inff, infl): Mark const.
12140 (huge_val, huge_valf, huge_vall): Likewise.
12141 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
12142
12143 * real.c (ereal_inf): Clear E before use.
12144
12145 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
12146
12147 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
12148 an expander and an anonymous pattern. Zero out the upper half
12149 of the dividend in the expander.
12150 (udivmodqi4): Likewise.
12151
12152 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
12153
12154 * config/h8300/h8300.c: Fix formatting.
12155 * config/h8300/h8300.h: Likewise.
12156 * config/h8300/h8300.md: Likewise.
12157
12158 2002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12159
12160 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
12161 information.
12162
12163 2002-09-07 Graham Stott <graham.stott@btinternet.com>
12164
12165 * rtlanal.c (dead_or_set_regno_p): Fix typo.
12166
12167 2002-09-07 Alan Modra <amodra@bigpond.net.au>
12168
12169 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12170
12171 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
12172 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12173 (TARGET_ASM_OUT): Add the above here.
12174 * target.h (struct gcc_target): Add "visibility" field.
12175 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
12176 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
12177 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12178 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
12179
12180 2002-09-06 Ziemowit Laski <zlaski@apple.com>
12181
12182 * c-lang.c (objc_is_id): New stub.
12183 * c-tree.h (objc_is_id): New forward declaration.
12184 * c-typeck.c (build_c_cast): Do not strip protocol
12185 qualifiers from 'id' type.
12186 * objc/objc-act.c (objc_comptypes): Correct handling
12187 of protocol qualifiers.
12188 (objc_is_id): New.
12189
12190 Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
12191
12192 * pentium.md (pentium-firstvboth): Fix typo.
12193
12194 2002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
12195
12196 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
12197 (enum shift_type, enum h8_cpu): Likewise.
12198 (INL, ROT, LOP, SPC macros): Likewise.
12199 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
12200 const designator.
12201 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
12202 space efficient algorithms when optimize for codesize.
12203
12204 Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
12205
12206 Fix PR/1727 and long-standing failing testcase
12207 objc/formal-protocol-6.m.
12208 * objc-act.c (build_protocol_expr): If compiling for the GNU
12209 runtime, create a list of Protocol statically allocated instances
12210 if it doesn't exist, then add the Protocol object to this same
12211 list.
12212 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
12213 instead of TREE_CHAIN.
12214
12215 Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
12216
12217 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
12218 10k. Fixed category dumping - print out category names with the
12219 proper syntax. Print '@end\n' and not '\n@end' at the end of the
12220 interface.
12221 (finish_objc): Fixed the -gen-decls option. It was printing out
12222 only the last class. Dump an interface declaration of all classes
12223 being compiled instead.
12224
12225 2002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
12226
12227 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
12228 prototype.
12229 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
12230 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
12231 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
12232 rather than GEN_INT.
12233 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
12234 (return_addr_mask, *check_arch2): New.
12235
12236 2002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
12237
12238 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
12239 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
12240 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12241 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
12242 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
12243 "adddf3", "*adddf3", "*adddf3_ibm",
12244 "addsf3", "*addsf3", "*addsf3_ibm",
12245 "muldi3", "mulsi3", "mulsidi3",
12246 "muldf3", "*muldf3", "*muldf3_ibm",
12247 "mulsf3", "*mulsf3", "*mulsf3_ibm",
12248 "*anddi3_cc", "*anddi3_cconly", "anddi3",
12249 "*andsi3_cc", "*andsi3_cconly", "andsi3",
12250 "*iordi3_cc", "*iordi3_cconly", "iordi3",
12251 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
12252 "*xordi3_cc", "*xordi3_cconly", "xordi3",
12253 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
12254 instead of "register_operand" as predicate for "%0" operand.
12255
12256 2002-09-06 Jakub Jelinek <jakub@redhat.com>
12257
12258 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
12259 unconditionally when gcc_cv_as_flags64 checks are gone.
12260 * configure: Rebuilt.
12261
12262 2002-09-06 Alan Modra <amodra@bigpond.net.au>
12263
12264 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
12265 2002-07-26 change. Comment.
12266
12267 2002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12268
12269 * frv.c (frv_unique_section, frv_select_section,
12270 frv_select_rtx_section): Delete.
12271 (frv_in_small_data_p): New.
12272 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
12273 TARGET_ASM_SELECT_RTX_SECTION): Delete.
12274 (TARGET_IN_SMALL_DATA_P): Define.
12275
12276 2002-09-05 Dale Johannesen <dalej@apple.com>
12277
12278 * reload1.c (reload): Retain only those memory clobbers
12279 added for variable-array handling.
12280
12281 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
12282
12283 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
12284 return-in-memory rules.
12285 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
12286
12287 2002-09-05 David Edelsohn <edelsohn@gnu.org>
12288
12289 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
12290 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
12291
12292 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
12293
12294 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
12295 not a compile-time constant for the non-IBM case.
12296 * config/arm/arm-protos.h (arm_float_words_big_endian): New
12297 prototype.
12298 * config/arm/arm.c (arm_float_words_big_endian): New function.
12299 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
12300 if TARGET_VFP and not TARGET_HARD_FLOAT.
12301 (ARM_FLAG_VFP, TARGET_VFP): Define.
12302 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
12303
12304 2002-09-05 David Edelsohn <edelsohn@gnu.org>
12305
12306 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
12307 URLs. Fix AIX wording.
12308
12309 2002-09-05 Stan Shebs <shebs@apple.com>
12310
12311 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
12312 -fPIC equivalent on Darwin.
12313
12314 Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
12315
12316 * sh.c (sh_expand_builtin): Return early if encountering an
12317 error_mark for a type.
12318
12319 2002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
12320
12321 * config/s390/s390.c (s390_expand_plus_operand): Do not require
12322 double-word scratch register.
12323 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
12324
12325 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
12326 "*cli"): Replace s_operand by memory_operand.
12327 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
12328
12329 2002-09-05 Kazu Hirata <kazu@cs.umass.edu>
12330
12331 * config/h8300/h8300.c (asm_file_start): Add a missing
12332 semicolon.
12333
12334 2002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12335
12336 * c-typeck.c (build_function_call): Remove unused variable(s).
12337 (build_c_cast): Likewise.
12338 * calls.c (rtx_for_function_call): Likewise.
12339 * cfglayout.c (duplicate_insn_chain): Likewise.
12340 * cfgloop.c (flow_loop_nodes_find): Likewise.
12341 * cfgrtl.c (split_edge): Likewise.
12342 * df.c (df_ref_create): Likewise.
12343 * except.c (expand_end_catch): Likewise.
12344 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
12345 * function.c (emit_return_into_block): Likewise.
12346 (reposition_prologue_and_epilogue_notes): Likewise.
12347 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
12348 * combine.c (subst_prev_insn, need_refresh): Remove.
12349 * dwarf2out.c (primary_filename): Remove.
12350 * final.c (new_block): Remove.
12351 * gcse.c (orig_bb_count): Remove.
12352
12353 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12354
12355 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
12356 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
12357 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
12358 directly instead of using a function pointer.
12359
12360 2002-09-04 Krister Walfridsson <cato@df.lth.se>
12361
12362 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
12363 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
12364 (ix86_output_addr_diff_elt) Likewise.
12365 (x86_output_mi_thunk) Likewise.
12366 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
12367
12368 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12369
12370 * frv.c (frv_encode_section_info): Fix error in last change.
12371
12372 2002-09-04 David Edelsohn <edelsohn@gnu.org>
12373
12374 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
12375 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
12376 (TARGET_BINDS_LOCAL_P): Define.
12377 (rs6000_override_options): Save original flag_pic value.
12378 (rs6000_elf_select_section): Call default_elf_select_section_1.
12379 (rs6000_elf_unique_section): Call default_unique_section_1.
12380 (rs6000_elf_in_small_data_p): New function.
12381 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
12382 (rs6000_xcoff_select_section): Update based on defaults.
12383 (rs6000_xcoff_unique_section): Set to basic name if not common.
12384 (rs6000_binds_local_p): New function.
12385 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
12386 targetm.have_srodata_section if SDATA_EABI.
12387 (TARGET_IN_SMALL_DATA_P): Define.
12388
12389 2002-09-04 Dale Johannesen <dalej@apple.com>
12390
12391 * varasm.c (struct rtx_const, decode_rtx_const):
12392 Make veclo and vechi fields not share storage.
12393
12394 Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
12395
12396 * loop.c (scan_loop): Don't mark separate insns out of a libcall
12397 for moving.
12398 (move_movables): Abort if we see the first insn of a libcall.
12399
12400 2002-09-04 Richard Henderson <rth@redhat.com>
12401
12402 * builtin-types.def (BT_FN_FLOAT): New.
12403 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
12404 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
12405 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
12406 * builtins.c (fold_builtin_inf): New.
12407 (fold_builtin): Call it.
12408 * real.c (ereal_inf): New.
12409 * real.h: Declare it.
12410 * doc/extend.texi: Document new builtins.
12411
12412 2002-09-04 Richard Henderson <rth@redhat.com>
12413
12414 * cse.c (cse_insn): Avoid subreg games if the equivalence
12415 is already in the proper mode.
12416
12417 2002-09-04 Eric Botcazou <ebotcazou@multimania.com>
12418
12419 PR c/7102
12420 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
12421
12422 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12423
12424 * pa.md (setccfp0, setccfp1): New patterns.
12425
12426 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12427
12428 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
12429 frv_select_section, frv_select_rtx_section,
12430 frv_encode_section_info, frv_unique_section): Delete.
12431 * frv.c: Update for target hooks.
12432 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
12433 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
12434 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
12435
12436 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12437
12438 * ip2k-protos.h (function_prologue, function_epilogue,
12439 encode_section_info): Update to match target hook specification.
12440 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
12441 (function_prologue, function_epilogue, encode_section_info):
12442 Update to match target hook specification.
12443 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
12444 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
12445 (NOTICE_UPDATE_CC): Cast to void.
12446 * ip2k.md: Add defaults in switch statements.
12447
12448 2002-09-04 Janis Johnson <janis187@us.ibm.com>
12449
12450 * doc/trouble.texi (Interoperation): Update information about C++ ABI
12451 issues.
12452
12453 2002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
12454
12455 * config/sparc/t-netbsd64: Disable multilib for now.
12456
12457 2002-09-04 David Edelsohn <edelsohn@gnu.org>
12458
12459 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
12460 * target.h (gcc_target): Add have_srodata_section member.
12461 * varasm.c (section_category): Add SECCAT_SRODATA.
12462 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
12463 READONLY_SDATA_SECTION defined.
12464 (decl_readonly_section_1): True for SECCAT_SRODATA also.
12465 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
12466 (default_unique_section_1): Likewise.
12467
12468 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
12469
12470 * expr.c (emit_group_load): Revise to allow splitting TCmode source
12471 into DImode pieces.
12472
12473 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
12474 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
12475 for floating-point register class.
12476 * pa.c (function_arg): Fix handling of modes wider than one word for
12477 TARGET_64BIT.
12478
12479 Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
12480
12481 * combine.c (make_compound_operation): Don't generate zero / sign
12482 extensions in floating point modes.
12483
12484 2002-09-04 Janis Johnson <janis187@us.ibm.com>
12485
12486 * doc/c-tree.texi: Fix overfull hboxes.
12487 * doc/cppopts.texi: Ditto.
12488 * doc/extend.texi: Ditto.
12489 * doc/gty.texi: Ditto.
12490 * doc/invoke.texi: Ditto.
12491 * doc/makefile.texi: Ditto.
12492 * doc/rtl.texi: Ditto.
12493 * doc/standards.texi: Ditto.
12494 * doc/tm.texi: Ditto.
12495
12496 2002-09-04 Richard Henderson <rth@redhat.com>
12497
12498 * c-common.c (builtin_define_with_hex_fp_value): New.
12499 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
12500
12501 2002-09-04 Janis Johnson <janis187@us.ibm.com>
12502
12503 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
12504 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
12505 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
12506 Warn that these options can break ABI compatibility.
12507
12508 2002-09-04 Richard Henderson <rth@redhat.com>
12509
12510 * real.c (ereal_to_decimal): Add digits parameter.
12511 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
12512 * c-pretty-print.c (pp_c_real_literal): Update call.
12513 * print-rtl.c (print_rtx): Likewise.
12514 * print-tree.c (print_node_brief, print_node): Likewise.
12515 * sched-vis.c (print_value): Likewise.
12516 * config/arc/arc.c (arc_print_operand): Likewise.
12517 * config/c4x/c4x.c (c4x_print_operand): Likewise.
12518 * config/i370/i370.h (PRINT_OPERAND): Likewise.
12519 * config/i386/i386.c (print_operand): Likewise.
12520 * config/i960/i960.c (i960_print_operand): Likewise.
12521 * config/ip2k/ip2k.c (asm_output_float): Likewise.
12522 * config/m32r/m32r.c (m32r_print_operand): Likewise.
12523 * config/m68hc11/m68hc11.c (print_operand): Likewise.
12524 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
12525 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
12526 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
12527 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
12528 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
12529 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
12530 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
12531 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
12532 * config/mips/mips.c (print_operand): Likewise.
12533 * config/ns32k/ns32k.c (print_operand): Likewise.
12534 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
12535 * config/vax/vax.h (PRINT_OPERAND): Likewise.
12536 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
12537
12538 2002-09-04 Bob Wilson <bob.wilson@acm.org>
12539
12540 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
12541 xtensa_multibss_section_type_flags.
12542 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
12543
12544 2002-09-04 Richard Henderson <rth@redhat.com>
12545
12546 * doc/install-old.texi: Don't mention enquire.
12547 * doc/sourcebuild.texi: Update float.h description.
12548
12549 Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
12550
12551 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
12552
12553 2002-09-03 Roger Sayle <roger@eyesopen.com>
12554
12555 * builtins.c (build_function_call_expr): Remove prototype, export
12556 as non-static and add a comment above function definition.
12557 (builtin_mathfn_code): New function to check for math builtins.
12558 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
12559 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
12560 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
12561 log(sqrt(x)) as log(x)/2.0.
12562
12563 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
12564 in new "builtins.c" section. Place the build_range_type prototype
12565 with the other prototypes from "tree.c".
12566
12567 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
12568 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
12569 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
12570 x/exp(y) as x*exp(-y).
12571
12572 2002-09-03 David Edelsohn <edelsohn@gnu.org>
12573
12574 * varasm.c (default_section_type_flags): Append _1 to name with
12575 shlib parameter. Use original name to call new function with
12576 implicit flag_pic.
12577 (decl_readonly_section): Likewise.
12578 (default_elf_select_section): Likewise.
12579 (default_unique_section): Likewise.
12580 (default_bind_local_p): Likewise.
12581 (categorize_decl_for_section): Add shlib parameter to use in place
12582 of implicit flag_pic.
12583 * output.h: Declare new functions with _1 and shlib argument.
12584
12585 2002-09-03 Janis Johnson <janis187@us.ibm.com>
12586
12587 * doc/install.texi: Fix typos, formatting problems, and obvious
12588 overfull/underfull boxes.
12589
12590 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
12591 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
12592 include its file, compat.texi.
12593 * doc/compat.texi: New file with new chapter, Binary Compatibility.
12594
12595 2002-09-03 Neil Booth <neil@daikokuya.co.uk>
12596
12597 Debian BTS Bug #157416
12598 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
12599 * cpplib.c (destringize_and_run): Kludge around getting
12600 tokens from in-progress macros.
12601 (_cpp_do__Pragma): Simplify.
12602
12603 2002-09-03 Steve Ellcey <sje@cup.hp.com>
12604
12605 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
12606 (CPP_CPU_SPEC): Remove.
12607 (TARGET_CPU_CPP_BUILTINS): New.
12608 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
12609 (CPP_SPEC): Remove.
12610 (TARGET_OS_CPP_BUILTINS): New.
12611 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
12612 (TARGET_OS_CPP_BUILTINS): New.
12613 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
12614 TARGET_OS_CPP_BUILTINS.
12615 (CPP_PREDEFINES): Remove.
12616 (CPLUSPLUS_CPP_SPEC): Remove.
12617 (TARGET_OS_CPP_BUILTINS): New.
12618
12619 2002-09-03 Richard Henderson <rth@redhat.com>
12620
12621 * Makefile.in (USER_H): Add ginclude/float.h.
12622 (FLOAT_H): Remove.
12623 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
12624 (mostlyclean): Don't remove float.h intermediate files.
12625 (distclean): Don't remove float.h.
12626 * config.gcc: Remove all float_format references.
12627 * configure.in (float_format, float_h_file): Remove.
12628
12629 * c-common.c: Include tree-inline.h.
12630 (builtin_define_with_int_value): New.
12631 (builtin_define_type_precision): Use it.
12632 (builtin_define_float_constants): New.
12633 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
12634 __FLT_EVAL_METHOD__.
12635 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
12636 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
12637 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
12638 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
12639 (TARGET_FLT_EVAL_METHOD): New.
12640
12641 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
12642 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
12643 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
12644 * ginclude/float.h: New.
12645
12646 2002-09-03 Stan Shebs <shebs@apple.com>
12647
12648 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
12649 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
12650 (PREFERRED_DEBUGGING_TYPE): Ditto.
12651 (ASM_OUTPUT_IDENT): Remove empty definition.
12652
12653 2002-09-03 Steve Ellcey <sje@cup.hp.com>
12654
12655 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
12656 cxx_target.
12657 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
12658 handling routine for builtin pragma.
12659 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
12660 Registered pragma handling routine.
12661 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
12662 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
12663 If builtin pragma seen for math routine and C89 conformance is
12664 requested use different math function in order to set errno.
12665 * t-ia64 (ia64-c.o): Add new rule for new file.
12666
12667 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
12668
12669 * config/s390/s390.md ("movti"): Add Q->Q alternative.
12670 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
12671 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
12672
12673 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
12674 "*movsf_ss"): Remove.
12675
12676 2002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
12677
12678 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
12679 Delete macros.
12680
12681 2002-09-03 Arati Dikey <aratid@kpit.com>
12682
12683 * h8300.c (asm_file_start): Corrected optimization comment.
12684
12685 2002-09-03 Stan Shebs <shebs@apple.com>
12686
12687 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
12688 * c-tree.h (recognize_objc_keyword): Remove decl.
12689 * c-typeck.c (comp_target_types): Update a comment.
12690
12691 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
12692
12693 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
12694 and register validity checks.
12695 (general_s_operand): Adapt to s390_decompose_address interface change.
12696 (q_constraint): Likewise.
12697 (s390_expand_plus_operand): Likewise.
12698 (legitimiate_address_p): Likewise.
12699 (legitimate_la_operand_p): Likewise.
12700 (legitimize_la_operand): Likewise.
12701 (print_operand_address): Likewise.
12702 (print_operand): Likewise.
12703
12704 Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
12705
12706 PR objc/5956:
12707 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
12708 was causing the new selector never to match the existing ones
12709 (Patch by Alexander Malmberg <alexander@malmberg.org>).
12710
12711 2002-09-03 Graham Stott <graham.stott@btinternet.com>
12712
12713 * config/i386/i386.md ("femms"): Add "memory" attr "none".
12714
12715 2002-09-03 Graham Stott <graham.stott@btinternet.com>
12716
12717 * expr.c (expand_expr): Remove extraneous comment and code.
12718
12719 2002-09-02 Nathan Sidwell <nathan@codesourcery.com>
12720
12721 * stor-layout (finish_builtin_struct): Renamed and moved from c++
12722 frontend. Take chain of fields. Allow NULL alignment type.
12723 * tree.h (finish_builtin_struct): Declare.
12724
12725 2002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12726
12727 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
12728 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
12729 config/arc/arc.c config/arc/arc.h config/arm/aout.h
12730 config/arm/arm.c config/arm/arm.h config/arm/arm.md
12731 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
12732 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
12733 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
12734 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
12735 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
12736 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
12737 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
12738 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
12739 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
12740 config/pa/pa.h config/pa/pa.md config/romp/romp.h
12741 config/rs6000/linux64.h config/rs6000/lynx.h
12742 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
12743 config/s390/s390.c config/s390/s390.md config/sh/sh.c
12744 config/sparc/sparc.c config/sparc/sysv4.h
12745 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
12746 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
12747 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
12748
12749 * doc/tm.texi: Update docs.
12750 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
12751 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
12752
12753 2002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12754
12755 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
12756 * arc.c (arc_internal_label): New function.
12757 (TARGET_ASM_INTERNAL_LABEL): Set.
12758 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12759 * arm.c (arm_internal_label): New function.
12760 (TARGET_ASM_INTERNAL_LABEL): Set.
12761 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12762 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12763 * i370.c (i370_internal_label): New function.
12764 (TARGET_ASM_INTERNAL_LABEL): Set.
12765 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12766 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12767 * m68k.c (m68k_hp320_internal_label): New function.
12768 (TARGET_ASM_INTERNAL_LABEL): Set.
12769 * m88k.c (m88k_internal_label): New function.
12770 (TARGET_ASM_INTERNAL_LABEL): Set.
12771 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12772 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
12773 * genoutput.c (output_prologue): Include target.h in output file.
12774 * output.h (default_internal_label): Declare.
12775 * sdbout.c: Include target.h.
12776 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
12777 TARGET_ASM_OUT.
12778 * target.h (internal_label): Add to struct gcc_target.
12779 * varasm.c (default_internal_label): New function.
12780
12781 2002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12782
12783 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12784 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12785 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12786 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12787 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12788 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12789 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12790 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12791 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12792 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12793 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12794 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12795 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12796 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12797 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12798 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12799 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12800 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12801 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12802 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12803 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12804 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12805 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12806 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12807 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12808 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
12809 * mmix.c (mmix_asm_output_internal_label): Likewise.
12810 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12811 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12812 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12813 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12814 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12815 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12816 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12817 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12818 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12819 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12820 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12821 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12822 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12823 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12824 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12825 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12826 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12827 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12828 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12829
12830 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
12831
12832 2002-08-31 Richard Henderson <rth@redhat.com>
12833
12834 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
12835
12836 2002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
12837
12838 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
12839
12840 2002-08-30 Richard Henderson <rth@redhat.com>
12841
12842 PR opt/7515
12843 * c-objc-common.c: Include target.h.
12844 (c_cannot_inline_tree_fn): Don't auto-inline functions that
12845 don't bind locally. Factor setting DECL_UNINLINABLE.
12846 * Makefile.in (c-objc-common.o): Update.
12847
12848 2002-08-30 Janis Johnson <janis187@us.ibm.com>
12849
12850 * doc/install.texi (Configuration, Building): Fix a typo and
12851 some formatting directives.
12852
12853 2002-08-30 Paul Koning <pkoning@equallogic.com>
12854
12855 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
12856 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
12857 implemented" note.
12858 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
12859 for alphabetic order.
12860 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
12861 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
12862 (VAX_HALFWORD_ORDER): Document.
12863 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
12864 IEEE float format.
12865 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
12866 (ASM_OUTPUT_LABEL_REF): Fix font.
12867 (CASE_VECTOR_SHORTEN_MODE): Ditto.
12868
12869 2002-08-30 Denis Chertykov <denisc@overta.ru>
12870
12871 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
12872 stuff.
12873 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
12874 CONST_DOUBLE constants.
12875
12876 2002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
12877
12878 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
12879 related defines to...
12880 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
12881 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
12882 as a no-op.
12883
12884 2002-08-30 Krister Walfridsson <cato@df.lth.se>
12885
12886 * config/arm/arm.c (arm_asm_output_labelref): New function.
12887 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
12888 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
12889
12890 2002-08-29 Rodney Brown <rbrown64@csc.com.au>
12891
12892 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
12893 memory exhausted" workarounds.
12894
12895 2002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
12896
12897 * diagnostic.c (fancy_abort): Don't repeat "internal error".
12898 * toplev.c (crash_signal): Likewise.
12899
12900 Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
12901
12902 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
12903 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
12904 Extended, updated documentation.
12905 (-Wundeclared-selector): Documented.
12906
12907 2002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
12908
12909 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
12910 the value 1. Do not undef before defining.
12911 * config/darwin.h: Likewise.
12912 * config/dbx.h: Likewise.
12913 * config/dbxcoff.h: Likewise.
12914 * config/dbxelf.h: Likewise.
12915 * config/elfos.h: Likewise.
12916 * config/interix.h: Likewise.
12917 * config/lynx-ng.h: Likewise.
12918 * config/lynx.h: Likewise.
12919 * config/netware.h: Likewise.
12920 * config/psos.h: Likewise.
12921 * config/svr3.h: Likewise.
12922 * config/alpha/alpha.h: Likewise.
12923 * config/alpha/elf.h: Likewise.
12924 * config/alpha/vms.h: Likewise.
12925 * config/arc/arc.h: Likewise.
12926 * config/arm/aout.h: Likewise.
12927 * config/arm/coff.h: Likewise.
12928 * config/c4x/c4x.h: Likewise.
12929 * config/h8300/h8300.h: Likewise.
12930 * config/i386/cygwin.h: Likewise.
12931 * config/i386/djgpp.h: Likewise.
12932 * config/i386/gas.h: Likewise.
12933 * config/i386/gstabs.h: Likewise.
12934 * config/i386/i386-coff.h: Likewise.
12935 * config/i386/i386-interix.h: Likewise.
12936 * config/i386/sco5.h: Likewise.
12937 * config/i386/svr3dbx.h: Likewise.
12938 * config/i386/sysv3.h: Likewise.
12939 * config/i386/win32.h: Likewise.
12940 * config/i386/x86-64.h: Likewise.
12941 * config/i960/i960.h: Likewise.
12942 * config/ia64/ia64.h: Likewise.
12943 * config/ip2k/ip2k.h: Likewise.
12944 * config/m32r/m32r.h: Likewise.
12945 * config/m68k/3b1.h: Likewise.
12946 * config/m68k/3b1g.h: Likewise.
12947 * config/m68k/ccur-GAS.h: Likewise.
12948 * config/m68k/coff.h: Likewise.
12949 * config/m68k/hp2bsd.h: Likewise.
12950 * config/m68k/hp310g.h: Likewise.
12951 * config/m68k/hp320g.h: Likewise.
12952 * config/m68k/hp3bsd.h: Likewise.
12953 * config/m68k/hp3bsd44.h: Likewise.
12954 * config/m68k/linux-aout.h: Likewise.
12955 * config/m68k/m68k-aout.h: Likewise.
12956 * config/m68k/mot3300.h: Likewise.
12957 * config/m68k/netbsd.h: Likewise.
12958 * config/m68k/openbsd.h: Likewise.
12959 * config/m68k/pbb.h: Likewise.
12960 * config/m68k/plexus.h: Likewise.
12961 * config/m68k/sun2.h: Likewise.
12962 * config/m68k/sun3.h: Likewise.
12963 * config/m68k/tower-as.h: Likewise.
12964 * config/m68k/vxm68k.h: Likewise.
12965 * config/m88k/aout-dbx.h: Likewise.
12966 * config/m88k/m88k-aout.h: Likewise.
12967 * config/mcore/mcore-elf.h: Likewise.
12968 * config/mcore/mcore-pe.h: Likewise.
12969 * config/mips/elf.h: Likewise.
12970 * config/mips/elf64.h: Likewise.
12971 * config/mips/iris5gas.h: Likewise.
12972 * config/mips/iris6.h: Likewise.
12973 * config/mips/mips.h: Likewise.
12974 * config/mips/sni-gas.h: Likewise.
12975 * config/mmix/mmix.h: Likewise.
12976 * config/ns32k/netbsd.h: Likewise.
12977 * config/pa/pa64-hpux.h: Likewise.
12978 * config/romp/romp.h: Likewise.
12979 * config/rs6000/sysv4.h: Likewise.
12980 * config/rs6000/xcoff.h: Likewise.
12981 * config/sh/coff.h: Likewise.
12982 * config/sh/elf.h: Likewise.
12983 * config/sparc/linux64.h: Likewise.
12984 * config/sparc/liteelf.h: Likewise.
12985 * config/sparc/netbsd.h: Likewise.
12986 * config/sparc/openbsd.h: Likewise.
12987 * config/sparc/pbd.h: Likewise.
12988 * config/sparc/sp64-elf.h: Likewise.
12989 * config/sparc/sp86x-elf.h: Likewise.
12990 * config/sparc/sparc.h: Likewise.
12991 * config/vax/vax.h: Likewise.
12992 * config/vax/vaxv.h: Likewise.
12993
12994 2002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
12995
12996 * h8300.c (shift_alg_hi): Various tweaks to improve performance
12997 of HImode shifts.
12998 (get_shift_alg): Corresponding changes.
12999
13000 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
13001
13002 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
13003
13004 2002-08-29 Richard Henderson <rth@redhat.com>
13005
13006 * expr.h (enum block_op_methods): New.
13007 (emit_block_move): Update prototype.
13008 * expr.c (block_move_libcall_safe_for_call_parm): New.
13009 (emit_block_move_via_loop): New.
13010 (emit_block_move): Use them. New argument METHOD.
13011 (emit_push_insn): Always respect the given alignment.
13012 (expand_assignment): Update call to emit_block_move.
13013 (store_expr, store_field, expand_expr): Likewise.
13014 * builtins.c (expand_builtin_apply): Likewise.
13015 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
13016 * function.c (expand_function_end): Likewise.
13017 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
13018 * config/sparc/sparc.c (sparc_va_arg): Likewise.
13019 * calls.c (expand_call, emit_library_call_value_1): Likewise.
13020 (save_fixed_argument_area): Use emit_block_move with
13021 BLOCK_OP_CALL_PARM instead of move_by_pieces.
13022 (restore_fixed_argument_area): Likewise.
13023 (store_one_arg): Fix alignment parameter to emit_push_insn.
13024
13025 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
13026
13027 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
13028
13029 2002-08-29 Catherine Moore <clm@redhat.com>
13030
13031 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
13032 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
13033 (PREDICATE_CODES): Include new predicates.
13034 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
13035 (TARGET_SWITCHES): Add strict-align.
13036 (TARGET_STRICT_ALIGN): New.
13037 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
13038 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
13039 Define.
13040 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
13041 v850_muldi3.
13042 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
13043 L_callt_save_r2_r31, L_return_r2_r31,
13044 L_save_all_interrupt): Change addi to add.
13045 (L_save_interrupt, L_return_interrupt): Rework.
13046 (__return_r31): Correct .size directive.
13047 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
13048 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
13049 New routines.
13050 * config/v850/v850.c (expand_prologue): Call
13051 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
13052 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
13053 (reg_or_int9_operand): New predicate.
13054 (reg_or_const_operand): New routine.
13055 * config/v850/v850.md (return_interrupt): Changed from
13056 restore_interrupt.
13057 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
13058 (callt_save_interrupt): Change save sequence.
13059 (callt_return_interrupt): New.
13060 (save_interrupt): Don't use runtime function for LONG_CALLS
13061 and TARGET_PROLOG_FUNCTION.
13062 (save_all_interrupt): Likewise.
13063 (mulsi3): Use new predicate.
13064 (moviscc): Disallow some combination of constants.
13065 Fix define_split for sasf insns, so that it will not generate bad
13066 code if operand0 and operand5 are the same.
13067 * config/v850/v850-protos.h: Prototype new predicates.
13068
13069 2002-08-29 Zack Weinberg <zack@codesourcery.com>
13070
13071 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
13072 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
13073
13074 2002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
13075
13076 * c-common.c (builtin_define_type_precision): New function.
13077 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
13078 wchar_t is unsigned in C++.
13079 * doc/cpp.texi (Common Predefined Macros): Document
13080 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
13081 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
13082 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
13083
13084 2002-08-28 Sylvain Pion <pion@cs.nyu.edu>
13085
13086 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
13087 section. Mention that it is enabled by -Wall.
13088 (-Wall): Mention that there can be language-specific warnings as well.
13089 (-Wctor-dtor-privacy): Mention that it is enabled by default.
13090 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
13091
13092 Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
13093
13094 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
13095 if it is ever live.
13096
13097 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
13098 attribute for SHCOMPACT.
13099
13100 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
13101 appropriately.
13102 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
13103 by the ABI.
13104
13105 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
13106
13107 2002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
13108
13109 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
13110 "MASK_GAS|MASK_ABICALLS".
13111 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
13112 (TARGET_DEFAULT): Remove.
13113 (MACHINE_TYPE): Undefine before defining.
13114 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
13115
13116 2002-08-27 Mark Mitchell <mark@codesourcery.com>
13117
13118 * c-common.c (warn_abi): New variable.
13119 * c-common.h (warn_abi): Likewise.
13120 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
13121 (c_common_decode_option): Handle it.
13122 * doc/invoke.texi: Document -Wabi.
13123
13124 Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
13125
13126 * c-common.c (warn_undeclared_selector): New variable.
13127 * c-common.h (warn_undeclared_selector): Idem.
13128 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
13129 to on when -Wundeclared-selector is found.
13130 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
13131 * objc/objc-act.c (build_selector_expr): If
13132 warn_undeclared_selector is set, check that the selector has
13133 already been defined, and emit a warning if not.
13134
13135 2002-08-27 Nick Clifton <nickc@redhat.com>
13136 Catherine Moore <clm@redhat.com>
13137 Jim Wilson <wilson@cygnus.com>
13138
13139 * config.gcc: Add v850e-*-* target.
13140 Add --with-cpu= support for v850.
13141 * config/v850/lib1funcs.asm: Add v850e callt functions.
13142 * config/v850/v850.h: Add support for v850e target.
13143 * config/v850/v850.c: Add functions to support v850e target.
13144 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
13145 * config/v850/v850.md: Add patterns for v850e instructions.
13146 * doc/invoke.texi: Document new v850e command line switches.
13147
13148 Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
13149 Aldy Hernandez <aldyh at redhat dot com>
13150
13151 * doc/tm.texi: Applied numerous fixes to the automaton based
13152 scheduler descrition.
13153
13154 Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
13155
13156 * i386.c (classify_argument): Handle variable sized objects.
13157
13158 Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
13159
13160 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
13161
13162 Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
13163
13164 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
13165
13166 Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
13167
13168 * i386.c (classify_argument): Properly compute word size of the analyzed object.
13169
13170 Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
13171
13172 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
13173 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
13174 accordingly.
13175 (attribute insn_class): Provide default definitions based on type.
13176 Remove all insn-specific settings.
13177 (various function units): Remove old SH4 scheduling.
13178 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
13179 New attributes. Set them where appropriate.
13180 (cpu unit FS): Don't define / use.
13181 (F3, load_store): New cpu units.
13182 (F01): New reservation.
13183 (all insn_reservations): Make dependent on sh4 pipeline model.
13184 Fix latencies.
13185 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
13186 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
13187 (mt insn_reservation): Use type mt_group.
13188 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
13189 sh4_fload and sh4_store.
13190 (insn_reservation branch_zero and branch): Replace with sh4_branch.
13191 (insn_reservation branch_far): Replace with sh4_return.
13192 (insn_reservation return_from_exp): Rename to:
13193 (sh4_return_from_exp). Change to be just d_lock*5.
13194 (insn_reservation lds_to_pr): Rename to:
13195 (sh4_lds_to_pr). Change to be just d_lock*2.
13196 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
13197 d_lock*2.
13198 (insn_reservation prload_mem): Rename to:
13199 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
13200 (insn_reservation fpscr_store): Rename to:
13201 (fpscr_load). Change to d_lock,nothing,F1*3.
13202 (insn_reservation fpscr_store_mem): Rename to:
13203 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
13204 (insn_reservation multi): Change to
13205 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
13206 (insn_reservation fp_arith): Change to issue,F01,F2.
13207 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
13208 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
13209 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
13210 (insn_reservation fp_double_cmp): Change to
13211 d_lock,(d_lock+F01),F1+F2,F2.
13212 (insn_reservation dp_div): Change to
13213 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
13214 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
13215 (sh_adjust_cost, SHcompact): Differentiate between different
13216 kinds of dependencies. Drop factor of ten for superscalar.
13217 Use new instruction types. Add new exception rules.
13218
13219 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
13220
13221 * sh.md (mperm_w): Add DONE.
13222
13223 2002-08-27 David Edelsohn <edelsohn@gnu.org>
13224
13225 * longlong.h: Import current PowerPC defintion from GMP-4.1.
13226
13227 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
13228
13229 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
13230
13231 Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
13232
13233 * sh.h (MAX_FIXED_MODE_SIZE): Define.
13234
13235 2002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
13236
13237 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
13238 delimiter.
13239
13240 2002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
13241
13242 * c-common.c (cpp_define_data_format): New function.
13243 (cb_register_builtins): Call it.
13244
13245 * doc/cpp.texi (Common Predefined Macros): Document
13246 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
13247 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
13248 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
13249 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
13250 __TARGET_USES_VAX_H_FLOAT__.
13251
13252 2002-08-26 Ziemowit Laski <zlaski@apple.com>
13253
13254 * objc/objc-act.c (get_super_receiver): If inside a class method
13255 of a category, cast the receiver to 'id' before accessing the 'isa'
13256 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
13257
13258 2002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
13259
13260 * config/s390/s390-protos.h (s390_function_prologue,
13261 s390_function_epilogue): Remove.
13262 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
13263 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
13264
13265 config/s390/s390.c (s390_machine_dependent_recorg): New function.
13266 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
13267 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
13268 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
13269 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
13270
13271 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
13272 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
13273 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
13274 function is not a leaf function. Use save_gprs and restore_gprs.
13275 (s390_emit_epilogue): Likewise.
13276 (save_gprs, restore_gprs): New functions.
13277 (struct s390_frame): Remove return_reg_saved_p member.
13278 (save_fprs_p): Remove.
13279 (s390_optimize_prolog): New function.
13280 (s390_legitimate_reload_constant): Remove now unnecessary check.
13281
13282 (s390_function_count): Remove.
13283 (s390_output_symbolic_const): Replace s390_function_count by
13284 current_function_funcdef_no.
13285 (s390_output_constant_pool): Likewise.
13286
13287 (legitimize_pic_address): Use regs_ever_live to track PIC register
13288 instead of current_function_uses_pic_offset_table.
13289 (s390_emit_prologue): Likewise.
13290 config/s390/s390.md ("call", "call_value"): Likewise.
13291
13292 2002-08-26 Neil Booth <neil@daikokuya.co.uk>
13293
13294 * c-opts.c (find_opt): Don't complain about wrong languages
13295 here. Return exact matches even for wrong language.
13296 (c_common_decode_option): Complain about wrong languages
13297 here.
13298
13299 2002-08-24 Stuart Hastings <stuart@apple.com>
13300
13301 * function.h (struct function): Add flag
13302 all_throwers_are_sibcalls.
13303 * except.c (set_nothrow_function_flags): Replaces
13304 nothrow_function_p. Set new flag.
13305 * except.h (set_nothrow_function_flags): Replaces
13306 nothrow_function_p.
13307 * dwarf2out.c (struct dw_fde_struct): Add flag
13308 all_throwers_are_sibcalls.
13309 (output_call_frame_info): Test it.
13310 (dwarf2out_begin_prologue) Propagate it from cfun to
13311 dw_fde_struct.
13312 * toplev.c (rest_of_compilation): Update calls to
13313 nothrow_function_p.
13314
13315 2002-08-23 Zack Weinberg <zack@codesourcery.com>
13316
13317 * ggc-page.c (compute_inverse): Short circuit calculation for
13318 object sizes larger than half a page.
13319
13320 2002-08-23 David Edelsohn <edelsohn@gnu.org>
13321
13322 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
13323 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
13324 default.
13325 (rs6000_elf_unique_section): Likewise.
13326
13327 2002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13328
13329 * ns32k.c (ns32k_globalize_label): Delete.
13330 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
13331
13332 2002-08-23 Alan Modra <amodra@bigpond.net.au>
13333
13334 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
13335 for loading delta with num_insns_constant_wide. Calculate
13336 delta_low, delta_high without using a conditional.
13337
13338 2002-08-22 Jason Merrill <jason@redhat.com>
13339
13340 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
13341 * c-common.def: Adjust.
13342 * c-dump.c (c_dump_tree): Adjust.
13343 * c-semantics.c (genrtl_return_stmt): Adjust.
13344 * c-pretty-print.c (pp_c_statement): Adjust.
13345 * tree-inline.c (copy_body_r): Adjust.
13346
13347 2002-08-22 Zack Weinberg <zack@codesourcery.com>
13348
13349 * ggc-page.c: Avoid division in ggc_set_mark.
13350 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
13351 compute_inverse): New.
13352 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
13353 (init_ggc): Initialize inverse_table.
13354
13355 2002-08-22 Tom Tromey <tromey@redhat.com>
13356
13357 * doc/install.texi (Configuration): Document --datadir.
13358
13359 2002-08-22 Alexandre Oliva <aoliva@redhat.com>
13360
13361 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
13362
13363 2002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
13364
13365 * gengtype-lex.l (ID): Allow underscore as first character.
13366
13367 2002-08-21 David Edelsohn <edelsohn@gnu.org>
13368
13369 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
13370 function.
13371 (rs6000_xcoff_asm_named_section): Rename.
13372 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
13373
13374 2002-08-21 Tom Tromey <tromey@redhat.com>
13375
13376 For PR java/6005 and PR java/7611:
13377 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
13378 (fold): Likewise.
13379 * langhooks.c (lhd_can_use_bit_fields_p): New function.
13380 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
13381 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
13382 (LANG_HOOKS_INITIALIZER): Use it.
13383 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
13384 field.
13385
13386 2002-08-21 Stan Shebs <shebs@apple.com>
13387
13388 * tree.c (finish_vector_type): Fix a typo in a comment.
13389 * Makefile.in: Fix "the the" stutters in comments.
13390 * genautomata.c: Ditto.
13391 * ifcvt.c: Ditto.
13392 * regrename.c: Ditto.
13393 * config/alpha/alpha.c: Ditto.
13394 * config/alpha/vms-crt0-64.c: Ditto.
13395 * config/alpha/vms-crt0.c: Ditto.
13396 * config/alpha/vms-psxcrt0-64.c: Ditto.
13397 * config/alpha/vms-psxcrt0.c: Ditto.
13398 * config/d30v/d30v.h: Ditto.
13399 * config/fr30/fr30.h: Ditto.
13400 * config/rs6000/rs6000.c: Ditto.
13401 * config/stormy16/stormy16.h: Ditto.
13402 * doc/md.texi: Ditto.
13403
13404 2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
13405
13406 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
13407
13408 2002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
13409
13410 * c-decl.c (grokdeclarator): Make invalid combinations with long,
13411 short, signed or unsigned into hard errors. Fixes PR c/4319.
13412 Also make duplicate modifiers such as "short short" into hard
13413 errors.
13414
13415 2002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
13416 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13417
13418 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
13419 to the actual end. Add '@end table' and '@table @code'.
13420
13421 2002-08-20 Geoffrey Keating <geoffk@redhat.com>
13422
13423 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
13424
13425 * unroll.c (biv_total_increment): Don't try to compute the total
13426 increment for FP BIVs.
13427
13428 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13429
13430 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
13431 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
13432 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13433 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
13434 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
13435 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
13436 (GLOBAL_ASM_OP): Define.
13437 * arm.c (aof_globalize_label): New function.
13438 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
13439 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13440 * c4x.c (c4x_globalize_label): New function.
13441 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
13442 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
13443 (GLOBAL_ASM_OP): Define.
13444 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
13445 * darwin-protos.h (darwin_globalize_label): Declare.
13446 * darwin.c (darwin_globalize_label): New function.
13447 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
13448 (ASM_GLOBALIZE_LABEL): Delete.
13449 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
13450 * dsp16xx.c (asm_output_common): Use target hook.
13451 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
13452 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
13453 (GLOBAL_ASM_OP): Define.
13454 * i370.c (i370_globalize_label): New function.
13455 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
13456 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
13457 * i386.c (ix86_asm_file_end): Use target hook.
13458 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
13459 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
13460 * ia64.c (ia64_asm_output_external): Likewise.
13461 * ia64/sysv4.h: Update comment.
13462 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13463 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13464 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
13465 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13466 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
13467 * mmix-protos.h (mmix_asm_globalize_label): Delete.
13468 * mmix.c (mmix_asm_globalize_label): Likewise.
13469 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
13470 (GLOBAL_ASM_OP): Define.
13471 * ns32k.c (ns32k_globalize_label): New function.
13472 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
13473 (ASM_GLOBALIZE_LABEL): Delete.
13474 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
13475 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
13476 * pa.c (pa_globalize_label): New function.
13477 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
13478 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
13479 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
13480 (GLOBAL_ASM_OP): Define.
13481 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
13482 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13483 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
13484 (GLOBAL_ASM_OP): Define.
13485 * v850.c (v850_output_aligned_bss): Use target hook.
13486 * vax.c (vms_globalize_label): New function.
13487 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
13488 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
13489 (GLOBAL_ASM_OP): Define.
13490 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
13491 * doc/tm.texi: Update docs.
13492 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
13493 target hook.
13494 * final.c (output_alternate_entry_point): Likewise.
13495 * hooks.c (hook_FILEptr_constcharptr_void): New function.
13496 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
13497 * output.h (assemble_global): Delete.
13498 (default_globalize_label): Declare.
13499 * system.h (ASM_GLOBALIZE_LABEL): Poison.
13500 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
13501 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
13502 * target.h (gcc_target): Add globalize_label member.
13503 * varasm.c (asm_output_bss, asm_output_aligned_bss,
13504 globalize_decl): Use target hook.
13505 (assemble_global): Delete.
13506 (default_globalize_label): New function.
13507
13508 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13509
13510 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
13511
13512 2002-08-20 Devang Patel <dpatel@apple.com>
13513 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
13514
13515 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13516
13517 * arc.c (output_shift): Use stdio instead of asm_fprintf.
13518 * arm.c (thumb_output_function_prologue): Likewise.
13519 * avr.c (print_operand): Likewise.
13520 * c4x.c (c4x_print_operand): Likewise.
13521 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
13522 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
13523 * cris.c (cris_target_asm_function_prologue,
13524 cris_asm_output_mi_thunk): Likewise.
13525 * h8300.c (print_operand): Likewise.
13526 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13527 * ip2k.c (print_operand): Likewise. Fix format specifier.
13528 * m68hc11.c (asm_print_register, print_operand,
13529 print_operand_address): Use stdio instead of asm_fprintf.
13530 (print_operand_address): Fix format specifier.
13531 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
13532 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
13533 asm_fprintf.
13534 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13535 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13536 * m68k.c (m68k_output_function_prologue,
13537 m68k_output_function_epilogue, print_operand): Likewise.
13538 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
13539 Likewise. Fix format specifier.
13540 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13541 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13542 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13543
13544 2002-08-15 Eric Christopher <echristo@redhat.com>
13545 Jeff Knaggs <jknaggs@redhat.com>
13546
13547 * config.gcc (mipsisa64sr71k-elf): New target.
13548 * config/mips/sr71k.md: New file.
13549 * config/mips/mips.md: Use it.
13550 (rot*): Add sr71k specifics.
13551 * config/mips/t-sr71k: New file.
13552 * config/mips/mips.h (sr71k): New cpu.
13553 (TARGET_SR71K): Use it.
13554 (TUNE_SR71K): Ditto.
13555 (GENERATE_BRANCHLIKELY): Ditto.
13556 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
13557 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
13558 * config/mips/mips.c (sr71k): New cpu.
13559 (mips_use_dfa_pipeline_interface): Use.
13560
13561 2002-08-15 Eric Christopher <echristo@redhat.com>
13562 Richard Sandiford <rsandifo@redhat.com>
13563 Aldy Hernandez <aldyh@redhat.com>
13564 Graham Stott <grahams@redhat.com>
13565 Michael Meissner <meissner@redhat.com>
13566 Gavin Romig-Koch <gavin@redhat.com>
13567 Ken Raeburn <raeburn@cygnus.com>
13568 Alexandre Oliva <aoliva@redhat.com>
13569
13570 * config.gcc (mips64vr-elf): New target.
13571 * config/mips/5400.md: New file.
13572 * config/mips/5500.md: Ditto.
13573 * config/mips/mips.md: Use them.
13574 (frsqrt): New.
13575 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
13576 cpus.
13577 (mips_issue_rate): Use them.
13578 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
13579 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
13580 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
13581 cpus.
13582 (TARGET_MIPSx): Use them.
13583 (TUNE_MIPSx): Ditto.
13584 (GETNATE_MULT3_SI): Ditto.
13585 (ISA_HAS_BRANCHLIKELY): Ditto.
13586 (ISA_HAS_CONDMOVE): Ditto.
13587 (ISA_HAS_NMADD_NMSUB): Ditto.
13588 (ISA_HAS_MULHI): New. Ditto.
13589 (ISA_HAS_MULS): Ditto.
13590 (ISA_HAS_MSAC): Ditto.
13591 (ISA_HAS_MACC): Ditto.
13592 (ISA_HAS_ROTR_SI): Ditto.
13593 (ISA_HAS_ROTR_DI): Ditto.
13594 (RTX_COSTS): Use.
13595
13596 2002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
13597
13598 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
13599 at head.
13600 (remove_dup_nonsys_dirs): New function.
13601 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
13602 (merge_include_chains): Remove non-system include directories from
13603 quote and bracket include chains when they duplicate equivalent system
13604 directories.
13605 * doc/cpp.texi (-I): Update.
13606 * doc/cppopts.texi (-I): Update.
13607 * doc/install.texi (--with-local-prefix): Further document usage of
13608 this option.
13609 * doc/invoke.texi (-I): Update.
13610
13611 2002-08-20 Richard Henderson <rth@redhat.com>
13612
13613 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
13614 (emit_block_move): Split out subroutines.
13615 (emit_block_move_via_movstr): New.
13616 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
13617 (emit_block_move_libcall_fn): New. Construct function prototype for
13618 bcopy as well.
13619 (clear_storage): Split out subroutines.
13620 (clear_storage_via_clrstr): New.
13621 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
13622 (clear_storage_libcall_fn): New. Construct function prototype for
13623 bzero as well.
13624 (emit_push_insn): Use emit_block_move.
13625 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
13626 (store_constructor): Likewise.
13627
13628 2002-08-19 Ziemowit Laski <zlaski@apple.com>
13629
13630 * objc/objc-act.c (building_objc_message_expr): Rename to
13631 current_objc_message_selector.
13632
13633 2002-08-19 Ziemowit Laski <zlaski@apple.com>
13634
13635 * objc/objc-act.c (build_ivar_chain): Remove.
13636 (objc_copy_list): Likewise.
13637 (get_class_ivars): Inline call to removed build_ivar_chain
13638 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
13639 slot; use that slot (rather than CLASS_IVARS) when accessing
13640 ivars for base classes. Call copy_list and chainon instead of
13641 objc_copy_list.
13642 (build_private_template): Call get_class_ivars instead of
13643 build_ivar_chain.
13644 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
13645 (continue_class): Call get_class_ivars instead of
13646 build_ivar_chain.
13647 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
13648 of DECL_BIT_FIELD (which may have been cleared).
13649 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
13650
13651 2002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13652
13653 * genautomata.c (output_translate_vect, output_state_ainsn_table,
13654 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
13655 in output file.
13656 (output_internal_min_issue_delay_func): Initialize variable in
13657 output file.
13658
13659 2002-08-19 Alexandre Oliva <aoliva@redhat.com>
13660
13661 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
13662 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
13663
13664 2002-08-19 Geoffrey Keating <geoffk@redhat.com>
13665 Steve Ellcey <sje@cup.hp.com>
13666
13667 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
13668 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
13669 * explow.c (trunc_int_for_mode): Abort when the mode is not
13670 a scaler integer mode.
13671 * combine.c (expand_compound_operation): Don't expand Vector
13672 or Complex modes into shifts.
13673 (expand_field_assignment): Don't do bitwise arithmatic and
13674 shifts on Vector or Complex modes.
13675 (simplify_comparison): Don't call trunc_int_for_mode
13676 for VOIDmode.
13677 * recog.c (general_operand): Likewise.
13678 (immediate_operand): Likewise.
13679 (nonmemory_operand): Likewise.
13680
13681 2002-08-19 David Edelsohn <edelsohn@gnu.org>
13682
13683 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
13684 multi-instruction SImode constant. Add REG_EQUAL note.
13685 * config/rs6000/rs6000.md (movsi splitter): Use
13686 rs6000_emit_set_const.
13687
13688 2002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13689
13690 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
13691 the macro test controlling its use.
13692
13693 2002-08-18 H.J. Lu (hjl@gnu.org)
13694
13695 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
13696 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
13697 gnu_ld=yes.
13698 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
13699 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
13700 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
13701 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
13702 here.
13703 (cris-*-linux*): Remove setting thread_file here.
13704
13705 2002-08-18 Neil Booth <neil@daikokuya.co.uk>
13706
13707 PR preprocessor/7602
13708 * cppinit.c (path_include): Treat the system environment
13709 variables as being cxx_aware.
13710
13711 2002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
13712
13713 * c-decl.c (flexible_array_type_p): New function.
13714 (grokdeclarator, finish_struct): Use it.
13715 * doc/extend.texi: Document constraints on use of structures with
13716 flexible array members.
13717
13718 2002-08-17 Richard Sandiford <rsandifo@redhat.com>
13719
13720 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
13721 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
13722 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
13723
13724 2002-08-16 Stan Shebs <shebs@apple.com>
13725
13726 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
13727 for ObjC with -fnext-runtime.
13728 * doc/cpp.texi: Document it.
13729
13730 2002-08-16 Janis Johnson <janis187@us.ibm.com>
13731
13732 * doc/install.texi (Final installation): Replace links to individual
13733 build status pages with a link to a common page that lists them all.
13734
13735 2002-08-16 Sylvain Pion <pion@cs.nyu.edu>
13736
13737 * doc/invoke.texi: Fix typo.
13738
13739 2002-08-16 David Edelsohn <edelsohn@gnu.org>
13740
13741 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
13742
13743 2002-08-16 Andrew Haley <aph@redhat.com>
13744
13745 * tree-inline.c: Add includes for Java inliner.
13746 (remap_decl): Don't handle anonymous types for Java.
13747 (remap_block): Add handling for Java trees.
13748 (copy_scope_stmt): Conditionalize for non-Java use only.
13749 (copy_body_r): Handle Java trees. Add handling for
13750 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
13751 (initialize_inlined_parameters): Handle Java trees.
13752 (declare_return_variable): Likewise.
13753 (expand_call_inline): Handle Java trees.
13754 (walk_tree): Likewise.
13755 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
13756 (add_stmt_to_compound): New function.
13757
13758 2002-08-15 Richard Henderson <rth@redhat.com>
13759
13760 * Makefile.in (LOOSE_WARN): Remove -fno-common.
13761 (NOCOMMON_FLAG): New substitution point.
13762 (GCC_WARN_CFLAGS): Include it.
13763 * configure.in (ac_checking): Set nocommon_flag.
13764 (nocommon_flag): New substitution point.
13765
13766 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
13767
13768 * c-tree.h (skip_evaluation): Move declaration...
13769 * c-common.h: ... here.
13770 * c-typeck.c (build_external_ref): Don't assemble_external nor
13771 mark a tree as used if skip_evaluation is set.
13772 * c-parse.in (typeof): New non-terminal to set skip_evaluation
13773 around TYPEOF.
13774 (typespec_nonreserved_nonattr): Use it.
13775
13776 2002-08-15 Douglas B Rupp <rupp@gnat.com>
13777
13778 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
13779 (xcoff_debug_hooks): Update end_prologue.
13780 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
13781 * debug.h (end_prologue): Add file arg.
13782 (end_epilogue): Add line and file args.
13783 (dwarf2out_end_epilogue): Add line and file args.
13784 (vmsdbgout_after_prologue): Remove.
13785 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
13786 (dwarf2_debug_hooks): Update end_prologue.
13787 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
13788 (dwarfout_end_prologue): Add file arg.
13789 * final.c (vmsdbgout_after_prologue): Remove
13790 (final_end_function): Update end_epilogue call.
13791 (final_scan_insn): Update end_prologue call.
13792 * sdbout.c (sdbout_end_epilogue): Add line and file args.
13793 (sdbout_end_prologue): Add file arg.
13794 (sdb_debug_hooks): Update end_prologue.
13795 (sdb_begin_prologue): Update sdbout_end_prologue call.
13796 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
13797 vmsdbgout_end_function.
13798 (vmsdbgout_end_prologue): New function renamed from
13799 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
13800 (vmsdbgout_end_function): New function.
13801 (vmsdbgout_end_epilogue): Add line and file args. Call
13802 vmsdbgout_source_line.
13803 (write_pclines): Write only valid line numbers.
13804 (write_srccorr): Don't write source correlation records if 0 lines.
13805 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
13806
13807 2002-08-15 Steve Ellcey <sje@cup.hp.com>
13808
13809 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
13810 (_Unwind_Internal_Ptr): 32 bit version for use in
13811 read_encoded_value_with_base.
13812 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
13813 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
13814 right size.
13815
13816 2002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13817
13818 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
13819 signed/unsigned warnings.
13820
13821 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
13822 record_reg_classes): Likewise.
13823
13824 * reload.c (reload_inner_reg_of_subreg, push_reload,
13825 find_reloads_address_1): Likewise.
13826
13827 2002-08-15 David Edelsohn <edelsohn@gnu.org>
13828
13829 * rs6000.c (output_mi_thunk): Return to function section on
13830 TARGET_ELF.
13831
13832 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
13833
13834 2002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
13835
13836 * config/s390/s390.c (legitimize_address): Optimize loading
13837 of large displacements.
13838
13839 2002-08-14 Douglas B Rupp <rupp@gnat.com>
13840
13841 * config/alpha/alpha-protos.h: Update.
13842
13843 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
13844 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
13845 (alpha_linkage_symbol_p): New static function.
13846 (print_operand_address): Print linkage operand.
13847
13848 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
13849 variables.
13850 (reloc_kind): New enum.
13851 (struct alpha_funcs): New struct.
13852 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
13853
13854 (alpha_need_linkage): Rewrite.
13855 (alpha_use_linkage): New global function.
13856 (alpha_write_linkage): Rewrite and make static.
13857 (alpha_write_one_linkage): Rewrite
13858
13859 (alpha_start_function): Remove procedure descriptor output.
13860 (alpha_end_function): Write linkages at end of each function.
13861
13862 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
13863 (call_vms_1, call_value_vms_1): Rewrite.
13864
13865 * config/alpha/vms.h (ASM_FILE_END): Remove.
13866
13867 2002-08-14 Richard Henderson <rth@redhat.com>
13868
13869 * ggc-page.c (RTL_SIZE): New.
13870 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
13871 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
13872
13873 2002-08-14 Richard Henderson <rth@redhat.com>
13874
13875 * calls.c: Include target.h.
13876 * Makefile.in (calls.o): Update.
13877
13878 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
13879 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
13880
13881 2002-08-14 Richard Henderson <rth@redhat.com>
13882
13883 * Makefile.in (LOOSE_WARN): Add -fno-common.
13884 * c-common.h (constant_string_class_name): Add missing extern.
13885
13886 2002-08-15 Neil Booth <neil@daikokuya.co.uk>
13887
13888 PR preprocessor/7358
13889 * c-opts.c (check_deps_environment_vars): Ignore main file
13890 for SUNPRO_DEPENDENCIES.
13891 * cppfiles.c (stack_include_file): Ignore main file if
13892 appropriate.
13893 * cpplib.h (struct cpp_options): New member in deps.
13894 * doc/cppenv.texi: Update.
13895
13896 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
13897
13898 PR preprocessor/7526
13899 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
13900
13901 2002-08-14 Nathan Sidwell <nathan@codesourcery.com>
13902
13903 * doc/invoke.texi (-a): Remove documentation.
13904 (-fprofile-arcs): Remove reference to -a, -ax options.
13905 * doc/gcov.texi (Gcov Data Files): Data might be merged.
13906
13907 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
13908
13909 Fix PR/7566
13910 * c-semantics.c (genrtl_case_label): Don't (mis)use
13911 warning_with_decl.
13912
13913 2002-08-14 Dale Johannesen <dalej@apple.com>
13914
13915 * explow.c (emit_stack_restore): Emit memory clobbers
13916 preceding the stack pop, to prevent the scheduler from
13917 moving refs to variable arrays below this pop.
13918 * reload1.c (reload): Preserve these clobbers for sched2.
13919 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
13920
13921 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
13922
13923 * c-opts.c (c_common_post_options): Correct test.
13924
13925 2002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13926
13927 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
13928 order in call to fprintf.
13929
13930 2002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13931
13932 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
13933
13934 2002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
13935
13936 * reload.c (find_reloads): Handle constraint letters marked by
13937 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
13938 (alternative_allows_memconst): Likewise.
13939 * reload1.c (maybe_fix_stack_asms): Likewise.
13940 * recog.c (asm_operand_ok, preprocess_constraints,
13941 constrain_operands): Likewise.
13942 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13943 * local-alloc.c (block_alloc, requires_inout): Likewise.
13944 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13945
13946 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
13947 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13948 * doc/tm.texi: Document these two new target macros.
13949
13950 * config/s390/s390.c (s390_expand_plus_operand): Accept already
13951 valid operands.
13952 (q_constraint): New function.
13953 config/s390/s390-protos.h (q_constraint): Declare it.
13954 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
13955 (EXTRA_MEMORY_CONSTRAINT): New macro.
13956
13957 * config/s390/s390.md: Throughout the machine description,
13958 replace all instances of the constraint combinations 'Qo'
13959 or 'oQ' with simply 'Q'.
13960
13961 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13962
13963 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
13964 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
13965 (LIBGCC2_CFLAGS): Compile with -mrelax.
13966
13967 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13968
13969 * doc/invoke.texi: Document -minmax for 68HC12.
13970
13971 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
13972 ("uminqi3"): Likewise.
13973 ("uminhi3", "umaxhi3"): Likewise.
13974
13975 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
13976 (TARGET_MIN_MAX): Define.
13977 (TARGET_SWITCHES): New option -minmax/-mnominmax.
13978
13979 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13980
13981 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
13982 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
13983
13984 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
13985 (ret, declare, farsym): New gas macros.
13986 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
13987 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
13988 and declare the symbol far when compiled with -mlong-calls.
13989 (__far_trampoline): New for 68HC12 trampoline code to invoke a
13990 far handler using jsr/bsr.
13991
13992 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
13993 (jsr): New macro to transform a 'jsr' into a 'call'.
13994
13995 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13996
13997 * doc/invoke.texi: Document -mlong-calls for 68HC12.
13998
13999 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
14000 -mlong-calls is specified.
14001 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
14002 assembler directives.
14003 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
14004 (TARGET_SWITCHES): Add -mlong-calls options.
14005 (current_function_far): Declare.
14006
14007 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
14008 into account the page register saved on the stack.
14009 (m68hc11_override_options): Take into account -mlong-calls option.
14010 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
14011
14012 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
14013 if the function is going to be in 68HC12 banked memory (-mlong-calls).
14014 ("*return_16bit"): Likewise.
14015 ("*return_void"): Likewise.
14016 ("call", "call_value"): Use call for a far function call.
14017
14018 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
14019
14020 * toplev.c (parse_options_and_default_flags): Don't call
14021 post_options here.
14022 (general_init): Initialize GC, pools and tree hash here,
14023 instead of lang_independent_init.
14024 (lang_independent_init): Rename backend_init.
14025 (do_compile): Call post_options hook; exit early if there
14026 have been errors after switch processing.
14027 (toplev_main): Update.
14028
14029 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
14030
14031 * c-pretty-print.h: Guard against multiple inclusion.
14032 Robustify macros.
14033 (pp_c_attributes): Declare.
14034 * c-pretty-print.c (pp_c_attributes): New function.
14035
14036 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14037
14038 * m68k.c (m68k_output_function_prologue,
14039 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
14040 and NEWS/MOTOROLA.
14041 * genattrtab.c: Remove dpx2 comment.
14042 * libgcc2.c (__enable_execute_stack): Delete versions for
14043 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
14044 sony_news/SYSTYPE_BSD.
14045 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
14046 __gmicro__, __i860__, __NeXT__ and __pyr__.
14047 * rtl.h: Remove convex comment.
14048 * varasm.c: Likewise.
14049
14050 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14051
14052 * c-opts.c (lang_flags): Const-ify.
14053 * ra-build.c (undef_table): Likewise.
14054 * ra.c (eliminables): Likewise.
14055
14056 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
14057
14058 * tree.h: Guard against multiple inclusion.
14059
14060 2002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
14061
14062 * reload1.c (reload_cse_simplify): Before checking
14063 REG_FUNCTION_VALUE_P, check REG_P.
14064
14065 2002-08-13 Geoffrey Keating <geoffk@redhat.com>
14066
14067 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
14068
14069 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
14070
14071 * c-opts.c (c_common_init_options): Extra braces needed.
14072
14073 Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
14074
14075 * sh.c (sh_init_builtins): Add PARAMS to declaration.
14076 (sh_media_init_builtins, sh_expand_builtin): Likewise.
14077 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
14078 (sh_expand_binop_v2sf): Likewise.
14079 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
14080 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
14081 (sh_initialize_trampoline): Likewise.
14082
14083 2002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
14084
14085 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
14086 new condition code modes.
14087 s390.c (s390_match_ccmode_set): Handle those new CC modes.
14088 (s390_select_ccmode): Likewise.
14089 (s390_branch_condition_mask): Likewise.
14090
14091 * s390-protos.h (s390_tm_ccmode): Declare.
14092 s390.c (s390_tm_ccmode): New function.
14093 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
14094
14095 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
14096 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
14097 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
14098
14099 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
14100 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
14101 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
14102 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
14103 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
14104
14105 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
14106 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
14107 "*cmpqi_ccs_0"): Remove, replace by ...
14108 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
14109 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
14110 "*tstqi", "*tstqi_cconly"): ... these new patterns.
14111
14112 ("*cmpsidi_ccs"): Remove, replace by ...
14113 ("*cmpsi_ccs_sign"): ... this new pattern.
14114 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
14115
14116 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
14117 ("*cli"): ... this new pattern.
14118
14119 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
14120 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
14121 New patterns.
14122 ("adddi3_64"): Rename to "*adddi3_64".
14123 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
14124 ("adddi3"): Adapt expander.
14125
14126 ("*addsi3_cc"): Allow "general_operand" for operand 2.
14127 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14128 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
14129
14130 ("addhi3", "addqi3"): Remove, replace by ...
14131 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
14132
14133 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
14134 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
14135 ("subdi3"): Replace by insn and splitter "*subdi3_31".
14136 ("subdi3"): New expander.
14137
14138 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
14139
14140 ("subhi3", "subqi3"): Remove, replace by ...
14141 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
14142
14143 ("*muldi3_sign"): New pattern.
14144 ("muldi3"): Do not clobber CC.
14145 ("mulsi3"): Likewise.
14146 ("mulsi_6432"): Likewise.
14147
14148 2002-08-13 Denis Chertykov <denisc@overta.ru>
14149
14150 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
14151 which can change CC0.
14152
14153 Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
14154
14155 * gcse.c (adjust_libcall_notes): New function.
14156 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
14157
14158 2002-08-13 Nathan Sidwell <nathan@codesourcery.com>
14159
14160 * libgcc2.c (L_bb): Remove unneeded #includes.
14161 (__global_counters, __gthreads_active): Remove unused globals.
14162 (__bb_exit_func): Merge counts into files rather than appending.
14163 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
14164 (ALL_CFLAGS): ... to here.
14165
14166 2002-08-13 Denis Chertykov <denisc@overta.ru>
14167
14168 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
14169 (function_epilogue): Don't calculate function size.
14170 (ip2k_set_compare): Don't use lookup_const_double.
14171 (asm_file_start): Initialization of commands_in_file removed.
14172 (asm_file_end): Output of commands_in_file removed.
14173
14174 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
14175 __INT_MAX__.
14176
14177 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
14178
14179 * c-opts.c (c_common_init_options): Check option array is
14180 sorted if checking enabled.
14181
14182 2002-08-13 Gabriel Dos Reis <gdr@nerim.net>
14183
14184 * c-pretty-print.c: #include "c-tree.h".
14185 (pp_c_simple_type_specifier): Tweak.
14186 (pp_c_storage_class_specifier): New.
14187 (pp_c_function_specifier): Likewise.
14188 (pp_c_declaration_specifiers): Likewise.
14189 (pp_c_init_declarator): Likewise.
14190 (pp_c_declaration): Likewise.
14191 (pp_c_direct_declarator): Stub.
14192 (pp_c_declarator): Likewise.
14193 (pp_c_parameter_declaration): Likewise.
14194
14195 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
14196
14197 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
14198 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
14199 struct deferred_opt): New.
14200 (COMMAND_LINE_OPTIONS): Add -M*.
14201 (missing_arg): Update.
14202 (c_common_decode_option): Handle -M*.
14203 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
14204 don't call cpp_post_options.
14205 (c_common_finish, check_deps_environment_vars): Update.
14206 * cppfiles.c (stack_include_file, handle_missing_header): Update.
14207 * cpphash.h (CPP_PRINT_DEPS): Remove.
14208 * cppinit.c: Don't include version.h.
14209 (cpp_create_reader): Don't call deps_init. Initialize
14210 warn_long_long.
14211 (cpp_read_main_file): Init deps if necessary.
14212 (cpp_destroy): Conditionally free deps.
14213 (cpp_finish): Update.
14214 (no_tgt): Remove.
14215 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
14216 (cpp_post_options): Rename post_options.
14217 * cpplib.h (struct cpp_options): Remove some dependency options;
14218 move others to a new structure.
14219 (cpp_post_options): Remove.
14220 (cpp_finish): Comment.
14221 * fix-header.c (read_scan_file): Don't call cpp_post_options.
14222
14223 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
14224
14225 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
14226 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
14227 MMIX_rR_REGNUM as clobbered.
14228 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
14229
14230 2002-08-12 Gabriel Dos Reis <gdr@nerim.net>
14231
14232 * diagnostic.h (output_formatted_scalar): Rename from
14233 output_formatted_integer.
14234 * diagnostic.def: Add DK_DEBUG.
14235 * diagnostic.c (output_decimal): Adjust.
14236 (output_long_decimal): Likewise.
14237 (output_unsigned_decimal): Likewise.
14238 (output_octal): Likewise.
14239 (output_long_octal): Likewise.
14240 (output_hexadecimal): Likewise.
14241 (output_long_hexadecimal): Likewise.
14242 * c-pretty-print.c (pp_c_type_specifier): New function.
14243 (pp_c_specifier_qualifier_list): Likewise.
14244 (pp_c_abstract_declarator): Likewise.
14245 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
14246
14247 2002-08-12 David Edelsohn <edelsohn@gnu.org>
14248
14249 * doc/trouble.texi (Disappointments): Add static constructor and
14250 destructor dependency information for AIX.
14251
14252 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
14253
14254 * cpphash.h (struct printer): New from cppmain.c.
14255 (cpp_reader): New member.
14256 * cppmain.c (struct printer): Move to cpphash.h.
14257 (options, print): Remove.
14258 (account_for_newlines, print_line, maybe_print_line,
14259 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
14260 scan_translation_unit_trad, cb_line_change, cb_ident,
14261 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
14262 cb_def_pragma): Make reentrant.
14263
14264 2002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14265
14266 * real.c (ieee_64): Always define.
14267 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14268 (dec_h): Not used yet, hide it.
14269 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
14270 macro controlling use.
14271 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14272
14273 Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
14274
14275 * i386.md (tablejump): Sign extend the operand.
14276 * i386.c (classify_argument): Fix missed case from previous patch.
14277
14278 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
14279
14280 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
14281 to c-copts.c.
14282 (warn_multichar): Die.
14283 (cb_register_builtins): Export.
14284 * c-common.h (warn_multichar, preprocess_file): Remove.
14285 (cb_register_builtins): New.
14286 * c-lang.c (c_init): Remove.
14287 (LANG_HOOKS_INIT): Use c_objc_common_init.
14288 * c-lex.c (init_c_lex): Don't canonicalize filename.
14289 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
14290 (preprocess_file): Make static. Update for cpplib.
14291 (c_common_decode_option): Remove warn_multichar. Use in_fname.
14292 (c_common_post_options): Set some cpp options here.
14293 (c_common_init): Move from c-common.c.
14294 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
14295 * cpplib.h (struct cpp_options): Remove in_fname.
14296 (cpp_preprocess_file): Update.
14297 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
14298
14299 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14300
14301 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
14302
14303 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14304
14305 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
14306 backslash in comment preceeding macro definition.
14307 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
14308 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
14309 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
14310
14311 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
14312
14313 * expr.c (store_expr): In condition for checking if value is
14314 generated in TARGET, move call to expr_size last.
14315
14316 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
14317
14318 * c-common.c (c_common_init): Call preprocess_file instead.
14319 (c_common_finish): Move to c-opts.c.
14320 * c-common.h (preprocess_file): new.
14321 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
14322 check_deps_environment_vars, c_common_finish): New.
14323 (c_common_decode_option): Update for out_fname and dependencies.
14324 * cppinit.c (init_dependency_output, output_deps): Remove.
14325 (cpp_destroy): Update prototype.
14326 (cpp_add_dependency_target): New.
14327 (cpp_read_main_file): Don't overlay a buffer.
14328 (cpp_finish): Take a deps output stream and write deps to it.
14329 Return the error count.
14330 (cpp_post_options): Don't canonicalize out_fname, or do anything
14331 with dependencies.
14332 * cpplib.h (struct cpp_options): Remove out_fname and
14333 preprocess_only.
14334 (cpp_add_dependency_target): New.
14335 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
14336 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
14337 set preprocess_only. Don't handle the output stream directly.
14338
14339 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14340
14341 * dsp16xx.c (print_operand): Fix format specifier.
14342 * dsp16xx.md: Avoid automatic aggregate initialization.
14343 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
14344 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
14345 integer constant modifier.
14346 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
14347 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
14348 guards.
14349 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
14350 * v850.c (v850_select_section): Mark parameter with
14351 ATTRIBUTE_UNUSED.
14352 * global.c (global_alloc): Const-ify.
14353 * ra-colorize.c (hardregset_to_string): Fix format specifier.
14354
14355 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14356
14357 * darwin-c.c (darwin_pragma_options): Const-ify.
14358 * darwin.c (machopic_non_lazy_ptr_name,
14359 machopic_validate_stub_or_non_lazy_ptr): Likewise.
14360 (machopic_indirect_data_reference): Wrap variables in macros
14361 controlling their use.
14362 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
14363 (machopic_select_section): Use parentheses around && within ||.
14364 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
14365
14366 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14367
14368 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
14369 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
14370 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
14371 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
14372 mdr_try_remove_redundant_insns, track_w_reload,
14373 mdr_try_wreg_elim): Make function static to match prototype.
14374 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
14375 parameter with ATTRIBUTE_UNUSED.
14376
14377 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14378
14379 * arc.c (arc_init): Don't use ISO C style function definitions.
14380 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
14381 arm_get_strip_length, arm_strip_name_encoding): Likewise.
14382 * avr.h (progmem_section): Likewise.
14383 * h8300.c h8300_asm_insn_count): Likewise.
14384 * m32r.c (init_idents): Likewise.
14385 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
14386 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
14387 * xtensa.c (xtensa_build_va_list): Likewise.
14388
14389 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
14390
14391 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
14392 * c-opts.c (parse_option): Rename find_opt.
14393 (set_std_c99): New function.
14394 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
14395 (missing_arg): Remove OPT_std_bad. Handle -o.
14396 (c_common_decode_option): Handle input and output file names,
14397 -o and -remap. Clean up -std= handling.
14398 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
14399 (cpp_handle_option): Similarly. Don't handle filenames.
14400
14401 Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
14402
14403 * i386.c (classify_argument): Fix computing of field's offsets.
14404
14405 2002-08-11 Andreas Jaeger <aj@suse.de>
14406
14407 PR target/7531:
14408 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
14409
14410 2002-08-10 Ziemowit Laski <zlaski@apple.com>
14411
14412 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
14413 reference to clk_objective_c with flag_objc.
14414 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
14415 Likewise.
14416 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
14417
14418 2002-08-10 Neil Booth <neil@daikokuya.co.uk>
14419
14420 * c-opts.c (set_std_cxx98, set_std_c89): New.
14421 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
14422 (c_common_decode_option): Handle new switches from cppinit.c.
14423 Add -std=gnu++98.
14424 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
14425 (no_arg, no_num): Remove.
14426 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
14427 switches apart from -lang-objc and lang-asm.
14428 (cpp_handle_option): Similarly.
14429 * cpplib.h (cpp_set_lang): New.
14430 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
14431 -std=gnu++98.
14432 * objc/lang-specs.h: Remove -ansi.
14433
14434 Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
14435 Graham Stott
14436
14437 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
14438 errors.
14439
14440 2002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14441
14442 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
14443 emit_jump_insn): Fix uninitialized variable.
14444 * gcov.c (init_line_info): Likewise.
14445 * genautomata.c (transform_3): Add braces around ambiguous
14446 else.
14447 * ifcvt.c (cond_exec_process_insns): Mark parameter with
14448 ATTRIBUTE_UNUSED.
14449 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
14450 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
14451 variable.
14452
14453 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
14454 warnings in output files.
14455
14456 2002-08-09 Ziemowit Laski <zlaski@apple.com>
14457
14458 * c-common.c (flag_objc): New.
14459 * c-common.h (c_language_kind): Get rid of clk_objective_c
14460 enum value.
14461 (flag_objc): New extern declaration.
14462 * c-decl.c (implicitly_declare): Call objc_check_decl
14463 instead of maybe_objc_check_decl.
14464 (finish_decl): Likewise.
14465 (grokfield): Likewise.
14466 (finish_struct): Likewise.
14467 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
14468 (maybe_objc_comptypes): Rename to objc_comptypes.
14469 (maybe_building_objc_message_expr): Rename to
14470 objc_message_selector.
14471 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
14472 replace with flag_objc as needed.
14473 * c-opts.c (c_common_init_options): Likewise.
14474 (c_common_decode_option): Likewise.
14475 * c-parse.in (init_reswords): Likewise.
14476 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
14477 (maybe_objc_comptypes): Rename to objc_comptypes.
14478 (maybe_building_objc_message_expr): Rename to
14479 objc_message_selector.
14480 * c-typeck.c (comptypes): Call objc_comptypes instead of
14481 maybe_objc_comptypes, and/or objc_message_selector instead of
14482 maybe_building_objc_message_expr.
14483 (comp_target_types): Likewise.
14484 (convert_for_assignment): Likewise.
14485 (warn_for_assignment): Likewise.
14486 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
14487 independently of those for other languages.
14488 * objc/objc-act.c (maybe_objc_comptypes): Delete.
14489 (maybe_objc_check_decl): Delete.
14490 (maybe_building_objc_message_expr): Rename to
14491 objc_message_selector.
14492 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
14493 clk_objective_c; set flag_objc flag.
14494
14495 2002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
14496
14497 * ifcvt.c (find_if_case_2): Test correct basic block for size.
14498
14499 2002-08-09 Dale Johannesen <dalej@apple.com>
14500
14501 * config/rs6000/rs6000.md: Add sibcall patterns.
14502 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
14503 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
14504 Rewritten to handle sibcalls.
14505 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
14506 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
14507
14508 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
14509
14510 * profile.c (da_file_name): New static var.
14511 (init_branch_prob): Initialize it.
14512 (end_branch_prob): Remove da file.
14513
14514 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
14515 * configure.in (coverage_flags): Default to nothing.
14516 * configure: Rebuilt.
14517
14518 2002-08-09 Neil Booth <neil@daikokuya.co.uk>
14519
14520 * Makefile.in (c-opts.o): Update
14521 * c-opts.c: Include intl.h.
14522 (print_help): Move from cppinit.c. Remove unused options.
14523 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
14524 (missing_arg): Complain for switches without an argument.
14525 (c_common_decode_option): Reject missing joined arguments.
14526 Handle new switches from cppinit.c.
14527 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
14528 (cpp_handle_option): Similarly.
14529 (print_help): Moved to c-opts.c.
14530 * cpplib.h (struct cpp_options): Remove help_only.
14531 * gcc.c (cpp_unique_options): Remove -$.
14532 * doc/cppopts.texi: Undocument -h.
14533
14534 2002-08-08 Jakub Jelinek <jakub@redhat.com>
14535
14536 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
14537 legitimate constant.
14538 (legitimate_pic_operand_p): Neither pic operand.
14539 (legitimate_address_p): But legitimate address.
14540 (get_thread_pointer): Generate MEM/u instead of CONST around
14541 UNSPEC_TP.
14542 (print_operand): Remove printing of UNSPEC_TP.
14543 (print_operand_address): And print it here.
14544
14545 2002-08-08 Devang Patel <dpatel@apple.com>
14546
14547 * objc/objc-act.c (build_selector_translation_table): Issue warning,
14548 when -Wselector is used,if method for which selector is being
14549 created does not exist.
14550
14551 2002-08-08 Stephen Clarke <stephen.clarke@superh.com>
14552
14553 * config/sh/sh.c (prepare_move_operands): Only call
14554 target_reg_operand if TARGET_SHMEDIA.
14555
14556 2002-08-08 Jakub Jelinek <jakub@redhat.com>
14557
14558 * config/rs6000/rs6000.h, config/rs6000/aix.h,
14559 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
14560 two patches.
14561 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
14562
14563 2002-08-08 Lars Brinkhoff <lars@nocrew.org>
14564 Richard Henderson <rth@redhat.com>
14565
14566 * emit-rtl.c (gen_rtx_REG): After reload, only return
14567 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
14568
14569 2002-08-08 Jakub Jelinek <jakub@redhat.com>
14570
14571 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
14572 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
14573 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
14574 macro.
14575
14576 2002-08-08 Adam Nemet <anemet@lnxw.com>
14577
14578 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
14579 register.
14580 (thumb_expand_prologue): Likewise.
14581 (thumb_output_function_prologue): Likewise.
14582 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
14583 the additional push of the PIC register.
14584
14585 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
14586
14587 * configure.in (enable_coverage): New enable switch.
14588 * configure: Rebuilt.
14589 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
14590 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
14591 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
14592 (mostlyclean): Remove coverage files.
14593 * doc/install.texi: Document enable_coverage.
14594
14595 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
14596 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
14597 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
14598 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
14599 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
14600 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
14601 files.
14602
14603 2002-08-08 Neil Booth <neil@daikokuya.co.uk>
14604
14605 * c-opts.c (cpp_opts): New.
14606 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
14607 (c_common_decode_options): Handle cpplib switches.
14608 (c_common_init_options): Set cpp_opts.
14609 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
14610 (cpp_handle_option): Similarly.
14611
14612 2002-08-08 David Edelsohn <edelsohn@gnu.org>
14613
14614 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
14615 (TARGET_ALTIVEC_ABI): Same.
14616 (TARGET_ALTIVEC_VRSAVE): Same.
14617
14618 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
14619 icode not CODE_FOR_nothing. Change switch to if.
14620
14621 2002-08-08 Alan Modra <amodra@bigpond.net.au>
14622
14623 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
14624
14625 2002-08-08 Jakub Jelinek <jakub@redhat.com>
14626
14627 * stor-layout.c (place_union_field): For bitfields if
14628 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
14629 TYPE_USER_ALIGN.
14630
14631 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
14632
14633 * pa.c (struct deferred_plabel): Constify name field.
14634
14635 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
14636
14637 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
14638
14639 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
14640
14641 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
14642 local_prefix are the same.
14643 * configure: Rebuilt.
14644
14645 2002-08-07 Jakub Jelinek <jakub@redhat.com>
14646 Richard Henderson <rth@redhat.com>
14647
14648 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
14649 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
14650 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
14651 (place_field): Likewise.
14652 * config/i386/i386.c (x86_field_alignment): Don't check
14653 DECL_USER_ALIGN here.
14654 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
14655 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
14656 prototype.
14657 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
14658 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
14659 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
14660 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
14661 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
14662 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
14663
14664 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
14665
14666 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
14667 * c-common.c: Don't include tree-inline.h.
14668 (c_common_init_options, c_common_post_options): Move to c-opts.c.
14669 * c-common.h (c_common_decode_option): New.
14670 * c-decl.c (c_decode_option): Remove.
14671 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
14672 * c-opts.c: New file.
14673 * c-tree.h (c_decode_option): Remove.
14674 * doc/passes.texi: Update.
14675 * objc/objc-act.c (objc_decode_option): Remove.
14676 * objc/objc-act.h (objc_decode_option): Remove.
14677 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
14678 c_common_decode_option.
14679
14680 2002-08-07 Chris Demetriou <cgd@broadcom.com>
14681
14682 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
14683 dependency on TARGET_DOUBLE_FLOAT.
14684
14685 2002-08-07 Stephen Clarke <stephen.clarke@superh.com>
14686
14687 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
14688 overwrite callee-save registers. Fix comment.
14689
14690 2002-08-06 Chris Demetriou <cgd@broadcom.com>
14691
14692 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
14693 in target_flags based on ISA, if it was not set on the command
14694 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
14695 support Branch Likely instructions.
14696 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
14697 (TARGET_BRANCHLIKELY): Likewise.
14698 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
14699 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
14700 ISA_HAS_BRANCHLIKELY.
14701 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
14702 * doc/invoke.texi: Document new MIPS -mbranch-likely and
14703 -mno-branch-likely options.
14704
14705 2002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14706
14707 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
14708
14709 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
14710 $(GCONFIG_H).
14711
14712 2002-08-06 Aldy Hernandez <aldyh@redhat.com>
14713
14714 * c-decl.c (duplicate_decls): Error out for incompatible TLS
14715 declarations.
14716
14717 * testsuite/gcc.dg/tls/diag-3.c: New.
14718
14719 2002-08-06 Dale Johannesen <dalej@apple.com>
14720
14721 * c-common.c (fname_decl): Use line number 0 for
14722 __func__, to avoid confusing debuggers.
14723
14724 2002-08-06 Nathan Sidwell <nathan@codesourcery.com>
14725
14726 * gcov.c: Tidy.
14727 (struct line_info, struct coverage): New structures.
14728 (gcov_file_name, gcov_file): Remove globals.
14729 (output_data): Take source file parameter. Fix memory leak. Break
14730 up into ...
14731 (init_line_info, output_line_info, make_gcov_file_name,
14732 accumulate_branch_counts): ... here.
14733 (calculate_branch_probs, function_summary): Adjust.
14734 (main): Adjust.
14735 (function_*): Remove global variables.
14736
14737 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
14738
14739 * dwarf2out.c: Remove unused macros.
14740
14741 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
14742
14743 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
14744
14745 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
14746
14747 * cppinit.c (struct lang_flags): Rename trigraphs std.
14748 (set_lang): Update.
14749 * cpplib.h (struct cpp_options): New member std.
14750 * cppmacro.c (_cpp_builtin_macro_text): Use std.
14751 (collect_args): Flag whether to swallow a possible future
14752 comma pasted with varargs.
14753 (replace_args): Use this flag.
14754 * doc/cpp.texi: Update varargs extension documentation.
14755
14756 2002-08-06 Jakub Jelinek <jakub@redhat.com>
14757
14758 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
14759
14760 2002-08-06 Jakub Jelinek <jakub@redhat.com>
14761
14762 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
14763 and MODE_CLASS_INT modes.
14764
14765 2002-08-06 Jakub Jelinek <jakub@redhat.com>
14766
14767 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
14768 --{enable,disable}-threads is given to configure.
14769 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
14770 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
14771 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
14772 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
14773 Remove thread_file setting here.
14774
14775 2002-08-06 David Edelsohn <edelsohn@gnu.org>
14776
14777 * doc/install.texi (Binaries): Update Bull Freeware URL.
14778
14779 2002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14780
14781 * doc/gcc.texi (Top): Rename Index to Keyword Index.
14782
14783 2002-08-05 Nathan Sidwell <nathan@codesourcery.com>
14784
14785 * gcov.c (output_data): Round to % to nearest, tweak formatting.
14786
14787 2002-08-05 Jakub Jelinek <jakub@redhat.com>
14788
14789 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
14790 of the operands into MINUS_EXPR if code is PLUS_EXPR.
14791
14792 2002-08-05 Douglas B Rupp <rupp@gnat.com>
14793
14794 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
14795 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
14796 drectve_section): Define.
14797 * config/i386/t-interix: Replace interix.o rule with winnt.o.
14798 * config/i386/interix.c: Remove.
14799
14800 2002-08-05 Geoffrey Keating <geoffk@redhat.com>
14801
14802 * attribs.c: Don't include obstack.h.
14803 * builtins.c: Likewise.
14804 * cfganal.c: Likewise.
14805 * cfgbuild.c: Likewise.
14806 * cfgcleanup.c: Likewise.
14807 * emit-rtl.c: Likewise.
14808 * loop.c: Likewise.
14809 * stmt.c: Likewise.
14810
14811 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
14812
14813 2002-08-05 Gabriel Dos Reis <gdr@nerim.net>
14814
14815 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
14816
14817 2002-08-04 Chris Demetriou <cgd@broadcom.com>
14818
14819 * doc/invoke.texi: Remove duplicated paragraph describing
14820 TARGET_SWITCHES.
14821
14822 2002-08-04 Geoffrey Keating <geoffk@redhat.com>
14823
14824 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
14825 * collect2.h (permanent_obstack): Delete declaration.
14826 * collect2.c (permanent_obstack): Delete definition.
14827 (main): Don't initialize permanent_obstack. Use xstrdup instead.
14828 * expr.c: Don't include obstack.h.
14829 (permanent_obstack): Delete declaration.
14830 * function.c: Don't include obstack.h.
14831 (permanent_obstack): Delete declaration.
14832 * integrate.c: Don't include obstack.h.
14833 (function_maybepermanent_obstack): Delete declaration.
14834 * print-tree.c (debug_tree): Use x*alloc not permalloc.
14835 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
14836 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
14837 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
14838 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
14839 of permalloc, expralloc, perm_calloc.
14840 * tree.c (permanent_obstack): Delete definition.
14841 (init_ttree): Rename from init_obstacks.
14842 (permalloc): Delete.
14843 (perm_calloc): Delete.
14844 (dump_tree_statistics): Don't print information about
14845 permanent_obstack.
14846 * varasm.c (assemble_start_function): Use xstrdup instead of
14847 permalloc/strcpy.
14848 (assemble_variable): Likewise.
14849 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
14850 permalloc.
14851 (unicosmk_add_extern): Likewise.
14852 * config/c4x/c4x.c (c4x_external_ref): Likewise.
14853 (c4x_global_label): Likewise.
14854 * config/frv/frv.c (frv_encode_section_info): Likewise.
14855 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
14856 (i386_pe_record_exported_symbol): Likewise.
14857 * config/mips/mips.c (mips_output_external): Likewise.
14858 (mips_output_external_libcall): Likewise.
14859 * config/pa/pa.c: (permanent_obstack): Delete declaration.
14860 (output_call): Use ggc_strdup instead of allocating on
14861 permanent_obstack.
14862 * config/romp/romp.c: Include ggc.h.
14863 (get_symref): Don't declare permanent_obstack, use ggc_strdup
14864 intead of permanent_obstack.
14865 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
14866 instead of permalloc.
14867 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
14868 instead of permalloc
14869 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
14870 instead of permalloc.
14871 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
14872 permalloc.
14873
14874 2002-08-04 Bernd Schmidt <bernds@redhat.com>
14875
14876 Contribute a port developed primarily by Michael Meissner,
14877 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
14878 * config.gcc: Add frv-elf target.
14879 * config/frv/cmovd.c: New file.
14880 * config/frv/cmovh.c: New file.
14881 * config/frv/cmovw.c: New file.
14882 * config/frv/frv-abi.h: New file.
14883 * config/frv/frv-asm.h: New file.
14884 * config/frv/frv-modes.def: New file.
14885 * config/frv/frv-protos.h: New file.
14886 * config/frv/frv.c: New file.
14887 * config/frv/frv.h: New file.
14888 * config/frv/frv.md: New file.
14889 * config/frv/frvbegin.c: New file.
14890 * config/frv/frvend.c: New file.
14891 * config/frv/lib1funcs.asm: New file.
14892 * config/frv/media.h: New file.
14893 * config/frv/modi.c: New file.
14894 * config/frv/t-frv: New file.
14895 * config/frv/uitod.c: New file.
14896 * config/frv/uitof.c: New file.
14897 * config/frv/ulltod.c: New file.
14898 * config/frv/ulltof.c: New file.
14899 * config/frv/umodi.c: New file.
14900 * config/frv/xm-frv.h: New file.
14901
14902 * config/frv/media.h: Removed again.
14903
14904 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
14905
14906 * gcov.c (bb_file_time): New static variable.
14907 (object_directory): May also be object file.
14908 (preserve_paths): New static variable.
14909 (print_usage): Adjust.
14910 (options): Adjust.
14911 (process_args): Adjust.
14912 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
14913 file. Find modification date on bb file.
14914 (read_profile): Don't rewind a NULL file.
14915 (format_hwint): New static function.
14916 (function_summary): Use format_hwint.
14917 (output_data): SOURCE_FILE_NAME is never relative to
14918 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
14919 mangling. Adjust output format to make it more machine readable.
14920 * doc/gcov.texi: Document & clarify semantics.
14921
14922 2002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
14923
14924 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
14925
14926 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
14927
14928 * gcc.c (cc1_options): Pass output file as auxbase when
14929 appropriate.
14930 * profile.c (init_branch_prob): FILENAME has already had ending
14931 stripped.
14932 * final.c (end_final): Likewise.
14933 * toplev.c (aux_base_name): New global.
14934 (compile_file): Pass aux_base_name to init init_branch_prob and
14935 end_final.
14936 (independent_decode_option, case 'a'): New auxinfo options.
14937 (case 'd'): Protect against mising basename.
14938 (do_compile): Initialize aux_base_name.
14939 * toplev.h (aux_base_name): New global.
14940 * doc/invoke.texi: Adjust documentation.
14941
14942 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
14943
14944 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
14945 of TARGET_ALIGN_DOUBLE.
14946
14947 2002-08-04 Gabriel Dos Reis <gdr@nerim.net>
14948
14949 * diagnostic.c (inform): New function.
14950 * diagnostic.h (inform): Declare.
14951
14952 2002-08-03 David Edelsohn <edelsohn@gnu.org>
14953
14954 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
14955 (movhi_internal): Same.
14956 (movqi_internal): Same.
14957 (movdi_internal64): Same.
14958
14959 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
14960
14961 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
14962 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
14963 (COMMON_ASM_OP): Define.
14964 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
14965 Use ALIGN parameter.
14966 (LOCAL_COMMON_ASM_OP): Define.
14967 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
14968
14969 2002-08-03 Roger Sayle <roger@eyesopen.com>
14970
14971 * builtins.def: Define new builtin functions exp, expf, expl,
14972 log, logf and logl (and their __builtin_* variants).
14973 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
14974 Define exp_optab and log_optab.
14975 * optabs.c (init_optans): Initialize exp_optab and log_optab.
14976 * genopinit.c (optabs): Implement exp_optab and log_optab
14977 using exp?f2 and log?f2 patterns.
14978 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
14979 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
14980 (expand_builtin): Ignore the new builtins (and all cos and
14981 sin variants) when not optimizing. Expand new builtins via
14982 expand_builtin_mathfn when flag_unsafe_math_optimizations.
14983
14984 * doc/extend.texi: Document new exp and log builtins.
14985 * doc/md.texi: Document new exp?f2 and log?f2 patterns
14986 (and previously undocumented cos?f2 and sin?f2 patterns).
14987
14988 2002-08-03 Jason Merrill <jason@redhat.com>
14989
14990 * explow.c (int_expr_size): New fn.
14991 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
14992 * expr.h: Declare it.
14993
14994 2002-08-02 Krister Walfridsson <cato@df.lth.se>
14995
14996 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
14997 gengtype-* dependencies.
14998
14999 2002-08-02 Eric Christopher <echristo@redhat.com>
15000
15001 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
15002 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
15003 #ifndef to #undef.
15004 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
15005
15006 2002-08-02 David Edelsohn <edelsohn@gnu.org>
15007
15008 PR optimize/7067
15009 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
15010 small if optimizing for size.
15011
15012 2002-08-02 Daniel Jacobowitz <drow@mvista.com>
15013
15014 * configure.in (FORBUILD): Use $build_alias.
15015 * configure: Regenerated.
15016
15017 2002-08-02 Richard Sandiford <rsandifo@redhat.com>
15018
15019 * config.gcc: Don't include mips/abi64.h in $tm_file.
15020 * hard-reg-set.h (call_really_used_regs): Declare.
15021 * config/mips/abi64.h: Remove file.
15022 * config/mips/linux.h,
15023 * config/mips/iris6.h: Don't include it.
15024 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
15025 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
15026 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
15027 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
15028 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
15029 Bring across definitions from abi64.h.
15030 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
15031 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
15032 (struct mips_args): Use it.
15033 * config/mips/mips.c (mips_conditional_register_usage): Define.
15034
15035 2002-08-02 Jason Merrill <jason@redhat.com>
15036
15037 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
15038 * langhooks.c (lhd_expr_size): Define default.
15039 * langhooks.h (struct lang_hooks): Add expr_size.
15040 * explow.c (expr_size): Call it.
15041 * expr.c (store_expr): Don't copy an expression of size zero.
15042 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
15043 to store.
15044 * Makefile.in (builtins.o): Depend on langhooks.h.
15045
15046 2002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15047
15048 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
15049 * ra-debug.c: Include "tm_p.h".
15050 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
15051
15052 2002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
15053
15054 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
15055 when not honoring signalling NaNs.
15056 (simplify_ternary_operation): a == b has a definite value
15057 when not honoring NaNs.
15058
15059 2002-08-02 Jason Merrill <jason@redhat.com>
15060
15061 * gdbinit.in (pct): New macro.
15062
15063 2002-08-01 Stan Shebs <shebs@apple.com>
15064 Andreas Tobler <toa@pop.agri.ch>
15065
15066 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
15067 plays nice with Darwin headers.
15068 (_BSD_RUNE_T_DEFINED_): Likewise.
15069
15070 2002-08-01 Zack Weinberg <zack@codesourcery.com>
15071
15072 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
15073 * cppinit.c (cpp_post_options): Likewise.
15074
15075 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
15076 warning about 'LL' suffix (but not 'ULL' etc) when
15077 -Wno-long-long is in effect.
15078
15079 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
15080 Check for failing time()/localtime(), issue a warning, and
15081 make __TIME__ and __DATE__ expand to fallback strings.
15082
15083 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
15084 and __TIME__ when the date and time cannot be determined.
15085
15086 2002-08-02 Alan Modra <amodra@bigpond.net.au>
15087
15088 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
15089
15090 2002-08-01 Daniel Jacobowitz <drow@mvista.com>
15091
15092 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
15093
15094 2002-08-01 Chris Demetriou <cgd@broadcom.com>
15095
15096 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
15097 (mipsisa64sb1el-*-elf*): Likewise.
15098 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
15099 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
15100 (TARGET_SB1, TUNE_SB1): New macros.
15101 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
15102 -mtune flags.
15103
15104 2002-08-01 David Edelsohn <edelsohn@gnu.org>
15105
15106 * varasm.c (asm_emit_uninitialized): Return false if global BSS
15107 and ASM_EMIT_BSS not supported by target.
15108 (assemble_variable): Do not duplicate uninitialized logic.
15109 Fall through if asm_emit_uninitialized failed.
15110
15111 2002-08-01 Chris Demetriou <cgd@broadcom.com>
15112
15113 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
15114
15115 2002-08-02 Alan Modra <amodra@bigpond.net.au>
15116
15117 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
15118 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
15119
15120 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
15121 HOST_BITS_PER_WIDE_INT == 64.
15122
15123 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15124
15125 * df.c (df_insn_table_realloc): Change parameter to unsigned.
15126 * optabs.c (expand_binop): Make variable unsigned.
15127 * simplify-rtx.c (simplify_subreg): Likewise.
15128 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
15129
15130 2002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15131
15132 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
15133
15134 2002-08-01 Richard Henderson <rth@redhat.com>
15135
15136 * toplev.c (parse_options_and_default_flags): Don't set
15137 flag_reorder_blocks for -Os.
15138
15139 * config/avr/avr.c (avr_optimization_options): Remove.
15140 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
15141 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
15142 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
15143
15144 2002-08-01 H.J. Lu <hjl@gnu.org>
15145 Richard Henderson <rth@redhat.com>
15146
15147 * output.h (DECL_READONLY_SECTION): Remove.
15148 (decl_readonly_section): Declare.
15149 * varasm.c (decl_readonly_section): New.
15150 (default_section_type_flags, default_select_section): Use it.
15151 * config/arm/pe.c (arm_pe_unique_section): Likewise.
15152 * config/i386/interix.c (i386_pe_unique_section): Likewise.
15153 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
15154 * config/mcore/mcore.c (mcore_unique_section): Likewise.
15155 * config/mips/mips.c (mips_unique_section): Likewise.
15156
15157 2002-08-01 Richard Henderson <rth@redhat.com>
15158
15159 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
15160 refers to a subroutine parameter.
15161
15162 2002-08-01 Jakub Jelinek <jakub@redhat.com>
15163
15164 * varasm.c (assemble_visibility): Strip name encoding.
15165
15166 2002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
15167
15168 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
15169 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
15170 when there is no frame pointer.
15171 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
15172 registers properly.
15173 * config/ns32k/__unorddf2.c: New file.
15174 * config/ns32k/__unordsf2.c: New file.
15175 * config/ns32k/t-ns32k: New file.
15176 * config.gcc (ns32k-*-netbsd*): Use it.
15177
15178 2002-08-01 Aldy Hernandez <aldyh@redhat.com>
15179
15180 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
15181
15182 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
15183
15184 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
15185
15186 2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
15187
15188 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
15189
15190 2002-08-01 Richard Sandiford <rsandifo@redhat.com>
15191
15192 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
15193
15194 2002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15195
15196 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
15197 n_sets): Removed.
15198 (expr_hash_table, set_hash_table): Type changed to ...
15199 (struct hash_table): New type.
15200 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
15201 insert_expr_in_table, insert_set_in_table, compute_hash_table,
15202 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
15203 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
15204 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
15205 (alloc_hash_table): New.
15206 (free_set_hash_table, free_expr_hash_table): Merged to ...
15207 (free_hash_table): New.
15208 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
15209 (compute_hash_table_work): New.
15210 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
15211 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
15212 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
15213 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
15214 hoist_code, one_code_hoisting_pass,
15215 trim_ld_motion_mems): Altered due to changed type of hash tables.
15216
15217 2002-08-01 Zack Weinberg <zack@codesourcery.com>
15218
15219 * final.c (output_alternate_entry_point):
15220 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
15221
15222 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15223
15224 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
15225 avoid ISO C style function definition.
15226
15227 * expr.c (expand_assignment): Delete unused variable.
15228
15229 2002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
15230
15231 * c-common.c (cb_register_builtins): Set
15232 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
15233 is given, and to 0 otherwise.
15234 * combine.c (simplify_if_then_else): HONOR_NANS
15235 implies FLOAT_MODE_P.
15236
15237 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
15238
15239 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
15240 (cpp_handle_option): Don't handle it.
15241 (print_help): Update.
15242 * doc/cppopts.texi: Update.
15243
15244 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
15245
15246 * c-common.c (cb_register_builtins): If C++, define
15247 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
15248 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
15249 cp:
15250 * lang-specs.h: Simplify in accordance with new code in
15251 c-common.c.
15252
15253 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
15254
15255 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
15256 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
15257 * c-decl.c: Move all warning and flag variables to c-common.c.
15258 * c-format.c: Move all warning variables to c-common.c.
15259 * c-tree.h: Move all warning and flag declarations to c-common.h.
15260 * objc/objc-act.c: Move all warning variables to c-common.c.
15261 (flag_warn_protocol): Rename warn_protocol.
15262
15263 2002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
15264
15265 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
15266
15267 2002-07-31 Graham Stott <graham.stott@btinternet.com>
15268
15269 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
15270 .section prefix.
15271
15272 2002-07-31 Stan Shebs <shebs@apple.com>
15273
15274 * config.gcc (i[34567]86-*-darwin*): New configuration.
15275 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
15276 defining.
15277 (TARGET_ENCODE_SECTION_INFO): Ditto.
15278 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
15279 * config/darwin.c (machopic_indirect_data_reference): Remove
15280 setting of RTX_UNCHANGING_P.
15281 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
15282 not to be applied to sums.
15283 * config/i386/t-darwin: New file.
15284 * config/i386/darwin.h: New file.
15285 * config/i386/i386.h (TARGET_MACHO): Add default definition.
15286 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
15287 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
15288 label and not the GOT add.
15289 (constant_address_p): For Mach-O, seeing a CONST is enough.
15290 (legitimate_pic_address_disp_p): Add a Mach-O case.
15291 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
15292 (legitimize_pic_address): Use generic Mach-O code to legitimize.
15293 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
15294 if outputting a difference.
15295 (ix86_output_addr_diff_elt): Add Mach-O case.
15296 (ix86_expand_move): Similarly.
15297 (ix86_expand_call): Similarly.
15298 (current_machopic_label_num): New global.
15299 (machopic_output_stub): New function.
15300 (ix86_value_regno): New function.
15301 (ix86_function_value): Use it instead of VALUE_REGNO.
15302 (ix86_libcall_value): Ditto.
15303 * config/i386/unix.h (VALUE_REGNO): Remove.
15304
15305 2002-07-31 Graham Stott <grahas@btinternet.com>
15306
15307 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
15308 hash for LABEL_REF's.
15309
15310 2002-07-31 Graham Stott <grahams@btinternet.com>
15311
15312 * config/rs6000/rs6000.c (spe_init_builtins,
15313 altivec_init_builtins, rs6000_common_init_builtins):
15314 Replace ANSI with K&R function def.
15315
15316 2002-07-31 David Edelsohn <edelsohn@gnu.org>
15317
15318 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
15319 for CCFPmode.
15320
15321 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
15322
15323 * config/mips/crtn.asm: Don't use __mips16 to determine the
15324 return-address offset. Define RA to a suitable temporary
15325 register for the return address.
15326
15327 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
15328
15329 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
15330 constraints to 'd'.
15331
15332 2002-07-30 Chris Demetriou <cgd@broadcom.com>
15333
15334 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
15335 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
15336 patch on 2002-07-29.)
15337 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15338
15339 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15340
15341 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
15342 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
15343 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
15344 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
15345 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
15346 (ASM_GLOBALIZE_LABEL): Delete.
15347 (GLOBAL_ASM_OP): Define.
15348
15349 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
15350
15351 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
15352 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
15353
15354 2002-07-30 Geoffrey Keating <geoffk@redhat.com>
15355
15356 * doc/extend.texi (Hints implementation): Document that GCC
15357 mostly ignores `register'.
15358
15359 2002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
15360
15361 * flags.h: Declare flag_finite_math_only.
15362 Use it in definition of HONOR_NANS and
15363 HONOR_INFINITIES.
15364 * c-common.c (cb_register_builtins): Emit
15365 __FINITE_MATH_ONLY__ when flag_finite_math_only
15366 is set.
15367 * combine.c (simplify_if_then_else): If
15368 flag_finite_math_only is set, a == b has a
15369 definite value.
15370 * toplev.c: Initialize flag_finite_math_only.
15371 (set_flags_fast_math): Set it on -ffast-math.
15372 (flag_fast_math_set_p): Test it.
15373 * doc/invoke.texi: Document -ffinite-math-only.
15374
15375 2002-07-30 Richard Henderson <rth@redhat.com>
15376
15377 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
15378 (noce_process_if_block): Likewise.
15379
15380 2002-07-30 Bernd Schmidt <bernds@redhat.com>
15381
15382 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
15383 Bail out early if false_expr is NULL and we'd crash due to this.
15384 * genemit.c (gen_expand): Recognize return insns even if the return
15385 appears in a parallel.
15386 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
15387 * config/fp-bit.c: Likewise.
15388 * doc/tm.texi: Document it.
15389
15390 2002-07-30 David Edelsohn <edelsohn@gnu.org>
15391 Zack Weinberg <zack@codesourcery.com>
15392
15393 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
15394 CODE_FOR_nothing. Change switch to if.
15395 (rs6000_expand_binop_builtin): Same.
15396 (rs6000_expand_builtin): Expand builtin if target support enabled.
15397 (rs6000_init_builtins): Init builtin if target support enabled.
15398 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
15399
15400 2002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15401
15402 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
15403
15404 2002-07-30 Richard Sandiford <rsandifo@redhat.com>
15405
15406 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
15407
15408 Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
15409
15410 * sh.md (cond_delay_slot): New attribute.
15411 (cbranch delay): Use it for anulled-true case.
15412 (stuff_delay_slot): New pattern.
15413 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
15414 delay slot insn.
15415 (gen_far_branch): Emit stuff_delay_slot pattern.
15416
15417 Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
15418
15419 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
15420
15421 2002-07-30 Kazu Hirata <kazu@cs.umass.edu>
15422
15423 * fold-const.c: Fix comment typos.
15424 * gcse.c: Likewise.
15425 * reload1.c: Likewise.
15426
15427 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
15428
15429 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
15430 for TARGET_SPE.
15431
15432 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
15433
15434 * c-pretty-print.h (pp_c_statement): Declare.
15435 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
15436 (pp_c_statement): Define.
15437
15438 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15439
15440 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
15441 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
15442 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
15443 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
15444 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
15445 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
15446
15447 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
15448 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
15449
15450 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
15451
15452 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
15453 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
15454 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
15455 (pp_c_expression): Update.
15456
15457 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15458
15459 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
15460 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
15461 * alpha/vms-ld.c (main): Likewise.
15462 * dsp16xx.c (double_reg_to_memory): Likewise.
15463 * mcore.c (mcore_expand_prolog): Likewise.
15464 * cppfiles.c (read_name_map): Likewise.
15465 * gensupport.c (process_rtx, identify_predicable_attribute,
15466 alter_test_for_insn): Likewise.
15467 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
15468
15469 2002-07-29 Roger Sayle <roger@eyesopen.com>
15470
15471 * builtins.c (expand_builtin): Change the default behavior to
15472 only issue an error if the builtin function doesn't have a
15473 fallback library call. Remove several cases handled by the
15474 new default.
15475
15476 2002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
15477
15478 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
15479 floating point format of the target is IEEE.
15480 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
15481 format of the target is DEC.
15482
15483 2002-07-29 Richard Henderson <rth@redhat.com>
15484
15485 * unroll.c (verify_addresses): Remove.
15486 (find_splittable_givs): Never split DEST_ADDR givs.
15487
15488 2002-07-29 Geoffrey Keating <geoffk@redhat.com>
15489
15490 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
15491 is exhaustive.
15492 (Files): Improve documentation on generated source files.
15493
15494 * doc/extend.texi (Translation implementation): Document what
15495 diagnostics look like.
15496 (Identifiers implementation): Document that there's normally no
15497 limit on identifier names.
15498 (Integers implementation): Document two's complement.
15499 (Hints implementation): Document that GCC honors 'inline', mostly.
15500 (Preprocessing directives implementation): Document that GCC
15501 requires the current time.
15502
15503 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
15504
15505 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
15506 (pp_initializer): New macro.
15507 (pp_c_initializer): Declare.
15508 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
15509 (pp_c_initializer): Define.
15510 (pp_c_initializer_list): New function.
15511 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
15512 VECTOR_CST, CONSTRUCTOR.
15513 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
15514 IMAGPART_EXPR.
15515 (pp_c_cast_expression): Handle FLOAT_EXPR.
15516 (pp_c_assignment_expression): Handle INIT_EXPR.
15517 (pp_c_expression): Update.
15518
15519 2002-07-30 Neil Booth <neil@daikokuya.co.uk>
15520
15521 * objc/objc-act.c (objc_init): Return immediately if filename
15522 is NULL.
15523
15524 2002-07-29 Eric Christopher <echristo@redhat.com>
15525
15526 * config/mips/elf.h: Remove ecoff.h and gofast includes.
15527 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
15528 (SDB_DEBUGGING_INFO): Undefine.
15529 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
15530 (PUT_SDB_SIZE): Remove.
15531 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
15532 (STARTFILE_SPEC): Add isa3264 define.
15533 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
15534 * config/mips/ecoff.h: Remove. and here...
15535 * config/mips/iris3.h: and here...
15536 * config/mips/sni-svr4.h: and here...
15537 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
15538 Add assembler -mmdebug options for non-dwarf debugging.
15539 * config/mips/r3900.h: Remove debug info defines.
15540 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
15541 * config/mips/isa3264.h: Ditto.
15542 * config/mips/t-isa3264: Fix up for file removal and gofast configure
15543 change.
15544 * config/mips/t-elf: Ditto.
15545 * config/mips/t-ecoff: Ditto.
15546 * config/mips/t-r3900: Ditto.
15547 * config/mips/t-iris5-6: Ditto.
15548 * config/mips/t-isa3264: Ditto.
15549 * config/mips/t-linux: Remove.
15550 * config/mips/t-netbsd: Remove.
15551 * config/mips/t-mips: New file.
15552 * config/mips/t-gofast: Ditto.
15553 * config/mips/netbsd.h: Remove unnecessary undefines.
15554 * config/mips/linux.h: Remove #include of mips.h.
15555 * config.gcc: Add mips.h include for elf targets. Remove tm_file
15556 for ecoff. Add gofast configure option for mips.
15557
15558 2002-07-29 Chris Demetriou <cgd@broadcom.com>
15559
15560 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
15561 linker scripts use STARTUP directives consistently.
15562 * configure: Regenerate.
15563 * config.in: Regenerate.
15564 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
15565 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
15566 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15567 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
15568 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
15569 will be the same.
15570
15571 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
15572
15573 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
15574
15575 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
15576
15577 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
15578
15579 2002-07-29 Aldy Hernandez <aldy@quesejoda.com>
15580
15581 * config/rs6000/rs6000.md: Move altivec patterns from here...
15582
15583 * config/rs6000/altivec.md: ...to here.
15584
15585 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
15586
15587 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
15588
15589 2002-07-29 Richard Henderson <rth@redhat.com>
15590
15591 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
15592 set_mem_attributes and add BITPOS argument. Subtract it from
15593 OFFSET when same is adjusted.
15594 (set_mem_attributes): New wrapper function.
15595 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
15596 remove offset adjustment hack.
15597 * expr.h (set_mem_attributes_minus_bitpos): Declare.
15598
15599 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
15600
15601 * Makefile.in (C_OBJS): Include c-pretty-print.o
15602 (c-pretty-print.o): Add depency rule.
15603 * pretty-print.h: Add more macros.
15604 * c-pretty-print.c: New file.
15605 * c-pretty-print.h: Likewise.
15606
15607 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
15608
15609 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
15610 constants to __ev64_s32__.
15611 (__internal_ev_mwhgsmian): Same.
15612 (__internal_ev_mwhgsmfan): Same.
15613 (__internal_ev_mwhgssfan): Same.
15614 (__internal_ev_mwhgumiaa): Same.
15615 (__internal_ev_mwhgsmiaa): Same.
15616 (__internal_ev_mwhgsmfaa): Same.
15617 (__internal_ev_mwhgssfaa): Same.
15618
15619 2002-07-29 David Edelsohn <edelsohn@gnu.org>
15620
15621 * varasm.c (assemble_variable): Narrow test for uninitialized
15622 without BSS target support.
15623
15624 2002-07-29 Nathan Sidwell <nathan@codesourcery.com>
15625
15626 * profile.c: Add file comment describing the overall algorithm and
15627 structures.
15628 (struct edge_info): Add comments.
15629 (struct bb_info): Add comments.
15630 * basic-block.h (EDGE_*): Add comments.
15631 * doc/gcov.texi (Gcov Data Files): Document bit flags.
15632
15633 2002-07-29 Bob Wilson <bob.wilson@acm.org>
15634
15635 * config/xtensa/elf.h, config/xtensa/linux.h
15636 (TARGET_OS_CPP_BUILTINS): Define.
15637 (CPP_PREDEFINES): Remove.
15638 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
15639 (CPP_SPEC): Remove.
15640
15641 2002-07-29 Zack Weinberg <zack@codesourcery.com>
15642
15643 * gensupport.c: Include hashtab.h.
15644 (insn_elision, condition_table, hash_c_test, cmp_c_test,
15645 maybe_eval_c_test): New routines and data structures to
15646 support insn elision.
15647 (init_md_reader): Read and initialize the condition_table.
15648 (read_md_rtx): Discard insn patterns whose C test is provably
15649 always false.
15650 * gensupport.h: Declare new functions and data structures.
15651
15652 * genconditions.c, dummy-conditions.c: New files.
15653 * Makefile.in: Build genconditions; run it to construct
15654 insn-conditions.c; build that and link it into most gen*
15655 programs.
15656 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
15657 (GEN): Delete, unused.
15658 (STAGESTUFF): Update.
15659
15660 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
15661 CODE_FOR_nothing for all elided patterns.
15662 (main): Tweaked to support this.
15663 * genflags.c (gen_proto): Emit a static inline generator
15664 function here for all elided patterns, which simply returns
15665 NULL_RTX.
15666 (gen_insn): Do not define HAVE_xxx for elided patterns.
15667 (main): Tweaked to support this. No need to forward-declare
15668 struct rtx_def.
15669 * genrecog.c: Do not bother emitting the C test if it's known
15670 to be true at compile time.
15671
15672 2002-07-29 Mike Stump <mrs@apple.com>
15673
15674 * config.gcc (target_gtfiles): Initialize, as otherwise cross
15675 compilers hosted on powerpc-apple-darwin6.0 won't even build.
15676
15677 2002-07-29 Richard Earnshaw <rearnsha@arm.com>
15678
15679 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
15680 remove clobber of LR.
15681 (sibcall_insn, sibcall_value_insn): Update accordingly.
15682 (sibcall_epilogue): Remove debugging comment from assembler stream.
15683
15684 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
15685
15686 * pretty-print.h: Define more macros.
15687 * diagnostic.h (output_formatted_integer): Moved from...
15688 * diagnostic.c: ... here.
15689
15690 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15691
15692 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
15693
15694 2002-07-28 Zack Weinberg <zack@codesourcery.com>
15695
15696 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
15697 arguments. Always use ".-symbol" as expression argument.
15698 * doc/tm.texi: Update to match. Document requirement for
15699 ".size symbol, .-symbol" to be acceptable to assembler.
15700
15701 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15702 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
15703 config/i386/freebsd-aout.h, config/i386/sco5.h,
15704 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
15705 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
15706
15707 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15708
15709 * Makefile.in (gengtype-lex.c): Fix error in last change.
15710
15711 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
15712 backslash.
15713
15714 * Makefile.in (vmsdbgout.o): Depend on function.h.
15715
15716 * vmsdbgout.c: Include function.h.
15717
15718 2002-07-28 Alan Modra <amodra@bigpond.net.au>
15719
15720 * prefix.c (update_path): Don't strip single `.' path components
15721 unless stripping a later `..' component. Exit loop as soon as
15722 a valid path is found.
15723
15724 2002-07-27 Roger Sayle <roger@eyesopen.com>
15725
15726 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
15727 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
15728 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
15729 floating point unordered comparisons (e.g. __builtin_isgreater)
15730 as const, and leave the remaining GCC_BUILTINs unchanged.
15731
15732 * c-decl.c (builtin_function): No need to explicitly mark
15733 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
15734
15735 2002-07-27 Roger Sayle <roger@eyesopen.com>
15736
15737 * Makefile.in: rtlanal.o now depends upon real.h.
15738
15739 * flags.h [flag_signaling_nans]: New flag.
15740 [HONOR_SNANS]: New macro.
15741
15742 * toplev.c [flag_signaling_nans]: Initialize to false.
15743 (f_options): Add processing for "-fsignaling-nans".
15744 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
15745 (process_options): flag_signaling_nans implies flag_trapping_math.
15746
15747 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
15748 when -fsignaling-nans. First step to implementing WG14's N965.
15749
15750 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
15751 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
15752 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
15753
15754 * simplify-rtx.c (simplify_relational_operation): Conditionalize
15755 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
15756
15757 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
15758 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
15759 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
15760 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
15761 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
15762
15763 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
15764
15765 2002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15766
15767 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
15768 * gengtype-lex.l (YY_USE_PROTOS): Undef.
15769 (YY_DECL): Define.
15770
15771 2002-07-27 Roger Sayle <roger@eyesopen.com>
15772
15773 * doc/invoke.texi: Document that both -fno-builtin-foo and
15774 -fno-builtin are supported by the g++ front-end.
15775
15776 2002-07-27 Stan Shebs <shebs@apple.com>
15777
15778 * configure.in: Rename config_gtfiles to target_gtfiles.
15779 * configure: Regenerate.
15780 * doc/gty.texi: Update reference.
15781 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
15782 instead of appending to it.
15783
15784 2002-07-25 Aldy Hernandez <aldyh@redhat.com>
15785
15786 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
15787 vectors are split into two registers.
15788 (function_arg): Same.
15789
15790 Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
15791
15792 * pa.md (extv): Check predicates before emitting extv_32.
15793
15794 2002-07-27 Alan Modra <amodra@bigpond.net.au>
15795
15796 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
15797 (rs6000_traceback): New var.
15798 (rs6000_override_options): Set rs6000_traceback.
15799 (rs6000_output_function_epilogue): Implement traceback options.
15800 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
15801 (rs6000_traceback_name): Declare.
15802
15803 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
15804 label reference when NO_PROFILE_COUNTERS.
15805
15806 2002-07-26 Jason Merrill <jason@redhat.com>
15807
15808 * function.c (assign_parms): Handle frontend-directed pass by
15809 invisible reference.
15810
15811 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
15812
15813 * doc/cppopts.texi: Update.
15814
15815 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
15816
15817 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
15818 warnings on assertions.
15819
15820 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
15821
15822 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
15823 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
15824 RID_COMPL): Remove.
15825 * c-parse.in (rid_to_yy): Similarly.
15826
15827 2002-07-26 Jason Merrill <jason@redhat.com>
15828
15829 * c-dump.c: Resurrect.
15830 * tree-dump.c: Move C-specific stuff to c-dump.c.
15831 * c-common.h: Declare c_dump_tree.
15832 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
15833 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
15834 (c-dump.o): New rule.
15835
15836 2002-07-26 Alan Modra <amodra@bigpond.net.au>
15837
15838 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
15839 PowerPC64. Replace "T" and "S" constraints with "n" when the
15840 predicate will do. Formatting fixes.
15841 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
15842 as for extzvsi_internal1.
15843
15844 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
15845
15846 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
15847 DERIV_END_LABEL_FMT): Remove.
15848 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
15849
15850 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
15851
15852 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
15853 Remove.
15854
15855 2002-07-25 Stan Shebs <shebs@apple.com>
15856
15857 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
15858 local var dwarfp.
15859 (output_compiler_stub): Remove unused locals.
15860 (output_call): Always initialize line number.
15861
15862 Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
15863
15864 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
15865 * sh.md (truncdiqi2, movqi_media): Likewise.
15866
15867 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
15868
15869 * gcse.c (obstack_chunk_alloc): Remove.
15870 (gcse_alloc): Fix to count allocated bytes.
15871 * collect2.c (SYMBOL__MAIN): Remove.
15872
15873 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
15874
15875 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
15876 HAVE_TARGET_EXECUTABLE_SUFFIX.
15877
15878 Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
15879
15880 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
15881 SIZE, EXPR and OFFSET.
15882
15883 2002-07-25 Richard Henderson <rth@redhat.com>
15884
15885 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
15886 in ARRAY_REF of DECL_P case.
15887
15888 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
15889
15890 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
15891 description. Document -mips32, -mips64, and the associated -march
15892 values. Describe the "mipsN" arguments to -march. Say that the
15893 -mipsN options are equivalent to -march. Reword the description
15894 of default type sizes.
15895 * toplev.h (target_flags_explicit): Declare.
15896 * toplev.c (target_flags_explicit): New var.
15897 (set_target_switch): Update target_flags_explicit.
15898 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
15899 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
15900 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
15901 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
15902 * config/mips/mips.h (mips_cpu_info): New struct.
15903 (mips_cpu_string, mips_explicit_type_size_string): Remove.
15904 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
15905 (MIPS_CPP_SET_PROCESSOR): New macro.
15906 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
15907 Define _MIPS_ARCH and _MIPS_TUNE.
15908 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
15909 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
15910 MIPS_ISA_DEFAULT were already defined.
15911 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
15912 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
15913 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
15914 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
15915 (ABI_GAS_ASM_SPEC): Remove.
15916 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
15917 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
15918 Invoke %(asm_abi_default_spec) if no ABI was specified.
15919 (CC1_SPEC): Remove ISA -> register-size rules.
15920 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
15921 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
15922 (mips_cpu_string, mips_explicit_type_size_string): Remove.
15923 (mips_cpu_info_table): New array.
15924 (mips_set_architecture, mips_set_tune): New fns.
15925 (override_options): Rework to make -mipsN equivalent to -march.
15926 Detect more erroneous cases, including those removed from CC1_SPEC.
15927 Don't change the ABI based on architecture, or vice versa.
15928 Unify logic with GAS.
15929 (mips_asm_file_start): Get architecture name from mips_arch_info.
15930 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
15931 (mips_parse_cpu): Take the name of the option as argument. Handle
15932 'from-abi'. Raise an error if the option is wrong.
15933 (mips_cpu_info_from_isa): New fn.
15934
15935 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
15936
15937 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
15938 (tablejump_mips162): Likewise.
15939
15940 Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
15941
15942 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
15943 int_mode_for_mode.
15944
15945 2002-07-25 Gabriel Dos Reis <gdr@nerim.net>
15946
15947 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
15948 complaining.
15949 * c-common.h (c_sizeof): Adjust definition.
15950 (c_alignof): Likewise.
15951 * c-tree.h (c_sizeof_nowarn): Now macro.
15952 * c-typeck.c (c_sizeof_nowarn): Remove definition.
15953
15954 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
15955
15956 * c-decl.c (c_decode_option): No need to handle switches
15957 cpplib handles.
15958
15959 2002-07-24 Zack Weinberg <zack@codesourcery.com>
15960
15961 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
15962 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
15963 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
15964 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15965
15966 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15967 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
15968 config/cris/aout.h, config/i386/freebsd-aout.h,
15969 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
15970 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
15971 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
15972 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
15973 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
15974 config/xtensa/elf.h, config/xtensa/linux.h:
15975 Use the new macros.
15976 Where possible, remove redundant definitions of SIZE_ASM_OP,
15977 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15978
15979 2002-07-24 Aldy Hernandez <aldyh@redhat.com>
15980
15981 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
15982 TARGET_ISEL, and TARGET_FPRS.
15983
15984 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15985 -mabi=spe, -mabi=no-spe, and -misel=.
15986
15987 * config/rs6000/rs6000-protos.h: Add output_isel.
15988 Move vrsave_operation prototype here.
15989
15990 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
15991 (smaxsi3): Same.
15992 (uminsi3): Same.
15993 (umaxsi3): Same.
15994 (abssi2_nopower): Disallow when TARGET_ISEL.
15995 (*ne0): Same.
15996 (negsf2): Change to expand and rename old pattern to *negsf2.
15997 (abssf2): Change to expand and rename old pattern to *abssf2.
15998
15999 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
16000 fixunssfsi2.
16001
16002 Change patterns that check for TARGET_HARD_FLOAT or
16003 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
16004
16005 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
16006 rs6000_isel, rs6000_fprs, rs6000_isel_string.
16007 (rs6000_override_options): Add 8540 case to
16008 processor_target_table.
16009 Set rs6000_isel for the 8540.
16010 Call rs6000_parse_isel_option.
16011 (enable_mask_for_builtins): New.
16012 (rs6000_parse_isel_option): New.
16013 (rs6000_parse_abi_options): Add spe and no-spe.
16014 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
16015 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
16016 for TARGET_HARD_FLOAT.
16017 Add case for SPE_VECTOR_MODE.
16018 (rs6000_legitimize_reload_address): Handle SPE vector modes.
16019 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
16020 vector modes.
16021 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
16022 (rs6000_emit_move): Check for TARGET_FPRS.
16023 Add cases for SPE vector modes.
16024 (function_arg_boundary): Return 64 for SPE vector modes.
16025 (function_arg_advance): Check for TARGET_FPRS and
16026 Handle SPE vectors.
16027 (function_arg): Same.
16028 (setup_incoming_varargs): Check for TARGET_FPRS.
16029 (rs6000_va_arg): Same.
16030 (struct builtin_description): Un-constify mask field. Move up in
16031 file.
16032 (bdesc_2arg): Un-constify and add SPE builtins.
16033 (bdesc_1arg): Same.
16034 (bdesc_spe_predicates): New.
16035 (bdesc_spe_evsel): New.
16036 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
16037 (rs6000_expand_binop_builtin): Same.
16038 (bdesc_2arg_spe): New.
16039 (spe_expand_builtin): New.
16040 (spe_expand_predicate_builtin): New.
16041 (spe_expand_evsel_builtin): New.
16042 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
16043 (rs6000_init_builtins): Initialize SPE builtins. Call
16044 rs6000_common_init_builtins.
16045 (altivec_init_builtins): Move all non-altivec builtin code to...
16046 (rs6000_common_init_builtins): ...here. New function.
16047 (branch_positive_comparison_operator): Allow NE code for SPE.
16048 (ccr_bit): Return correct ccr bit for SPE fp.
16049 (print_operand): Emit crnor in 'D' case for SPE.
16050 New case 't'.
16051 Add SPE code for 'y' case.
16052 (rs6000_generate_compare): Generate rtl for SPE fp.
16053 (output_cbranch): Handle SPE hard floats.
16054 (rs6000_emit_cmove): Handle isel.
16055 (rs6000_emit_int_cmove): New.
16056 (output_isel): New.
16057 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
16058 64-bits for SPE.
16059 (debug_stack_info): Add SPE info.
16060 (gen_frame_mem_offset): New.
16061 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
16062 Change mode of frame pointer, when saving it, to Pmode.
16063 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
16064 Misc cleanups and use gen_frame_mem_offset when appropriate.
16065
16066 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
16067 (TARGET_SPE_ABI): New.
16068 (TARGET_SPE): New.
16069 (TARGET_ISEL): New.
16070 (TARGET_FPRS): New.
16071 (FIXED_SCRATCH): New.
16072 (RTX_COSTS): Add PROCESSOR_PPC8540.
16073 (ASM_CPU_SPEC): Add case for 8540.
16074 (TARGET_OPTIONS): Add isel= case.
16075 (rs6000_spe_abi): New.
16076 (rs6000_isel): New.
16077 (rs6000_fprs): New.
16078 (rs6000_isel_string): New.
16079 (UNITS_PER_SPE_WORD): New.
16080 (LOCAL_ALIGNMENT): Adjust for SPE.
16081 (HARD_REGNO_MODE_OK): Same.
16082 (DATA_ALIGNMENT): Same.
16083 (MEMBER_TYPE_FORCES_BLK): New.
16084 (FIRST_PSEUDO_REGISTER): Set to 113.
16085 (FIXED_REGISTERS): Add SPE registers.
16086 (reg_class): Same.
16087 (REG_CLASS_NAMES): Same.
16088 (REG_CLASS_CONTENTS): Same.
16089 (REGNO_REG_CLASS): Same.
16090 (REGISTER_NAMES): Same.
16091 (DEBUG_REGISTER_NAMES): Same.
16092 (ADDITIONAL_REGISTER_NAMES): Same.
16093 (CALL_USED_REGISTERS): Same.
16094 (CALL_REALLY_USED_REGISTERS): Same.
16095 (SPE_ACC_REGNO): New.
16096 (SPEFSCR_REGNO): New.
16097 (SPE_SIMD_REGNO_P): New.
16098 (HARD_REGNO_NREGS): Adjust for SPE.
16099 (VECTOR_MODE_SUPPORTED_P): Same.
16100 (REGNO_REG_CLASS): Same.
16101 (FUNCTION_VALUE): Same.
16102 (LIBCALL_VALUE): Same.
16103 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
16104 (SPE_VECTOR_MODE): New.
16105 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
16106 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
16107 (rs6000_stack): Add spe_gp_size, spe_padding_size,
16108 spe_gp_save_offset.
16109 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
16110 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
16111 (SPE_CONST_OFFSET_OK): New.
16112 (rs6000_builtins): Add SPE builtins.
16113
16114 * testsuite/gcc.dg/ppc-spe.c: New.
16115
16116 * config/rs6000/eabispe.h: New.
16117
16118 * config/rs6000/spe.h: New.
16119
16120 * config/rs600/spe.md: New.
16121
16122 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
16123 __SIMD__ for TARGET_SPE.
16124
16125 * config.gcc: Add powerpc-*-eabispe* case.
16126 Add spe.h to user headers for powerpc.
16127
16128 2002-07-24 Chris Demetriou <cgd@broadcom.com>
16129
16130 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
16131 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16132 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
16133
16134 2002-07-24 Richard Henderson <rth@redhat.com>
16135
16136 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
16137 form when not optimizing.
16138
16139 2002-07-24 David Mosberger <davidm@hpl.hp.com>
16140
16141 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
16142 thread_pointer_rtx as unchanging.
16143
16144 2002-07-24 Michael Matz <matz@suse.de>
16145
16146 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
16147 (free_reg): Use it.
16148
16149 2002-07-24 Richard Earnshaw <rearnsha@arm.com>
16150
16151 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
16152 pattern.
16153 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
16154 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
16155
16156 2002-07-24 Chris Demetriou <cgd@broadcom.com>
16157
16158 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
16159 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16160 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
16161
16162 Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
16163
16164 * toplev.c (rest_of_compilation): Dump loops before clobbering
16165 the structure.
16166
16167 Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
16168
16169 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
16170
16171 2002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
16172
16173 PR optimization/7291
16174 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
16175 problem on x86_64.
16176
16177 2002-07-24 Gabriel Dos Reis <gdr@nerim.net>
16178
16179 * pretty-print.h: Add macros from cp/error.c
16180
16181 2002-07-24 Alan Modra <amodra@bigpond.net.au>
16182
16183 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
16184 (mask64_2_operand): Declare.
16185 (build_mask64_2_operands): Declare.
16186 (and64_2_operand): Declare.
16187 (extract_MB): Declare.
16188 (extract_ME): Declare.
16189 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
16190 CONST_DOUBLE code.
16191 (mask_operand_wrap): New insn predicate.
16192 (mask64_2_operand): Likewise.
16193 (and64_2_operand): Likewise.
16194 (build_mask64_2_operands): New function.
16195 (extract_MB): New function.
16196 (extract_ME): New function.
16197 (print_operand <case m,M>): Use extract_MB and extract_ME.
16198 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
16199 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
16200 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
16201 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
16202 * config/rs6000/rs6000.md (andsi3_internal3): New
16203 (andsi3_internal3+1): Enable split for powerpc64.
16204 (andsi3_internal3+2): New split.
16205 (andsi3_internal4): Renamed old andsi3_internal3.
16206 (andsi3_internal5): New.
16207 (andsi3_internal5+1): Enable split for powerpc64.
16208 (andsi3_internal5+2): New split.
16209 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
16210 (anddi3): Handle 't' constraint.
16211 (anddi3+1): New split.
16212 (anddi3_internal2): Handle 't' constraint.
16213 (anddi3_internal2+1): New split.
16214 (anddi3_internal3): Handle 't' constraint.
16215 (anddi3_internal3+1): New split.
16216
16217 2002-07-24 Alan Modra <amodra@bigpond.net.au>
16218
16219 * config/rs6000/rs6000.md: Remove scratch reg on insns using
16220 addze and similar (plus (comparison r1 r2) r3) insns. Add
16221 missing scratch reg in one case. Formatting fixes.
16222
16223 2002-07-24 Neil Booth <neil@daikokuya.co.uk>
16224
16225 * cppexp.c (parse_defined): Mark macro used.
16226 * cpphash.h (struct cpp_macro): New member "used".
16227 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
16228 (struct cpp_reader): New member.
16229 * cppinit.c (cpp_finish_options): Set first_unused_line.
16230 (cpp_finish): Warn of unused macros if requested.
16231 (OPT_TABLE): New switches.
16232 (cpp_handle_option): Handle them.
16233 * cpplib.c (do_undef): Warn if macro unused.
16234 (do_ifdef, do_ifndef): Mark macro used.
16235 * cpplib.h (struct cpp_options): New member.
16236 * cppmacro.c (_cpp_warn_if_unused_macro): New.
16237 (enter_macro_context): Mark macro used.
16238 (_cpp_create_definition): Mark macro unused; warn if unused
16239 when redefined.
16240 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
16241 Mark macros used.
16242 * doc/cppopts.texi: Update.
16243
16244 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
16245
16246 * dwarf2out.c (SECTION_ASM_OP,
16247 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16248 * system.h (SECTION_ASM_OP): Poison.
16249 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
16250 * config/alpha/alpha-interix.h, config/mips/linux.h
16251 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16252 * config/mmix/mmix-protos.h, config/mmix/mmix.c
16253 (mmix_asm_output_define_label_difference_symbol): Remove.
16254 * config/mmix/mmix.h
16255 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16256 * doc/tm.texi: Remove documentation.
16257
16258 Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
16259
16260 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
16261 (constrain_operands): Likewise.
16262 * regclass.c (record_reg_classes): Likewise.
16263 * reload.c (find_reloads): Likewise.
16264 * doc/md.texi: Likewise.
16265
16266 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
16267 * simplify-rtx.c (simplify_subreg): When converting to a non-int
16268 mode, try to convert to an integer mode of matching size first.
16269
16270 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
16271 from individual subregs, check that each subreg has been generated
16272 sucessfully.
16273
16274 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
16275
16276 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
16277 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
16278 FOR_EACH_BB_IN_SBITMAP): Remove.
16279 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
16280 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
16281 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
16282 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
16283 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
16284 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
16285
16286 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
16287
16288 * pretty-print.h: New file.
16289
16290 2002-07-23 Paul Koning <pkoning@equallogic.com>
16291
16292 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
16293 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
16294 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
16295 (TARGET_G_FLOAT): Default to 0 if not defined.
16296 (ieeetoe): New, common routine to convert target format floats
16297 to internal form.
16298 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
16299 vs. others.
16300 (e113toe): Change to use ieeetoe.
16301
16302 2002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
16303
16304 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
16305 IBM.
16306 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
16307 (e64toe): Remove special cases for DEC and IBM. Remove support for
16308 ARM_EXTENDED_IEEE_FORMAT.
16309 (e24toe): Remove special cases for DEC.
16310 (significand_size): Simplify. Indent.
16311 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
16312 (etoieee, toieee): New.
16313 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
16314 etoieee and toieee for IEEE arithmetic.
16315
16316 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
16317
16318 * doc/extend.texi: Say ISO C90, not ISO C89.
16319 * doc/invoke.texi: Likewise.
16320 * doc/standards.texi: Likewise.
16321
16322 2002-07-23 Steve Ellcey <sje@cup.hp.com>
16323
16324 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
16325 Fix permutation of conversion and plus/mult.
16326 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
16327 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
16328 (expand_builtin_strncpy) Ditto.
16329 (expand_builtin_memset) Ditto.
16330
16331 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
16332
16333 Fix PR/7363:
16334 * c-common.c (c_sizeof_or_alignof_type): New function.
16335 (c_alignof): Remove definition.
16336 * c-common.h (c_sizeof, c_alignof): Define as macros.
16337 (c_sizeof_or_alignof_type): Declare.
16338 (my_friendly_assert): Moved from cp/cp-tree.h
16339 * c-typeck.c (c_sizeof): Remove definition.
16340
16341 2002-07-23 Jan Hubicka <jh@suse.cz>
16342
16343 * gcse.c (try_replace_reg): Use num_changes_pending.
16344 * recog.c (num_changes_pending): New function.
16345 (validate_replace_src): Use validate_repalce_src_group.
16346 (validate_replace_src_group): New.
16347 * recog.h (validate_repalce_src_group): New.
16348 (num_changes_pending): Likewise.
16349
16350 Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
16351
16352 * calls.c (emit_library_call_value_1): If
16353 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
16354 libcall, const call nor pure call.
16355
16356 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
16357
16358 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
16359
16360 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
16361
16362 * vmsdbgout.c (SECTION_ASM_OP): Remove.
16363
16364 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
16365
16366 * config/i386/i386.c (AT_BP): Remove.
16367
16368 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
16369
16370 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
16371 Default definition.
16372 * gcse.c: Don't define obstack_chunk_free.
16373 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
16374 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
16375 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
16376 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
16377 Don't define obstack macros.
16378
16379 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
16380
16381 PR target/6744
16382 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
16383 ASM_OPERANDS instructions.
16384
16385 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
16386
16387 PR target/7361
16388 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
16389 constant addresses only on 68HC12.
16390
16391 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
16392
16393 * cppfiles.c (stack_include_file): Correct test of whether
16394 a dependency should be output.
16395
16396 2002-07-22 David Edelsohn <edelsohn@gnu.org>
16397
16398 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
16399
16400 2002-07-22 Richard Earnshaw <rearnsha@arm.com>
16401
16402 * arm.md (movqi): If optimizing and we can create pseudos, use
16403 a ZERO_EXTEND to load from memory, then copy the result into the
16404 target.
16405 (movhi): Likewise, but only for ARMv4.
16406
16407 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
16408
16409 * ssa-ccp.c (PHI_PARMS): Remove.
16410
16411 2002-07-22 Richard Sandiford <rsandifo@redhat.com>
16412
16413 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
16414 on big-endian targets.
16415
16416 2002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16417
16418 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
16419 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
16420 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
16421 New formatting macros.
16422
16423 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
16424
16425 Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
16426
16427 * rtlanal.c (subreg_regno_offset): Return correct offset for
16428 big endian paradoxical subregs.
16429
16430 * optabs.c (expand_vector_unop): Don't expand using sub_optab
16431 if we got the wrong mode.
16432
16433 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
16434 * genrecog.c (write_switch, write_cond): Use it.
16435 * genemit.c (gen_exp): Likewise.
16436
16437 2002-07-22 Jakub Jelinek <jakub@redhat.com>
16438
16439 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
16440
16441 2002-07-22 Jakub Jelinek <jakub@redhat.com>
16442
16443 * c-decl.c (build_compound_literal): Defer compound literal decls
16444 until until file end to emit them only if they are actually used.
16445
16446 2002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16447
16448 * ra-build.c (check_conflict_numbers): Hide unused function.
16449 (livethrough_conflicts_bb): Avoid automatic aggregate
16450 initialization.
16451 (parts_to_webs_1): Avoid `U' integer constant modifier.
16452 (conflicts_between_webs): Wrap a variable in the macro controlling
16453 its usage.
16454 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
16455 (dump_igraph, dump_graph_cost): Avoid string concatenation
16456 (dump_static_insn_cost): Avoid automatic aggregate
16457 initialization.
16458 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
16459 initialization.
16460 (dump_cost): Avoid string concatenation
16461
16462 2002-07-21 Richard Henderson <rth@redhat.com>
16463
16464 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
16465 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
16466
16467 2002-07-21 Richard Henderson <rth@redhat.com>
16468
16469 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
16470 that are not unrolled completely.
16471
16472 2002-07-21 Richard Henderson <rth@redhat.com>
16473
16474 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
16475 * loop.c (strength_reduce): Update.
16476 * toplev.c (rest_of_compilation): Do unrolling in the first
16477 loop pass, not the second.
16478
16479 2002-07-21 Richard Henderson <rth@redhat.com>
16480
16481 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
16482 when flag_argument_noalias == 2.
16483 * alias.c (nonoverlapping_memrefs_p): Handle that.
16484 * print-rtl.c (print_mem_expr): Likewise.
16485
16486 2002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
16487
16488 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
16489 instead of __negdi2 directly.
16490
16491 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
16492
16493 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
16494 * function.c (SYMBOL__MAIN): Remove definition.
16495 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
16496 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
16497 * profile.c (GCOV_INDEX_TO_BB): Remove.
16498 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
16499 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
16500
16501 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
16502
16503 * c-lex.c (GET_ENVIRONMENT): Remove.
16504 * collect2.c (GET_ENV_PATH_LIST): Remove.
16505 (prefix_from_env): Use GET_ENVIRONMENT.
16506 * cppinit.c (GET_ENV_PATH_LIST): Remove.
16507 (init_standard_includes): Use GET_ENVIRONMENT.
16508 * defaults.h (GET_ENVIRONMENT): Define here if not already.
16509 * gcc.c (GET_ENV_PATH_LIST): Remove.
16510 (make_relative_prefix, process_command): Update.
16511 * protoize.c (GET_ENV_PATH_LIST): Remove.
16512 (do_processing): Update.
16513
16514 2002-07-21 Gabriel Dos Reis <gdr@nerim.net>
16515
16516 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
16517 (grokdeclarator): Likewise.
16518 * c-format.c (C_STD_NAME): Likewise.
16519 * c-lex.c (interpret_integer): Likewise.
16520 * c-typeck.c (build_array_ref): Likewise.
16521 * cpplex.c (_cpp_lex_direct): Likewise.
16522 * toplev.c (documented_lang_options): Likewise.
16523
16524 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
16525
16526 * c-format.c (T99_I, T99_UI): Remove.
16527
16528 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
16529
16530 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
16531
16532 Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
16533
16534 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
16535 do_local_cprop.
16536
16537 2002-07-21 Andreas Jaeger <aj@suse.de>
16538
16539 * reload1.c (fixup_abnormal_edges): Remove unused variable.
16540
16541 2002-07-21 Bernd Schmidt <bernds@redhat.com>
16542
16543 Improvements for the ifcvt pass from Michael Meissner, with patches
16544 by Richard Sandiford <rsandifo@redhat.com>
16545 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
16546 * ifcvt.c (cond_exec_changed_p): New static variable.
16547 (last_active_insn): New function, renamed from last_active_insn_p
16548 and changed to return the last active insn in a basic block. All
16549 callers updated.
16550 (block_fallthru): New function.
16551 (cond_exec_process_insns): New argument CE_INFO. Pass it to
16552 IFCVT_MODIFY_INSN. All callers updated.
16553 Return false if START or END are NULL.
16554 Handle case where we're processing an insn that is already
16555 conditional.
16556
16557 (noce_process_if_block): CE_INFO argument rather than
16558 multiple args containing the involved basic blocks. All callers
16559 changed.
16560 (process_if_block, merge_if_block, find_if_block,
16561 cond_exec_process_if_block): Likewise.
16562
16563 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
16564 changed.
16565 Use new function last_active_insn to simplify some code.
16566 New code to handle multiple tests.
16567 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
16568 cond_exec_changed_p to TRUE.
16569
16570 (process_if_block): New code to handle multiple tests.
16571 (merge_if_block): Likewise.
16572 (find_if_header): New arg PASS. Changed to return the currently
16573 processed basic block or NULL instead of true/false. All callers
16574 changed.
16575 Call IFCVT_INIT_EXTRA_FIELDS.
16576 (block_jumps_and_fallthru_p): New function.
16577 (find_if_block): Discover opportunities to convert multiple tests.
16578 Add additional debugging output.
16579 Update the ce_info structure before returning.
16580
16581 (if_convert): Run multiple passes of if-conversion.
16582 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
16583 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
16584 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
16585 these macros.
16586
16587 Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
16588
16589 * gcse.c: Include cselib.h
16590 (constptop_register): Break out from ...
16591 (cprop_insn): ... here; kill basic_block argument.
16592 (do_local_cprop, local_cprop_pass): New functions.
16593 (one_cprop_pass): Call local_cprop_pass.
16594
16595 2002-07-20 Roger Sayle <roger@eyesopen.com>
16596
16597 * simplify-rtx.c (simplify_relational_operation): Optimize
16598 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
16599
16600 2002-07-20 Michae Matz <matz@suse.de>
16601
16602 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
16603
16604 2002-07-20 Neil Booth <neil@daikokuya.co.uk>
16605
16606 * cppexp.c (struct op): Add token pointer.
16607 (check_promotion, CHECK_PROMOTION): New.
16608 (optab): Update.
16609 (_cpp_parse_expr): Update, use token pointer of struct op.
16610 (reduce): Warn about change of sign owing to promotion.
16611 * cppinit.c (cpp_handle_option): New warning if -Wall.
16612 * cpplib.h (struct cpp_options): New member.
16613
16614 2002-07-19 David Edelsohn <edelsohn@gnu.org>
16615
16616 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
16617 fpu list. Separate Power4 compare and delayed_compare. Correct
16618 Power4 fpcompare.
16619 (fix_truncdfsi2_internal): Restore FPR preference.
16620 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
16621 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
16622
16623 2002-07-19 Momchil Velikov <velco@fadata.bg>
16624
16625 * reload1.c (reload_as_needed): Duplicate oldpat.
16626
16627 2002-07-20 Alan Modra <amodra@bigpond.net.au>
16628
16629 PR optimization/7130
16630 * loop.h (struct loop_info): Add "preconditioned".
16631 * unroll.c (unroll_loop): Set it.
16632 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
16633
16634 2002-07-19 Zack Weinberg <zack@codesourcery.com>
16635
16636 * rtl.def (CODE_LABEL): Remove slot 8.
16637 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
16638 (LABEL_ALTERNATE_NAME): Delete.
16639 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
16640 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16641
16642 * final.c (output_alternate_entry_point): New.
16643 (final_scan_insn): Use it instead of
16644 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
16645 of a case label being an alternate entry point.
16646
16647 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
16648 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
16649 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
16650 (field deleted).
16651 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
16652
16653 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
16654 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
16655 * doc/tm.texi: Delete documentation of
16656 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16657
16658 2002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16659
16660 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
16661 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
16662 (LINK_SPEC): Define.
16663 (STARTFILE_SPEC): Define.
16664 (ENDFILE_SPEC): Define.
16665
16666 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
16667 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
16668
16669 * config/mips/iris6-o32-gas.h: New file.
16670 * config.gcc (mips-sgi-irix6*o32): Use it.
16671
16672 * config/mips/t-iris5-gas: New file.
16673 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16674
16675 2002-07-19 Neil Booth <neil@daikokuya.co.uk>
16676
16677 * cppexp.c (ALWAYS_EVAL): Remove.
16678 (optab, reduce): Always evaluate.
16679 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
16680 only if not skipping evaluation.
16681
16682 2002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
16683
16684 * config/avr/avr.c (debug_hard_reg_set): Remove.
16685
16686 2002-07-19 Chris Demetriou <cgd@broadcom.com>
16687
16688 * gcc.c (cpp_options): Include "%1" (cc1_spec).
16689
16690 2002-07-19 Richard Henderson <rth@redhat.com>
16691
16692 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
16693
16694 2002-07-19 Alan Modra <amodra@bigpond.net.au>
16695
16696 * prefix.c (update_path): Don't zap single `.' path components
16697 unless followed by another `.' and fix typo last patch.
16698
16699 2002-07-18 Neil Booth <neil@daikokuya.co.uk>
16700
16701 * cppexp.c (cpp_num_mul): Remove unused parameter.
16702 (UNARY, BINARY, OTHER, binary_handler): Remove.
16703 (ALWAYS_EVAL): New.
16704 (optab): Update.
16705 (reduce): Refactor to a large switch, don't use a function
16706 pointer.
16707
16708 2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
16709
16710 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
16711
16712 Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
16713
16714 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
16715 (sh_expand_binop_v2sf): Likewise.
16716 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
16717 (int_gpr_dest, trunc_hi_operand): New functions.
16718 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
16719 trunc_hi_operand.
16720 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
16721 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
16722 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
16723 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
16724 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
16725 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
16726 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
16727 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
16728 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
16729 (movsf_ie+1): Likewise.
16730 (loaddi_trunc): Use int_gpr_dest predicate.
16731 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
16732 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
16733 (casesi_worker_0+[12], casesi_worker): Likewise.
16734 (shcompact_preserve_incoming_args): Likewise.
16735 (mov_nop): Use any_register_operand predicate.
16736 (mperm_w0): Use trunc_hi_operand predicate.
16737
16738 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
16739
16740 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
16741 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
16742 numbering.
16743
16744 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
16745
16746 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
16747
16748 2002-07-18 Richard Henderson <rth@redhat.com>
16749
16750 PR optimization/7147
16751 * ifcvt.c (noce_get_condition): Make certain that the condition
16752 is valid at JUMP.
16753
16754 Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
16755
16756 * sh.c (barrier_align, push): Shut up compiler warnings.
16757 (initial_elimination_offset,sh_media_init_builtins): Likewise.
16758 (reg_no_subreg_operand): Delete.
16759
16760 2002-07-17 Bo Thorsen <bo@suse.de>
16761
16762 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
16763 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
16764 (STARTFILE_SPEC): Remove hardcoded library paths.
16765 (ENDFILE_SPEC): Likewise.
16766
16767 Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
16768
16769 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
16770
16771 * gcse.c (try_replace_reg): Do not return false positives.
16772
16773 2002-07-18 Alan Modra <amodra@bigpond.net.au>
16774
16775 * prefix.c: (update_path): Strip ".." components when prior dir
16776 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
16777
16778 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
16779 (ASM_OUTPUT_REG_POP): Likewise.
16780
16781 2002-07-18 Alan Modra <amodra@bigpond.net.au>
16782
16783 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
16784 adjustments to first_reg for profiling case.
16785 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
16786 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
16787 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
16788 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
16789 (ASM_OUTPUT_REG_POP): Define.
16790 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
16791 (ASM_OUTPUT_REG_POP): Undef.
16792
16793 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
16794
16795 * cpplib.c (do_sccs): Handle #sccs on all systems.
16796 * system.h (SCCS_DIRECTIVE): Poison.
16797 * config/darwin.h, config/freebsd.h, config/netbsd.h,
16798 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
16799 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
16800 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
16801 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
16802 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
16803 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
16804 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
16805 Remove all references to SCCS_DIRECTIVE.
16806 * doc/cpp.texi, doc/tm.texi: Update.
16807
16808 Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
16809
16810 * regrename.c (maybe_mode_change): New function.
16811 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
16812
16813 2002-07-17 Rodney Brown <rbrown64@csc.com.au>
16814
16815 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
16816 suppress addition when either ct or cf are zero.
16817
16818 2002-07-17 Eric Botcazou <ebotcazou@multimania.com>
16819 Glen Nakamura <glen@imodulo.com>
16820
16821 PR optimization/6713
16822 * loop.c (loop_givs_rescan): Explicitly delete the insn that
16823 sets a non-replaceable giv after issuing the new one.
16824
16825 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
16826
16827 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
16828 eval_token): Clarify and correct use of "bool" variables.
16829 * cpplib.h (struct cpp_options): Similarly.
16830 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
16831 * cpptrad.c (recursive_macro): Similarly.
16832
16833 Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
16834
16835 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
16836 SHmedia code.
16837
16838 * sh.md (cmpgtudi_media): Remove spurious @.
16839
16840 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
16841 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
16842
16843 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
16844 * sh-protos.h (sh_initialize_trampoline): Declare.
16845 * sh.c (sh_initialize_trampoline): New function.
16846 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
16847 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
16848 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
16849 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
16850 * sh.md (initialize_trampoline, double_shori): New patterns.
16851 (initialize_trampoline_compact): Likewise.
16852 (shmedia32_initialize_trampoline_big): Remove.
16853 (shmedia32_initialize_trampoline_little): Likewise.
16854
16855 * sh-protos.h (binary_float_operator): Remove declaration.
16856 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
16857 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
16858 (unary_float_operator, sh_expand_unop_v2sf): New functions.
16859 (sh_expand_binop_v2sf): Likewise.
16860 (zero_vec_operand): Delete.
16861 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
16862 all non-shared ones.
16863 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
16864 Enable nsb and byterev.
16865 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
16866 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
16867 in general regs.
16868 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
16869 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
16870 immediate operands.
16871 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
16872 Add DF_HI_REGS.
16873 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
16874 lowpart fp regs - only for big endian for now.
16875 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
16876 when FPU is in use.
16877 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
16878 (LOAD_EXTEND_OP): NIL for SImode.
16879 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
16880 general and fp registers is 4.
16881 PREDICATE_CODES: Amend binary_float_operator entry.
16882 Remove zero_vec_operand. Add unary_float_operator.
16883 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
16884 subreg SET_DEST.
16885 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
16886 (truncdiqi2): Do sign extension.
16887 (movsi_media, movdi_media): Allow to use r63 to an fp register.
16888 (movdf_media, movsf_media): Likewise.
16889 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
16890 Collapse to one define_insn_and_split. Allow immediate sources.
16891 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
16892 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
16893 (movv4sf): Allow immediate sources.
16894 (movsf_media_nofpu+1): Don't split moves to FP registers.
16895 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
16896 (movv8qi_i+3): Check against CONST0_RTX.
16897 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
16898 for input and output operands. Fix argument 3 to gen_mextr_rl.
16899 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
16900 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
16901 (mshf0_w, fipr, ftrv): Likewise.
16902 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
16903
16904 2002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16905
16906 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
16907 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
16908 * arm.c: Similarly.
16909
16910 2002-07-17 Richard Sandiford <rsandifo@redhat.com>
16911
16912 * config/mips/mips-protos.h (mips_sign_extend): Declare.
16913 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
16914 (TARGET_SWITCHES): Remove debugh.
16915 (ISA_HAS_TRUNC_W): New macro.
16916 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
16917 (PREDICATE_CODES): Remove se_nonimmediate_operand.
16918 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
16919 any SImode move_operand.
16920 (se_nonimmediate_operand): Remove.
16921 (mips_sign_extend): New.
16922 (mips_move_2words): Use it for sign-extended source operands.
16923 (override_options): Allow integers to be put into single FPRs.
16924 (mips_secondary_reload_class): Handle integers in float registers.
16925 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
16926 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
16927 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
16928 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
16929 (fix_truncdfdi2): Provide only a single alternative, in which the
16930 integer is in a float register. Depend on TARGET_FLOAT64 rather
16931 than TARGET_64BIT.
16932 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
16933 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
16934 (movdi_internal2): Don't allow the source operand to be sign-extended.
16935 Add alternatives for float registers.
16936 (*movdi_internal2_extend): New. Version of movdi_internal2 that
16937 allows sign-extension.
16938 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
16939 (movsi_internal2): Rename to movsi_internal. Add alternatives for
16940 float registers. Remove TARGET_DEBUG_H_MODE test.
16941 (movhi_internal1): Rename to movhi_internal. Don't check
16942 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
16943 (movqi_internal1): Rename to movqi_internal and remove
16944 TARGET_DEBUG_H_MODE dependency.
16945 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
16946
16947 2002-07-16 Jim Wilson <wilson@redhat.com>
16948
16949 * toplev.c (lang_dependent_init): Create function context for
16950 init_expr_once.
16951
16952 2002-07-16 Hans-Peter Nilsson <hp@axis.com>
16953
16954 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
16955 --gc-sections if -r.
16956 * config/cris/cris.h: Ditto.
16957
16958 2002-07-16 Rodney Brown <rbrown64@csc.com.au>
16959
16960 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
16961 the comparison directly gives a mask suppress addition when cf is
16962 zero by complementing the mask.
16963
16964 2002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
16965
16966 * Makefile.in: Delete references to enquire.
16967 * enquire.c: Move to contrib.
16968
16969 2002-07-16 Stan Shebs <shebs@apple.com>
16970
16971 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
16972 config/rs6000/darwin.h.
16973 (ASM_OUTPUT_SKIP): Ditto.
16974 (TEXT_SECTION_ASM_OP): Ditto.
16975 (DATA_SECTION_ASM_OP): Ditto.
16976 (ASM_APP_ON): Define.
16977 (ASM_APP_OFF): Define.
16978 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
16979 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
16980
16981 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
16982 (machopic_function_base_name): Declare result to be const.
16983 (machopic_non_lazy_ptr_name): Ditto.
16984 (machopic_stub_name): Ditto.
16985 * config/darwin-protos.h: Ditto for the prototypes.
16986
16987 Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
16988
16989 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
16990
16991 Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
16992
16993 * i386.md (prefetch): Fix for 64bit mode.
16994 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16995
16996 Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
16997
16998 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
16999 * i386.c (x86_machine_dependent_reorg): New function.
17000 * i386-protos.h (x86_machine_dependent_reorg): Declare.
17001
17002 2002-07-16 Zack Weinberg <zack@codesourcery.com>
17003
17004 * builtins.c (std_expand_builtin_va_start): Remove unused
17005 first argument.
17006 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
17007 std_expand_builtin_va_start with just two arguments.
17008 * expr.h: Update prototypes.
17009
17010 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
17011 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
17012 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
17013 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
17014 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
17015 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
17016 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
17017 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
17018 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
17019 argument from all implementations of EXPAND_BUILTIN_VA_START
17020 and all uses of std_expand_builtin_va_start.
17021
17022 Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
17023
17024 * regrename.c (copy_value): Don't record high part copies.
17025
17026 2002-07-16 Steve Ellcey <sje@cup.hp.com>
17027
17028 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
17029 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
17030 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
17031
17032 2002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
17033
17034 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
17035
17036 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
17037 into addsi3 using register class "x" and "y".
17038
17039 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
17040 "earlyclobber" constraint modifier for some alternative.
17041
17042 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
17043 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
17044 unordered.
17045 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
17046
17047 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
17048 (TARGET_SWITCHES): Add -mieee-compare option.
17049 (OVERRIDE_OPTIONS): 32332 is a subset of
17050 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
17051 (TARGET_SWITCHES): Fix description of bitfield option.
17052 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
17053 -mieee-compare option. Remove 32332 flag.
17054
17055 2002-07-16 Steve Ellcey <sje@cup.hp.com>
17056
17057 * explow.c (convert_memory_address): Remove special handling
17058 when POINTERS_EXTEND_UNSIGNED < 0.
17059 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
17060 (movedi_symbolic): Fix typo.
17061 (load_fptr): Remove mode restriction so it works for SI and DI.
17062 (load_fptr_internal1): Ditto.
17063 (load_gprel): Ditto.
17064 (load_symptr_internal1): Ditto.
17065 (call_pic): Ditto.
17066 * config/ia64.c (call_operand): Modify mode check.
17067 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
17068 (ia64_expand_move): Ditto.
17069 (ia64_assemble_integer): Handle SImode function pointers.
17070 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
17071 (ia64_expand_op_and_fetch): Ditto.
17072 (ia64_expand_compare_and_swap): Ditto.
17073 (ia64_expand_lock_test_and_set): Ditto.
17074 (ia64_expand_lock_release): Ditto.
17075
17076 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17077
17078 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
17079
17080 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17081 Richard Earnshaw <rearnsha@arm.com>
17082
17083 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
17084 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
17085
17086 2002-07-16 Richard Earnshaw <rearnsha@arm.com>
17087
17088 * arm.md (stack_tie): New insn. Use an idiom that the alias code
17089 understands to be a memory clobber.
17090 * arm.c (arm_expand_prologue): Use it.
17091
17092 2002-07-16 Daniel Berlin <dberlin@dberlin.org>
17093
17094 * ra-rewrite.c: #include reload.h, insn-config.h
17095 * ra-build.c: #include reload.h
17096 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
17097 depend on reload.h, insn-config.h.
17098
17099 Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
17100
17101 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
17102 the same size as a word.
17103
17104 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
17105 BYTES_BIG_ENDIAN into account.
17106
17107 Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
17108
17109 * i386.md (prefetch): Fix for 64bit mode.
17110 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
17111
17112 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
17113
17114 2002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
17115
17116 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
17117
17118 2002-07-15 Zack Weinberg <zack@codesourcery.com>
17119
17120 * ginclude/varargs.h: Replace with stub which issues #error.
17121 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
17122 __builtin_va_start.
17123
17124 * builtins.def (BUILT_IN_VARARGS_START): Delete.
17125 (BUILT_IN_VA_START): New.
17126 * builtins.c (expand_builtin_va_start): Eliminate first
17127 argument and code to implement pre-ISO varargs.
17128 (std_expand_builtin_va_start): Ignore first argument; it is
17129 always 1.
17130 (expand_builtin): Handle BUILT_IN_VA_START and
17131 BUILT_IN_STDARG_START identically. Delete
17132 BUILT_IN_VARARGS_START case.
17133
17134 * function.c (assign_parms): Delete hide_last_arg and all
17135 its uses.
17136 (mark_varargs): Delete function.
17137 * function.h (struct function): Delete 'varargs' bit.
17138 (current_function_varargs): Delete macro.
17139 * tree.h: Don't declare mark_varargs.
17140
17141 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
17142 (c_expand_body): Don't call mark_varargs.
17143 * c-objc-common.c: Handle BUILT_IN_VA_START and
17144 BUILT_IN_STDARG_START identically. Delete
17145 BUILT_IN_VARARGS_START case.
17146 * c-tree.h: Don't declare c_mark_varargs.
17147 * c-parse.in: Remove grammar rules for '&...' (which has been
17148 commented out since before 2.7.2) and for '...' in K+R
17149 argument declarations.
17150
17151 * builtins.c, function.c, integrate.c, sibcall.c,
17152 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
17153 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
17154 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
17155 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
17156 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
17157 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
17158 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
17159 config/stormy16/stormy16.c: Delete all references to
17160 current_function_varargs, and code predicated on that flag.
17161
17162 * config/alpha/alpha.c (alpha_va_start),
17163 config/arc/arc.c (arc_va_start),
17164 config/i386/i386.c (ix86_va_start),
17165 config/mips/mips.c (mips_va_start),
17166 config/mn10300/mn10300.c (mn10300_va_start),
17167 config/rs6000/rs6000.c (rs6000_va_start),
17168 config/s390/s390.c (s390_va_start),
17169 config/sh/sh.c (sh_va_start),
17170 Ignore first argument; it is always 1.
17171
17172 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
17173 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
17174 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
17175 Delete m68hc11_va_start.
17176 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
17177 No need to define EXPAND_BUILTIN_VA_START.
17178
17179 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
17180 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
17181
17182 2002-07-15 Eric Botcazou <ebotcazou@multimania.com>
17183
17184 PR optimization/7153
17185 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
17186 dies in more than one insn.
17187
17188 2002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
17189
17190 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
17191
17192 2002-07-15 Michael Matz <matz@suse.de>,
17193 Daniel Berlin <dberlin@dberlin.org>,
17194 Denis Chertykov <denisc@overta.ru>
17195
17196 Add a new register allocator.
17197
17198 * ra.c: New file.
17199 * ra.h: New file.
17200 * ra-build.c: New file.
17201 * ra-colorize.c: New file.
17202 * ra-debug.c: New file.
17203 * ra-rewrite.c: New file.
17204
17205 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
17206 (ra-rewrite.o): New .o files for libbackend.a.
17207 (GTFILES): Add basic-block.h.
17208
17209 * toplev.c (flag_new_regalloc): New.
17210 (f_options): New option "new-ra".
17211 (rest_of_compilation): Call initialize_uninitialized_subregs()
17212 only for the old allocator. If flag_new_regalloc is set, call
17213 new allocator, instead of local_alloc(), global_alloc() and
17214 friends.
17215
17216 * doc/invoke.texi: Document -fnew-ra.
17217 * basic-block.h (FOR_ALL_BB): New.
17218 * config/rs6000/rs6000.c (print_operand): Write small constants
17219 as @l+80.
17220
17221 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
17222 (df_reg_table_realloc): Make size at least as large as max_reg_num().
17223 (df_insn_table_realloc): Size argument now is absolute, not relative.
17224 Changed all callers.
17225
17226 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
17227 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
17228
17229 2002-06-20 Michael Matz <matz@suse.de>
17230
17231 * df.h (struct ref.id): Make unsigned.
17232 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
17233
17234 2002-06-13 Michael Matz <matz@suse.de>
17235
17236 * df.h (DF_REF_MODE_CHANGE): New flag.
17237 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
17238 involving subregs with invalid mode changes, when
17239 CLASS_CANNOT_CHANGE_MODE is defined.
17240
17241 2002-05-07 Michael Matz <matz@suse.de>
17242
17243 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
17244
17245 2002-05-03 Michael Matz <matz@suse.de>
17246
17247 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
17248
17249 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
17250
17251 * regclass.c (regclass): Work with all regs which have sets or
17252 refs.
17253 (reg_scan_mark_refs): Count regs inside (clobber ...).
17254
17255 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
17256
17257 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
17258 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
17259 add new refs.
17260 (df_bb_refs_update): Don't clear insns_modified here, ...
17261 (df_analyse): ... but here.
17262
17263 * sbitmap.c (dump_sbitmap_file): New.
17264 (debug_sbitmap): Use it.
17265
17266 * sbitmap.h (dump_sbitmap_file): Add prototype.
17267
17268 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
17269
17270 * df.c (df_insn_modify): Grow the UID table if necessary, rather
17271 than assume all emits go through df_insns_modify.
17272
17273 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
17274
17275 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
17276 increase REG_N_REFS (like flow does), so that regclass doesn't
17277 think a reg is useless, and thus, not calculate a class, when it
17278 really should have.
17279
17280 2001-01-28 Daniel Berlin <dberlin@redhat.com>
17281
17282 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
17283 dataflow analysis.
17284
17285 2002-07-15 Jakub Jelinek <jakub@redhat.com>
17286
17287 PR middle-end/7245
17288 * config/i386/i386.c (const_int_1_31_operand): New.
17289 * config/i386/i386.h (PREDICATE_CODES): Add it.
17290 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
17291 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
17292 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
17293
17294 2002-07-14 Alan Modra <amodra@bigpond.net.au>
17295
17296 PR target/7282
17297 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
17298 (floatunssidf2): Likewise.
17299 (floatsidf_ppc64): New insn_and_split.
17300 (floatunssidf_ppc64): Likewise.
17301
17302 2002-07-14 Andreas Jaeger <aj@suse.de>
17303
17304 * config.gcc (sh64): Remove unused
17305 target_requires_64bit_host_wide_int.
17306
17307 2002-07-12 Roger Sayle <roger@eyesopen.com>
17308
17309 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
17310 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
17311 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
17312 whether clear_by_pieces should be used to clear storage.
17313 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
17314
17315 * doc/tm.texi: Document these two new target macros.
17316
17317 2002-07-12 Stephane Carrez <stcarrez@nerim.fr>
17318
17319 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
17320 the scratch register.
17321 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
17322 of it, forbid reload to use it.
17323
17324 2002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
17325
17326 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
17327 usage on 64-bit hosts, return value was truncated to 32 bits.
17328
17329 Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
17330
17331 * simplify-rtx.c (simplify_subreg): Handle floating point
17332 CONST_DOUBLEs. When an integer subreg of a smaller mode than
17333 the element mode is requested, compute a subreg with an
17334 integer mode of the same size as the element mode first.
17335
17336 Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
17337
17338 * combine.c (try_combine): When converting a paradoxical subreg
17339 to an extension, take LOAD_EXTEND_OP into account.
17340
17341 2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17342
17343 * config.gcc (mips-sgi-irix6*o32): New configuration.
17344
17345 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
17346 configurations.
17347 * configure: Regenerate.
17348
17349 * config/mips/iris6-o32-as.h: New file.
17350 * config/mips/iris6-o32.h: New file.
17351
17352 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
17353 (NM_FLAGS): Define.
17354 (HAVE_AS_SHF_MERGE): Undefine.
17355
17356 * config/mips/t-iris5-as: New file.
17357 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
17358
17359 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
17360 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
17361 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
17362 dp-bit.c, fp-bit.c): Move ...
17363 * config/mips/t-iris5-6: ... here.
17364 New file, shared by IRIX 5 and IRIX 6.
17365 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
17366 mips-sgi-irix5*): Use it.
17367
17368 * config/mips/iris6.h: Remove duplicate comment.
17369
17370 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
17371 !TARGET_IRIX6]: Define.
17372 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
17373
17374 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
17375
17376 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
17377
17378 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
17379 and delete code to force constant to register.
17380 * pa-protos.h (adddi3_operand): Add prototype.
17381 * pa.c (adddi3_operand): New function.
17382
17383 2002-07-11 Roger Sayle <roger@eyesopen.com>
17384
17385 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
17386 non-ANSI builtin functions.
17387
17388 Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
17389
17390 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
17391 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
17392 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
17393 (gen_const_vector_0): Use it.
17394
17395 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
17396
17397 * pa.md (adddi3): For 32-bit targets, force constants to a register
17398 if they don't fit in an 11-bit immediate. Change insn predicate to
17399 arith11_operand. Remove comment.
17400 * pa.c (cint_ok_for_move): Fix comment.
17401 (emit_move_sequence): Don't directly split DImode constants on 32-bit
17402 targets.
17403
17404 2002-07-11 Tim Josling <tej@melbpc.org.au>
17405
17406 Remove front end hard coding from gengtype.c.
17407
17408 * Makefile.in
17409 (STAGESTUFF): add gtyp-gen.h
17410 (GTFILES): Remove front end specific files.
17411 (GTFILES_FILES_LANGS): New, from configure..
17412 (GTFILES_FILES_FILES): Likewise.
17413 (GTFILES_LANG_DIR_NAMES): Likewise.
17414 (GTFILES_SRCDIR): Likewise.
17415 (gtyp-gen.h): Build from configure information.
17416 (s-gtype): Remove command line parameters from gengtype.
17417 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
17418 (mostlyclean): Delete files generated by and for gengtype.
17419
17420 * c-config-lang.in: New file.
17421
17422 * configure.in (all_gtfiles_files_langs): New. Accumulate files
17423 for each language.
17424 (all_gtfiles_files_files): New. Accumulate language for each file
17425 accumulated.
17426 (gtfiles): Pick up value for C.
17427 (srcdir): AC-SUBST this variable.
17428 (all_gtfiles_files_langs): AC-SUBST this variable.
17429 (all_gtfiles_files_files): AC-SUBST this variable.
17430
17431 * configure: Regenerate.
17432
17433 * gengtype-lex.l (parse_file): Make parameter const.
17434
17435 * gengtype.c (toplevel): include gtyp-gen.h.
17436 (BASE_FILE_<language> unnamed enum): Delete.
17437 (lang_names): Delete (replaced by gtyp-gen.h)
17438 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
17439 all references.
17440 (NUM_GT_FILES): New.
17441 (NUM_LANG_FILES): New.
17442 (srcdir_len): New.
17443 (NUM_BASE_FILES): Change calculation.
17444 (open_base_files): Change prototype to avoid warning.
17445 (startswith): Delete.
17446 (get_file_basename): Iterate through generated language list not
17447 hard coded list.
17448 (get_base_file_bitmap): Use generated list of files and languages.
17449 (close_output_files): Add prototype to rmove warning.
17450 (main): Iterate through list of generated files from gtyp-gen.h
17451 rather than command line paramaters. Ignore duplicated file
17452 names.
17453
17454 * gengtype.h (parse_file): Amend prototype for const parameter.
17455
17456 * doc/sourcebuild.texi: Document gtfiles variable.
17457
17458 * doc/gty.texi: Document changes to gtfiles variable for front
17459 ends.
17460
17461 * objc/config-lang.in (gtfiles): Add files needed for objc front
17462 end.
17463
17464 2002-07-10 Roger Sayle <roger@eyesopen.com>
17465
17466 PR c/2454
17467 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
17468 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
17469
17470 2002-07-10 Roger Sayle <roger@eyesopen.com>
17471 Zack Weinberg <zack@codesourcery.com>
17472
17473 * builtins.def: Make the argument types of abort and exit
17474 independent of the front-end.
17475
17476 2002-07-11 Alan Modra <amodra@bigpond.net.au>
17477
17478 * config/rs6000/linux64.h (ASM_SPEC): Define.
17479
17480 2002-07-10 Aldy Hernandez <aldyh@redhat.com>
17481
17482 * config/rs6000/rs6000.c (emit_frame_save): New.
17483 (rs6000_frame_related): Replace reg2 before reg.
17484 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
17485 and eh_return registers.
17486
17487 2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
17488
17489 Revert all patches for optimization of Complex .op. Real.
17490 * complex_part_zero_p: Remove
17491 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
17492 with x.
17493 * expand_cmplxdiv_wide: Ditto.
17494 * expand_binop: Ditto.
17495
17496 2002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
17497
17498 * config/avr/avr.md: Fix two 0x80000000 constants to make them
17499 negative also on 64-bit hosts.
17500
17501 Default to -fno-reorder-blocks when optimizing for size.
17502 * config/avr/avr-protos.h (avr_optimization_options): Declare.
17503 * config/avr/avr.c (avr_optimization_options): New function.
17504 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
17505
17506 Optimize returning from simple functions.
17507 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
17508 * config/avr/avr.c (avr_simple_epilogue): New function.
17509 * config/avr/avr.md (return): New insn.
17510
17511 2002-07-10 Douglas B Rupp <rupp@gnat.com>
17512
17513 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
17514 HAS_INIT_SECTION to protection.
17515
17516 2002-07-10 Mark Mitchell <mark@codesourcery.com>
17517
17518 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
17519 deprecated.
17520
17521 Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
17522
17523 * combine.c (gen_lowpart_for_combine): Handle vector modes.
17524 Supply non-VOID mode to simplify_gen_subreg.
17525
17526 Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
17527
17528 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
17529
17530 2002-07-10 Jeffrey A Law <law@redhat.com>
17531
17532 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
17533 as appropriate.
17534
17535 * mn10200.c (expand_epilogue): Fix test to determine which scratch
17536 register to use.
17537
17538 Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
17539
17540 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
17541 Get mode from dest.
17542 If simplify_gen_subreg fails, try next equivalent.
17543
17544 2002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
17545
17546 * diagnostic.h: #include location.h
17547 (location_t): Move definition to..
17548 * location.h: ... here. New file.
17549 * tree.h: #include location.h
17550 (DECL_SOURCE_LOCATION): New macro.
17551 (DECL_SOURCE_FILE): Use.
17552 (DECL_SOURCE_LINE): Likewise.
17553 (struct tree_decl): REplace filename and linenum with locus.
17554 * Makefile.in (TREE_H): add location.h
17555 (diagnostic.o): Depends on gt-location.h
17556 (gt-location.h): Depends on s-gtype
17557
17558 2002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
17559
17560 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
17561 TARGET_OS_CPP_BUILTINS.
17562 * config/rs6000/aix31.h: Likewise.
17563 * config/rs6000/aix41.h: Likewise.
17564 * config/rs6000/aix43.h: Likewise.
17565 * config/rs6000/aix51.h: Likewise.
17566 * config/rs6000/beos.h: Likewise.
17567 * config/rs6000/darwin.h: Likewise.
17568 * config/rs6000/eabi.h: Likewise.
17569 * config/rs6000/eabisim.h: Likewise.
17570 * config/rs6000/linux.h: Likewise.
17571 * config/rs6000/linux64.h: Likewise.
17572 * config/rs6000/lynx.h: Likewise.
17573 * config/rs6000/mach.h: Likewise.
17574 * config/rs6000/rtems.h: Likewise.
17575 * config/rs6000/sysv4.h: Likewise.
17576 * config/rs6000/vxppc.h: Likewise.
17577
17578 2002-07-09 Devang Patel <dpatel@apple.com>
17579 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
17580 Do not allow ObjC objects as a parameter type for Objective-C methods.
17581 My previous patch restricted 'struct' also.
17582
17583 2002-07-09 Neil Booth <neil@daikokuya.co.uk>
17584
17585 * cpperror.c (cpp_error): Default to directive_line within
17586 directives here.
17587 * cppexp.c (cpp_interpret_integer): Only use traditional
17588 number semantics in directives.
17589 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
17590 (do_include_common): Similarly.
17591 * cpptrad.c (scan_out_logical_line): Implement accurate
17592 quoting of <> in #include.
17593 * doc/cpp.texi: Update.
17594
17595 Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
17596 J"orn Rennecke <joern.rennecke@superh.com>
17597
17598 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
17599 * sh.md (attribute issues): Replace with:
17600 (attribute pipe_model). All users changed.
17601 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
17602 All users changed.
17603 (function units sh5issue, sh5fds): New.
17604 (attribute is_mac_media): New.
17605 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
17606 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
17607 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
17608 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
17609 (call_media, call_value_media, sibcall_media): Likewise.
17610 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
17611 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
17612 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
17613 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
17614 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
17615 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
17616 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
17617 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
17618 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
17619 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
17620 (truncdfsf2_media): Likewise.
17621 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
17622 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
17623
17624 Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17625
17626 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
17627 * sh.c (general_extend_operand, inqhi_operand): New functions.
17628 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
17629 alternatives using 'N' modifier. Add type.
17630 (adddi3z_media): Likewise. Enable generator function generation.
17631 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
17632 exact predicates / constraints. Add type.
17633 (subsi3): Allow 0 for SHMEDIA.
17634 (udivsi3_i4_media): Use match_operand for input values
17635 rather than hard registers.
17636 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
17637 unnecessarily through hard registers. Keep copies of pseudo
17638 registers outside of the libcall sequence.
17639 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
17640 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
17641 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
17642 (extendhidi2, extendqidi2): Likewise.
17643 (andsi3_compact): Name.
17644 (andcdi3): Enable generator function generation.
17645 (zero_extendhisi2, zero_extendqisi2): Rename to
17646 (zero_extendhisi2_compact, zero_extendqisi2_compact).
17647 (extendhisi2, extendqisi2): Rename to
17648 (extendhisi2_compact, extendqisi2_compact).
17649 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
17650 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
17651 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
17652 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
17653 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
17654 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
17655 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
17656 (shmedia32_initialize_trampoline_big): Likewise.
17657 (shmedia32_initialize_trampoline_little): Likewise.
17658 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
17659 (negdi2): Remove spurious T clobber.
17660 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
17661 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
17662 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
17663 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
17664 (ic_invalidate_line_media): Write back data cache before invalidating
17665 instruction cache. Add type.
17666 (movsf_media): Sign-extend when the destination is a general
17667 purpose register. Add type.
17668 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
17669 (casesi_worker_0+1): Only increment ref count for proper label.
17670 (casesi_worker_0+2): Likewise.
17671
17672 2002-07-09 Mark Mitchell <mark@codesourcery.com>
17673
17674 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
17675
17676 2002-07-09 Steve Ellcey <sje@cup.hp.com>
17677
17678 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
17679 from Pmode to ptr_mode.
17680 (get_exception_pointer): Ditto.
17681 (connect_post_landing_pads): Ditto.
17682 (dw2_build_landing_pads): Ditto.
17683
17684 2002-07-08 Steve Ellcey <sje@cup.hp.com>
17685 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
17686 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
17687 (handle_pragma_redefine_extname): Change to use new function.
17688
17689 2002-07-08 Roger Sayle <roger@eyesopen.com>
17690
17691 * combine.c (combine_simplify_rtx): Add an explicit cast
17692 to avoid signed/unsigned comparison warning.
17693 (simplify_if_then_else): Likewise.
17694 (extended_count): Likewise.
17695 (simplify_shift_const): Likewise.
17696 (simplify_comparison): Likewise.
17697
17698 2002-07-08 Richard Sandiford <rsandifo@redhat.com>
17699
17700 * config/mips/mips.md: Add imadd type. Update scheduler description
17701 to use imadd as well as imul.
17702 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
17703 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
17704 (*mul_sub_si): Likewise for first alternative. Change second
17705 alternative from imul to multi.
17706
17707 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
17708
17709 * c-common.c (c_common_post_options): Update prototype;
17710 don't init backends if preprocessing only.
17711 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
17712 * langhooks.h (struct lang_hooks): Update post_options to
17713 return a boolean.
17714 * toplev.c (parse_options_and_default_flags, do_compile,
17715 lang_independent_init): Update prototypes. Allow the
17716 front end to specify that there is no need to initialize
17717 the back end.
17718 (general_init): Move call to hex_init here...
17719 (toplev_main): ...from here. Pass flag for back end init
17720 suppression.
17721
17722 Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
17723
17724 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
17725 (PREDICATE_CODES): Add entries for equality_comparison_operator,
17726 greater_comparison_operator and less_comparison_operator.
17727 * sh.c (print_operand): Add '\'' code. Make 'o' handle
17728 more operators.
17729 (equality_comparison_operator): New function.
17730 (greater_comparison_operator, less_comparison_operator): Likewise.
17731 * sh.md (beq_media_i): Disable generator function generation.
17732 Use match_operator to handle a whole class of comparisons. Add
17733 modifier in output template to provide branch prediction. Add type.
17734 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
17735 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
17736 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
17737 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
17738
17739 2002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
17740
17741 Emit MMIX function prologue and epilogue as rtl.
17742 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
17743 not unprototyped get_hard_reg_initial_val.
17744 ("call_value", "nonlocal_goto_receiver"): Ditto.
17745 ("return"): Make define_expand. Move real insn to...
17746 ("*expanded_return"): New pattern.
17747 ("prologue", "epilogue"): New define_expands.
17748 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
17749 (struct machine_function): New member in_prologue.
17750 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
17751 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
17752 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
17753 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
17754 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
17755 (LOCAL_REGNO): Define. Adjust comment.
17756 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
17757 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
17758 leaf_function_p.
17759 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
17760 the prologue.
17761 (mmix_target_asm_function_prologue): Make static. Just mark that
17762 the prologue is being emitted. Move guts to...
17763 (mmix_expand_prologue): New function. Adjust for emitting
17764 prologue as rtl. For sizes, use HOST_WIDE_INT only.
17765 (mmix_target_asm_function_epilogue): Make static. Simply emit a
17766 \n. Move guts to...
17767 (mmix_expand_epilogue): New function. Adjust for emitting
17768 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
17769 (mmix_target_asm_function_end_prologue): Mark that the prologue
17770 has ended.
17771 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
17772 (mmix_conditional_register_usage): Improve comments.
17773 (mmix_local_regno): New function.
17774 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
17775 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
17776 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
17777 (mmix_get_hard_reg_initial_val): Ditto.
17778
17779 2002-07-06 Andreas Jaeger <aj@suse.de>
17780
17781 * toplev.c (set_fast_math_flags): Don't use ISO C style function
17782 definitions.
17783 * gengtype.c (open_base_files): Likewise.
17784 (close_output_files): Likewise.
17785 * tracer.c (find_best_predecessor): Likewise.
17786 (find_best_successor): Likewise.
17787 (ignore_bb_p): Likewise.
17788
17789 2002-07-05 Roger Sayle <roger@eyesopen.com>
17790
17791 PR c++/7099
17792 * builtin-attrs.def: Define new attribute lists for use in
17793 builtins.def.
17794 * builtins.def [DEF_BUILTIN]: Modify to take an additional
17795 ATTRS argument, an enumerated value defined in builtin-attrs.def
17796 that represents the attribute list for the builtins. Modify
17797 all builtin functions to pass an appropriate attribute list.
17798 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
17799 their required noreturn attributes.
17800 * tree.h (enum_builtin_function): Ignore the additional parameter
17801 to DEF_BUILTIN.
17802 * builtins.c (built_in_names): Likewise.
17803 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
17804 argument with a tree representing the functions attribute list.
17805 Pass this "attrs" argument to builtin_function. No longer handle
17806 the noreturn_p processing manually.
17807 (built_in_attributes): Move the definitions from builtin-attrs.def
17808 before c_common_nodes_and_builtins.
17809 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
17810 DEF_BUILTIN, passing it to both builtin_function and the changed
17811 builtin_function_2.
17812
17813 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
17814 __builtin__exit and __builtin__Exit.
17815
17816 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
17817
17818 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
17819 QI mode registers in soft registers.
17820 ("zero_extendqihi2"): Do not take into account soft registers
17821 for register allocation (use '*' constraint).
17822
17823 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
17824
17825 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
17826 it is dead.
17827 ("*ashrsi3"): Likewise.
17828 ("*lshrsi3"): Likewise.
17829
17830 2002-07-05 Vladimir Makarov <vmakarov@redhat.com>
17831
17832 * genautomata.c (output_max_insn_queue_index_def): Take latencies
17833 into account.
17834
17835 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
17836
17837 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
17838 address computation and memory moves.
17839
17840 2002-07-03 Mark Mitchell <mark@codesourcery.com>
17841
17842 PR c++/6706
17843 * dwarfout.c (output_reg_number): Fix warning message.
17844 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
17845 before using it.
17846
17847 2002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17848
17849 * gcc/gcc.c (asm_debug): Move initialization ...
17850 (init_spec): ... here.
17851
17852 2002-07-05 Nathan Sidwell <nathan@codesourcery.com>
17853
17854 * c-parse.in (extdef): Append ';'.
17855 (old_style_parm_decls): Append ';'.
17856
17857 2002-07-04 Daniel Jacobowitz <drow@mvista.com>
17858
17859 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
17860 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
17861 to gcc_cv_as_gstabs_flag.
17862 * configure: Rebuilt.
17863
17864 2002-07-04 Geoffrey Keating <geoffk@redhat.com>
17865
17866 * ggc.h (ggc_add_root): Document as obsolete.
17867
17868 Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
17869
17870 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
17871 (mshflo_w): Likewise.
17872
17873 Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
17874
17875 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
17876 vector mode subregs of constants to finding integer mode
17877 subregs of constants.
17878 * cse.c (cse_insn): Use simplify_gen_subreg.
17879 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
17880 From a vector mode expression of different size than the
17881 target mode.
17882
17883 2002-07-03 Eric Christopher <echristo@redhat.com>
17884
17885 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
17886 * config/mips/mips.h: Remove deprecated -m<processor> options
17887 and cc1_cpu_spec associated.
17888 (CONSTANT_ADDRESS_P): Fix last patch.
17889 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
17890 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
17891 sunge_sf): Remove.
17892
17893 2002-07-03 Stan Shebs <shebs@apple.com>
17894
17895 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
17896 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
17897 (CPP_SPEC): Remove insertion of APPLE_CC definition.
17898
17899 2002-07-03 Roger Sayle <roger@eyesopen.com>
17900
17901 * combine.c (struct_undo): Change types of recorded substitutions
17902 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
17903 (do_SUBST_INT): Change types of the substitution from unsigned int
17904 to int, to avoid compilation warning from SUBST_INT's only caller.
17905
17906 (make_extraction): Add cast to avoid compilation warning.
17907 (force_to_mode): Remove cast to avoid compilation warning.
17908
17909 2002-07-03 Eric Botcazou <ebotcazou@multimania.com>
17910 Jeff Law <law@redhat.com>
17911
17912 * i386.md (length_immediate attribute): Fix typo.
17913 (length_address attribute): Likewise.
17914 (modrm attribute): Set it to 0 for immediate call instructions.
17915 (jcc_1 pattern): Set modrm attribute to 0.
17916 (jcc_2 pattern ): Likewise.
17917 (jump pattern): Likewise.
17918 (doloop_end_internal pattern): Explicitly set length.
17919 (leave pattern): Fix typo.
17920 (leave_rex64 pattern): Likewise.
17921
17922 2002-07-03 David Edelsohn <edelsohn@gnu.org>
17923
17924 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
17925 in FPR as preference.
17926 (fctiwz): Same.
17927 (floatdidf2, fix_truncdfdi2): Same.
17928 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
17929 (floatditf2): Same.
17930 (floatsitf2, fix_trunctfsi2): SImode in GPR.
17931 (ctrdi): Remove FPR alternative and splitter.
17932
17933 2002-07-03 Will Cohen <wcohen@redhat.com>
17934
17935 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
17936
17937 Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
17938
17939 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
17940 than UNITS_PER_WORD, unless this is little endian and the first unit
17941 in this word. Let extract_bit_field decide how to load an element.
17942 Force arguments to matching mode.
17943 (expand_vector_unop): Likewise.
17944
17945 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
17946 consist of word_mode elements.
17947 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
17948 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
17949 (build_unary_op): Allow vector types for BIT_NOT_EPR.
17950 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
17951 CONST_VECTOR.
17952 * optabs.c (expand_vector_binop): Try to perform operation in
17953 smaller vector modes with same inner size. Add handling of AND, IOR
17954 and XOR. Reject expansion to inner-mode sized scalars when using
17955 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
17956 (expand_vector_unop): Try to perform operation in smaller vector
17957 modes with same inner size. Add handling of one's complement.
17958 When there is no vector negate operation, try a vector subtract
17959 operation. Use simplify_gen_subreg on constants.
17960 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
17961 constants into smaller vectors with same inner mode, and to
17962 integer CONST_DOUBLEs.
17963
17964 2002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17965
17966 * c-parse.in (parsing_iso_function_signature): New variable.
17967 (extdef_1): New, copied from...
17968 (extdef): ... here. Reset parsing_iso_function_signature.
17969 (old_style_parm_decls): Reset parsing_iso_function_signature.
17970 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
17971 Warn about ISO C style function definitions.
17972 (nested_function, notype_nested_function): Reset
17973 parsing_iso_function_signature.
17974 (parmlist_2): Set parsing_iso_function_signature.
17975
17976 * doc/invoke.texi (-Wtraditional): Document new behavior.
17977
17978 2002-07-02 Chris Demetriou <cgd@broadcom.com>
17979
17980 * config.gcc (mips*el-*-*): Use tm_defines to set
17981 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
17982 * config/mips/little.h: Remove.
17983
17984 2002-07-02 Devang Patel <dpatel@apple.com>
17985
17986 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
17987 object as parameter. Prevent something like 'NSObject' to be
17988 used as the type for a method argument.
17989
17990 2002-07-03 Neil Booth <neil@daikokuya.co.uk>
17991
17992 * cpptrad.c: Update comment.
17993
17994 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
17995
17996 * doc/cpp.texi: Update for traditional preprocessing changes.
17997 * goc/cppopts.texi: Similarly.
17998
17999 2002-07-02 Ziemowit Laski <zlaski@apple.com>
18000
18001 * c-parse.in (designator): Enable designated initializers if ObjC.
18002 (objcmessageexpr): Remove references to objc_receiver_context.
18003 * objc/objc-act.h (objc_receiver_context): Remove decl.
18004 * objc/objc-act.c (objc_receiver_context): Remove.
18005 (lookup_objc_ivar): Test objc_method_context instead of
18006 objc_receiver_context.
18007
18008 Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
18009
18010 * sh.c (print_operand, case 'N'): Allow zero vector.
18011 (arith_reg_or_0_operand): Likewise.
18012 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
18013 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
18014 IOR, XOR, PLUS and SET and take their respective constant
18015 ranges into account.
18016 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
18017 * sh.md (subdi3, subdi3_media): Allow zero operand.
18018 (movv8qi_i+3): Only vector that is not split is the zero vector.
18019 Fix operand 3 to simplify_subreg.
18020 (movv2si_i): Split alternative 1.
18021 (mshfhi_l_di_rev+1): New splitter.
18022
18023 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
18024
18025 PR preprocessor/7029
18026 * cppinit.c (cpp_handle_option): Suppress warnings with an
18027 implicit "-w" for "-M" and "-MM".
18028 * doc/cppopts.texi: Update.
18029
18030 2002-07-01 Roger Sayle <roger@eyesopen.com>
18031
18032 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
18033 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
18034 builtin_function.
18035
18036 2002-07-02 Alan Modra <amodra@bigpond.net.au>
18037
18038 * README.Portability: Fix typos.
18039
18040 2002-07-01 Hans-Peter Nilsson <hp@axis.com>
18041
18042 PR target/7177
18043 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
18044 of indirections for register inside sign-extended mem part.
18045
18046 2002-07-01 Roger Sayle <roger@eyesopen.com>
18047
18048 * tree.h: Modify builtin_function interface to take an extra
18049 argument ATTRS, which is a tree representing an attribute list.
18050
18051 * c-decl.c (builtin_function): Accept additional parameter.
18052 * objc/objc-act.c (builtin_function): Likewise.
18053 * f/com.c (builtin_function): Likewise.
18054 * java/decl.c (builtin_function): Likewise.
18055 * ada/utils.c (builtin_function): Likewise.
18056 * cp/decl.c (builtin_function): Likewise.
18057 (builtin_function_1): Likewise.
18058
18059 * c-common.c (c_common_nodes_and_builtins): Pass an additional
18060 NULL_TREE argument to builtin_function. (builtin_function_2):
18061 Likewise.
18062 * cp/call.c (build_java_interface_fn_ref): Likewise.
18063 * objc/objc-act.c (synth_module_prologue): Likewise.
18064 * java/decl.c (java_init_decl_processing): Likewise.
18065 * f/com.c (ffe_com_init_0): Likewise.
18066
18067 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
18068 NULL_TREE argument to builtin_function.
18069 * config/arm/arm.c (def_builtin): Likewise.
18070 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
18071 * config/i386/i386.c (def_builtin): Likewise.
18072 * config/ia64/ia64.c (def_builtin): Likewise.
18073 * config/rs6000/rs6000.c (def_builtin): Likewise.
18074
18075 2002-07-01 Zack Weinberg <zack@codesourcery.com>
18076
18077 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
18078 * config/mips/t-isa3264: Likewise.
18079 * config/mmix/t-mmix: Likewise.
18080
18081 2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
18082
18083 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
18084
18085 2002-07-01 Roger Sayle <roger@eyesopen.com>
18086
18087 PR opt/4046
18088 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
18089 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
18090 B are truth values.
18091
18092 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
18093
18094 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
18095
18096 2002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
18097
18098 * README.Portability (Function prototypes): Give an example of
18099 declaring and defining a function with no arguments.
18100
18101 * README.Portability (Function prototypes): Document new
18102 variable-argument function macros.
18103
18104 Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
18105
18106 * sh.c (langhooks.h): Include.
18107 (sh_init_builtins, sh_media_init_builtins): New functions.
18108 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
18109 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
18110 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
18111 (builtin_description): New struct tag.
18112 (signature_args, bdesc): New arrays.
18113 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
18114 (print_operand): Add 'N' modifier.
18115 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
18116 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
18117 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
18118 (CONST_COSTS): Add special case for SHmedia AND.
18119 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
18120 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
18121 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
18122 target_operand can also be const or unspec.
18123 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
18124 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
18125 (attribute type): Add new types.
18126 (anddi3): Add splitter.
18127 (movdi_const_16bit+1): Add code to handle vector constants and
18128 bitmasks efficiently.
18129 (shori_media): Have generator function made.
18130 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
18131 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
18132 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
18133 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
18134 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
18135 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
18136 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
18137 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
18138 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
18139 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
18140 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
18141 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
18142 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
18143 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
18144 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
18145 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
18146 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
18147 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
18148 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
18149 (ftrv): Likewise.
18150
18151 (fpu_switch+1, fpu_switch+2): Remove constraint.
18152
18153 2002-07-01 Aldy Hernandez <aldyh@redhat.com>
18154
18155 * tree.c (build_function_type_list): Update function comment.
18156 Rename first argument to return_type.
18157
18158 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
18159
18160 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
18161 tradcif.y and related files.
18162
18163 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
18164
18165 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
18166
18167 2002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18168
18169 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
18170
18171 See ChangeLog.7 for earlier changes.