]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
flags.h (g_switch_value): Change to an unsigned HOST_WIDE_INT.
[gcc.git] / gcc / ChangeLog
CommitLineData
307b599c
MK
12003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
2
3 * flags.h (g_switch_value): Change to an unsigned
4 HOST_WIDE_INT.
5 * toplev.c (g_switch_value): Likewise.
6
7 * config/alpha/alpha.c (small_symbolic_operand): Remove
8 g_switch_value cast.
9 (alpha_in_small_data_p): Cast size to an unsigned
10 HOST_WIDE_INT.
11
12 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
13 unsigned HOST_WIDE_INT.
14 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
15 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
16
17 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
18 unsigned HOST_WIDE_INT.
19 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
20 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
21 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
22
23 * config/rs6000/rs6000.c (rs6000_file_start): Use
24 HOST_WIDE_INT_PRINT_UNSIGNED.
25 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
26 (rs6000_elf_in_small_data_p): Cast size to unsigned
27 HOST_WIDE_INT.
28 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
29 Remove.
30 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
31 g_switch_set.
32 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
33 g_switch_value cast.
34
731ae8dd
RS
352003-05-18 Roger Sayle <roger@eyesopen.com>
36 Zack Weinberg <zack@codesourcery.com>
37
38 PR middle-end/10472
39 * builtins.c (expand_builtin_memcpy): Call force_operand on
40 expressions and use simplify_gen_binary to create the addition.
41
d1b3178b
AS
422003-05-18 Andreas Schwab <schwab@suse.de>
43
44 * config/m68k/m68k.md: Use define_constants for unspec numbers.
45
094a51ff
NB
462003-05-18 Neil Booth <neil@daikokuya.co.uk>
47
48 * config/sparc/sparc.h: Define sparc for now.
7d4f6041
NN
492003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
50
6a38414a
NN
51 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
52
595cac16
NN
53 * config/stormy16/stormy16.h: Remove about 3000 lines of
54 target-independent comments. Update copyright notice.
55
7d4f6041
NN
56 * doc/collect2.texi: GNU CC -> GCC.
57 * doc/headerdirs.texi: GNU CC -> GCC.
58
5e0c54e5
GDR
592003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
60
61 * hashtable.h (struct ht_identifier): Add data member "hash_value".
62 * hashtable.c (ht_lookup): Use it when searching, remember.
63 (ht_expand): Do not recompute.
64 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
65
dc1f1d7f
NS
662003-05-18 Nathan Sidwell <nathan@codesourcery.com>
67
68 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
69
4e2e315f
NB
702003-05-18 Neil Booth <neil@daikokuya.co.uk>
71
72 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
73 Default here.
74 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
75 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
76 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
77 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
78 config/arm/linux-elf.h, config/arm/rtems-elf.h,
79 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
80 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
81 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
82 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
83 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
84 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
85 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
86 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
87 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
88 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
89 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
90 Don't define __ELF__.
91 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
92 Define __ELF__.
93 * doc/cpp.texi: Document __ELF__.
94 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
95
e34d07f2
KG
962003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
97
98 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
99 always use stdarg.
100 * c-errors.c (pedwarn_c99): Likewise.
101 * c-format.c (status_warning): Likewise.
102 * c-semantics.c (build_stmt): Likewise.
103 * calls.c (emit_library_call, emit_library_call_value): Likewise.
104 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
105 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
106 * diagnostic.c (build_message_string, output_printf,
107 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
108 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
109 error_with_decl, fnotice): Likewise.
110 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
111 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
112 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
113 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
114 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
115 dw2_asm_output_encoded_addr_rtx): Likewise.
116 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
117 * errors.c (warning, error, fatal, internal_error): Likewise.
118 * final.c (output_operand_lossage, asm_fprintf): Likewise.
119 * fix-header.c (fatal): Likewise.
120 * gcc.c (fatal, error, notice): Likewise.
121 * gcov.c (fnotice): Likewise.
122 * genattrtab.c (attr_rtx, attr_printf): Likewise.
123 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
124 * gensupport.c (message_with_line): Likewise.
125 * mips-tfile.c (fatal, error): Likewise.
126 * protoize.c (notice): Likewise.
127 * ra-debug.c (ra_debug_msg): Likewise.
128 * read-rtl.c (fatal_with_file_and_line): Likewise.
129 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
130 * tree.c (build, build_nt, build_function_type_list): Likewise.
131
c08f71aa
NB
1322003-05-17 Neil Booth <neil@daikokuya.co.uk>
133
134 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
135 * gcc.c (cpp_predefines): Remove.
136 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
137 (static_specs): Remove predefines.
138 * system.h: Poison CPP_PREDEFINES.
139 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
140 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
141
a7fbe404
NB
1422003-05-17 Neil Booth <neil@daikokuya.co.uk>
143
144 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
145 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
146 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
147 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
148
b1822ccc
NB
1492003-05-17 Neil Booth <neil@daikokuya.co.uk>
150
3af15d58 151 PR c/9209
b1822ccc
NB
152 * c-common.c, c-common.h (dollars_in_ident): Remove.
153 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
154 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
155 * cpphash.h (warned_dollar): Rename warn_dollars.
156 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
157 Permit dollars regardless of -std=.
158 (post_options): Set warn_dollars.
159 * cpplex.c (forms_identifier_p): Use warn_dollars.
160 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
161 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
162 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
163 Update documentation.
164
a69e127b
AS
1652003-05-17 Andreas Schwab <schwab@suse.de>
166
167 * config/m68k/m68k.c (m68k_output_function_prologue): Use
168 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
169 formatting a HOST_WIDE_INT.
170 (m68k_output_function_epilogue): Likewise.
171
2aea0b53
ZW
1722003-05-17 Zack Weinberg <zack@codesourcery.com>
173
174 * doc/install.texi: Remove information about desupported targets.
175
1a8965c4
AS
1762003-05-17 Andreas Schwab <schwab@suse.de>
177
178 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
179 * config/m68k/linux.h: Likewise.
180 * config/m68k/m68k-none.h: Likewise.
181 * config/m68k/netbsd-elf.h: Likewise.
182 * config/m68k/sgs.h: Likewise.
183 * config/m68k/m68k.h: Likewise.
184 * config/m68k/m68k.md: Likewise.
185 * config/m68k/m68k.c: Likewise.
186 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
187 constraints.
188 * doc/invoke.texi (Option Summary): Remove -mfpa.
189 (M680x0 Options): Likewise.
190
2a8fa26c
DE
1912003-05-17 David Edelsohn <edelsohn@gnu.org>
192
193 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
194
6508bdd5
NB
1952003-05-17 Neil Booth <neil@daikokuya.co.uk>
196
197 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
198 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
199 config/sparc/rtemself.h, config/sparc/sol2-64.h,
200 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
201 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
202
8d55c164
NB
2032003-05-17 Neil Booth <neil@daikokuya.co.uk>
204
205 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
206 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
207
9b8466f4
NB
2082003-05-17 Neil Booth <neil@daikokuya.co.uk>
209
210 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
211 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
212 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
213 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
214 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
215 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
216 sparc/sysv4.h,
217 * sparc/sysv4-only.h: New.
218
5c07bd7a
AM
2192003-05-17 Alan Modra <amodra@bigpond.net.au>
220
221 * function.c (assign_parms): Check for zero size args.
222
7e53359d
KG
2232003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
224
90ff44cf
KG
225 * cfgloopanal.c (test_for_iteration): Use string concatentation on
226 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
227 function calls into one.
228 * dbxout.c (dbxout_symbol): Likewise.
229 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
230 * dwarf2asm.c (dw2_asm_output_data_uleb128,
231 dw2_asm_output_data_sleb128): Likewise.
232 * genrecog.c (debug_decision_2): Likewise.
233 * loop.c (emit_prefetch_instructions): Likewise.
234 * print-rtl.c (print_rtx): Likewise.
235 * print-tree.c (print_node_brief, print_node): Likewise.
236 * ra-debug.c (dump_igraph, dump_graph_cost,
237 dump_static_insn_cost): Likewise.
238 * ra-rewrite.c (dump_cost): Likewise.
239 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
240 * sreal.c (dump_sreal): Likewise.
241 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
242 * varasm.c (assemble_vtable_entry): Likewise.
243
7e53359d
KG
244 * avr.c (avr_output_function_prologue,
245 avr_output_function_epilogue, print_operand): Fix format specifier
246 warnings.
247 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
248 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
249
79406520
GK
2502003-05-16 Geoffrey Keating <geoffk@apple.com>
251
cabfd258
GK
252 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
253 and ! TARGET_STRING cases.
254
79406520
GK
255 * doc/cppopts.texi (-undef): Fix texinfo warning.
256
257 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
258 * cppfiles.c (validate_pch): When -H is used, print some information
259 about PCH files found.
260
190162de
RK
2612003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
262
263 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
264 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
265 * config/mips/t-sr71k: Likewise.
266
69487202
KG
2672003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
268
15a5dddc
KG
269 * arc.c (arc_output_function_prologue,
270 arc_output_function_epilogue): Fix format specifier warnings.
2aea0b53 271 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
15a5dddc 272
e0b3adcb
KG
273 * v850.c (print_operand): Fix format specifier warnings.
274
8745765a 275 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2aea0b53 276 specifier warnings.
8745765a 277
fd7b8952
KG
278 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
279 format specifier warnings.
280
f5a1c99c
KG
281 * ip2k.c (function_prologue, function_epilogue, print_operand):
282 Fix format specifier warnings.
283 * ip2k.md: Likewise.
284
0c6b830b
KG
285 * i960.c (i960_output_function_prologue, i960_print_operand,
286 i960_print_operand_addr): Fix format specifier warnings.
287
94c5db54
KG
288 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
289 (i370_output_function_prologue): Fix format specifier warnings.
290 * i370.h (PRINT_OPERAND): Likewise.
291
1bdfacf6
KG
292 * fr30.c (fr30_print_operand): Fix format specifier warnings.
293
5f1ed3b2
KG
294 * dsp16xx.c (print_operand_address): Fix format specifier warning.
295 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
296
13a8b496
KG
297 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
298 specifier warnings.
299
4a0a75dd
KG
300 * alpha.c (print_operand_address, alpha_start_function,
301 unicosmk_output_ssib): Use string concatentation on
302 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
303 function calls into one.
304 * arm.c (arm_print_operand): Likewise.
305 * cris.c (cris_asm_output_mi_thunk): Likewise.
306 * frv.c (frv_asm_output_mi_thunk): Likewise.
307 * ia64.c (ia64_print_operand, process_set): Likewise.
308 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
309 Likewise.
310 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
311 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
312 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
313 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
314 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
315 * s390.c (s390_assemble_integer): Likewise.
316 * sparc.c (sparc_flat_function_prologue,
2aea0b53 317 sparc_flat_function_epilogue): Likewise.
4a0a75dd
KG
318 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
319 * vax.c (vax_output_mi_thunk): Likewise.
320
6f562bc6
KG
321 * frv.c (frv_print_operand_memory_reference): Fix format specifier
322 warning.
323 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
324
c8f4b20f
KG
325 * m68k.c (m68k_output_function_epilogue): Fix format specifier
326 warnings.
327
804a0655
KG
328 * stormy16-protos.h (xs_hi_general_operand,
329 xs_hi_nonmemory_operand): Prototype.
330 * stormy16.c (xstormy16_output_shift): Fix format specifier
331 warnings.
332
69487202
KG
333 * cris.c: Fix format specifier warnings.
334
ba2f4247
NC
3352003-05-16 Nick Clifton <nickc@redhat.com>
336
337 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
338
674e9baa
WB
3392003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
340
341 * doc/bugreport.texi: Remove most of the of the preface of the
342 bugs section.
343
b80c0987
JJ
3442003-05-16 Jakub Jelinek <jakub@redhat.com>
345
346 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
347 .save XX, r0.
348
ad14dc5c
RS
3492003-05-15 Roger Sayle <roger@eyesopen.com>
350
351 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
352
10d6c0d0
EC
3532003-05-15 Eric Christopher <echristo@redhat.com>
354
355 * cfgcleanup.c (merge_blocks): Fix return value.
356
3dcd7d45
EC
3572003-05-15 Eric Christopher <echristo@redhat.com>
358
2aea0b53
ZW
359 * combine.c (expand_compound_operation): Make sure
360 that zero_extend operation is profitable.
3dcd7d45 361
36b9c271
RH
3622003-05-15 Richard Henderson <rth@redhat.com>
363
364 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
365 code protected by USE_GNULIBC_1.
366
7c942e17
ZW
3672003-05-15 Zack Weinberg <zack@codesourcery.com>
368
369 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
370 remove hppa*-*-mpeix* which could not be built, and prune
371 files from tmake_file= or tm_file= lists that don't exist.
372
373 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
374 * config/alpha/t-interix, config/arm/conix-elf.h
375 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
376 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
377 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
378 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
379 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
380 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
381 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
382 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
383 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
384 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
385 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
386 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
387 * config/m68k/tower-as.h, config/m68k/tower.h
388 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
389 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
390 * config/m88k/m88k-protos.h, config/m88k/m88k.c
391 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
392 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
393 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
394 * config/mips/rtems64.h, config/mips/sni-gas.h
395 * config/mips/sni-svr4.h, config/mips/t-ecoff
396 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
397 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
398 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
399 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
400 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
401 * config/romp/romp-protos.h, config/romp/romp.c
402 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
403 * config/rs6000/aix3newas.h, config/rs6000/mach.h
404 * config/sparc/bsd.h, config/sparc/hal.h
405 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
406 * config/sparc/lynx.h, config/sparc/netbsd.h
407 * config/sparc/sp86x-aout.h, config/sparc/splet.h
408 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
409 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
410 * config/sparc/t-halos, config/sparc/t-sparcbare
411 * config/sparc/t-splet, config/sparc/t-sunos41
412 * config/v850/rtems.h: Delete file.
413
a6ebc39a
AH
4142003-05-15 Aldy Hernandez <aldyh@redhat.com>
415
7c942e17 416 * config/rs6000/rs6000-protos.h (function_value): Protoize.
a6ebc39a 417
7c942e17 418 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
a6ebc39a 419
7c942e17 420 * config/rs6000/rs6000.c (rs6000_function_value): New.
a6ebc39a 421
4b3c2e48
PB
4222003-05-15 Philip Blundell <philb@gnu.org>
423
424 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
425 All uses updated.
426 (arm_tune_xscale): New variable.
427 (arm_override_options): Set it.
428 (arm_adjust_cost): Use it in place of arm_arch_xscale.
429 (arm_gen_load_multiple): Likewise.
430 (arm_gen_store_multiple): Likewise.
431 * config/arm/arm.md (is_xscale): Likewise.
432 * config/arm/arm.h (arm_tune_xscale): Declare.
433
c75a3ddc
PB
4342003-05-15 Philip Blundell <philb@gnu.org>
435
436 PR target/10730
437 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
438 involving invalid constants.
439
411f7850
JDA
4402003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
441
442 * pa.c (hppa_expand_prologue): Remove blockage.
443
486772b1
WB
4442003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
445
446 * doc/bugreport.texi: Remove most of the bug reporting
447 instructions and merge them into bugs.html.
448
c1fefa09
MK
4492003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
450
451 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
452 g_switch_value to unsigned HOST_WIDE_INT.
453
72531479
EC
4542003-05-14 Eric Christopher <echristo@redhat.com>
455
456 * combine.c: Fix header comments.
457 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
458 to all calls and prototype.
459
e43736ad
RS
4602003-05-14 Roger Sayle <roger@eyesopen.com>
461
462 PR optimization/10764
72531479 463 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
e43736ad
RS
464 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
465 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
466 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
467 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
468 the corresponding *fyl2x_?fxf3 instructions.
469
49e57ab0
BW
4702003-05-14 Bob Wilson <bob.wilson@acm.org>
471
472 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
473 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
474 XCHAL_HAVE_L32R): New.
475 * config/xtensa/xtensa-protos.h (non_const_move_operand,
476 xtensa_load_constant, xtensa_function_prologue,
477 xtensa_function_epilogue): Delete prototypes.
478 (xtensa_expand_prologue): New.
479 * config/xtensa/xtensa.c (frame_size_const,
480 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
481 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
482 xtensa_function_prologue): Delete.
483 (add_operand, xtensa_mem_offset): Formatting.
484 (move_operand): If the const16 option is available, allow any SFmode
485 and SImode constants.
486 (xtensa_emit_move_sequence): Inline the former contents of
487 xtensa_load_constant with modifications to handle the const16 option.
488 (override_options): Add xtensa_char_to_class['W'] and set it to
489 the general register class only if the const16 option is enabled.
490 Fix formatting. Disallow PIC when using the const16 option.
491 (print_operand): Reorganize to switch on "letter" instead of the
492 RTL code. Add output_operand_lossage calls for invalid cases.
493 Add support for 't' and 'b' letters.
494 (xtensa_expand_prologue): New function to replace
495 xtensa_function_prologue and xtensa_reorg.
496 (xtensa_function_epilogue): Declare this as static. Delete code
497 to print the retw.n or retw instruction.
498 (xtensa_return_addr): Use A0_REG instead of 0.
499 (xtensa_rtx_costs): Add costs for using the const16 option.
500 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
501 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
502 (TARGET_SWITCHES): Add "const16" and "no-const16".
503 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
504 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
505 using the const16 option.
506 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
507 (TRAMPOLINE_SIZE): Change from 49 to 59.
508 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
509 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
510 when using the const16 option.
511 (PREDICATE_CODES): Delete non_const_move_operand.
512 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
513 UNSPECV_ENTRY.
514 (movdi, movdf): If the source is a constant, always expand to a
515 sequence of movsi insns.
516 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
517 (movsi_internal, movsf_internal): Add alternative using const16 insns.
518 (movsf): Add const16 support.
519 (entry, prologue, epilogue): New.
520 (set_frame_ptr): Add missing mode for unspec_volatile operation.
521 Likewise for subsequent split pattern.
522 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
523 "-mconst16" and "-mno-const16" options.
524
ae49d6e5
RH
5252003-05-14 Richard Henderson <rth@redhat.com>
526
527 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
528 to be DImode register. Merge load_symptr.
529 * config/ia64/ia64.md (load_symptr): Remove.
530
2adb9af1
RH
5312003-05-14 Richard Henderson <rth@redhat.com>
532
533 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
534 DEFERRED_CONSTANT_P.
535 * integrate.c (copy_rtx_and_substitute): Update use.
536 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
537 to the copy generated.
538 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
539 of the constant to see if we should emit.
540 (mark_constant): Similarly.
541 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
542
bb84cb12
DE
5432003-05-14 David Edelsohn <edelsohn@gnu.org>
544
545 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
546 move record condition.
547 (movdi_internal2): Same.
548
3ec6c6ee
NS
5492003-05-14 Nathan Sidwell <nathan@codesourcery.com>
550
7d63a2fa
NS
551 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
552 (GCOV_TAG_*) Force type to gcov_unsigned_t.
553 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
554 (struct gcov_var): Remove modified. Add start, length, offset,
555 overread. Have buffer array for libgcov.
556 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
557 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
558 * gcov-io.c (gcov_open): Set mode, do not read anything.
559 (gcov_close): Write final block.
560 (gcov_write_block, gcov_allocate): New.
561 (gcov_write_bytes): Make static. Write or allocate buffer.
562 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
563 null.
564 (gcov_write_string): Adjust.
565 (gcov_write_tag)
566 (gcov_write_length): Adjust. Flush the block.
567 (gcov_write_tag_length): Buffer can never be null.
568 (gcov_read_bytes): Make static. Read in block.
569 (gcov_sync): Moved here. Adjust.
570 (gcov_seek): Moved here. Adjust.
571 * coverage.c (read_counts_file): Adjust.
572 * gcov-dump.c (print_prefix): Add position parameter.
573 (flag_dump_positions): New flag.
574 (options, main, print_usage): Add it.
575 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
576 tag_summary): Adjust.
577 * gcov.c (read_graph_file, read_count_file): Adjust.
578 * libgcov.c (gcov_exit): Adjust.
579
990f4800
NS
580 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
581 (libgcov.a): Depend on libgcc.a.
582 (gcov.o, gcov-dump.o): Add gcov-io.c.
583 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
72531479 584
3ec6c6ee
NS
585 * loop.c (check_dbra_loop): Factor common test.
586
c62347f0
BE
5872003-05-14 Ben Elliston <bje@wasabisystems.com>
588
589 * doc/md.texi (Automaton pipeline description): Grammar fixes.
590
18dbd950
RS
5912003-05-14 Richard Sandiford <rsandifo@redhat.com>
592
593 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
594 (TARGET_INITIALIZER): Include it.
595 * target.h (struct gcc_target): Add machine_dependent_reorg field.
596 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
2f9bb7c5 597 * system.h: Poison MACHINE_DEPENDENT_REORG.
18dbd950
RS
598
599 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
600 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
601 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
602 (alpha_handle_trap_shadows): Remove "first insn" parameter.
603 (alpha_align_insns): Likewise.
604 (alpha_reorg): Likewise. Make static. Update calls to above
605 functions.
606
607 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
608 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
609 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
610 (arm_reorg): Remove parameter. Make static.
611
612 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
613 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
614 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
615 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
616 Remove parameter.
617
618 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
619 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
620 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
621 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
622 Remove parameter.
623
624 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
625 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
626 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
627
628 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
629 * config/frv/frv.c: Remove orphaned comment.
630
631 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
632 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
633 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
634 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
635 Remove parameter.
636
637 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
638 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
639 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
640 (emit_insn_group_barriers): Remove "first insn" parameter.
641 (emit_all_insn_group_barriers): Likewise.
642 (ia64_reorg): Likewise. Make static. Update calls to above functions.
643 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
644
645 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
646 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
647 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
648 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
649 Remove parameter.
650
651 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
652 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
653 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
654 (m68hc11_reorg): Make static. Remove parameter.
655
656 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
657 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
658 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
659 (conditionalize_optimization): Remove parameter.
660 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
661 Make static. Update call to conditionalize_optimization.
662
663 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
664 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
665 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
666 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
667 Make static.
668
669 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
670 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
671 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
672 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
673 Remove parameter.
674
675 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
676 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
677 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
678 (pa_combine_instructions): Remove "first insn" parameter.
679 (remove_useless_addtr_insns): Likewise.
680 (pa_reorg): Likewise. Make static. Update calls to above functions.
681
682 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
683 commented-out definition.
684
685 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
686 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
687 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
688 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
689 Remove parameter.
690
691 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
692 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
693 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
694 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
695 Remove parameter.
696 (sh_output_mi_thunk): Call sh_reorg directly.
697 * config/sh/sh.md: Update comment.
698
699 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
700 commented-out definition.
701
702 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
703 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
704 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
705 (v850_reorg): Make static. Remove parameter.
706
707 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
708 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
709 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
710 (xtensa_reorg): Make static. Remove parameter.
711
712 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
713 (TARGET_MACHINE_DEPENDENT_REORG): Document.
714
2306d91c
RH
7152003-05-13 Richard Henderson <rth@redhat.com>
716
717 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
718 the old decl had instantiated DECL_RTL.
719
c2d635bc
MS
7202003-05-13 Mike Stump <mrs@apple.com>
721
722 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
723
7aabff18
JJ
7242003-05-13 Janis Johnson <janis187@us.ibm.com>
725
726 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
727 HOST_WIDE_INT argument.
728
03307888
JM
7292003-05-13 Jason Merrill <jason@redhat.com>
730
731 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
732
733 * tree.c (iterative_hash_expr): New fn.
734
735 * c-semantics.c (emit_local_var): Don't mess with temp slots if
736 there's no initializer.
737
d660cefe
RS
7382003-05-13 Richard Sandiford <rsandifo@redhat.com>
739
740 * final.c (final_scan_insn): Apply the effects of frame-related
741 delay slot insns before emitting a delayed branch.
742
c1f1978f
NC
7432003-05-13 Nick Clifton <nickc@redhat.com>
744
745 * config/mcore/mcore.md (jump): Use emit_jump_insn.
746
7641be90
UW
7472003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
748
749 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
750 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
751
f26aca6d
DD
7522003-05-12 DJ Delorie <dj@redhat.com>
753
754 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
755 (emit_push_insn): Don't use push when the source alignment is less
756 than the stack's push rounding.
757
fa6ef813
ZW
7582003-05-13 Zack Weinberg <zack@codesourcery.com>
759
760 * diagnostic.c (output_format): Add support for %m.
761 (output_printf, output_verbatim, diagnostic_set_info,
762 verbatim): Set err_no field of the text_info structure being
763 initialized.
764 (fatal_io_error): Delete function.
765 * diagnostic.h (text_info): Add err_no field.
766 * toplev.h (fatal_io_error): Delete prototype.
767
768 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
769 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
770 * objc/objc-act.c: Replace all calls to fatal_io_error with
771 calls to fatal_error; add ": %m" to the end of all the affected
772 error messages.
773
a2a6a79b
ZW
7742003-05-13 Zack Weinberg <zack@codesourcery.com>
775
776 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
777 * rtl.h: Prototype it.
778 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
779 when appropriate.
780
c707d0b0
UW
7812003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
782
783 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
784 ("*iorsi3_oi"): Likewise.
785
9af66e58
RE
7862003-05-13 Richard Earnshaw <rearnsha@arm.com>
787
788 * arm.md (compare_scc): Use shorter sequence for EQ case.
789 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
790 (and_scc_scc): Ensure split only applies when there is a dominance
791 of the comparisons.
792 (and_scc_scc_nodom): New insn-and-split pattern.
793
7f68692f
RS
7942003-05-13 Richard Sandiford <rsandifo@redhat.com>
795
796 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
797 to _Unwind_SetGRPtr().
798
88e80294
ME
7992003-05-13 Michael Eager <eager@mvista.com>
800
801 * Makefile.in: Initialize program_transform_cross_name from
802 @program_transform_name@ instead of target_alias.
803
c4501e62
JJ
8042003-05-12 Janis Johnson <janis187@us.ibm.com>
805 Alan Modra <amodra@bigpond.net.au>
806 Jakub Jelinek <jakub@redhat.com>
807
808 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
809 * configure: Rebuild.
810 * config/rs6000/rs6000-protos.h: Update.
811 * config/rs6000/rs6000.c (rs6000_tls_size): New.
812 (rs6000_tls_size_string): New.
813 (rs6000_parse_tls_size_option): New.
814 (rs6000_legitimize_tls_address): New.
815 (rs6000_tls_get_addr): New.
816 (rs6000_got_sym): New.
817 (rs6000_tls_symbol_ref): New.
818 (rs6000_tls_symbol_ref_1): New.
819 (rs6000_get_some_local_dynamic_name): New.
820 (rs6000_get_some_local_dynamic_name_1): New.
821 (TARGET_HAVE_TLS): New.
822 (TARGET_CANNOT_FORCE_CONST_MEM): New.
823 (rs6000_override_options): Handle -mtls-size option.
824 (constant_pool_expr_1): Handle TLS symbols.
825 (rs6000_legitimize_address): Handle TLS symbols.
826 (rs6000_tls_referenced_p): New.
827 (rs6000_legitimate_address): Handle TLS symbols.
828 (rs6000_emit_move): Handle TLS symbols.
829 (print_operand): Handle TLS symbols.
830 (uses_TOC): Handle TLS symbols.
831 (rs6000_emit_prologue): Use symbol for unspec constant.
832 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
833 (some_ld_name): New.
834 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
835 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
836 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
837 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
838 Support TLS.
839 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
840 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
841 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
842 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
843 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
844 tls_tls_64): New.
845 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
846
6cfae22a
NB
8472003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
848
849 * Makefile.in (stage2_build, stage3_build, stage4_build):
850 Set BUILD_CC to the same as CC.
851
517958ba
NB
8522003-05-12 Neil Booth <neil@daikokuya.co.uk>
853
854 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
855
74601584
AS
8562003-05-12 Andreas Schwab <schwab@suse.de>
857
858 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
859 as unused.
860 (bundling): Initialize 'pos'.
861 (ia64_expand_builtin): Initialize 'rmode'.
862
f08b4d88
DE
8632003-05-12 David Edelsohn <edelsohn@gnu.org>
864
865 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
866 (ASM_OUTPUT_ALIGNED_COMMON): Same.
867 (ASM_OUTPUT_LOCAL): Same.
868
d3e0dffb
JH
869Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
870
871 * varasm.c (output_constant): Fix underflow.
872
96ef4bdc
MM
8732003-05-12 Mark Mitchell <mark@codesourcery.com>
874
875 PR other/10745
876 * configure.in: Correct detection of GNU ld version number.
877 * configure: Regenerated.
878
9804f5fb
ZW
8792003-05-12 Zack Weinberg <zack@codesourcery.com>
880
881 * diagnostic.c (diagnostic_for_decl): Take a
882 diagnostic_context argument. Restructure to be consistent
883 with diagnostic_report_diagnostic.
884 (diagnostic_count_diagnostic): Now static. Take a
885 diagnostic_info argument, not just a diagnostic_t. Some code
886 moved here from internal_error. Move a case label for
887 clarity.
888 (diagnostic_action_after_output): New function. Code moved
889 here from internal_error and fatal_error.
890 (bug_report_request): New #define so that this text appears in
891 only one place.
892 (diagnostic_report_diagnostic): Update to match changes to
893 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
894 (diagnostic_set_info): Call gettext here.
895
896 (pedwarn): Update comment. Don't call gettext here.
897 (sorry): Use report_diagnostic. Don't call gettext here.
898 (fatal_error): Remove final fnotice and exit, but call
899 real_abort to prevent warnings about noreturn function returning.
900 (internal_error): Likewise. Don't do ICE suppression here nor
901 call context->internal_error.
902 (warning_with_decl): Suppress for decls in system headers.
903 Adjust call to diagnostic_for_decl.
904 (pedwarn_with_decl): Likewise.
905 (error_with_decl): Adjust call to diagnostic_for_decl.
906 (error_recursion): Use bug_report_request.
907
908 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
909 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
910 diagnostic_count_diagnostic.
911
f64f0687
JDA
9122003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
913
914 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
915
c394cdb7
JH
916Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
917
212e2065 918 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
c394cdb7
JH
919 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
920 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
921
70498da3
RS
9222003-05-12 Roger Sayle <roger@eyesopen.com>
923
924 * doc/rtl.texi: Document zero_extract as a valid destination
925 of a set insn.
926
ce250a20
RE
9272003-05-12 Richard Earnshaw <rearnsha@arm.com>
928
929 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
930 '.'. Change all local symbol definitions and references to use LSYM.
931
58e15542
JH
932Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
933
934 * expr.h (assemble_static_space): Update prototype.
935 * output.h (assemble_zeros, output_constant): Likewise.
936 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
937 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
938 it 64bit clean.
939 * elf.h (ASM_OTUPUT_SKIP): Likewise.
940 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
941 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
942 Expect HOST_WIDE_INT operand.
943 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
944 Expect HOST_WIDE_INT operand.
945 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
946 Expect HOST_WIDE_INT operand.
947 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
948 HOST_WIDE_INT operand.
949 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
950 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
951 * aout.h (ASM_OTUPUT_SKIP): Likewise.
952 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
953 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
954 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
955 * frv.h (ASM_OTUPUT_SKIP): Likewise.
956 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
957 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
958 Make it 64bit
959 clean.
960 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
961 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
962 Make it 64bit clean.
963 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
964 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
965 HOST_WIDE_INT operand
966 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
967 Expect HOST_WIDE_INT operand
968 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
969 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
970 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
971 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
972 Likewise.
973 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
974 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
975 Likewise.
976 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
977 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
978 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
979 ASM_OUTPUT_SKIP): Likewise.
980 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
981 Likewise.
982 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
983 ASM_OUTPUT_SKIP): Likewise.
984 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
985 ASM_OUTPUT_SKIP): Likewise.
986 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
987 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
988 ASM_OUTPUT_SKIP): Likewise.
989 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
990 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
991 ASM_OUTPUT_SKIP): Likewise.
992 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
993 Likewise.
994 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
995 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
996 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
997 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
998 ASM_OUTPUT_SKIP): Make it 64bit clean.
999 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
1000 Make it 64bit clean.
1001 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
1002 ASM_OUTPUT_SKIP): Make it 64bit clean.
1003 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
1004 64bit clean.
1005 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
1006 HOST_WIDE_INT argument
1007 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
1008 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
1009 HOST_WIDE_INT argument
1010 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
1011 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
1012 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
1013 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
1014 HOST_WIDE_INT argument
1015 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
1016 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
1017 * varasm.c (asm_output_bss, asm_output_aligned_bss,
1018 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
1019 HOST_WIDE_INT argument
1020
9804f5fb 10212003-05-10 Steven Bosscher <steven@gcc.gnu.org>
7660e67e
SB
1022
1023 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
1024 favor of walk_tree_without_duplicates. Add comments.
1025
76abd4c6
JZ
10262003-05-12 Josef Zlomek <zlomekj@suse.cz>
1027
1028 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
9804f5fb 1029 (struct alloc_pool_def): New element 'id'.
76abd4c6
JZ
1030 * alloc-pool.c (fancy_abort): Extern function prototype.
1031 (abort): Macro which uses fancy_abort.
1032 (struct allocation_object_def): New structure.
1033 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
1034 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
1035 (last_id): New variable.
1036 (create_alloc_pool): Add the offset of u.data to size of element,
1037 increase and use last_id.
1038 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
1039 (pool_alloc): Likewise. Set ID for elements.
1040 (pool_free): Check whether the PTR was allocated from POOL.
1041
66ea6f4c
RH
10422003-05-11 Richard Henderson <rth@redhat.com>
1043
1044 PR c/10675
1045 * c-decl.c: Include hashtab.h.
1046 (detect_field_duplicates): New.
1047 (finish_struct): Use it.
1048 * Makefile.in (c-decl.o): Update.
1049 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
1050 (component_decl_list, component_decl_list2,
1051 components, components_notype): Build list in reverse order.
1052 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
1053
9804f5fb 1054 * tree.c (chainon): Special case op2 null as well.
66ea6f4c
RH
1055 Reorg for clarity.
1056
358997e2
RS
10572003-05-11 Roger Sayle <roger@eyesopen.com>
1058
1059 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
1060 to implement log, logf and logl built-ins as inline x87 intrinsics.
1061 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
1062 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
1063 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
1064
1065 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
1066 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
1067
ffa916ba
KG
10682003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1069
9804f5fb 1070 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
04f3680d 1071
ffa916ba
KG
1072 * sparc.c (print_operand): Fix uninitialized warning.
1073
91f4cfe3
ZD
10742003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1075
1076 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
1077 real insns.
1078 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
1079 condition.
1080
ac38d8da
NB
10812003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
1082
1083 * doc/cpp.texi: Fix typos.
1084
82b1c974
UW
10852003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
1086
1087 * config/s390/s390.c (s390_function_arg_float): New function.
1088 (s390_function_arg_pass_by_reference): Use it.
1089 (s390_function_arg_advance): Likewise.
1090 (s390_function_arg): Likewise.
1091 (s390_va_arg): Likewise
1092
6d70e6be
NS
10932003-05-11 Nathan Sidwell <nathan@codesourcery.com>
1094
1095 * coverage.h (coverage_counter_alloc): New function.
1096 * function.h (struct function): Remove arc_profile flag.
1097 * coverage.c (fn_ident): Remove.
1098 (fn_b_ctrs, no_coverage): New.
1099 (get_coverage_counts): Use current_function_funcdef_no.
1100 (coverage_counter_alloc): New.
1101 (coverage_counter_ref): Adjust.
1102 (coverage_begin_output): Check no_coverage. Use
1103 current_function_funcdef_no.
1104 (coverage_end_function): Likewise.
1105 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
1106 than clearing flag_inline_functions. Do not clear arc_profile
1107 flag.
1108 * function.c (prepare_function_start): Do not set arc_profile
1109 flag.
1110 * profile.c (instrument_edges): Return number of instrumented
1111 edges. Use a for loop.
1112 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
1113 local to here and simplify. Use profile_arc_flag not arc_profile
1114 flag.
1115 (find_spanning_tree): Reformat.
1116 * toplev.c (rest_of_compilation): Use profile_arc_flags and
1117 flag_test_coverage rather than arc_profile flag.
1118
78d0a54d
GDR
11192003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1120
1121 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
1122
a71c8ddc
RK
11232003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1124
1125 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
1126
6e270179 11272003-05-11 Bruno Haible <bruno@clisp.org>
9804f5fb 1128
6e270179
NB
1129 * cppfiles.c (find_or_create_entry): Preserve errno.
1130
11312003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
1132
1133 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
1134 cpplib as it's a Standard Predefined Macro.
1135 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
1136 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
1137 __STDC_HOSTED__ appropriately.
1138 * cpplib.h (_cpp_init_builtins): Update.
1139 * fix-header.c (read_scan_file): Update.
1140 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
1141
f333504d
GDR
11422003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1143
1144 PR C++/689
1145 PR C++/9257
1146 * c-opts.c (c_common_decode_option): Don't set
1147 warn_ctor_dtor_privacy wen -Wall.
1148 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
1149
6e5d72ba
AO
11502003-05-10 Alexandre Oliva <aoliva@redhat.com>
1151
1152 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
1153 patch.
1154
59650e48
ZW
11552003-05-10 Zack Weinberg <zack@codesourcery.com>
1156
1157 * diagnostic.c: Reorder functions for clarity, putting all the
1158 functions in the "error" family next to each other, and
1159 likewise all the functions in the "error_with_decl" family.
1160 Some other routines were moved too. Add comments.
1161 (vbuild_message_string): Fold into sole caller.
1162
1163
34dc173c
UW
11642003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
1165
1166 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
1167 (EH_RETURN_HANDLER_RTX): Likewise.
1168 (expand_builtin_eh_return): Do not copy stack adjustment
1169 if EH_RETURN_STACKADJ_RTX is not defined.
1170 (expand_eh_return): Likewise. Also, do not pass stack
1171 adjustment as argument to the eh_return pattern.
1172 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
1173 because EH_RETURN_STACKADJ_RTX is not defined.
1174 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
1175 is not defined, treat stack pointer like a regular register.
1176 (uw_init_context_1): Set up fake initial stack pointer register.
1177 (uw_install_context_1): Do not compute stack adjustment if
1178 EH_RETURN_STACKADJ_RTX is not defined.
1179
1180 * config/i386/i386.md ("eh_return"): Remove first argument.
1181 * config/mips/mips.md ("eh_return"): Likewise.
1182 * config/rs6000/rs6000.md ("eh_return"): Likewise.
1183 * config/sh/sh.md ("eh_return"): Likewise.
1184
1185 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
1186
a64d0bc6
AA
11872003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
1188
1189 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
1190
9b514d25
NS
11912003-05-10 Nathan Sidwell <nathan@codesourcery.com>
1192
1193 * defaults.h (GCOV_TYPE_SIZE): Remove.
1194 * gcov-io.h (gcov_type): Set to specific mode int on target.
1195 (gcov_unsigned_t, gcov_position_t): New.
1196 (GCOV_TYPE_NODE): New.
1197 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
1198 (GCOV_COUNTERS_SUMMABLE): New.
1199 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
1200 gcov_ctr_info, gcov_info): Adjust types.
1201 (gcov_var): Adjust types.
1202 (gcov_write_unsigned, gcov_write_tag,
1203 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
1204 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
1205 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
1206 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
1207 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
1208 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
1209 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
1210 __gcov_init, __gcov_merge_add): Adjust gcov types.
1211 * coverage.c (ctr_merge_functions): Constify.
1212 (ctr_names): New.
1213 (read_counts_file): Adjust gcov types. Only summarize & merge
1214 summable counters.
1215 (coverage_counter_ref): Use GCOV_TYPE_NODE.
1216 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
1217 build_ctr_info_value, build_gcov_info): Adjust types.
1218 * profile.c (branch_prob): Adjust gcov types.
1219 * gcov_dump (dump_file): Adjust gcov types.
1220
03f1640c
RE
12212003-05-10 Richard Earnshaw <rearnsha@arm.com>
1222
59650e48 1223 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
03f1640c
RE
1224 constants.
1225 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
59650e48 1226 * arm.c (arm_select_dominance_cc_mode): Renamed from
03f1640c
RE
1227 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
1228 Callers updated.
1229 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
1230
3ee10665
RS
12312003-05-09 Roger Sayle <roger@eyesopen.com>
1232
1233 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
1234 as unsigned to avoid signed/unsigned comparison warnings.
1235
0bd0703d
BW
12362003-05-09 Bob Wilson <bob.wilson@acm.org>
1237
1238 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
1239 instruction if the Xtensa density option is enabled.
1240
1476c9d9
MK
12412003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
1242
1243 * mklibgcc.in: Remove extra quotes.
1244
36e8d515
MM
12452003-05-09 Mark Mitchell <mark@codesourcery.com>
1246
1247 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
1248 of int_ftype_void.
1249
f8a30250
AO
12502003-05-09 Alexandre Oliva <aoliva@redhat.com>
1251
1252 * reload1.c (reload_cse_move2add): Don't turn an implicit
1253 truncation into a self-set in the narrow mode.
1254
e912eadf
RE
12552003-05-09 Richard Earnshaw <rearnsha@arm.com>
1256
1257 * arm.md (clzsi2): The CLZ instruction is predicable.
1258
638db43e
BW
12592003-05-09 Bob Wilson <bob.wilson@acm.org>
1260
1261 * config/xtensa/xtensa.c: Formatting.
1262
5675294b
DN
12632003-05-09 Diego Novillo <dnovillo@redhat.com>
1264
1265 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
1266 instead of TREE_OPERAND to access the operand of a
1267 CONSTRUCTOR node.
1268
ec0f4995
DN
12692003-05-09 Diego Novillo <dnovillo@redhat.com>
1270
1271 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
1272 one operand.
1273
3c4b6438
GDR
12742003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
1275
1276 * toplev.h (warning_with_file_and_line): Don't declare.
1277 (error_with_file_and_line): Likewise.
1278 * diagnostic.c (error_with_file_and_line): Remove.
1279 (warning_with_file_and_line): Likewise.
1280
49468c8b
GDR
12812003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
1282
1283 * c-parse.in (if_stmt_locus): New object.
1284 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
1285 (select_or_iter_stmt rule): Likewise.
1286 (if_stmt_file): Remove.
1287 (if_stmt_line): Likewise.
1288 * jump.c: include "diagnostic.h"
59650e48 1289 (never_reached_warning): Don't use warning_with_file_and_line.
49468c8b
GDR
1290 * Makefile.in (jump.o): Add dependce on diagnostic.h
1291
c6b97fac
AM
12922003-05-09 Alan Modra <amodra@bigpond.net.au>
1293
1294 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
1295 Move code handling pieces not larger than a word to..
1296 * function.c (assign_parms): ..here, but use change_address instead
1297 of adjust_address and operand_subword, and expand_binop instead of
1298 expand_shift. Adjust calls to move_block_from_reg.
1299 * expr.h (move_block_from_reg): Update declaration.
1300 (copy_blkmode_from_reg): Formatting.
1301 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
1302 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
1303 move_block_from_reg calls.
1304 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
1305 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1306 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
1307 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
1308 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
1309 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1310 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
1311 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1312 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
1313
06d22853
DD
13142003-05-08 DJ Delorie <dj@redhat.com>
1315
1316 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
1317 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
1318 variable-sized types).
1319 (xstormy16_function_arg): New. Pass them that way too.
1320 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
1321 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
1322
d0affb9f
AH
13232003-05-08 Aldy Hernandez <aldyh@redhat.com>
1324
59650e48
ZW
1325 * mklibgcc.in: Use mkinstalldirs when installing multilib
1326 directories.
d0affb9f 1327
ddf8ec7e
R
13282003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
1329
1330 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
1331 instead of CODE_FOR_jump
1332
67f7893c
GDR
13332003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
1334
1335 * objc/objc-act.c (error_with_ivar): Don't use
59650e48 1336 error_with_file_and_line.
67f7893c
GDR
1337 (warn_with_method): Don't use warning_with_file_and_line.
1338
c8608cd6
GDR
13392003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
1340
1341 * stmt.c (emit_locus): New macro.
1342 (emit_filename): Remove.
1343 (emit_lineno): Likewise.
1344 (struct stmt_status): Replace members x_emit_filename and
1345 x_emit_lineno with x_emit_locus.
1346 (set_file_and_line_for_stmt): Adjust.
67f7893c 1347 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
c8608cd6
GDR
1348 (warn_if_unused_value): Likewise.
1349 (check_seenlabel): Likewise.
1350
95035b6f
GDR
13512003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
1352
1353 * c-decl.c (define_label): Tidy. Don't use any of
1354 error_with_file_and_line or warning_with_file_and_file.
1355 (pending_xref_error): Likewise.
1356 (store_parm_decls): Likewise.
1357 (current_function_prototype_locus): New object. Package from
1358 current_function_prototype_file and current_function_prototype_line.
1359 (start_function): Use it.
1360 (current_function_prototype_file): Remove.
1361 (current_function_prototype_line): Remove;
1362
7dc61d6c
KG
13632003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1364
1365 * builtins.c (readonly_data_expr): New function.
1366 (expand_builtin_memmove): Optimize any rodata source, not just
1367 strings.
1368
044075ac
DM
13692003-05-07 David Mosberger <davidm@hpl.hp.com>
1370
59650e48 1371 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
044075ac 1372
8231b3f9
RH
13732003-05-07 Richard Henderson <rth@redhat.com>
1374
1375 * config/i386/i386.c (ix86_split_long_move): Fix base register
1376 mode for XFmode splits for TARGET_64BIT.
1377
0212907f
RH
13782003-05-07 Richard Henderson <rth@redhat.com>
1379
1380 * sched-ebb.c (schedule_ebb): Supply the correct starting
1381 block number to save_line_notes.
1382
c079e6fe
RH
13832003-05-07 Richard Henderson <rth@redhat.com>
1384
1385 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
1386 (dump_file): Likewise.
1387
c35b64c2
DM
13882003-05-07 David Mosberger <davidm@hpl.hp.com>
1389
59650e48 1390 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
c35b64c2 1391 forget to preserve gp.
59650e48
ZW
1392 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
1393
1394 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
1395 .prologue directive.
1396 Use .skip instead of data8 for .bss section to make Intel
1397 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
1398 explicit in the .mib bundles and remove the unnecessary stop
1399 bits. Replace local labels with normal labels, to make ias
1400 happy. Don't register __do_global_ctors_aux here, do it in
1401 crtend.asm instead.
1402
1403 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
1404 __do_global_ctors_aux in .init_array section instead of
1405 declaring it as a hidden global. Replace local labels with
1406 ordinary labels to make ias happy.
c35b64c2 1407
a944ceb9
RH
14082003-05-07 Richard Henderson <rth@redhat.com>
1409
59650e48
ZW
1410 PR c++/10570
1411 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
1412 * flags.h, toplev.c, doc/invoke.texi: Likewise.
a944ceb9 1413
59650e48
ZW
1414 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
1415 * unwind.inc (_Unwind_DeleteException): Check for null
1416 exception_cleanup.
a944ceb9 1417
59650e48
ZW
1418 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
1419 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
1420 * unwind.h: Declare them.
1421 * libgcc-std.ver (GCC_3.3): Export them.
a944ceb9 1422
9330e977
RH
14232003-05-07 Richard Henderson <rth@redhat.com>
1424
a21d83cd 1425 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
9330e977
RH
1426 not _Unwind_Word.
1427
046e4e36
ZW
14282003-05-07 Zack Weinberg <zack@codesourcery.com>
1429
1430 * stmt.c (force_label_rtx): New function, based on logic
1431 formerly found in expand_expr.
1432 * expr.h: Prototype it.
1433 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
1434 appropriate.
1435 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
1436
1437 * print-tree.c (debug_tree): Free the table after we're done
1438 with it. Use putc.
1439
12850cf2
AH
14402003-05-07 Aldy Hernandez <aldyh@redhat.com>
1441
046e4e36
ZW
1442 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
1443 Unreverse arguments for __ev_subw.
12850cf2 1444
046e4e36 1445 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
12850cf2 1446
54350d48
NC
14472003-05-07 Nick Clifton <nickc@redhat.com>
1448
1449 * config/stormy16/stormy-abi: Update to include
1450 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
1451 R_XSTORMY16_12 relocs.
1452
ffea5d1e
AM
14532003-05-07 Alan Modra <amodra@bigpond.net.au>
1454
1455 * function.c (assign_parms): Correct reversed reg_parm_stack_space
1456 test. Add partial in-regs size to stack_args_size.
1457
da635858
GP
14582003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1459
1460 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
1461 as a C only option.
1462
474f141e
NS
14632003-05-07 Nathan Sidwell <nathan@codesourcery.com>
1464
1465 * gcov-io.h (GCOV_LOCKED): New #define.
1466 (GCOV_LINKAGE): Make sure it is #defined.
1467 (gcov_write_string, gcov_write_tag, gcov_write_length,
1468 gcov_read_string, gcov_time): Poison in libgcov.
1469 (gcov_seek_end): Remove.
1470 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
1471 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
1472 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
1473 GCOV_TAG_SUMMARY_LENGTH): New #defines.
1474 (gcov_write_tag, gcov_write_length): Not in libgcov.
1475 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
1476 (gcov_write_tag, gcov_write_length): Not in libgcov.
1477 (gcov_write_tag_length): New.
1478 (gcov_write_summary): Use gcov_write_tag_length.
1479 * libgcov.c: Always #include gcov-io.h.
1480 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
1481 (GCOV_LINKAGE): Define to nothing for L_gcov.
1482 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
1483 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
1484 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
1485 (read_count_file): Likewise.
1486 * gcov-dump.c (dump_file): Likewise.
1487 * coverag.c (read_counts_file): Likewise.
1488
6cbeaa7e
MM
14892003-05-06 Mark Mitchell <mark@codesourcery.com>
1490
1491 PR other/10658
1492 * gcc.c (process_command): Update copyright date.
1493
26979a17
PE
14942003-05-06 Phil Edwards <pme@gcc.gnu.org>
1495
1496 * doc/install.texi (mips-*-*): Add note about libstdc++.
1497
14b56832
DD
14982003-05-06 DJ Delorie <dj@redhat.com>
1499
1500 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
1501 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
1502 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
1503
2c2bc09b
NB
15042003-05-06 <neil@cat.daikokuya.co.uk>
1505
1506 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
1507 and -Wstrict-prototypes if C++.
1508
2f3f95e9
AH
15092003-05-06 Aldy Hernandez <aldyh@redhat.com>
1510
046e4e36 1511 * config/rs6000/linuxspe.h: New file.
2f3f95e9 1512
046e4e36 1513 * config.gcc: Add powerpc-*-linux-gnuspe* target.
2f3f95e9 1514
8b689196
RH
15152003-05-06 Richard Henderson <rth@redhat.com>
1516
046e4e36 1517 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
8b689196
RH
1518 previous frame didn't save sp. Clear sp for next frame.
1519 (uw_install_context_1): Honor saved sp from frame.
1520
5b0f0db6
RS
15212003-05-06 Richard Sandiford <rsandifo@redhat.com>
1522
1523 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
1524 (mips_move_1word, mips_move_2words): Remove declaration.
1525 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
1526 (mips_restore_gp): Remove insn argument.
1527 * config/mips/mips.h (FP_REG_RTX_P): New macro.
1528 * config/mips/mips.c (volatile_buffer): Remove.
1529 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
1530 (mips_move_1word, mips_move_2words): Remove, replacing with...
1531 (mips_output_move): ...this new function.
1532 (mips_restore_gp): Remove insn argument. Adjust for above changes.
1533 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
1534 handling of floating-point constants. Handle zero CONST_DOUBLE
1535 arguments.
1536 (mips_annotate_frame_insn): Replace with...
1537 (mips_set_frame_expr): ...this, which just takes one argument.
1538 (mips_frame_set): Change the register argument to an rtx.
1539 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
1540 check whether moves should be split. Use mips_split_64bit_move
1541 to split them. Use mips_subword to generate the high and low
1542 parts of a paired FPR. Adjust calls to frame_set and
1543 mips_set_frame_expr.
1544 (mips_expand_prologue): Simplify due to above changes.
1545 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
1546 targets, replacing xisting register-only versions.
1547 (UNSPEC_STORE_DF_HIGH): New unspec.
1548 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
1549 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
1550 (*paradoxical_extendhidi2): Remove.
1551 (movdi_internal, movdi_internal2): Use mips_output_move.
1552 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
1553 (movsf_internal1, movsf_internal2): Likewise.
1554 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
1555 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
1556 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
1557 Add m <- G alternative.
1558 (load_df_low, load_df_high, store_df_low): New patterns.
1559 (movhi_internal): Use @ template instead of calling a function.
1560 Remove unnecessary 'z' alternatives.
1561 (movqi_internal): Likewise.
1562 (exception_receiver): Update call to mips_restore_gp.
1563
e8b84d3d
RS
15642003-05-06 Richard Sandiford <rsandifo@redhat.com>
1565
1566 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
1567 (mips_delegitimize_address): Declare.
1568 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
1569 (FIND_BASE_TERM): Define.
1570 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
1571 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
1572 Handle small-data addresses.
1573
e82a312b
RS
15742003-05-05 Roger Sayle <roger@eyesopen.com>
1575
1576 * real.c (real_powi): New function to calculate the value of
1577 a real raised to an integer power, i.e. pow(x,n) for int n.
1578 (real_sqrt): Convert to using the faster do_add, do_multiply
1579 and do_divide API for consistency with the rest of real.c.
1580 * real.h (real_powi): Prototype here.
1581 * builtins.c (fold_builtin): Avoid local variable mode when
1582 evaluating sqrt at compile time. Attempt to evaluate pow at
1583 compile-time, by checking for an integral exponent.
1584
905e8651
RH
15852003-05-05 Richard Henderson <rth@redhat.com>
1586
1587 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
1588
88467101
DB
15892003-05-05 David O'Brien <obrien@FreeBSD.org>
1590
1591 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
1592 other FreeBSD ports.
1593 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
cb1f476f 1594 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
88467101 1595
6ccfe27c
JJ
15962003-05-05 Janis Johnson <janis187@us.ibm.com>
1597
1598 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
1599 expanded variables.
1600 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
1601
10b6a274
ZW
16022003-05-05 Zack Weinberg <zack@codesourcery.com>
1603
1604 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
1605 * varasm.c (struct varasm_status): Add deferred_constants field.
1606 (n_deferred_strings): Delete variable.
1607 (n_deferred_constants): New #define.
1608 (struct constant_descriptor_tree): Kill next and label fields.
1609 (const_hash_table, MAX_HASH_TABLE): Delete.
1610 (const_desc_htab): New static variable.
1611 (const_hash): Rename const_desc_hash, and make it fit the
1612 hashtab.h interface.
1613 (const_desc_eq): New.
1614 (const_hash_1, compare_constant): Const-ify arguments.
1615 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
1616 SYMBOL_REFs. Clarify comments. Don't set desc->label.
1617 (output_constant_def): Do the lookup/insert using the
1618 hashtab.h interface. Don't muck with n_deferred_constants or
1619 DEFERRED_CONSTANT_P here.
1620 Always call maybe_output_constant_def_contents.
1621 (maybe_output_constant_def_contents): Take a pointer to the
1622 descriptor, not the EXP and RTL separately. Return
1623 immediately if this constant is not deferred. Defer output of
1624 everything, except writable string constants. Update
1625 n_deferred_constants here.
1626 (output_constant_def_contents): Now takes just one argument,
1627 an rtx. Clear DEFERRED_CONSTANT_P here.
1628 (mark_constant_pool): Update for rename of n_deferred_strings.
1629 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
1630
1631 (init_varasm_status): Clear p->deferred_constants.
1632 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
1633
68ef8841
KG
16342003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1635
1636 * builtins.c (expand_builtin_stpcpy): Only expand when the length
1637 of the source string can be evaluated at compile-time.
1638
9938b5d9
AH
16392003-05-05 Aldy Hernandez <aldyh@redhat.com>
1640
10b6a274 1641 * testsuite/gcc.c-torture/compile/simd-6.c: New.
9938b5d9 1642
10b6a274 1643 * c-typeck.c (digest_init): Handle arrays of vector constants.
9938b5d9 1644
e3e9f108
JJ
16452003-05-05 Jakub Jelinek <jakub@redhat.com>
1646
1647 * builtins.c (expand_builtin_mempcpy): New function.
1648 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
1649 ignored into strcpy no matter what arguments it has.
1650 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
1651 expand_builtin_mempcpy.
1652
6035d635
AH
16532003-05-05 Aldy Hernandez <aldyh@redhat.com>
1654
10b6a274 1655 * testsuite/gcc.dg/20030505.c: New.
6035d635 1656
10b6a274
ZW
1657 * c-typeck.c (convert_for_assignment): Opaque pointers can
1658 interconvert.
6035d635 1659
10b6a274
ZW
1660 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
1661 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
1662 (spe_init_builtins): Rename all pv2si_type_node to
1663 opaque_p_V2SI_type_node.
1664 Remove declaration of pv2si_type_node.
1665 (is_ev64_opaque_type): Accept opaque pointers.
6035d635 1666
36b29d7d
GK
16672003-05-05 Geoffrey Keating <geoffk@apple.com>
1668
bc9ec0e0
GK
1669 * config/rs6000/rs6000.c (validate_condition_mode): Use
1670 flag_finite_math_only.
1671 (rs6000_reverse_condition): Never return UNKNOWN; use
1672 flag_finite_math_only.
1673 (rs6000_generate_compare): Use flag_finite_math_only.
1674 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
1675 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
10b6a274 1676 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
bc9ec0e0 1677
36b29d7d
GK
1678 * toplev.c (check_global_declarations): Suppress not-used warning
1679 for volatile variables.
1680
9e5f281f
OH
16812003-05-05 Olivier Hainque <hainque@act-europe.fr>
1682
10b6a274
ZW
1683 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
1684 usage of bitfield instructions for mode1 != BLKmode, only ignoring
1685 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
1686 (store_field): Likewise.
9e5f281f 1687
f5119d10
AH
16882003-05-05 Aldy Hernandez <aldyh@redhat.com>
1689
10b6a274
ZW
1690 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
1691 evsubifw to builtins accepting 5-bit unsigned constants.
1692 (easy_vector_constant): Return if V1DImode. Fix typo.
f5119d10 1693
25ecd459
AH
16942003-05-05 Aldy Hernandez <aldyh@redhat.com>
1695
10b6a274 1696 * config/rs6000/spe.h: Revert licensing change from last patch.
25ecd459 1697
9be13211
DD
16982003-05-05 DJ Delorie <dj@redhat.com>
1699
1700 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
1701 before reload, but defer the split until after.
1702 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
1703 to match.
1704
2c9d95ef
DE
17052003-05-05 David Edelsohn <edelsohn@gnu.org>
1706
1707 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
1708 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
1709
1e77e673
ZD
17102003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1711
1712 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
10b6a274 1713 is defined.
1e77e673 1714
00362064
KG
17152003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1716
1717 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
1718 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
1719 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
1720
1721 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
1722 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
1723 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
1724 New.
1725
1726 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
1727 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
1728
1729 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
1730 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
1731 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
1732 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
1733 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
1734 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
1735 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
1736 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
1737 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
1738 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
1739 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
1740 BUILT_IN_STRDUP): Add "nonnull" attribute.
1741
ad26fb41
RK
17422003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1743
c1853da7
RK
1744 * expr.c (store_field): Don't clobber TEMP in shift: it might be
1745 a variable.
1746 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
1747 whose purpose is to step up the alignment.
1748 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
1749
ad26fb41
RK
1750 * stor-layout.c (compute_record_mode): Relax restriction
1751 on fields crossing word boundaries forcing BLKmode.
1752
1fecc266
NB
17532003-05-04 Neil Booth <neil@daikokuya.co.uk>
1754
1755 * cppinit.c (cpp_create_reader, post_options): Warn about
1756 trigraphs unless explicity set or -trigraphs.
1757 * cpplex.c (warn_in_comment): New.
1758 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
1759 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
1760 * doc/cppopts.texi, doc/cpp.texi: Update.
1761
09780dfb
ZD
17622003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1763
1764 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
1765 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
1766 namespace clash.
1767 (GCOV_MERGE_FUNCTIONS): New.
1768 (gcov_merge_fn): Declare.
1769 (struct gcov_ctr_info): New field "merge".
1770 (__gcov_merge_add): Declare.
1771 * coverage.c (ctr_merge_functions): New.
1772 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
1773 of gcov_ctr_info type.
1774 * libgcov.c (__gcov_merge_add): New.
1775 (gcov_exit): Call a hook to merge values of counters.
1776
c71f2ffd
GDR
17772003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1778
1779 * toplev.h (pedwarn_with_file_and_line): Don't declare.
1780 * diagnostic.c (pedwarn_with_file_and_line): Remove.
1781
3d885683
GDR
17822003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1783
1784 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
1785
8c9b38d7
KG
17862003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1787
1788 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
1789 expand_builtin_frame_address): Update prototypes.
1790 (expand_builtin_constant_p, expand_builtin_strlen,
1791 expand_builtin_strcpy, expand_builtin_memset,
1792 expand_builtin_bzero, expand_builtin_args_info,
1793 expand_builtin_frame_address): Pass in just the argument(s)
1794 needed, not the entire expression `exp'.
1795 (expand_builtin): Update all calls to these functions.
1796
9c80ff25
RH
17972003-05-03 Richard Henderson <rth@redhat.com>
1798
1799 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
1800 <BUILT_IN_DWARF_SP_COLUMN>: New.
1801 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
1802 (BUILT_IN_DWARF_SP_COLUMN): New.
1803 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
1804 (expand_builtin_dwarf_sp_column): New.
1805 * except.h: Update to match.
1806 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
1807 (execute_cfa_program): Record location expression address
1808 before extracting length.
1809 (uw_update_context_1): Install old CFA into stack pointer column.
1810 (uw_init_context_1): Set cfa_reg to stack pointer column.
1811
4d588c14
RH
18122003-05-03 Richard Henderson <rth@redhat.com>
1813
1814 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
1815 return bool.
1816 (toc_relative_expr_p): Likewise.
1817 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
1818 (legitimate_constant_pool_address_p): Move from rs6000.h, change
1819 into a function, downcase all users.
1820 (legitimate_small_data_p): Likewise.
1821 (legitimate_offset_address_p): Likewise.
1822 (legitimate_indexed_address_p): Likewise.
1823 (legitimate_indirect_address_p): Likewise.
1824 (legitimate_lo_sum_address_p): Likewise.
1825 (rs6000_mode_dependent_address): Likewise.
1826 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
1827 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
1828 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
1829 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
1830 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
1831 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
1832 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
1833 * config/rs6000/rs6000-protos.h: Update.
1834
8d90f9c0
GK
18352003-05-03 Geoffrey Keating <geoffk@apple.com>
1836
b39358e1
GK
1837 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
1838 (REVERSE_CONDITION): Define.
1839
b7053a3f
GK
1840 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
1841 to branch_positive_comparison_operator.
1842 (ccr_bit): Check that sCOND conditions are actually a positive bit.
1843 (print_operand): Remove %D substitution.
1844 (rs6000_emit_sCOND): Generate complement operation to ensure that
1845 sCOND input is a positive bit.
1846 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
1847 same order as bCOND, and add the missing ones. Remove the %D
1848 substitutions from the scc patterns.
1849
8d90f9c0
GK
1850 * simplify-rtx.c (simplify_relational_operation): Add case for
1851 ! (fabs(x) < 0.0).
1852
8882ac3a
BK
18532003-05-03 Bruce Korb <bkorb@gnu.org>
1854
1855 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
1856 in fixincl.x
1857 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
1858
bd879e9a
AH
18592003-05-03 Aldy Hernandez <aldyh@redhat.com>
1860
4d588c14 1861 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
bd879e9a 1862
87f85ea0
ZW
18632003-05-03 Zack Weinberg <zack@codesourcery.com>
1864
1865 PR c/10604
1866 * c-common.c (warn_sign_compare): Initialize to -1.
1867 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
1868 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
1869 for C++ only.
1870 (c_common_post_options): Set warn_sign_compare from extra_warnings
1871 if it's still -1 at this point.
1872
1873 * toplev.c (maybe_warn_unused_parameter): New static variable.
1874 (set_Wextra): New static function.
1875 (W_options): Remove "extra".
1876 (decode_W_option): Call set_Wextra.
1877 (independent_decode_option): Likewise.
1878 (set_Wunused): Cooperate with set_Wextra in setting
1879 warn_unused_parameter.
1880 (rest_of_compilation): No need to check extra_warnings as
1881 well as warn_uninitialized.
1882
1883 * c-typeck.c (build_binary_op, build_conditional_expr):
1884 No need to check extra_warnings as well as warn_sign_compare.
1885 (internal_build_compound_expr): No need to check extra_warnings
1886 as well as warn_unused_value.
1887 * function.c (expand_function_end): No need to check extra_warnings
1888 as well as warn_unused_parameter.
1889 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
1890 as well as warn_unused_value.
1891
1892 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
1893
1894 * Makefile.in: Disable -Werror for gengtype-lex.o.
1895
ee960939
OH
18962003-05-03 Olivier Hainque <hainque@act-europe.fr>
1897
1898 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
1899 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
1900 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
1901 * calls.c (emit_call_1): Likewise.
87f85ea0 1902 (expand_call): For calls initializing constant memory, replace
ee960939
OH
1903 emission of standalone mem /u clobber with function usage entry.
1904 * expr.c (emit_block_move_via_libcall): Likewise.
1905 * cse.c (count_reg_usage, case EXPR_LIST): New case.
1906 * flow.c (propagate_one_insn): Pass entire operand of
1907 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
1908 * integrate.c (try_constants): For CALL_INSNs, substitute constants
1909 within the FUNCTION_USAGE also.
1910 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
1911 FUNCTION_USAGE lists.
1912 * reload1.c (replace_pseudos_in): Renamed.
1913 (reload): Use it for clobbers surviving until the end of the reload.
1914
3923e410
RK
19152003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1916
13cf99ec
RK
1917 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
1918 gen_lowpart on non-integer modes.
1919
3923e410
RK
1920 * stor-layout.c (place_field): When adjusting offset_align, use
1921 desired_align, not DECL_ALIGN.
1922
070588f0
NS
19232003-05-03 Nathan Sidwell <nathan@codesourcery.com>
1924
1925 * c-decl.c (pending_invalid_xref_file): Remove.
1926 (pending_invalid_xref_line): Remove.
1927 (pending_invalid_xref_location): New.
1928 (lookup_label): Use location_t and input_location directly.
1929 (lookup_tag): Likewise.
1930 (pending_xref_error): Likewise.
1931 (c_expand_body_1): Likewise.
1932 * c-common.c (x_expand_start_cond): Likewise.
1933 * c-semantics.c (genrtl_for_stmt): Likewise.
1934 (find_reachable_label): Likewise.
1935 * expr.c (expand_expr): Likewise.
1936 * integrate.c (output_inline_function): Likewise.
1937 * tree-inline.c (find_alloca_call): Likewise.
1938 (find_builtin_longjmp_call): Likewise.
1939 * gcc.c (input_filename): Make static.
87f85ea0 1940
b259a9a6
RS
19412003-05-03 Richard Sandiford <rsandifo@redhat.com>
1942
969c6c43
RS
1943 * config/mips/mips.md: Fix comment typo.
1944
b259a9a6
RS
1945 * config/mips/mips.c (mips_integer_op): New structure.
1946 (MIPS_MAX_INTEGER_OPS): Define.
1947 (mips_const_insns): Use mips_build_integer to determine the number
1948 of instructions needed to load a CONST_INT.
1949 (move_operand): Reject compound CONST_INTs.
1950 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
1951 (mips_move_integer): New fn.
1952 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
1953 (mips_legitimize_move): Only legitimize constants when moving
1954 word or subword values.
1955
28068c2c
MK
19562003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
1957
1958 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
1959
685828f7
KG
19602003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1961
1962 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
1963 modifying it.
1964
d9e95c63
FH
19652003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1966 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1967
1968 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
1969 Hernandez, and Kazu Hirata. Update Richard Henderson.
1970
7454096f
GK
19712003-05-02 Geoffrey Keating <geoffk@apple.com>
1972
b86fe7b4
GK
1973 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
1974 to tentative declaration.
87f85ea0 1975
20bfcd69
GK
1976 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
1977 (SYMBOL_FLAG_SMALL_V4): Delete.
1978 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
1979 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
1980 (rs6000_elf_in_small_data_p): Add extra section names. Add
1981 comment about TREE_PUBLIC test.
1982
7454096f
GK
1983 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
1984 expand_stmt on result of expand_unreachable_stmt.
1985
3f4a3170
GP
19862003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1987
1988 * doc/contrib.texi (Contributors): Add Daniel Berlin.
1989
473f51b6
DE
19902003-05-02 David Edelsohn <edelsohn@gnu.org>
1991
1992 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
1993 number of automata.
1994
1995 * config/rs6000/rs6000.c (symbol_ref_operand): Check
1996 SYMBOL_REF_FUNCTION_P on AIX.
1997 (current_file_function_operand): Same.
1998 * config/rs6000/rs6000.md (call,call_value): Force non-function
1999 symbol_ref into register on AIX.
2000
e7949876
AM
20012003-05-02 Alan Modra <amodra@bigpond.net.au>
2002
2003 * calls.c (struct arg_data): Move offset, slot_offset, size and
2004 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
2005 (initialize_argument_information): Adjust call to locate_and_pad_parm.
2006 Delete alignment_pad var. Don't calculate slot_offset here.
2007 (emit_library_call_value_1): Delete alignment_pad, offset and size
2008 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
2009 Adjust call to locate_and_pad_parm. Don't tweak arg size for
2010 partial in-regs here. Formatting fixes.
2011 * expr.h (struct locate_and_pad_arg_data): New struct.
2012 (locate_and_pad_parm): Adjust declaration.
2013 * function.c (assign_parms): Localize vars. Use "locate" instead of
2014 other arg location vars. Don't invoke FUNCTION_ARG or
2015 FUNCTION_INCOMING_ARG unless pretend_named is different from
2016 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
2017 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
2018 Use slot_offset for stack home of reg parms. Correct test for
2019 parm passed in memory. Formatting fixes.
2020 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
2021 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
2022 Correct initial_offset_ptr handling. Localize vars. Always pad
2023 locate->offset even when in_regs.
2024
6060edcb
NS
20252003-05-02 Nathan Sidwell <nathan@codesourcery.com>
2026
2027 * Makefile.in (TREE_H): Replace location.h with input.h.
2028 (GTFILES) Remove location.h
2029 (gt-lists.h): Replace gt-location.h with gt-input.h
2030 * input.h (input_filename, input_line): Remove variables.
2031 (location_s, location_t): Move from location.h.
2032 (input_location): New.
2033 (input_filename, input_line): New #defines.
2034 * location.h: Remove.
2035 * tree.h: Replace location.h with input.h.
2036 (input_filename, input_line): Remove.
2037 * diagnostic.h: Replace location.h with input.h.
2038 * gcc.h (input_filename, input_filename_length): Remove declarations.
2039 * toplev.c (input_filename, input_line): Remove.
2040 (input_location): Define.
2041 (push_srcloc, pop_srcloc): Adjust.
2042 * diagnostic.c (diagnostic_report_current_module): Adjust.
2043
f8000836
NC
20442003-05-02 Nick Clifton <nickc@redhat.com>
2045
2046 * configure.in: Add xstormy16 to list of targets that has a nop
2047 instruction and hence which can be tested to see if the
2048 assembler supports the --gdwarf2 switch.
2049 * configure: Regenerate.
2050
409f52d3 20512003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
87f85ea0
ZW
2052
2053 PR target/8257
2054 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
2055 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
2056 Avoid undefined shifts by making the shift operand unsigned.
2057
57458e8a
DD
20582003-05-01 DJ Delorie <dj@redhat.com>
2059
2060 * reload.c (find_reloads): Also check that all of a multi-reg
2061 value is in the class.
2062
774cb6d1
NS
20632003-05-01 Nathan Sidwell <nathan@codesourcery.com>
2064
2065 * scan.h (lineno): Revert the rename here.
2066
e1a4211d
SS
20672003-05-01 Stan Shebs <shebs@apple.com>
2068
2069 * config/darwin.c (darwin_encode_section_info): Call
2070 default_encode_section_info.
2071
02ca7595
DE
20722003-05-01 David Edelsohn <edelsohn@gnu.org>
2073
2074 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
2075 (movsi_internal1): Use new mfjmpr attribute.
2076 (movhi_internal): Same.
2077 (movqi_internal): Same.
2078 (movcc_internal1): Same.
2079 (movdi_internal64): Same.
2080 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
2081 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
2082 * config/rs6000/40x.md: Add fpu_405.
2083 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
2084 into power4misc automata. Remove extraneous parentheses.
2085 * config/rs6000/440.md: New file.
2086 * config/rs6000/rs6000.c (processor_target_table): Add 440,
2087 440fp. Rename 405f to 405fp.
2088 (function_arg_padding): Correct formatting.
2089 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
2090
3b895f8e
NS
20912003-05-01 Nathan Sidwell <nathan@codesourcery.com>
2092
d479d37f
NS
2093 * input.h (lineno): Rename to ...
2094 (input_line): ... here.
2095 * tree.h (lineno): Rename to ...
2096 (input_line): ... here.
2097 * scan.h (lineno): Rename to ...
2098 (input_line): ... here.
2099 * toplev.c (lineno): Rename to ...
2100 (input_line): ... here.
2101 (push_srcloc, pop_srcloc): Rename lineno to input_line.
2102 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
2103 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
2104 store_parm_decls, c_expand_body_1): Likewise.
2105 * c-errors.c (pedwarn_c99): Likewise.
2106 * c-format.c (status_warning): Likewise.
2107 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
2108 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
2109 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
2110 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
2111 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
2112 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
2113 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
2114 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
2115 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
2116 * coverage.c (create_coverage): Likewise.
2117 * diagnostic.c (pedwarn, sorry, error, fatal_error,
2118 internal_error, warning, diagnostic_report_current_module,
2119 inform): Likewise.
2120 * expr.c (expand_expr): Likewise.
2121 * integrate.c (expand_inline_function,
2122 output_inline_function): Likewise.
2123 * rtl-error.c (file_and_line_for_asm): Likewise.
2124 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
2125 walk_tree): Likewise.
2126 * tree.c (make_node): Likewise.
2127 * ada, cp, f, java, objc, treelang: Likewise.
2128 * objc/objc-act.c (objc_init): Rename lineno to input_line.
2129 (build_module_descriptor, build_selector_translation_table,
2130 build_protocol_template, build_method_prototype_list_template,
2131 build_category_template, build_selector_table,
2132 build_class_template, build_super_template, build_ivar_template,
2133 build_ivar_list_template, build_method_list_template,
2134 build_method_template, add_instance_variable): Likewise.
2135
3b895f8e
NS
2136 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
2137 name from input_filename.
2138
cafe096b
EC
21392003-04-30 Eric Christopher <echristo@redhat.com>
2140 Richard Sandiford <rsandifo@redhat.com>
2141
2142 * configure: Regenerate from patches below.
2143 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
2144 for all symbolic operands.
2145 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
2146 to function.
2147 * config/mips/linux.h: Fix typo.
2148 * Merge from mips-3_4-rewrite branch:
2149
2150 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
2151
87f85ea0
ZW
2152 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
2153 handling local labels when TARGET_ABICALLS.
cafe096b
EC
2154
2155 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
2156
87f85ea0
ZW
2157 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
2158 integer argument.
2159 (mips_expand_call): Likewise.
2160 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
2161 (FIXED_REGISTERS): Clear $31 entry.
2162 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
2163 (EPILOGUE_USES): Define.
2164 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
2165 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
2166 (override_options): Add a 'j' register class.
2167 (mips_expand_call): Handle sibcalls
2168 (mips_expand_epilogue): Handle epilogues for sibcalls.
2169 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
2170 (sibcall_epilogue): New pattern.
2171 (call, call_value): Adjust calls to mips_expand_call.
2172 (sibcall, sibcall_value): New expanders.
2173 (sibcall_internal, sibcall_value_internal): New patterns.
2174 (sibcall_value_multiple_internal): New pattern.
cafe096b
EC
2175
2176 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
2177
87f85ea0
ZW
2178 * config/mips/mips.md (extended_mips16): New attribute.
2179 (define_attr length): Default to 8 if extended_mips16 == yes.
2180 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
2181 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
2182 (call_internal): Set extended_mips16 to yes for direct jumps.
2183 Remove redundant mode attribute.
2184 (call_value_internal, call_value_multiple_internal): Likewise.
2185 (call_split): Remove redundant mode attribute.
2186 (call_value_split, call_value_multiple_split): Likewise.
cafe096b 2187
87f85ea0
ZW
2188 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
2189 of unaligned offsets.
cafe096b
EC
2190
2191 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
87f85ea0 2192 of SYMBOL_GENERAL.
cafe096b
EC
2193
2194 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
2195
87f85ea0
ZW
2196 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
2197 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
2198 for mips16 code.
cafe096b
EC
2199
2200 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
2201
87f85ea0 2202 * config/mips/mips.h (ADDRESS_COST): Define.
cafe096b
EC
2203
2204 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
2205
87f85ea0
ZW
2206 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
2207 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
2208 * config/mips/mips.md: Replace 'R' constraints with 'U'.
cafe096b
EC
2209
2210 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
2211
87f85ea0
ZW
2212 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
2213 of a two-instruction sequence. Add register->memory alternative.
2214 (truncdihi2, truncdiqi2): Likewise.
2215 Rework shift/truncate instructions so that they only handle right
2216 shifts of 32 (or more, in the case of arithmetic shifts).
2217 Add patterns for truncate/sign-extend.
cafe096b
EC
2218
2219 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
2220
87f85ea0
ZW
2221 * configure.in (mips*-*-*): Check for explicit relocation support.
2222 * configure: Regenerate.
cafe096b
EC
2223
2224 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
2225
87f85ea0
ZW
2226 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
2227 and -mno-explicit-relocs.
2228 (MASK_EXPLICIT_RELOCS): Define.
2229 (TARGET_EXPLICIT_RELOCS): Use it.
2230 (mips_split_addresses): Remove declaration.
2231 * config/mips/mips.c (override_options): Update comment for
2232 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
cafe096b
EC
2233
2234 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
2235
87f85ea0
ZW
2236 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
2237 a CONST as identity. Check the return value of gen_lowpart_common.
cafe096b
EC
2238
2239 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
2240
87f85ea0
ZW
2241 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
2242 references for TARGET_EXPLICIT_RELOCS.
2243 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
2244 !TARGET_MIPS16.
cafe096b
EC
2245
2246 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
2247
87f85ea0
ZW
2248 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
2249 (addsi3): Remove redundant constraints.
2250 (addsi3_internal): Use separate register & constant alternatives.
2251 Use a 'Q' constraint and "addiu" insn for the latter.
2252 (adddi3_internal_3, addsi3_internal_2): Likewise.
cafe096b
EC
2253
2254 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
2255
87f85ea0
ZW
2256 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
2257 (mips_expand_unaligned_store): Declare.
2258 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
2259 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
2260 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
2261 (UNSPEC_ULD, UNSPEC_USD): Remove.
2262 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
2263 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
2264 (extv, extzv): Use mips_expand_unaligned_load.
2265 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
2266 predicate for operand 3.
2267 (movsi_ulw, movsi_usw): Replace with...
2268 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
2269 (movdi_uld, movdi_usd): Likewise replace with...
2270 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
cafe096b
EC
2271
2272 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
2273
87f85ea0
ZW
2274 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
2275 * config/mips/mips.h (LEA_REGS): New register class.
2276 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
2277 (GR_REG_CLASS_P): Include LEA_REGS.
2278 (DANGEROUS_FOR_LA25_P): New macro.
2279 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
2280 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
2281 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
2282 entries to LEA_REGS.
2283 (mips_global_pic_constant_p): New function.
2284 (override_options): Add 'e' register constraint.
2285 (mips_secondary_reload_class): Return LEA_REGS when reloading
2286 a dangerous constant into a class containing $25.
2287 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
2288 (movsi_internal): Likewise.
cafe096b
EC
2289
2290 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
2291
87f85ea0
ZW
2292 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
2293 * config/mips/mips.md (call_split): New insn.
2294 (call_value_split, call_value_multiple_split): New insns.
2295 (call_internal): Turn into a define_insn_and_split. Split the
2296 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
2297 (call_value_internal, call_value_multiple_internal): Likewise.
cafe096b
EC
2298
2299 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
2300
87f85ea0
ZW
2301 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
2302 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
2303 (mips_encode_section_info): Don't take symbol visibility into
2304 account if TARGET_ABICALLS. Add more commentary.
2305 * config/mips/mips.md: Add commentary above reloc constants.
cafe096b
EC
2306
2307 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
2308
87f85ea0
ZW
2309 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
2310 from mips_legitimize_move. Legitimize constant pool references.
2311 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
2312 a REG_EQUAL note to the last instruction.
cafe096b
EC
2313
2314 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
2315
87f85ea0
ZW
2316 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
2317 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
2318 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
2319 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
2320 * config/mips/mips.md (UNSPEC_HIGH): New constant.
2321 (UNSPEC_RELOC_GPREL16): Rename to...
2322 (RELOC_GPREL16): ...this.
2323 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
2324 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
2325 (macro_calls): New attribute.
2326 (length): Use it to set the default length of calls. Don't allow
2327 calls to have delay slots if macro_calls is "yes".
2328 (luisi, luidi): New patterns.
2329 (lowsi, lowdi): Use '%R' to print the relocation.
2330 (lowdi_extend): Remove.
2331 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
2332 (call_internal): Merge alternatives. Always use "jal".
2333 (call_value_internal, call_value_multiple_internal): Likewise.
2334 (reloc_gprel16): Remove.
2335 * config/mips/mips.c (mips_got_alias_set): New variable.
2336 (mips_classify_constant): Handle the new relocation constants.
2337 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
2338 (mips_symbolic_address_p): Return false if generating explicit relocs.
2339 Otherwise allow local PIC symbols to have an offset.
2340 (mips_splittable_symbol_p): New function.
2341 (mips_classify_address): Use it to check whether a LO_SUM is valid.
2342 (mips_const_insns): Always accept HIGH.
2343 (call_insn_operand): Don't accept global symbols if using explicit
2344 relocs.
2345 (move_operand): Don't accept HIGH when generating PIC.
2346 (mips_reloc, mips_lui_reloc): New functions.
2347 (mips_force_temporary): Remove MODE argument. Expect VALUE to
2348 be a valid right-hand-side for a SET pattern.
2349 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
2350 (mips_emit_high): New function.
2351 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
2352 case. Use mips_splittable_symbol_p to check whether a LO_SUM
2353 address should be used. Use mips_emit_high to generate the
2354 high part of such an address. Adjust the global symbol + offset
2355 case to match the change to mips_force_temprorary.
2356 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
2357 If generating explicit-reloc PIC, load the address of global
2358 symbols from the GOT. Use mips_emit_high to emit the high part
2359 of an address.
2360 (mips_simplify_dwarf_addr): New function.
2361 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
2362 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
2363 (mips_expand_call): Load the addresses of global functions using
2364 %call* relocs if generating explicit-reloc PIC. Don't generate
2365 an exception_receiver pattern.
2366 (override_options): Initialize mips_got_alias_set.
2367 (print_relocation): Remove in favour of...
2368 (mips_reloc_string): ...this new function.
2369 (print_operand): Handle '%R'. Use mips_reloc_string.
2370 (print_operand_address): Use print_operand to print the symbolic
2371 part of a LO_SUM address.
2372 (mips_output_function_prologue): Use .cprestore, reverting last patch.
2373 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
2374 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
2375 for local symbols.
cafe096b
EC
2376
2377 2003-02-02 Eric Christopher <echristo@redhat.com>
2378
2379 * config/mips/mips.c (mips_sign_extend): Remove.
87f85ea0
ZW
2380 * config/mips/mips-protos.h: Ditto.
2381 * config/mips/mips.md (movdi_internal2_extend): Remove.
2382 (extendsidi2): Fix mode of convert_memory_address.
cafe096b
EC
2383
2384 2003-01-24 Eric Christopher <echristo@redhat.com>
2385
87f85ea0
ZW
2386 * config/mips/mips.md: Rewrite zero_extend* and extend*
2387 patterns. Use explicit instructions and split after reload
2388 for register extensions.
2389 (ashlsi3_internal1_extend): New combiner pattern for
2390 shift and extend combinations.
2391 * config/mips/mips.h: Change Pmode back to ptr_mode
2392 for performance enhancement.
2393 * combine.c (expand_compound_operation): Make sure
2394 that zero_extend operation is profitable.
cafe096b
EC
2395
2396 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
2397
87f85ea0
ZW
2398 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
2399 addresses depend on ptr_mode rather than Pmode.
2400 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
2401 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
2402 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
2403 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
2404 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
2405 condition for selecting cpaddsi or cpadddi: use cpadd instead.
2406 (tablejump_internal1): Remove condition.
2407 (tablejump_internal2): Change condition to TARGET_64BIT.
2408 (cpaddsi): Rename to...
2409 (cpadd): ...this.
2410 (cpadddi): Remove.
cafe096b
EC
2411
2412 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
2413
87f85ea0
ZW
2414 * config/mips/mips-protos.h (mips16_constant_after_function_p,
2415 mips_address_cost, mips_check_split, double_memory_operand,
2416 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
2417 pic_address_needs_scratch, symbolic_operand): Remove declarations.
2418 (mips_legitimate_address_p): Return bool.
2419 (mips_address_insns, mips_fetch_insns, mips_const_insns,
2420 mips_legitimize_address, mips_legitimize_move,
2421 mips_expand_call): Declare.
2422 (mips_return_addr): Move outside #ifdef RTX_CODE.
2423
2424 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
2425 (PIC_FN_ADDR_REG): New reg_class.
2426 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
2427 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
2428 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
2429 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
2430 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
2431 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
2432 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
2433 (LEGITIMATE_PIC_OPERAND): Undefine.
2434 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
2435 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
2436 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
2437 (FUNCTION_MODE): Change to SImode.
2438 (CONST_COSTS): Use mips_const_insns to calculate the cost of
2439 most constants. Treat const_artih_operands specially if they
2440 occur in a PLUS or MINUS.
2441 (CONSTANT_POOL_COST): New macro.
2442 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
2443 Add LO_SUM handling.
2444 (ADDRESS_COST): Undefine.
2445 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
2446 Add CONST to the list of codes for arith_operand. Add LABEL_REF
2447 to call_insn_operand and remove CONST_INT.
2448
2449 * config/mips/mips.c: Include integrate.h.
2450 (SINGLE_WORD_MODE_P): New macro.
2451 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
2452 (mips_constant_info, mips_address_info): New structs.
2453 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
2454 (mips_classify_constant, mips_classify_symbol,
2455 mips_valid_base_register_p, mips_symbolic_address_p,
2456 mips_classify_address, mips_symbol_insns,
2457 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
2458 mips_fetch_insns, mips_force_temporary, mips_add_offset,
2459 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
2460 mips_print_relocation): New functions.
2461 (const_arith_operand): New operand predicate.
2462 (arith_operand): Use it.
2463 (mips_const_double_ok, mips16_simple_memory_operand,
2464 simple_memory_operand, double_memory_operand, mips_check_split,
2465 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
2466 mips16_gp_offset_p, mips16_output_gp_offset,
cafe096b 2467 mips16_constant_after_function_p, mips16_constant): Remove.
87f85ea0
ZW
2468 (call_insn_operand): Be more fussy about symbolic constants.
2469 Use register_operand.
2470 (move_operand): Use mips_symbolic_address_p to check symbolic
2471 operands and general_operand to check the rest.
2472 (symbolic_operand): Use mips_classify_constant.
2473 (mips_legitimate_address_p): Use mips_classify_address.
2474 (mips_move_1word): Combine handling of symbolic addresses.
2475 Remove special treatment of gp-relative loads for TARGET_MIPS16.
2476 (move_move_2words): Likewise. Assume addresses are offsettable
2477 if they need to refer to more than one word. Add HIGH handling.
2478 (mips_restore_gp): Use ptr_mode for the GP save slot.
2479 (mips_expand_call): New function, combining the old mips.md
2480 call and call_internal define_expands. If the address isn't
2481 a call_insn_operand, force it into a register. For SVR4 PIC,
2482 emit an exception_receiver instruction after the call.
2483 (override_options): Only override flag_pic for TARGET_ABICALLS
2484 if it is currently zero. Allow mips_split_addresses when
2485 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
2486 Add new register class letter, 'c'.
2487 (print_operand): Use mips_classify_constant for constant operands.
2488 (print_operand_address): Use mips_classify_address.
2489 (mips_output_function_prologue): Don't use .cprestore.
2490 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
2491 via the frame pointer if current_function_calls_eh_return.
2492 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
2493 to mark whether a symbol is local or global.
2494 (build_mips16_call_stub): Expect the address of the function rather
2495 than a MEM reference to it. Update call generation sequences.
2496 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
2497 small-data adjustments.
2498
2499 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
2500 length for loads and stores.
2501 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
2502 (define_attr type): Add const and prefetch.
2503 (define_attr length): Use mips_const_insns for const instructions.
2504 Use mips_fetch_insns for load and store instructions.
2505 (define_attr single_insn): New.
2506 (define_attr can_delay): Use it.
2507 (define_attr abicalls): Remove.
2508 (define_delay): Use can_delay. Always allow calls to have delay slots.
2509 (addsi3_internal_2): Add 'Q' constraint.
2510 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
2511 (high): Remove.
2512 (lowsi): Renamed from low.
2513 (lowdi): New pattern.
2514 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
2515 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
2516 (loadgp): Change operand 0 to an immediate_operand.
2517 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
2518 beforehand.
2519 (cpaddsi, cpadddi): New patterns.
2520 (tablejump_internal3, tablejump_internal4): Remove define_expands
2521 and associated define_splits.
2522 (call, call_value): Use mips_expand_call.
2523 (call_internal): New, replacing all existing call_internal* insns.
2524 (call_value_internal): Likewise call_value_internal*.
2525 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
2526 (untyped_call): Remove if (operands[0]) magic.
2527 (prefetch_si_address, prefetch_si): Change type to "prefetch".
2528 (prefetch_di_address, prefetch_di): Likewise.
2529 (leasi, leadi): Remove.
2530 (reloc_gprel16): New.
2531
2532 * config/mips/5400.md (ir_vr54_hilo): Include const type.
2533 * config/mips/5500.md (ir_vr55_hilo): Likewise.
2534 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
cafe096b
EC
2535
2536 2003-01-08 Eric Christopher <echristo@redhat.com>
2537
87f85ea0
ZW
2538 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
2539 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
2540 configure check for libgloss.
2541 * config/mips/elf64.h: Ditto.
2542 * config/mips/mips.c: Remove ABI_MEABI.
2543 * config/mips/mips.h: Ditto.
cafe096b
EC
2544
2545 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
2546
87f85ea0
ZW
2547 Fix merge fallout.
2548 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
2549 (muldi3_internal): Remove outdated comment.
2550 (*muls_di, *umuls_di): Fix comment and 64-bitness.
2551 (*smsac_di, *umsac_di): Likewise. Reformat.
2552 (umulsi3_highpart): Minor formatting tweaks.
2553 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
2554 redundant scratch operand. Minor formatting tweak.
2555 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
2556 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
2557 (smulsi3_highpart): As for the unsigned version.
2558 (smulsi3_highpart_internal): Likewise.
2559 (smulsi3_highpart_mulhi_internal): Likewise.
2560 (smulsi3_highpart_neg_mulhi_internal): Likewise.
2561 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
2562 (*smul_acc_di): Remove duplicated pattern.
2563 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
2564 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
2565 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
cafe096b
EC
2566
2567 2002-10-22 Eric Christopher <echristo@redhat.com>
2568
87f85ea0
ZW
2569 * config/mips/mips-protos.h (mips_return_addr): New.
2570 * config/mips/mips.c (mips_return_addr): New.
2571 (movdi_operand): Remove.
2572 (se_register_operand): Ditto.
2573 (se_reg_or_0_operand): Ditto.
2574 (se_uns_arith_operand): Ditto.
2575 (se_arith_operand): Ditto.
2576 (se_nonmemory_operand): Ditto.
2577 (extend_operator): Ditto.
2578 (highpart_shift_operator): Ditto.
2579 (mips_initial_elimination_offset): Remove return address pointer
2580 elimination.
2581 (mips_reg_names): Remove $ra.
2582 (mips_regno_to_class): Ditto.
2583 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
2584 and TARGET_64BIT.
2585 (POINTER_BOUNDARY): Remove.
2586 (POINTERS_EXTEND_UNSIGNED): Define to 0.
2587 (PROMOTE_MODE): Promote to Pmode.
2588 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
2589 (Pmode): Define to TARGET_64BIT.
2590 (FUNCTION_MODE): Define as Pmode.
2591 (mips_args): Remove deleted functions.
2592 (SIZE_TYPE): Depend on POINTER_SIZE.
2593 (PTRDIFF_TYPE): Ditto.
2594 (FIXED_REGISTERS): Fix extra registers.
2595 (CALL_USED_REGISTERS): Ditto.
2596 (CALL_REALLY_USED_REGISTERS): Ditto.
2597 (RAP_REG_NUM): Remove.
2598 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
2599 (RETURN_ADDR_RTX): Define to mips_return_addr.
2600 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
2601 (CAN_ELIMINATE): Ditto.
2602 * config/mips/mips.md: For DImode patterns, take into account
2603 deletions above. Split mulsidi patterns into sign_extend and
2604 zero_extend.
cafe096b
EC
2605
2606 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
87f85ea0
ZW
2607 Michael Meissner <meissner@redhat.com>
2608
2609 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
2610 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
2611 mop up unnecessarly moves through LO.
2612 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
2613 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
2614 change mtlo/macc sequences into mul/add sequences when a three-
2615 address mul is available.
2616 (*macc2): New pattern. Add a define_peephole2 to generate it.
2617 (*mul_sub_si): Fix contraint for operand 5.
2618 (*muls): Use in 32-bit code as well.
2619 (*msac): Likewise. Use msub instead of msac in vr5500 code
2620 if the destination is LO. Remove duplicate define_split.
2621 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
2622 (*msac_di): Likewise. Fix formatting.
2623 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
2624 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
2625 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
2626 (*xmulsi3_neg_highpart_mulhi): Likewise.
2627 (*mul_acc_64bit_di): Remove.
2628 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
cafe096b
EC
2629
2630 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
2631
87f85ea0
ZW
2632 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
2633 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
2634 (MULTILIB_DIRNAMES): Remove long32.
2635 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
2636 (MULTILIB_REDUNDANT_DIRS): Remove.
cafe096b
EC
2637
2638 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
2639
87f85ea0
ZW
2640 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
2641 * gcc.c (driver_self_specs): New variable.
2642 (do_self_spec): New function.
2643 (main): Use it to process driver_self_specs.
cafe096b
EC
2644
2645 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
2646
87f85ea0
ZW
2647 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
2648 Remove DImode define_split for !TARGET_64BIT.
2649 (anddi3): Remove !TARGET_64BIT support from here as well.
2650 Change operand 2's predicate to se_uns_arith_operand.
2651 Add constant alternatives to define_insn.
2652 (iordi3, xordi3, *nordi3): Likewise.
2653 (anddi3_internal1, xordi3_immed): Remove.
cafe096b
EC
2654
2655 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
2656
87f85ea0
ZW
2657 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
2658 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
2659 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
2660 * config/mips/mips.md: Apply same renaming here.
cafe096b
EC
2661
2662 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
2663
87f85ea0
ZW
2664 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
2665 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
2666 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
2667 * config/mips/mips.md (define_attr cpu): Remove r4320.
2668 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
cafe096b
EC
2669
2670 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
2671
87f85ea0
ZW
2672 * config/mips/mips.c (mips16_strings): New variable.
2673 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
2674 symbol in mips16_strings. Free the list.
2675 (mips_encode_section_info): Keep track of local strings.
cafe096b
EC
2676
2677 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
2678
87f85ea0
ZW
2679 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
2680 (sordered_df, sordered_sf): Remove.
2681 * config/mips/mips.c (get_float_compare_codes): New fn.
2682 (gen_int_relational, gen_conditional_move): Use it.
cafe096b
EC
2683
2684 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
2685
87f85ea0
ZW
2686 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
2687 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
2688 * config/mips/mips.c (fcc_register_operand): New function.
2689 (mips_emit_fcc_reload): New function, extracted from reload_incc.
2690 (override_options): Allow TFmode values in float registers
2691 if ISA_HAS_8CC.
2692 * cnfig/mips/mips.md (reload_incc): Change destination prediate
2693 to fcc_register_operand. Remove misleading source constraint.
2694 Use mips_emit_fcc_reload.
cafe096b
EC
2695 (reload_outcc): Duplicate reload_incc.
2696
2697
44c8a5f8
DN
26982003-04-30 Diego Novillo <dnovillo@redhat.com>
2699
2700 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
2701
5d638f70
GK
27022003-04-30 Geoffrey Keating <geoffk@apple.com>
2703
2704 * tree-inline.c (inlinable_function_p): Back out last change, it's
2705 unnecessary.
2706
5e26df64
SB
27072003-04-30 Steven Bosscher <steven@gcc.gnu.org>
2708
2709 * ggc-page.c (TREE_EXP_SIZE): Define.
2710 (extra_order_size_table): New entry for expr trees with
2711 two operands.
2712
fba020b1
GDR
27132003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2714
2715 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
2716 (c_expand_start_cond): Adjust.
2717 (c_expand_end_cond): Don't use warning_with_file_and_file.
2718 (shadow_warning): Likewise.
2719
62216ea0
NS
27202003-04-30 Nathan Sidwell <nathan@codesourcery.com>
2721
2722 * tree.h (DECL_POINTER_DEPTH): Remove.
2723 (struct tree_decl): Remove pointer_depth.
cafe096b 2724
d1908feb
JJ
27252003-04-30 Janis Johnson <janis187@us.ibm.com>
2726
2727 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
2728 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
2729 (rs6000_xcoff_encode_section_info): Remove.
2730 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
2731 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
2732 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
2733 Use SYMBOL_REF_FLAGS.
2734 (rs6000_elf_encode_section_info): Call default_encode_section_info for
2735 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
2736 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
2737 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
2738 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
2739 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
2740
0e42348d
GDR
27412003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2742
2743 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
2744
dad78426
AS
27452003-04-30 Andreas Schwab <schwab@suse.de>
2746
2747 * doc/extend.texi (Other Builtins): Enclose multiple word data
2748 type in braces for @deftypefn.
2749
4c80872c
RK
27502003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2751
5826955d
RK
2752 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
2753
4c80872c
RK
2754 * doc/install.texi (--enable-threads): Document "gnat" option.
2755
10256cf5
GDR
27562003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2757
2758 * diagnostic.h (output_formatted_scalar): Tweak.
2759 * diagnostic.c (output_long_decimal): Likewise.
2760 (output_unsigned_decimal): Likewise.
2761 (output_long_unsigned_decimal): Likewise.
2762 (output_octal): Likewise.
2763 (output_long_octal): Likewise.
2764 (output_hexadecimal): Likewise.
2765 (output_long_hexadecimal): Likewise.
2766 (output_pointer): New function.
2767 (output_format): Use it. Recognize "%p" format specifier.
2768
b2a7fa89
ZD
27692003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2770
2771 * function.c (purge_addressof_1): Postpone insn in fewer cases.
2772
a6fdc086
GK
27732003-04-29 Geoffrey Keating <geoffk@apple.com>
2774
505b0fd6
GK
2775 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
2776 call abort() after running out of stack space.
2777
a6fdc086
GK
2778 * c-typeck.c (function_types_compatible_p): Ignore incompatible
2779 'volatile' qualifiers on a function's return type in GNU mode.
2780
9c0631a7
AH
27812003-04-29 Aldy Hernandez <aldyh@redhat.com>
2782
87f85ea0
ZW
2783 * expr.c (emit_group_load): Dump parallels of simd types to
2784 memory.
9c0631a7 2785
74719742
VM
27862003-04-29 Vladimir Makarov <vmakarov@redhat.com>
2787
2788 * genautomata.c (add_vect): Check undefined value for range type
2789 too.
2790
baade80b
PE
27912003-04-29 Phil Edwards <pme@gcc.gnu.org>
2792
2793 * configure.in: More general test for cmp --ignore-initial.
2794 * configure: Regenerate.
2795
84d8756d
RK
27962003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2797
0384674e
RK
2798 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
2799 (layout_decl, place_field): Likewise.
2800 Also make minor type and whitespace changes.
2801
84d8756d
RK
2802 * tree.c (save_expr): Don't fold a COMPONENT_REF.
2803
0219237c
OH
28042003-04-29 Olivier Hainque <hainque@act-europe.fr>
2805
2806 * calls.c (expand_call): When modes of target and valreg match, force
2807 sibcall failure when target is a MEM.
2808
b9538b2e
GK
28092003-04-29 Geoffrey Keating <geoffk@apple.com>
2810
b3d627e2
GK
2811 * tree-inline.c (inlinable_function_p): Don't support inlining
2812 functions using varargs.
2813
f4ddb75b
GK
2814 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
2815
0366359a
GK
2816 * dwarf2out.c (output_call_frame_info): No need to output EH
2817 unwind information if all_throwers_are_sibcalls.
2818
e55614ca
GK
2819 * c-semantics.c (expand_unreachable_stmt): Return a tree.
2820 (expand_stmt): Update for change to expand_unreachable_stmt.
2821 (expand_unreachable_if_stmt): Likewise.
2822
b9538b2e
GK
2823 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
2824
72e940d2
JM
28252003-04-29 Jason Merrill <jason@redhat.com>
2826
2827 PR middle-end/10336
cafe096b 2828 * jump.c (never_reached_warning): Really stop looking if we reach
72e940d2
JM
2829 the beginning of the function.
2830
9193479f
BW
28312003-04-29 Bob Wilson <bob.wilson@acm.org>
2832
2833 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
2834 Remove redundant macros.
2835 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
2836 (LOCAL_LABEL_PREFIX): Define unconditionally.
2837 (NO_DOT_IN_LABEL): Clarify comment.
2838 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
2839 definition to "long int".
2840
b0501ec1
AK
28412003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
2842
2843 bootstrap/10452
2844 * gengtype-yacc.y: Improve portability.
2845
8e720e8b
ZW
28462003-04-29 Zack Weinberg <zack@codesourcery.com>
2847
2848 * config.gcc: Install obsolete target list for GCC 3.3.
2849 * doc/install.texi: Mention in specific-target instructions
2850 that certain configurations are deprecated.
2851
1be3f80f
ZW
28522003-04-29 Zack Weinberg <zack@codesourcery.com>
2853
2854 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
2855
8e854b76
KL
28562003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2857
2858 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
2859 * gcc.c (display_help): Likewise.
2860 * toplev.c (f_options): Likewise.
2861 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
2862 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
2863 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
2864 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
2865 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
2866
267594f3
R
28672003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
2868
2869 * varasm.c (default_assemble_visibility): Use assemble_name.
2870
667b43dd
DB
28712003-04-29 David O'Brien <obrien@FreeBSD.org>
2872
2873 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
5b51b1f5
DB
2874 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
2875 (SIZE_TYPE): New macro.
fbf17dab
DB
2876 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
2877 (SET_ASM_OP): New macro.
2878 (HANDLE_SYSV_PRAGMA): New macro.
2879 (ASM_WEAKEN_LABEL): New macro.
667b43dd 2880
a833faa5
MM
28812003-04-28 Mark Mitchell <mark@codesourcery.com>
2882
2883 PR c++/10180
2884 * tree-inline.c (expand_call_inline): Call push_srcloc when
2885 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
2886
a72bf3e9
MS
28872003-04-28 Mike Stump <mrs@apple.com>
2888
2889 * gdbinit.in: Update to reflect new identifier structure.
2890
0864034e
ZW
28912003-04-28 Zack Weinberg <zack@codesourcery.com>
2892
2893 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
2894 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
2895 struct tree_complex, struct tree_vector): Remove RTL field.
2896 (CONSTRUCTOR_ELTS): Use elt 0.
2897 * tree.def (CONSTRUCTOR): Delete first of its two operands.
2898 * varasm.c (output_constant_def): Remove early exit if
2899 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
2900 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
2901 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
2902 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
2903
9661b15f
JJ
29042003-04-28 Jakub Jelinek <jakub@redhat.com>
2905
2906 * c-decl.c (finish_decl): When prototype with asmspec is found
2907 for built-in, adjust built_in_decls as well as expr.c decls.
2908 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
2909 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
2910 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
2911
8707fe93
RH
29122003-04-28 Richard Henderson <rth@redhat.com>
2913
0864034e
ZW
2914 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
2915 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
2916 integral constant mult operand.
2917 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
2918 (const_smulsi3_highpart_v8plus): Likewise.
2919 (const_smulsi3_highpart): Likewise.
2920 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
2921 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
2922 (const_umulsi3_highpart_v8plus): Likewise.
2923 (const_umulsi3_highpart): Likewise.
8707fe93 2924
ff4cb2e7
DB
29252003-04-28 David O'Brien <obrien@FreeBSD.org>
2926
2927 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
2928 Define as 1.
2929
495d8dd6
DB
29302003-04-28 David O'Brien <obrien@FreeBSD.org>
2931
2932 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
2933
e31603c4
JJ
29342003-04-28 Jakub Jelinek <jakub@redhat.com>
2935
2936 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
2937 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
2938 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
2939 functions.
2940 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
2941
dbe983a8
NC
29422003-04-28 Nick Clifton <nickc@redhat.com>
2943
2944 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
2945
afc6aaab
ZW
29462003-04-27 Zack Weinberg <zack@codesourcery.com>
2947
2948 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
2949 output_constant_def, use its result instead of TREE_CST_RTL (exp).
2950 Can assume it has the form (mem (symbol_ref ".LCxxx")).
2951 (expand_expr <COMPONENT_REF>): Can always just extract the
2952 relevant field of a CONSTRUCTOR.
2953 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
2954 ARRAY_RANGE_REF>): Make control flow explicit.
2955 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
2956 an INTEGER_CST.
2957
860992e6
KH
29582003-04-27 Kazu Hirata <kazu@cs.umass.edu>
2959
2960 * reload1.c (reg_set_luid): Fix a comment typo.
2961
32a61907
ZW
29622003-04-27 Zack Weinberg <zack@codesourcery.com>
2963
2964 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
2965 struct deferred_string, const_str_htab): Kill.
2966 (n_deferred_strings): New static variable.
2967 (build_constant_desc): Set SYMBOL_REF_DECL of the new
2968 symbol_ref to point to the constant.
2969 (output_constant_def): When a deferred string is forced out,
2970 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
2971 (mark_constant): Likewise.
2972 (maybe_output_constant_def_contents): When deferring a string
2973 constant, just set STRING_POOL_ADDRESS_P and increment
2974 n_deferred_strings.
2975 (mark_constant_pool): Check n_deferred_strings, not the size
2976 of const_str_htab.
2977 (init_varasm_once): No need to create const_str_htab.
2978
2979 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
2980 SYMBOL_REF_DECL points to a constant.
2981
293107d1
ZW
29822003-04-26 Zack Weinberg <zack@codesourcery.com>
2983
2984 * varasm.c (output_constant_def): Split out two new static
2985 functions, build_constant_desc and maybe_output_constant_def_contents.
2986 Restructure for comprehensibility. Don't call
2987 output_addressed_constants. Treat defstr being non-NULL for
2988 STRING_POOL_ADDRESS_P constants as an invariant.
2989 (struct deferred_string): Remove labelno field.
2990 (output_constant_def_contents): Kill labelno argument. Call
2991 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
2992 asm_out.internal_label.
2993 (mark_constant): Update call to output_constant_def_contents.
2994 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
2995 constants as an invariant.
2996
12969f45
RH
29972003-04-26 Richard Henderson <rth@redhat.com>
2998
2999 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
3000 (ix86_expand_call, ix86_rtx_consts): Likewise.
3001
5cc2f4f3
KG
30022003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3003
3004 * doc/md.texi (cmpstr): Document additional restrictions.
3005
09b04f2d
NB
30062003-04-26 Neil Booth <neil@daikokuya.co.uk>
3007
3008 * flags.h (time_report): Remove.
3009 * timevar.c (timevar_enable): New.
3010 (TIMEVAR_ENABLE): Remove, use timevar_enable.
3011 (timevar_init): Rename from init_timevar.
3012 * timevar.h (timevar_init): Rename from init_timevar.
3013 * toplev.c (time_report): Make static.
3014 (do_compile): Conditionally call init_timevar first.
3015 (preprocess_options): Move some code to do_compile.
3016
3e35d143
SC
30172003-04-26 Stephane Carrez <stcarrez@nerim.fr>
3018
3019 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
3020
e6dc0cc6
NB
30212003-04-26 Neil Booth <neil@daikokuya.co.uk>
3022
3023 * _cpp_lex_direct: Remove pointless code.
3024
5936c7e7
SC
30252003-04-26 Stephane Carrez <stcarrez@nerim.fr>
3026
3027 * doc/extend.texi (Function Attributes): Document "near" and "far"
3028 for 68HC11 and 68HC12.
3029
85a43a2f
RK
30302003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3031
3032 * expr.c (store_field): When making temporary for store, don't
3033 make it TYPE_QUAL_CONST.
3034
09e4ab56
PE
30352003-04-25 Phil Edwards <pme@gcc.gnu.org>
3036
3037 * toplev.c (read_integral_parameter): Use "argument" in error
3038 message to distinguish it from actual invalid options.
3039
ab409f1b
BW
30402003-04-25 Bob Wilson <bob.wilson@acm.org>
3041
3042 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
3043 addition of __PIC__ and __pic__ macros.
3044 * config/xtensa/xtensa.h: Clean up indentation.
3045
6a2b287f
BW
30462003-04-25 Bob Wilson <bob.wilson@acm.org>
3047
3048 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
3049 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
3050 (SUBTARGET_CPP_SPEC): Define.
3051 (LIB_SPEC): Delete.
3052 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
3053 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
3054 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
3055 Define.
3056 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
3057 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
3058
60986d64
L
30592003-04-25 H.J. Lu <hjl@gnu.org>
3060
3061 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
3062 for return mode.
3063 (ia64_expand_builtin): Set rmode to SImode for
3064 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
3065 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
3066 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
3067 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
3068
c7a5cf61
PE
30692003-04-25 Phil Edwards <pme@gcc.gnu.org>
3070
3071 * configure.in (make_compare_target): Test for GNU cmp and set this
3072 variable appropriately.
3073 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
3074 compare4-lean): Rename actual targets to slowcompare*. New compare*
3075 targets depend on names based on make_compare_target.
3076 * configure: Regenerated.
3077
f5bdba44
RH
30782003-04-25 Richard Henderson <rth@redhat.com>
3079
3080 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
3081 to clobber ar.pfs and ar.unat.
3082 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
3083 fix test for spilling ar.pfs to the stack.
3084
30852003-04-25 Richard Henderson <rth@redhat.com>
8f4e6caf 3086
293107d1
ZW
3087 PR opt/10315
3088 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
3089 checks during reload; use validize_mem instead of adjust_address.
8f4e6caf 3090
eda833e3
BE
30912003-04-26 Ben Elliston <bje@wasabisystems.com>
3092
3093 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
3094 return values from recog_memoized().
3095
9feff114
JDA
30962003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3097
3098 PR opt/8705
3099 * gcse.c (try_replace_reg): On a successful substitution of a constant
3100 into a single set, try to simplify the source of the set.
3101 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
3102 constant source.
3103
59325650
NB
31042003-04-24 Neil Booth <neil@daikokuya.co.uk>
3105
3106 * cpplex.c (cpp_token_len): Tighten up.
3107 (cpp_token_as_text): Need extra byte now.
3108 * cpplib.c (glue_header_name): Need extra 2 bytes.
3109 * cppmacro.c (cpp_macro_definition): Need extra byte.
3110
b746b8cb
AK
31112003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
3112
3113 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
293107d1 3114 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
b746b8cb
AK
3115 where they might be not present. Use their _sp64 equivalent
3116 instead.
3117
019238b7
JH
3118Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
3119
3120 * i386.md (cvtsi2sdq): Fix typo in previous patch.
293107d1 3121
39f6c4c8
KW
31222003-04-24 Krister Walfridsson <cato@df.lth.se>
3123
3124 * configure.in: Check whether mbstowcs works.
3125 * configure, config.in: Regenerate.
3126 * intl.c: Use HAVE_WORKING_MBSTOWCS.
3127
0c79f08b
L
31282003-04-24 H.J. Lu <hjl@gnu.org>
3129
3130 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
3131 for __sync_bool_compare_and_swap_di for int return type.
3132
3133 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
3134 Change return type to int.
3135 (__sync_bool_compare_and_swap): Likewise.
3136
26f74aa3
JH
3137Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
3138
3139 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
3140 looking for fallthru edge.
3141
3142 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
3143 Fix.
3144 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
3145 athlon-fvector): New.
3146 (athlon_*): Revisit to match new optimization guide.
3147 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
3148 * i386.md (cvt??2?? patterns): Fix modes.
3149 (fistp patterns): Set modes.
3150
3151 Accidentaly commited with my earlier reload patch:
3152 PR c/10308
3153 * reload.c (find_reloads_address_1): Reload plus at the place of
3154 index register.
293107d1 3155
796621e8
NS
31562003-04-24 Nathan Sidwell <nathan@codesourcery.com>
3157
3158 New GCOV_TAG_FUNCTION layout
3159 * coverage.c (struct function_list): Replace name with ident.
3160 (struct counts_entry): Likewise.
3161 (fn_ident): New.
3162 (htab_counts_entry_hash, htab_counts_entry_eq,
3163 htab_counts_entry_del): Adjust.
3164 (reads_count_file, get_coverage_counts,
3165 coverage_begin_output, coverage_end_function): Adjust.
3166 (build_fn_info_type, build_fn_info_value): Likewise.
3167 * gcov-dump.c (tag_function): Adjust.
3168 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
3169 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
3170 * gcov.c (struct function_info): Add ident.
3171 (read_graph_file, read_count_file): Adjust.
3172 * libgcov.c (gcov_exit): Adjust.
3173
6ff76c36
RH
31742003-04-23 Richard Henderson <rth@redhat.com>
3175
3176 PR opt/8300
3177 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
3178 after initialize_uninitialized_subregs; update reg info assuming
3179 new pseudos were created.
3180
6338b358
NB
31812003-04-23 Neil Booth <neil@daikokuya.co.uk>
3182
3183 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
3184 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
3185 (lex_string): Take cpp_string with full spelling.
3186 (cb_ident): Update.
3187 (c_lex): Update diagnostics.
3188 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
3189 (create_literal): New.
3190 (lex_string): Unterminated literals have type CPP_OTHER.
3191 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
3192 for CPP_OTHER.
3193 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
3194 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
3195 * cpplib.c (parse_include, do_line, do_linemarker,
3196 destringize_and_run): Update for token storing full spelling.
3197 * cpplib.h: Update token spelling types.
3198 * cppmacro.c (stringify_arg, check_trad_stringification):
3199 Update for token storing full spelling.
3200
011fd56b
UW
32012003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
3202
3203 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
3204
7052a099
RE
32052003-04-23 Richard Earnshaw <rearnsha@arm.com>
3206
3207 * arm.h (TARGET_OPTIONS): Add value field.
3208
f0ddce84
MM
32092003-04-23 Mark Mitchell <mark@codesourcery.com>
3210
3211 * doc/extend.texi: Remove duplicate 2003 copyright date.
3212
cdb23767
NS
32132003-04-23 Nathan Sidwell <nathan@codesourcery.com>
3214
3215 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
3216 (libgcov.a): Depends on LIBGCC_DEPS.
3217 * basic-block.h (profile_info): Moved here from coverage.h. Made
3218 a pointer.
3219 * coverage.c (struct function_list): Fixed array of counter types.
3220 (struct counts_entry): Keyed by counter type, contains summary.
3221 (profile_info): Moved to profile.c.
3222 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
3223 vars.
3224 (profiler_label): Remove.
3225 (ctr_labels): New.
3226 (set_purpose, label_for_tag, build_counter_section_fields,
3227 build_counter_section_value, build_counter_section_data_fields,
3228 build_counter_section_data_values, build_function_info_fields,
3229 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
3230 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3231 build_ctr_info_value, build_gcov_info): New.
3232 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
3233 (reads_counts_file): Adjust.
3234 (get_coverage_counts): Takes counter number. Add summary
3235 parameter. Adjust.
3236 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
3237 create counter array labels.
3238 (coverage_end_function): Adjust.
3239 (create_coverage): Adjust.
3240 (find_counters_section): Remove.
3241 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
3242 (struct section_info, struct profile_info): Remove.
3243 (profile_info): Moved to basic-block.h.
3244 (coverage_counter_ref): Takes a counter number.
3245 (get_coverage_counts): Takes a counter number. Added summary
3246 parameter.
3247 (find_counters_section): Remove.
3248 * gcov-dump.c (tag_arc_counts): Rename to ...
3249 (tag_counters): ... here. Adjust.
3250 (tag_table): Move tag_counters to 3rd entry. Remove
3251 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
3252 (dump_file): Check for counter tag values here.
3253 (tag_summary): Adjust.
3254 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
3255 * gcov-io.h (GCOV_LOCKED): New.
3256 (GCOV_TAG_ARC_COUNTS): Rename to ...
3257 (GCOV_TAG_COUNTS_BASE): ... here.
3258 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
3259 Remove.
3260 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
3261 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
3262 GCOV_TAG_IS_COUNTER): New.
3263 (struct gcov_ctr_summary): New.
3264 (struct gcov_summary): Adjust.
3265 (struct gcov_counter_section): Remove.
3266 struct gcov_counter_section_data): Remove.
3267 (struct gcov_function_info): Rename to ...
3268 (struct gcov_fn_info): ... here. Adjust.
3269 (struct gcov_ctr_info): New.
3270 (struct gcov_info): Adjust.
3271 * gcov.c (read_count_file): Adjust.
3272 (output_lines): Adjust.
3273 * libgcov.c (gcov_exit): Adjust.
3274 (__gcov_flush): Adjust.
3275 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
3276 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
3277 probably_never_executed_bb_p, compute_frequency_function): Adjust
3278 profile_info use.
3279 * profile.c (struct counts_entry): Remove.
3280 (profile_info): Define here.
3281 (get_exec_counts): Adjust get_coverage_counts call.
3282 (compute_branch_probablilities): Remove find_counters_section
3283 call.
3284 (gen_edge_profiler): Adjust coverage_counter_ref call.
3285 * tracer.c (tail_duplicate): Adjust profile_info use.
3286
2be3b5ce
RS
32872003-04-23 Roger Sayle <roger@eyesopen.com>
3288
3289 PR optimization/10339
3290 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
3291 directly instead of unsafely transforming call into a memcmp.
3292 (expand_builtin_strncmp): Likewise.
3293
c57ddcf1
RS
32942003-04-22 Roger Sayle <roger@eyesopen.com>
3295
3296 * alias.c (mark_constant_function): Check for constancy and
3297 purity even of void functions. Update both the function decl
3298 and the cgraph RTL info with the results.
3299
c1a19acb
RS
33002003-04-22 Roger Sayle <roger@eyesopen.com>
3301
3302 * real.c (do_add): Change to return a bool indicating that the
3303 result of the operation may be inexact due to loss of precision.
3304 (do_multiply): Likewise.
3305 (do_divide): Likewise.
3306
c2e9147c
GK
33072003-04-22 Geoffrey Keating <geoffk@apple.com>
3308 Loren James Rittle <ljrittle@acm.org>
3309
3310 * dwarf2out.c (fde_table_allocated): Mark with GTY.
3311 (decl_die_table_allocated): Likewise.
3312 (abbrev_die_table_allocated): Likewise.
3313 (line_info_table_allocated): Likewise.
3314 (separate_line_info_table_allocated): Likewise.
3315 (pubname_table_allocated): Likewise.
3316 (arange_table_allocated): Likewise.
3317 (ranges_table_allocated): Likewise.
3318 (decl_die_table_in_use): Unconditionalize; mark with GTY.
3319 (abbrev_die_table_in_use): Likewise.
3320 (line_info_table_in_use): Likewise.
3321 (separate_line_info_table_in_use): Likewise.
3322 (pubname_table_in_use): Likewise.
3323 (arange_table_in_use): Likewise.
3324 (ranges_table_in_use): Likewise.
3325 (have_location_lists): Likewise.
3326 (emitcount): New GTY-marked static, moved...
3327 (maybe_emit_file): ...from here.
3328 (label_num): New GTY-marked static, moved...
3329 (gen_internal_sym): ...from here.
3330
4da2eb6b
RH
33312003-04-22 Richard Henderson <rth@redhat.com>
3332
293107d1
ZW
3333 PR 8866
3334 * rtl.h (MEM_NOTRAP_P): New.
3335 (MEM_COPY_ATTRIBUTES): Copy it.
3336 * rtlanal.c (may_trap_p): Check it.
3337 * expr.c (do_tablejump): Set it.
4da2eb6b
RH
3338 * doc/rtl.texi (Flags): Document it.
3339
293107d1 3340 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
4da2eb6b 3341
c1238896
OH
33422003-04-22 Olivier Hainque <hainque@act-europe.fr>
3343
3344 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
3345 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
3346
6d412a7b
VC
33472003-04-22 Vincent Celier <celier@gnat.com>
3348
293107d1
ZW
3349 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
3350 --enable-threads=gnat.
3351 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
3352 * configure.in: Add gnat to the list of thread packages
3353 * configure: Rebuild.
3354 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
6d412a7b 3355
b78f9414
NB
33562003-04-22 Neil Booth <neil@daikokuya.co.uk>
3357
3358 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
f945b4e0
DP
3359
33602003-04-22 Devang Patel <dpatel@apple.com>
3361
b78f9414
NB
3362 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
3363 parameter count.
f945b4e0 3364 (_cpp_copy_replacement_text): Same.
293107d1 3365
1067694a
NB
33662003-04-22 Neil Booth <neil@daikokuya.co.uk>
3367
3368 * c-lex.c (c_lex): Handle CPP_OTHER differently.
3369 * cppexp.c (_cpp_parse_expr): Similarly.
3370 * cpplex.c (SPELL_CHAR): Remove.
3371 (_cpp_lex_direct): Stray chars are saved as byte strings.
3372 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
3373 handle SPELL_CHAR.
3374 (cpp_avoid_paste): Update handling of CPP_OTHER.
3375 * cpplib.h: Spell CPP_OTHER like a number.
3376 (struct cpp_token): Remove member c.
3377 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
3378
77c915d8
DT
33792003-04-22 David Turner <novalis@gnu.org>
3380
3381 * gbl-ctors.h: Add special license exception.
3382 * libgcc2.h: Likewise.
3383 * tsystem.h: Likewise.
3384 * gcov-io.h: Likewise.
3385
85e50b6b
DE
33862003-04-22 David Edelsohn <edelsohn@gnu.org>
3387
3388 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
3389 macro defaulting to original BRANCH_COST heuristic.
3390 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
3391
3392 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
3393
00c060a4
AH
33942003-04-22 Aldy Hernandez <aldyh@redhat.com>
3395
293107d1 3396 * config/rs6000/t-spe: Merge in t-fprules into file.
00c060a4 3397
293107d1 3398 * config.gcc: Add t-spe to powerpc-eabispe.
00c060a4 3399
e4d72771
KJ
34002003-04-22 Kean Johnston <jkj@sco.com>
3401
3402 * tlink.c (recompile_files): Add missing '=' to putenv calls
3403
ad27e65a
NS
34042003-04-22 Nathan Sidwell <nathan@codesourcery.com>
3405
3406 * ginclude/stddef.h: Provide C++ safe offsetof.
3407
277b3b18
R
34082003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
3409
3410 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
3411 for reg notes, if there are no substitutions, just use a SUBREG.
3412
b2dd096b
MM
34132003-04-21 Mark Mitchell <mark@codesourcery.com>
3414
3415 * Makefile.in (calls.o): Depend on except.h.
3416 * calls.c: Include except.h.
3417 (emit_call_1): Call note_eh_region_may_contain_throw if
3418 appropriate.
3419 * except.c (eh_region): Add may_contain_throw.
3420 (expand_eh_region_end_cleanup): Do not include handler code when
3421 it cannot be reached.
3422 (note_eh_region_may_contain_throw): New function.
3423 * except.h (note_eh_region_may_contain_throw): New function.
3424
bfc6c67e
MM
34252003-04-21 Mark Mitchell <mark@codesourcery.com>
3426
3427 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
3428 changes.
3429
95b1c7b6
AH
34302003-04-21 Aldy Hernandez <aldyh@redhat.com>
3431
293107d1
ZW
3432 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
3433 64-bit long doubles.
95b1c7b6 3434
6a48df45
OH
34352003-04-21 Olivier Hainque <hainque@act-europe.fr>
3436
3cd58fd7
OH
3437 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
3438 a number of conversions required for type consistency and previously
3439 stripped off by STRIP_NOPS.
3440
6a48df45
OH
3441 * calls.c (expand_call): Prevent sibcall optimization for calls to
3442 nested subprograms.
3443
0d2f38ee 3444 * expmed.c (extract_bit_field): Reverse operands of && condition to
293107d1 3445 prevent a potential division by zero in the previously first branch.
0d2f38ee
OH
3446 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
3447
c3cdeef4
JB
34482003-04-21 Joel Brobecker <brobecker@gnat.com>
3449
3450 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
3451 (subrange_type_die): Likewise.
3452 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
3453 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
3454
ca29da43
NS
34552003-04-21 Nathan Sidwell <nathan@codesourcery.com>
3456
293107d1
ZW
3457 Break out coverage routines to new file.
3458 * Makefile.in (COVERAGE_H): New variable
3459 (C_OBJS): Add coverage.o
3460 (coverage.o): New target.
3461 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
3462 dependencies.
3463 (GTFILES): Adjust.
3464 (gt-coverage.h): New target.
3465 (gt-profile.h): Remove.
3466 * profile.h: Remove. Move to ...
3467 * coverage.h: ... here. New. #include gcov-io.h.
3468 * gcov-io.h: Move function definitions to ...
3469 * gcov-io.c: ... here. New.
3470 * profile.c: Move coverage routines to coverage.c.
3471 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
3472 end_branch_prob): Adjust.
3473 * coverage.c: New. Coverage routines from profile.c
3474 (coverage_counter_ref, coverage_init, coverage_finish,
3475 coverage_end_function, coverage_begin_output,
3476 coverage_counter_ref, get_coverage_counts): Define.
3477 * gcov-dump.c, gcov.c: #include gcov-io.c.
3478 * libgcov.c: Likewise. Adjust.
3479 * loop-init.c: Don't #include profile.h
3480 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
3481 * rtl.h: Add coverage prototypes.
3482 * toplev.c (compile_file): Init coverage, not branch_prob.
3483 Always call coverage_finish.
3484 (rest_of_compilation): Call coverage_end_function.
ca29da43 3485
1774b213 34862003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
dd0fbae2
MK
3487
3488 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
3489
74eb4b3e
NB
34902003-04-21 Neil Booth <neil@daikokuya.co.uk>
3491
3492 * c-ppoutput.c (cb_include): Don't take a cpp_token.
3493 * cppfiles.c: Don't undef strcmp.
3494 (find_include_file): Don't take a cpp_token. Check for empty
3495 file names.
3496 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
3497 (cpp_push_include): Simplify.
3498 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
3499 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
3500 (parse_include): Similary. Don't check for zero-length filenames.
3501 (do_include_common, do_pragma_dependency): Update accordingly.
3502 * cpplib.h (struct cpp_callbacks): Change prototype of include.
3503
337f4314 35042003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
293107d1 3505
9e91ce11
RK
3506 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
3507 details of conflict handling.
293107d1 3508
26b84487
RK
3509 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
3510 when conversion overflows.
3511
1a96dc46
RK
3512 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
3513
337f4314
RK
3514 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
3515 before clearing.
3516
3819b963
MM
35172003-04-21 Mark Mitchell <mark@codesourcery.com>
3518
3519 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
3520 have the same form as the old RTL.
3521
0e7a8c4b
AJ
35222003-04-21 Andreas Jaeger <aj@suse.de>
3523
293107d1 3524 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
0e7a8c4b 3525
b39b8084
CL
35262003-04-20 Chris Lattner <sabre@nondot.org>
3527 Zack Weinberg <zack@codesourcery.com>
3528
3529 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
3530 genrtl_cleanup_stmt. Correct comment at head of
3531 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
3532
3533 * stmt.c (struct nesting): Kill n_function_calls.
3534 (expand_start_bindings): Don't set
3535 thisblock->data.block.n_function_calls.
3536 (expand_end_bindings): Compare function_call_count against 0.
3537 (expand_cleanups): Kill DONT_DO argument; all callers passed
3538 NULL_TREE. All callers updated to match.
3539
b20cbca2
ZW
35402003-04-20 Zack Weinberg <zack@codesourcery.com>
3541
3542 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
3543 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
3544 (output_constant_def): Remove code predicated on
3545 defer_addressed_constants_flag.
3546
3547 * output.h: Remove prototypes of deleted functions.
3548 * c-typeck.c (constructor_subconstants_deferred): Kill.
3549 (struct initializer_stack): Remove 'deferred' field.
3550 (start_init): Remove all references to the above.
3551 (finish_init): Likewise. Also remove never-executed call to
3552 output_deferred_addressed_constants. Pull assignment to
3553 defstr out of if expression.
3554
41c32c98
NB
35552003-04-20 Neil Booth <neil@daikokuya.co.uk>
3556
3557 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
3558 NOTE_NEWLINE): Remove.
3559 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
3560 to handle new form of line note type.
3561
c6a2438a
ZW
35622003-04-20 Zack Weinberg <zack@codesourcery.com>
3563
3564 * target.h (encode_section_info): Add new argument carrying
3565 the RTL to be modified by the hook.
3566
3567 * varasm.c (make_decl_rtl, output_constant_def): Update calls
3568 to encode_section_info.
3569 (default_encode_section_info): Take and use RTL argument,
3570 don't use TREE_CST_RTL or DECL_RTL.
3571 * output.h: Update prototype of default_encode_section_info.
3572 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
3573 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
3574 Update calls to encode_section_info.
3575
3576 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
3577 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
3578 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
3579 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
3580 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
3581 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
3582 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
3583 except for PE dllimport/dllexport. Update calls to
3584 default_encode_section_info.
3585
3586 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
3587 Update prototypes.
3588
3589 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
3590
8c7d377f
JDA
35912003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3592
3593 PR/8705
3594 * pa.md (movccfp): New expander.
3595 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
3596 Reverse fcmp conditions.
3597
1052bb09
MM
35982003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
3599
3600 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
3601 of operand 1 correctly.
3602
299f79b5
NS
36032003-04-20 Nathan Sidwell <nathan@codesourcery.com>
3604
3605 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
3606 * gcov.c (output_lines): Don't be so fussy about going past EOF.
3607
1613e52b
NB
36082003-04-20 Neil Booth <neil@daikokuya.co.uk>
3609
3610 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
3611 (cppcharset.o): New target.
3612 * c-lex.c (is_extended_char): Move to cppcharset.c.
3613 (utf8_extend_token): Delete.
3614 * cppcharset.c: New file.
3615 * cpphash.h (_cpp_valid_ucn): New.
3616 * cpplex.c (lex_identifier): Update prototype.
3617 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
3618 escapes.
3619 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
3620 in cppcharset.c.
3621 (lex_number, lex_identifier, cpp_parse_escape): Update.
3622 (_cpp_lex_direct): Update to handle UCNs.
3623 (cpp_avoid_paste): Don't paste to form a UCN.
3624
0a45ec5c
RS
36252003-04-19 Roger Sayle <roger@eyesopen.com>
3626
3627 * builtins.c (expand_builtin): Don't expand a pure or const
3628 built-in function if the result will be ignored and none of
3629 its arguments are volatile.
3630
16477cc5
KJ
36312003-04-19 Kean Johnston <jkj@sco.com>
3632
3633 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
3634 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
3635 target fragment now: t-sco5; dont compile crti.o.
3636 * config/i386/sco5.h: major overhaul to remove all COFF remnants
3637 and to use elfos.h for most definitions.
3638 (BSS_SECTION_ASM_OP): set correct segment attributes.
3639 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
3640 (DWARF2_UNWIND_INFO): Always set to 1.
3641 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
3642 (MD_STARTFILE_PREFIX_1): Define.
3643 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
3644 (DEFAULT_LINKER): Define if not specified to configure.
3645 (CTORS_SECTION_ASM_OP): Remove COFF crud.
3646 (DTORS_SECTION_ASM_OP): Remove COFF crud.
3647 (WINT_TYPE): Define.
3648 (SDB_DEBUGGING_INFO): Remove.
3649 (EXTRA_SECTIONS): Likewise.
3650 (EXTRA_SECTION_FUNCTIONS): Likewise.
3651 (CTOR_LIST_BEGIN): Likewise.
3652 (CTOR_LIST_END): Likewise.
3653 (INIT_SECTION_FUNCTION): Likewise.
3654 (FINI_SECTION_FUNCTION): Likewise.
3655 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
3656 (LOCAL_LABEL_PREFIX): Likewise.
3657 (NON_SAVING_SETJMP): Likewise.
3658 (RETURN_POPS_ARGS): Likewise.
3659 (ASM_OUTPUT_SKIP): Likewise.
3660 (TARGET_ASM_NAMED_SECTION): Likewise.
3661 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3662 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
3663 (ASM_OUTPUT_IDENT): Likewise.
3664 (ASM_OUTPUT_CASE_LABEL): Likewise.
3665 (ASM_OUTPUT_ASCII): Likewise.
3666 (ASM_OUTPUT_LIMITED_STRING): Likewise.
3667 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3668 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3669 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3670 (ASM_FINISH_DECLARE_OBJECT): Likewise.
3671 (ASM_DECLARE_OBJECT_NAME): Likewise.
3672 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
3673 (ASM_DECLARE_FUNCTION_NAME): Likewise.
3674 (ASM_DECLARE_RESULT): Likewise.
3675 (ASM_WEAKEN_LABEL): Likewise.
3676 (SUPPORTS_WEAK): Likewise.
3677 (APPLY_RESULT_SIZE): Likewise.
3678 (LPREFIX): Likewise.
3679 (ALIGN_ASM_OP): Likewise.
3680 (ASCII_DATA_ASM_OP): Likewise.
3681 (IDENT_ASM_OP): Likewise.
3682 (ASM_SHORT): Likewise.
3683 (ASM_LONG): Likewise.
3684 (TYPE_ASM_OP): Likewise.
3685 (SIZE_ASM_OP): Likewise.
3686 (STRING_ASM_OP): Likewise.
3687 (SKIP_ASM_OP): Likewise.
3688 (EH_FRAME_SECTION_ASM_OP): Likewise.
3689 (READONLY_DATA_SECTION_ASM_OP): Likewise.
3690 (INIT_SECTION_ASM_OP): Likewise.
3691 (FINI_SECTION_ASM_OP): Likewise.
3692 (TEXT_SECTION_ASM_OP): Likewise.
3693 (DATA_SECTION_ASM_OP): Likewise.
3694 (TYPE_OPERANT_FORMAT): Likewise.
3695 (ASM_SPEC): Remove COFF code.
3696 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
3697 cause -pg to emit an error; use pcrt1elf.o with -pp
3698 (ENDFILE_SPEC): Likewise.
3699 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
3700 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
3701 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
3702 add -z alt_resolve to support weak symbols the way GCC wants them.
3703 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
3704 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
3705 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
3706 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
3707 (CRTSTUFF_T_CFLAGS_S): Define.
3708 (MULTILIB_OPTIONS): Likewise.
3709 (MULTILIB_DIRNAMES): Likewise.
3710 (MULTILIB_MATCHES): Likewise.
3711 (MULTILIB_EXTRA_OPTS): Likewise.
3712 (LIBGCC): Likewise.
3713 (INSTALL_LIBGCC): Likewise.
3714 (crti.o): Remove.
3715 * config/i386/t-sco5gas: Remove.
3716 * doc/install.texi: Updated for new OpenServer instructions.
3717 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
3718
de0656cf
KJ
37192003-04-19 Kean Johnston <jkj@sco.com>
3720
3721 * fixinc/check.tpl: Allow user to over-ride diff program.
3722 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
3723 (sco_math): Added test for SCO math header files.
3724 (sco_regset): Added check for conflicts with ieeefp.h.
3725 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
3726 * fixinc/fixincl.x: Regenerated
3727 * fixinc/tests/base/math.h: Added sco_math tests.
3728 * fixinc/tests/base/string.h: New file.
3729 * fixinc/tests/base/sys/regset.h: New file.
3730
6f572ac2
NB
37312003-04-19 Neil Booth <neil@daikokuya.co.uk>
3732
3733 * cpphash.h (struct cpp_buffer): Remove backup_to.
3734 * cpplex.c (BACKUP, get_effective_char): Die.
3735 (_cpp_skip_block_comment): Assume '*' is location on entry.
3736 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
3737 (IF_NEXT_IS): Update.
3738 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
3739
ced2ad76
MK
37402003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
3741
3742 * README.Portability: Move to a new section and obsolete K+R
3743 portability issues.
3744
07015444
JH
3745Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
3746
3747 * rtlanal.c (subreg_offset_representable_p): Fix call of
3748 subreg_lowpart.
3749
bced6edf
NB
37502003-04-19 Neil Booth <neil@daikokuya.co.uk>
3751
3752 * cpphash.h (struct cpp_reader): New member warned_dollar.
3753 * cpplex.c (continues_identifier_p): New function.
3754 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
3755 lex_number and lex_string, and simplify.
3756 (parse_slow, unescaped_terminator_p): Die.
3757 (_cpp_lex_direct): Update.
3758
a259f218
RK
37592003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3760
3761 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
3762
8555daff
NS
37632003-04-19 Nathan Sidwell <nathan@codesourcery.com>
3764
3765 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
3766 fork behaviour.
3767
4e1f0f8e
NB
37682003-04-19 Neil Booth <neil@daikokuya.co.uk>
3769
3770 * cppexp.c (eval_token): Permit true and false even if pedantic.
3771
bf805def
NB
37722003-04-19 Neil Booth <neil@daikokuya.co.uk>
3773
3774 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
3775
26aea073
NB
37762003-04-19 Neil Booth <neil@daikokuya.co.uk>
3777
3778 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
3779 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
3780 (struct include_file): Remove fefcnt, mapped members.
3781 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
3782 (read_include_file): Don't use mmap, terminate buffers in '\r'.
3783 (purge_cache): Don't use munmap.
3784 * cpphash.h (CPP_BUF_COLUMN): Update.
3785 (lexer_state): Remove lexing_comment.
3786 (struct _cpp_line_note): New.
3787 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
3788 next_line and need_line. Remove col_adjust and saved_flags.
3789 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
3790 _cpp_skip_block_comment, scan_out_logical_line): New.
3791 (_cpp_init_mbchar): Remove.
3792 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
3793 (cpp_read_main_file): Set line to 1 earlier.
3794 (post_options): -traditional-cpp doesn't want trigraphs.
3795 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
3796 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
3797 _cpp_get_fresh_line): New.
3798 (handle_newline, skip_escaped_newlines, trigraph_p,
3799 continue_after_nul, _cpp_init_mbchar): Remove.
3800 (get_effective_char): Update.
3801 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
3802 (skip_line_comment): Simplify.
3803 (skip_whitespace, parse_identifier, parse_slow, parse_number,
3804 parse_string): Update.
3805 (cpp_lex_direct): Use clean lines and process line notes. Update.
3806 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
3807 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
3808 directly.
3809 (_cpp_handle_directive): Don't set saved_flags.
3810 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
3811 cpp_undef, handle_assertion, cpp_push_buffer): Update.
3812 (_cpp_pop_buffer): Free notes.
3813 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
3814 * cpppch.c (cpp_read_state): \n terminate buffer.
3815 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
3816 (copy_comment): Use _cpp_skip_block_comment.
3817 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
3818 Simplify.
3819 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
3820 save_replacement_text): Update.
3821 (scan_out_logical_line): Update to use clean lines and process
3822 line notes.
3823 * fix-header.c (read_scan_file): Update.
3824
7008a11b
DR
38252003-04-18 Douglas B Rupp <rupp@gnat.com>
3826
3827 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
3828 null begin parameter (as well as pointer to null).
3829 (__deregister_frame_info_bases): Likewise.
3830
21102f25
RK
38312003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3832
34d21fe3
RK
3833 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
3834 hard or virtual register and copy into pseudo if replacement fails.
3835
3836 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
dd4ff203 3837
21102f25
RK
3838 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
3839
e59baa1f
OH
38402003-04-18 Olivier Hainque <hainque@act-europe.fr>
3841
38afb23f
OH
3842 * calls.c (expand_call): Move special case for constructor calls
3843 to right place. Ensures constructor calls used to initialize
c6a2438a 3844 arguments get a clean outgoing argument block for themselves.
38afb23f
OH
3845 Move check for stack deallocation completeness until after last
3846 deallocation. Add stack_pointer_delta to set of state
3847 variables saved and restored along with current stack_level.
c6a2438a
ZW
3848
3849 * integrate.c (expand_inline_function): Ensure non-const actuals
3850 don't end up const in the caller's flow after conversion to possibly
3851 const formal type.
e59baa1f 3852
8dcea3f3
VC
38532003-04-18 Vincent Celier <celier@gnat.com>
3854
c6a2438a
ZW
3855 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
3856 and *_DIV_EXPR as TRUNC_*_EXPR.
8dcea3f3 3857
3e378f14
MM
38582003-04-18 Mark Mitchell <mark@codesourcery.com>
3859
3860 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
3861 for orphaned jump tables.
3862
1b0d0e84
KH
38632003-04-18 Kazu Hirata <kazu@cs.umass.edu>
3864
3865 * reload1.c: Revert my previous patch on 2002-04-17.
3866
906042f5
GP
38672003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3868
3869 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
3870 Add Segher Boessenkool.
3871
38a31425
AS
38722003-04-18 Alexander Sotirov <sluncho@mirizma.org>
3873
3874 PR c/9177
3875 * c-decl.c (c_expand_body): Don't garbage collect the function
3876 body if we are going to dump it later.
3877
59c60a98
RH
38782003-04-18 Richard Henderson <rth@redhat.com>
3879
3880 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
3881 (alpha_end_function): Don't set them.
3882 (decl_in_text_section): Remove.
3883 (alpha_encode_section_info): Remove.
3884 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
3885 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
3886 sections, rather than decl_in_text_section results.
3887
c553b702
RS
38882003-04-18 Roger Sayle <roger@eyesopen.com>
3889
3890 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
3891 and SIGN_EXTRACT.
3892
6a29edea
EB
38932003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3894
3895 PR optimization/7675
3896 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
3897 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
3898 nested functions if they refer to declarations from parent functions.
3899 * stmt.c (expand_decl): Don't put automatic variables in registers
3900 if the DECL_NONLOCAL flag is set.
3901
4d3eb89a
HPN
39022003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
3903
3904 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
3905 consider those to be movable where the source matches
3906 want_to_gcse_p.
3907 (update_ld_motion_stores): In comment, refer to
3908 compute_ld_motion_mems for validity of replacement.
3909
04c5580f
JH
3910Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
3911
d101590b 3912 * gcov-dump.c (tag_summary): Remove max_sum
ca29da43
NS
3913 * gcov-io.h (gcov_summary, gcov_write_summary,
3914 gcov_read_summary): Kill max_sum.
3915 * libgcov.c (gcov_exit): Do one pass over the data. Make error
3916 message more verbose.
3917
3918 * emit-rtl.c (subreg_hard_regno): Check that register is
3919 representable.
293107d1 3920
04c5580f
JH
3921 * reload.c (reload_inner_reg_of_subreg): When register is not
3922 representable, reload the whole thing.
3923 (find_reloads): Likewsie.
3924 * rtlanal.c (subreg_representable_p): New function.
3925
3926 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
3927 allow negative probabilities for edges from the call to exit.
ca29da43
NS
3928 (branch_prob): Do not add fake edges for functions that may return
3929 twice.
04c5580f 3930
c409ea0d
DD
39312003-04-17 DJ Delorie <dj@redhat.com>
3932
3933 * toplev.c (target_options): Add value field.
3934 (set_target_switch): Handle target options with values.
3935 * doc/tm.texi: Document how fixed vs variable target
3936 options work.
3937 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
3938 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
3939 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
3940 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
3941 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
3942 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
3943 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
3944 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
3945 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
3946 Add value initializer to target options.
3947
36801818
LR
39482003-04-07 Loren James Rittle <ljrittle@acm.org>
3949
3950 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
3951
a211395b
KH
39522003-04-17 Kazu Hirata <kazu@cs.umass.edu>
3953
3954 * reload1.c (move2add_last_cc0): New.
3955 (reload_cse_move2add): Detect implicit sets.
3956 (move2add_note_store): Notice a store into cc0.
3957
220a35cc
RS
39582003-04-17 Roger Sayle <roger@eyesopen.com>
3959
3960 PR c/10375
3961 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
3962 function attributes.
3963
7ed0620a 39642003-04-17 Janis Johnson <janis187@us.ibm.com>
46b2356d
JJ
3965
3966 * doc/sourcebuild.texi (Test Suites): Document support for testing
3967 binary compatibility (moved from testsuite/README.compat).
3968
3907500b
RH
39692003-04-17 Richard Henderson <rth@redhat.com>
3970
3971 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
3972
d22b2e54
SL
39732003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
3974
c6a2438a
ZW
3975 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
3976 the one provided by the FSF.
d22b2e54 3977
616de62f
GP
39782003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3979
3980 * doc/install.texi (Binaries): Update URL and list of platforms
3981 provided by ftp.thewrittenword.com.
3982
f2dd0c42
RH
39832003-04-17 Richard Henderson <rth@redhat.com>
3984
3985 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
3986 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
3987 * config/xtensa/xtensa.md (call, call_value): Likewise.
3988
50d1ff6a
RH
39892003-04-17 Richard Henderson <rth@redhat.com>
3990
3991 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
3992 (print_operand_address): Likewise.
3993 (ep_memory_operand): Likewise.
3994 (special_symbolref_operand): Likewise.
3995 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
3996 (v850_encode_section_info): Call default_encode_section_info.
3997 (v850_strip_name_encoding): Remove.
3998 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
3999 (ASM_OUTPUT_LABELREF): Remove.
4000 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
4001 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
4002 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
4003 (ENCODED_NAME_P): Remove.
4004 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
4005 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
4006 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
4007
e7d687bb
RH
40082003-04-17 Richard Henderson <rth@redhat.com>
4009
4010 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
4011 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
4012 SYMBOL_REF_FUNCTION_P.
4013
72628c61
RH
40142003-04-17 Richard Henderson <rth@redhat.com>
4015
4016 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
4017 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
4018 (text_segment_operand): Likewise.
4019
675ff4c7
RH
40202003-04-17 Richard Henderson <rth@redhat.com>
4021
4022 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
4023 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
4024 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
4025 (sh_encode_section_info): Remove.
4026 (sh_strip_name_encoding): Remove.
4027 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
4028 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
4029 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
4030 (ASM_OUTPUT_LABELREF): Remove.
4031 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
4032 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
4033
114278e7
RH
40342003-04-17 Richard Henderson <rth@redhat.com>
4035
4036 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
4037 (tls_model_chars): Remove.
4038 (larl_operand): Use SYMBOL_REF_FLAGS.
4039 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
c6a2438a 4040 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
114278e7
RH
4041 (s390_output_mi_thunk): Likewise.
4042 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
4043 (s390_function_profiler): Likewise.
4044 (s390_encode_section_info): Use default_encode_section_info
4045 and SYMBOL_FLAG_ALIGN1.
4046 (s390_strip_name_encoding): Remove.
4047 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
4048 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
4049 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
4050
e95ef187
RH
40512003-04-17 Richard Henderson <rth@redhat.com>
4052
4053 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
4054 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
4055 (print_operand_address): Likewise.
4056
4057 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
4058 * config/ns32k/ns32k.c (expand_block_move): Don't check
4059 flag_unroll_loops.
4060
6cd4a764
RH
40612003-04-17 Richard Henderson <rth@redhat.com>
4062
4063 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
4064 SYMBOL_REF_FLAG.
4065
89e6b702
RH
40662003-04-17 Richard Henderson <rth@redhat.com>
4067
4068 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
4069
4070 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
4071 (SYMBOL_REF_MODEL): New.
4072 (LIT_NAME_P): Move from m32r.h.
4073 (m32r_select_section): Remove.
4074 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
4075 (m32r_strip_name_encoding): Remove.
4076 (m32r_in_small_data_p): New.
4077 (small_data_operand): Use SYMBOL_REF_SMALL_P.
4078 (addr24_operand): Use SYMBOL_REF_MODEL.
4079 (call26_operand): Likewise.
4080 (addr32_operand): Tidy.
4081 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
4082 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
4083 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
4084 (READONLY_DATA_SECTION_ASM_OP): Remove.
4085 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
4086 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
4087 (TARGET_ASM_SELECT_SECTION): Remove.
4088 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
4089 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
4090 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
4091 (ASM_OUTPUT_LABELREF): Remove.
4092
ec94fc00
RH
40932003-04-17 Richard Henderson <rth@redhat.com>
4094
4095 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
4096 (encode_section_info): Remove.
4097 * config/ip2k/ip2k-protos.h: Update.
4098
1b8135a4
RH
40992003-04-17 Richard Henderson <rth@redhat.com>
4100
c6a2438a 4101 * varasm.c (default_encode_section_info): Don't set
1b8135a4
RH
4102 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
4103 * config/i370/i370.c (i370_encode_section_info): Remove.
4104 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
4105 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
4106 * config/i370/i370.md (movsi): Likewise.
4107
4108 * config/i370/t-i370: Add missing backslash.
4109
6d7fe8b3
EB
41102003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
4111
4112 * doc/invoke.texi (inline-limit): Fix pasto.
4113
dc66a1c4
RH
41142003-04-17 Richard Henderson <rth@redhat.com>
4115
4116 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
4117 (small_call_insn_operand): Use it.
4118 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
4119 (h8300_eightbit_constant_address_p): Use it.
4120 (SYMBOL_FLAG_TINY_DATA): New.
4121 (h8300_tiny_constant_address_p): Use it.
4122 (h8300_encode_label, h8300_strip_name_encoding): Remove.
4123 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
4124 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
4125 (ASM_OUTPUT_LABELREF): Remove.
4126
90a63880
RH
41272003-04-16 Richard Henderson <rth@redhat.com>
4128
0f6e5d45
RH
4129 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
4130 all users with SYMBOL_REF_SMALL_P.
4131 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
4132 (frv_encode_section_info): Remove.
4133 (frv_strip_name_encoding): Remove.
4134 (frv_in_small_data_p): Merge tests from encode_section_info.
4135 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
4136 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
4137 (SDATA_NAME_P): Remove.
4138 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
4139 (ASM_OUTPUT_LABELREF): Remove.
4140 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
4141
90a63880
RH
4142 * config/frv/frv.c (frv_asm_out_constructor): New.
4143 (frv_asm_out_destructor): New.
4144 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
4145 (DTORS_SECTION_ASM_OP): New.
4146 (ASM_OUTPUT_CONSTRUCTOR): Remove.
4147 (ASM_OUTPUT_DESTRUCTOR): Remove.
4148
5c93e01b
RH
41492003-04-16 Richard Henderson <rth@redhat.com>
4150
4151 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
4152 SYMBOL_REF_LOCAL_P; abort if not pic.
4153 (cris_encode_section_info): Remove.
4154
11467df2
RH
41552003-04-16 Richard Henderson <rth@redhat.com>
4156
4157 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
4158 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
4159
4160 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
4161 flag_inline_trees.
4162
74b66b3c
RH
41632003-04-16 Richard Henderson <rth@redhat.com>
4164
4165 * config/avr/avr.c (avr_encode_section_info): Remove.
4166 (avr_insert_attributes): New.
4167 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
4168 (avr_assemble_integer): Likewise.
4169
8cbd5ce0
RH
41702003-04-16 Richard Henderson <rth@redhat.com>
4171
4172 * arc.c (arc_encode_section_info): Remove.
c6a2438a 4173 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
8cbd5ce0
RH
4174 (arc_print_operand, arc_print_operand_address): Likewise.
4175 * arc.h (EXTRA_CONSTRAINT): Likewise.
4176
96c6931d
RS
41772003-04-16 Roger Sayle <roger@eyesopen.com>
4178
4179 * c-semantics.c (find_reachable_label): New function to find a
4180 potentially reachable label in an expression.
4181 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
4182 assumes the start of the IF_STMT is unreachable (dead) code.
4183 (expand_unreachable_stmt): Similar to expand_stmt but assumes
4184 the start of the statement list is unreachable (dead) code.
4185 (genrtl_if_stmt): If the controlling expression of the IF
4186 is constant, use expand_unreachable_stmt for the THEN or ELSE
4187 clause as appropriate.
4188 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
4189 the body of a SWITCH statement.
4190 (expand_stmt): The code immediately following a "return",
4191 "break", "continue" or "goto" is unreachable.
4192 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
4193
3568b0ef
RH
41942003-04-16 Richard Henderson <rth@redhat.com>
4195
4196 * rtl.h (MEM_ALIAS_SET): Update documentation.
4197 * doc/rtl.texi (Special Accessors): New node.
4198 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
4199
60fa6660
AO
42002003-04-16 Alexandre Oliva <aoliva@redhat.com>
4201
4202 * reload1.c (reload_cse_noop_set_p): Return false if mode of
4203 SET_DEST is not the same as that returned by...
4204 * cselib.h (cselib_reg_set_mode): ... new function.
4205 * cselib.c (cselib_reg_set_mode): Define it.
4206 (REG_VALUES): Document semantics of first element as set mode.
4207 (cselib_subst_to_values): Skip first element if ELT is NULL.
4208 (cselib_lookup): Likewise. Insert past the first element.
4209 (cselib_invalidate_regno): NULLify first element.
4210 (cselib_record_set): Set first element.
4211
15b19a7d
OH
42122003-04-16 Olivier Hainque <hainque@act-europe.fr>
4213
c6a2438a
ZW
4214 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
4215 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
4216 * tree.h: Add prototypes for the two new functions.
4217 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
4218 updates introduced in the previous revision by call to saved_expr_p.
4219 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
a9ecacf6 4220
c6a2438a
ZW
4221 * expr.c (store_field): Force usage of bitfield instructions when
4222 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
4223 (expand_expr, case BIT_FIELD_REF): likewise.
15b19a7d 4224
f2d80e7e
MM
42252003-04-16 Mark Mitchell <mark@codesourcery.com>
4226
4227 PR middle-end/8866
4228 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
4229 jumptables.
4230
1cdbd630
RH
42312003-04-16 Richard Henderson <rth@redhat.com>
4232
4233 * config/ia64/ia64.c (sdata_symbolic_operand): Use
4234 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
4235 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
4236 (function_operand): Use SYMBOL_REF_FUNCTION_P.
4237 (ia64_expand_load_address): Likewise.
4238 (ia64_assemble_integer): Likewise.
4239 (ia64_encode_section_info): Remove.
4240 (ia64_strip_name_encoding): Remove.
4241 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
4242 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
4243
d055668e
RH
42442003-04-16 Richard Henderson <rth@redhat.com>
4245
4246 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
4247 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
4248 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
4249 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
4250 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
4251 (global_symbolic_operand): Similarly.
4252 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
4253 (tls_symbolic_operand_type): Likewise.
4254 (alpha_encode_section_info): Use default_encode_section_info.
4255 (alpha_strip_name_encoding): Remove.
4256 (get_tls_get_addr): Split out from ...
4257 (alpha_legitimize_address): ... here.
4258 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
4259 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
4260 (alpha_initialize_trampoline): Use init_one_libfunc.
4261 (alpha_setup_incoming_varargs): Mark unused parameters.
4262 (alpha_initial_elimination_offset): Likewise.
4263 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
4264 (unicosmk_unique_section): Use default_strip_name_encoding.
4265 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
4266
ffd25996
AH
42672003-04-16 Aldy Hernandez <aldyh@redhat.com>
4268
c6a2438a 4269 * config.gcc: Add t-spe for eabispe.
ffd25996 4270
c6a2438a 4271 * config/rs6000/t-spe: New.
ffd25996 4272
7f0ea82e
R
42732003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
4274
4275 Re-apply this patch:
4276
4277 2002-05-16 Dale Johannesen <dalej@apple.com>
4278 * combine.c (cant_combine_insn_p): Reenable combinations
4279 involving hard regs unless CLASS_LIKELY_SPILLED_P.
4280
c328adfa
JDA
42812003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4282
4283 PR/10271
4284 * pa-protos.h (function_arg): Remove last argument.
4285 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
c6a2438a 4286 * pa.h (struct hppa_args): Add member incoming.
c328adfa
JDA
4287 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
4288 member incoming.
4289 (FUNCTION_ARG): Revise call to function_arg.
4290 (FUNCTION_INCOMING_ARG): Delete.
4291
f9c1196a
ZW
42922003-04-15 Zack Weinberg <zack@codesourcery.com>
4293
4294 * configure.in: Unify the code which creates symlinks to a
4295 just-built as, ld, objdump, and nm with the code that detects
4296 their presence for purposes of feature tests.
4297 * configure: Regenerate.
4298
0b78a9b6
ZW
42992003-04-15 Zack Weinberg <zack@codesourcery.com>
4300
4301 * varasm.c (output_constant_def): Do not consult
4302 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
4303 (after_function_constants, output_after_function_constants): Delete.
4304 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
4305 * config/mips/mips-protos.h, config/mips/mips.c
4306 (mips16_constant_after_function_p): Delete.
4307 * config/mips/mips.h: Delete #if-0-ed definition of
4308 CONSTANT_AFTER_FUNCTION_P.
4309 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
4310 mention of CONSTANT_AFTER_FUNCTION_P in comment.
4311
03907fbd
GK
43122003-04-15 Geoffrey Keating <geoffk@apple.com>
4313
4314 * tree.c (next_decl_uid): Mark with GTY.
4315 (next_type_uid): Likewise.
4316
9959c8c7
R
43172003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
4318
4319 PR target/9594:
4320 * sh.c (barrier_align): Also recognize stuff_delay_slot as
4321 an indicator that a barrier was created by branch splitting.
4322
c8b718ba
MM
43232003-04-15 Mark Mitchell <mark@codesourcery.com>
4324
4325 * c-decl.c (implicitly_declare): Copy declarations that are going
4326 to be placed in a local scope.
4327
f5034c5e
JM
43282003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
4329
4330 * invoke.texi (Spec Files): Wrap if-exists-else example.
4331 (MCore): Remove duplicate @itemx entries and @opindex entries.
4332
7344f3d7
UW
43332003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
4334
4335 * unwind.inc (_Unwind_Backtrace): New function.
4336 * unwind.h (_Unwind_Backtrace): Declare it.
4337 * libgcc-std.ver (_Unwind_Backtrace): Export it.
4338
9547e8fd
JM
43392003-04-14 Jason Merrill <jason@redhat.com>
4340
4341 PR middle-end/10336, c++/10401
0b78a9b6 4342 * jump.c (never_reached_warning): Also stop looking if we reach the
9547e8fd
JM
4343 beginning of the function.
4344
55adc7bd
KG
43452003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4346
4347 PR target/10338
4348 PR bootstrap/10198
4349 PR bootstrap/10140
4350 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
4351
d2b54839
R
43522003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
4353
4354 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
4355
d0ccc658
RK
43562003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4357
4358 * optabs.c (expand_binop): In multi-word add cases, ensure
4359 XTARGET is copied to TARGET if they are different.
4360
29921faf
OH
43612003-04-15 Olivier Hainque <hainque@act-europe.fr>
4362
4363 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
4364 to region, possible after integration of function with unreachable
4365 regions that were optimized away.
4366
ff3867ae
JJ
43672003-04-15 Jakub Jelinek <jakub@redhat.com>
4368
4369 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
4370 instead of TOC_REGISTER in epilogue in
4371 current_function_calls_eh_return functions.
4372
f4e92987
MM
43732003-04-14 Mark Mitchell <mark@codesourcery.com>
4374
db0b376e
MM
4375 * doc/extend.texi (Empty Structures): Correct description of G++'s
4376 handling of these structures.
4377
f4e92987
MM
4378 * c-decl.c (grokdeclarator): Reject extern redeclarations of
4379 static variables.
4380
629f6514
JJ
43812003-04-14 Janis Johnson <janis287@us.ibm.com>
4382
615158e2
JJ
4383 * config/rs6000/rs6000.md (define_constants): Define constants for
4384 all UNSPEC usage, including new values for TLS support.
4385 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
4386 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
4387 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
4388 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
4389 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
4390 eh_set_lr_di): Use them.
4391 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
4392 rs6000_emit_epilogue) Use them.
4393
629f6514
JJ
4394 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
4395
8951a635
NB
43962003-04-14 Neil Booth <neil@daikokuya.co.uk>
4397
4398 * Makefile.in (c-opts.o): Use custom action.
4399
798a3935
DR
44002003-04-14 Douglas B Rupp <rupp@gnat.com>
4401
4402 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
4403
2443af37
RK
44042003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4405
0d3c8800
RK
4406 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
4407 handle "superflat arrays" in Ada.
4408
2443af37
RK
4409 * integrate.c (expand_inline_function): Don't inline if would
4410 lose /u on a BLKmode TARGET.
4411
8cb5fbbf
JB
44122003-04-14 Joel Brobecker <brobecker@gnat.com>
4413
39d658e3
JB
4414 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
4415 extracted from dbxout_type.
4416 (dbxout_range_type): print large bounds in octal format.
4417 (dbxout_type): Replace extracted code by call to
4418 print_int_cst_bounds_in_octal_p.
4419
0b78a9b6
ZW
4420 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
4421 of DW_LANG_Ada83 for Ada units.
8cb5fbbf 4422
9ceca302
OH
44232003-04-14 Olivier Hainque <hainque@act-europe.fr>
4424
41ee3204
OH
4425 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
4426 temporary used to round CONST_INT sizes.
4427
4694840a
OH
4428 * tree.c (int_fits_type_p): Extract generic checks from the case
4429 of constant type bounds. Refine the checks against constant type
4430 bounds to allow for possible decisions against each of these bounds
4431 without requiring both bounds to be constant.
4432 (tree_int_cst_msb): Put back.
4433 * tree.h (tree_int_cst_msb): Likewise.
4434
4147232b
OH
4435 * global.c (global_conflicts): Prevent allocation of call clobbered
4436 hard regs to pseudos live across abnormal edges, as later passes are
4437 not ready to handle them.
4438
0b78a9b6
ZW
4439 * fold-const.c (fold): Reorder tests for conditional expressions.
4440
4441 * expr.c (highest_pow2_factor): Return unsigned.
4442 * expr.h (offset_address): Likewise.
4443 * emit-rtl.c (offset_address): POW2 argument now unsigned.
cbcafd35 4444
712b7a05
RS
44452003-04-14 Roger Sayle <roger@eyesopen.com>
4446
4447 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
4448 string literals at compile-time.
4449
15d4fd98
RS
44502003-04-14 Roger Sayle <roger@eyesopen.com>
4451
4452 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
4453 comparison operation and c1/c2 are floating point constants into
4454 x swap(cmp) (c1 - c2).
4455
2fcb395c
VM
44562003-04-14 Vladimir Makarov <vmakarov@redhat.com>
4457
4458 * genautomata.c (output_translate_vect): Fix a typo in loop
4459 condition.
4460
747a0d9d
HPN
44612003-04-14 Hans-Peter Nilsson <hp@axis.com>
4462
4463 PR target/10377
4464 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
4465 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
4466 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
4467 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
4468 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
4469 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
4470 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
4471 ("*extopqihi_swap_side", "*extopqisi_swap_side")
4472 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
4473 When next to constraint R, replace constraint i with n.
4474
58e6ae30
JH
4475Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
4476
4477 PR opt/10024
4478 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
4479
88657a26
KL
44802003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
4481
4482 * doc/contrib.texi (Contributors): Correct my entry.
4483
7f685e17
RS
44842003-04-13 Roger Sayle <roger@eyesopen.com>
4485
4486 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
4487 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
4488 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
4489 implies DECL_BUILT_IN to simplify logic.
4490 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
4491
1331d16f
RS
44922003-04-13 Roger Sayle <roger@eyesopen.com>
4493
4494 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
4495 (BT_FN_PTR_SIZE_SIZE): Likewise.
4496 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
4497 New built-in functions for malloc, calloc and strdup respectively.
4498 * calls.c (special_function_p): No need to handle malloc-like
4499 functions any longer. ECF_MALLOC is set via built-in attributes.
4500
4501 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
4502
4503 * doc/extend.texi: Document these new built-in functions.
4504
9cb65f92
KG
45052003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4506
4507 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
4508 (expand_builtin_stpcpy): New.
4509 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
4510 * builtins.def: Add mempcpy & stpcpy support.
4511 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
4512
5de601cf
NC
45132003-04-13 Nick Clifton <nickc@redhat.com>
4514
4515 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
4516 "GCC".
4517 * config/rs6000/40x.md, config/rs6000/603.md,
4518 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
4519 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
4520 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
4521 config/rs6000/aix43.h, config/rs6000/aix51.h,
4522 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
4523 config/rs6000/altivec.h, config/rs6000/altivec.md,
4524 config/rs6000/beos.h, config/rs6000/darwin.h,
4525 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
4526 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
4527 config/rs6000/freebsd.h, config/rs6000/gnu.h,
4528 config/rs6000/host-darwin.c, config/rs6000/linux.h,
4529 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
4530 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
4531 config/rs6000/netbsd.h, config/rs6000/power4.md,
4532 config/rs6000/rios1.md, config/rs6000/rios2.md,
4533 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
4534 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
4535 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4536 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
4537 config/rs6000/spe.md, config/rs6000/sysv4.h,
4538 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
0b78a9b6 4539 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
5de601cf 4540
50d440bc
NC
45412003-04-13 Nick Clifton <nickc@redhat.com>
4542
4543 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
4544 support for -mcall-aix switch.
4545 * config/rs6000/eabiaix.h: Delete.
4546 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
4547 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
4548 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
4549 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
4550 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
4551 debug_stack_info, output_function_profiler,
4552 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
4553 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
4554 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
4555 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
4556 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
4557 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
4558 multilibs.
4559 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
4560 (MULTILIB_EXCEPTIONS): Delete.
4561 (MULTILIB_MATCHES): Remove mcall-aix matches.
4562
4563 * doc/fragments.texi: Replace -mcall-aix example with an ARM
4564 one.
4565 * doc/install.texi: Delete powerpc-*-eabiaix target.
4566 * doc/invoke.texi: Remove documentation of mcall-aix switch.
4567 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
4568 * config.gcc: Delete powerpc-*-eabiaix target.
4569
62b9c42c
KH
45702003-04-13 Kazu Hirata <kazu@cs.umass.edu>
4571
4572 * doc/invoke.texi: Fix typos.
4573 * doc/tm.texi: Likewise.
4574
6d0c8bb1
ZW
45752003-04-12 Zack Weinberg <zack@codesourcery.com>
4576
4577 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
4578
dcf92453
ZW
45792003-04-12 Zack Weinberg <zack@codesourcery.com>
4580
4581 * tree.c (build_constructor): New function.
4582 * tree.h: Prototype it.
4583
4584 * c-typeck.c (build_c_cast, pop_init_level)
4585 * profile.c (build_function_info_value, build_gcov_info_value)
4586 (create_profiler):
4587 Use build_constructor.
4588
4589 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
4590
4591 * objc/objc-act.c (build_constructor):
4592 Rename objc_build_constructor. Use build_constructor.
4593 (build_objc_string_object, objc_add_static_instance)
4594 (init_def_list, init_objc_symtab, init_module_descriptor)
4595 (generate_static_references, build_selector_translation_table)
4596 (build_descriptor_table_initializer, generate_descriptor_table)
4597 (build_protocol_initializer, build_ivar_list_initializer)
4598 (generate_ivars_list, build_dispatch_table_initializer)
4599 (generate_dispatch_table, generate_protocol_list)
4600 (build_category_initializer, build_shared_structure_initializer):
4601 Update to match.
4602
c85b28e8
ZW
46032003-04-12 Zack Weinberg <zack@codesourcery.com>
4604
4605 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
4606
cebcfdc8
SC
46072003-04-12 Stephane Carrez <stcarrez@nerim.fr>
4608
dcf92453 4609 * config/m68hc11/m68hc11-protos.h
cebcfdc8
SC
4610 (m68hc11_eq_compare_operator): Declare
4611 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
4612 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
4613 (d_register_operand): Check the operand mode.
4614 (hard_addr_reg_operand): Likewise.
4615
0ae32ec0
SC
46162003-04-12 Stephane Carrez <stcarrez@nerim.fr>
4617
4618 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
4619 pattern for dbcc/ibcc generation for 68HC12.
4620 ("doloop_end"): New pattern.
4621 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
4622 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
4623 ("m68hc12_dbcc_dec_qi"): New pattern.
4624 ("m68hc12_dbcc_inc_qi"): New pattern.
4625 (split): Add split for the above when we can't use dbcc/ibcc due to
4626 reloading.
4627 (peephole2): Add peephole2 to generate the above when possible.
4628
a67bac5f
SC
46292003-04-12 Stephane Carrez <stcarrez@nerim.fr>
4630
4631 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
4632 mode of operand 0.
4633 (peephole2 optimize const load): Likewise for operand 2.
4634 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
4635 clobbers CC_REGNUM.
4636 ("*rotrhi3_with_carry"): Likewise.
4637 (ashift:DI 1 split): Update pattern to create the above rotate.
4638 (lshiftrt:DI 1 split): Likewise.
4639
09214424
SC
46402003-04-12 Stephane Carrez <stcarrez@nerim.fr>
4641
4642 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
4643 ("tstqi_z_used" split): Use it.
4644 ("cmphi_z_used"): Likewise.
4645 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
4646 ("cmpqi_z_used"): Likewise.
4647
355b81d5
MM
46482003-04-12 Mark Mitchell <mark@codesourcery.com>
4649
4650 PR c++/7910
4651 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
4652
2bd02043
ZW
46532003-04-12 Zack Weinberg <zack@codesourcery.com>
4654
4655 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
4656 * configure, config.in: Regenerate.
4657 * intl.c (gcc_gettext_width): New function.
4658 * intl.h: Prototype it.
4659
96cd9069
SC
46602003-04-12 Stephane Carrez <stcarrez@nerim.fr>
4661
4662 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
4663 recognize -mnorelax.
4664 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
4665 (REG_CLASS_NAMES): Add its name.
4666 (REG_CLASS_CONTENTS): Define its content.
4667
c364c3a6
SC
46682003-04-12 Stephane Carrez <stcarrez@nerim.fr>
4669
4670 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
4671 parameters so that offsets are valid for far definition.
4672 (__mulsi3): Likewise and use ret to return.
4673 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
4674
09501938
DE
46752003-04-12 David Edelsohn <edelsohn@gnu.org>
4676
4677 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
4678
ff3d4e83
AO
46792003-04-12 Alexandre Oliva <aoliva@redhat.com>
4680
17a15c67
AO
4681 * mklibgcc.in (libgcc-stage-start): For every multilib directory
4682 containing a libgcc.a, move lib* to the corresponding stage dir.
4683
ff3d4e83
AO
4684 * Makefile.in (stage1-start, stage2-start, stage3-start,
4685 stage4-start): Move $(SPECS) to specs in stage dir.
4686 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
4687 back as $(SPECS).
4688
9e6ccb98
AO
4689 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
4690 object files from the non-libgcc/ multilib directories as well.
4691
ba05abd3
GK
46922003-04-11 Geoffrey Keating <geoffk@apple.com>
4693
0aaafe73
GK
4694 * profile.c (read_counts_file): Initialise 'checksum'.
4695
d5b9108c
GK
4696 * emit-rtl.c (gen_rtx): Really correct typo.
4697
a37db56b
GK
4698 PR c++/9393
4699 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
4700 * configure.in: Check for gettimeofday.
4701 * tree.c (flag_random_seed): Define.
4702 (default_flag_random_seed): New.
4703 (append_random_chars): Use flag_random_seed rather than trying
4704 to acquire randomness here.
4705 * tree.h (default_flag_random_seed): Declare.
4706 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
4707 descriptions.
4708 (decode_f_option): Handle -frandom-seed.
4709 (print_switch_values): Call default_flag_random_seed.
4710 * flags.h (flag_random_seed): Declare.
4711 * configure: Regenerate.
4712 * config.in: Regenerate.
4713 * config/alpha/t-crtfm: Use -frandom-seed.
2bd02043 4714
ba05abd3
GK
4715 * doc/extend.texi (Empty Structures): New.
4716
df026186
GK
4717 * c-pch.c: Include flags.h. Add comments to routines.
4718 (struct c_pch_validity): New.
4719 (get_ident): Update PCH file version number.
4720 (pch_init): Output current debugging type.
4721 (c_common_valid_pch): Check debugging type.
4722 * Makefile.in (c-pch.o): Update dependencies.
4723 * flags.h (debug_type_names): Declare.
4724 * toplev.c (debug_type_names): Move out of decode_g_option.
4725
15c812e3
EC
47262003-04-11 Eric Christopher <echristo@redhat.com>
4727
4728 * emit-rtl.c (gen_rtx): Fix typos.
4729
a73071bc
RH
47302003-04-11 Richard Henderson <rth@redhat.com>
4731
4732 * emit-rtl.c (gen_rtx): Zero '0' fields.
4733
ca06cfe6
RH
47342003-04-11 Richard Henderson <rth@redhat.com>
4735
4736 PR c++/10202
4737 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
4738 not COMPLETE_TYPE_P for re-invoking layout_decl.
4739
d2d42a91
SL
47402003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
4741
4742 * doc/bugreport.texi: Fix paragraph breaking between sections
4743 in preparation for TeXinfo's paragraph indentation fixes.
4744 * doc/extend.texi: Ditto.
4745 * doc/invoke.texi: Ditto.
4746 * doc/objc.texi: Ditto.
4747 * doc/gcov.texi: Wrap 'gcov' in @command{}.
4748 * doc/invoke.texi (Darwin Options): Add a preamble.
4749
2ae5ae57
RH
47502003-04-11 Richard Henderson <rth@redhat.com>
4751
4752 * config/i386/i386.c (tls_model_chars): Remove.
4753 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
4754 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
4755 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
4756 (tls_symbolic_operand_1): Likewise.
4757 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
4758 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
4759 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
4760 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
4761 bits "copied from i386.h" with default_encode_section_info.
4762
52859c77
RH
47632003-04-11 Richard Henderson <rth@redhat.com>
4764
4765 * rtl.def (SYMBOL_REF): Add two 0 fields.
4766 * gengtype.c (adjust_field_rtx_def): Handle them.
4767 * print-rtl.c (print_rtx): Print them.
4768 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
4769 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
4770 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
4771 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
4772 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
4773 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
4774 (SYMBOL_FLAG_MACH_DEP): New.
4775 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
4776 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
4777 (assemble_static_space): Set SYMBOL_REF_FLAGS.
4778 (assemble_trampoline_template): Likewise.
4779 (output_constant_def, force_const_mem): Likewise.
4780 (default_encode_section_info): New.
4781 * output.h: Declare it.
4782 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
4783
68d28100
RH
47842003-04-11 Richard Henderson <rth@redhat.com>
4785
4786 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
4787 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
4788 * optabs.c (init_optabs): Initialize them.
4789 (init_libfuncs): Use init_one_libfunc.
4790 * calls.c (expand_call): Use gcov_flush_libfunc.
4791 * expr.c (store_constructor): Use setbits_libfunc.
4792 * function.c (expand_main_function): Use init_one_libfunc.
4793 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
4794
11fe27a5
MM
47952003-04-11 Mark Mitchell <mark@codesourcery.com>
4796
4797 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
4798 documentation; add DECL_FRIEND_CONTEXT.
4799
f401d0f5
JDA
48002003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4801
4802 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
4803 notes on linker selection and configuration for 64-bit HP-UX port.
4804 * doc/invoke.texi (hppa): Remove hppa text from description for
4805 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
4806 and -threads options.
4807
4808 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
4809 libc.a on libdld.sl when -static is specified and -nolibdld is not
4810 specified.
4811 * pa64-hpux.h (LIB_SPEC): Likewise.
4812 * pa-hpux11.h (LIB_SPEC): Likewise.
4813 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
4814 is not specified.
4815
43451169
ZW
48162003-04-11 Zack Weinberg <zack@codesourcery.com>
4817
4818 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
4819 not IDENTIFIER_LOCAL_VALUE.
4820
a46666a9
RH
48212003-04-11 Richard Henderson <rth@redhat.com>
4822
4823 PR c/10201
4824 * expr.c (expand_expr): Move DECL_RTL frobbing ...
4825 * stor-layout.c (layout_decl): ... here.
4826
6d2f9dd3
JM
48272003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
4828
4829 * doc/invoke.texi: Eliminate extra white-space caused by
4830 @gccoptlist{ on its own line.
4831 * doc/invoke.texi: Ensured there are two spaces between each option.
4832 * doc/invoke.texi: Re-wrapped option lines that were too wide.
4833 Added @gol to options that didn't have them.
4834
94de45d9
NS
48352003-04-11 Nathan Sidwell <nathan@codesourcery.com>
4836
4837 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
4838 gcov-iov.h.
4839
4840 Simplify interface to gcov reading and writing.
4841 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
4842 gcov_alloc, gcov_modified, gcov_errored): Move into ...
4843 (struct gcov_var gcov_var): ... this static structure.
4844 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
4845 Return void.
4846 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
4847 read object.
4848 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
4849 (gcov_reserve_length): Remove.
4850 (gcov_write_tag): New.
4851 (gcov_write_length): Adjust.
4852 (gcov_read_summary, gcov_write_summary): Adjust.
4853 (gcov_eof, gcov_ok): Rename to ...
4854 (gcov_is_eof, gcov_is_error): ... here. Return error code.
4855 (gcov_save_position, gcov_resync): Rename to ...
4856 (gcov_position, gcov_seek): ... here.
4857 (gcov_skip, gcov_skip_string): Remove.
4858 (gcov_error): Remove.
4859 (gcov_open, gcov_close): Adjust.
4860 * gcov.c (find_source): Take const char *, copy it on allocation.
4861 (read_graph_file): Adjust.
4862 (read_count_file): Adjust.
4863 * libgcov.c (gcov_exit): Adjust.
4864 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
4865 tag_arc_counts, tag_summary): Return void. Adjust.
4866 (struct tag_format): Adjust proc member.
4867 (dump_file): Adjust gcov calls.
4868
7a615b25
AO
48692003-04-11 Alexandre Oliva <aoliva@redhat.com>
4870
4871 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
4872 mkfixinc.sh.
4873 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
4874 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
4875 build != host sysrooted builds.
4876 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
4877 TARGET_SYSTEM_ROOT even on sysrooted natives.
4878 * configure: Rebuilt.
4879
339a28b9
ZW
48802003-04-10 Zack Weinberg <zack@codesourcery.com>
4881
4882 * c-decl.c (struct binding_level): Add shadowed_tags and
4883 function_body; remove this_block, tag_transparent, and
4884 subblocks_tag_transparent; update comments.
4885 (clear_binding_level, lookup_tag_reverse): Kill.
4886 (make_binding_level): Use ggc_alloc_cleared or memset.
4887 (lookup_tag): Remove struct binding_level* parameter. All
4888 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
4889 current_binding_level->tags if asked for thislevel_only or if
4890 we might have to diagnose "struct foo; union foo;"
4891 (pushlevel): Ignore argument. Do not push another binding
4892 level on the transition from the parameters to the top level
4893 of the function body; just tweak the flags and proceed.
4894 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
4895 a function body, separate the parameter list from the
4896 top-level local variables.
4897 (set_block): Do nothing.
4898 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
4899 shadowed_tags if necessary.
4900 (warn_if_shadowing): Nuke the special case for local shadowing
4901 parameter.
4902 (pushdecl): Do not create a shadow entry if we are replacing
4903 an older decl in the same binding level.
4904 (pushdecl_function_level): Tweak for new way of indicating
4905 function scope.
4906 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
4907 (start_function): Don't set subblocks_tag_transparent.
4908 (finish_function): Fix up the binding_level stack for totally
4909 empty functions. Otherwise, don't call poplevel.
4910
4911 * c-common.c (shadow_warning): MANDATORY argument is no longer
4912 necessary. Always use plain warning.
4913 * c-common.h: Update to match.
4914
4915 * cfglayout.c (scope_to_insns_initialize): Clear block when we
4916 hit the FUNCTION_DECL.
4917 * function.c: Do not create cyclic tree structure.
4918
49192003-04-10 Zack Weinberg <zack@codesourcery.com>
4920
4921 * c-tree.h (struct lang_identifier): Replace global_value,
4922 local_value members with symbol_value, tag_value. Kill
4923 implicit_decl and limbo_value.
4924 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
4925 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
4926 C_MISSING_PROTOTYPE_WARNED): Kill.
4927 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
4928 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
4929 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
4930 (implicit_decl_warning, lookup_name_current_level,
4931 record_function_scope_shadow): Don't prototype.
4932 (pushdecl_function_level): Prototype.
4933
4934 * c-decl.c (truly_local_externals): New variable.
4935 (struct binding_level): Adjust commentary.
4936 (get_function_binding_level, clear_limbo_values,
4937 record_function_scope_shadow): Kill.
4938 (lookup_name_current_level, implicit_decl_warning): Are now static.
4939 (any_external_decl, record_external_decl): New static functions.
4940 (clone_underlying type): Split out of pushdecl.
4941 (c_print_identifier): Update to match changes to struct
4942 lang_identifier.
4943 (poplevel): Delete #if 0 block. Make externals invisible
4944 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
4945 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
4946 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
4947 (duplicate-decls): For real parm decl after a forward decl,
4948 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
4949 foo(...) { } with only a warning. Say whether a previous
4950 declaration was implicit.
4951 (warn_if_shadowing): Now handles all shadowing, not just
4952 local-over-local. Clarify comments.
4953 (pushdecl): Rewritten. There is no longer a distinction
4954 between global and local symbol values; they're all
4955 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
4956 DECL_EXTERNAL decls, and use any_external_decl to check
4957 against previous externals. Kill #if 0 blocks. Don't
4958 tolerate error_mark_node being NULL.
4959 (pushdecl_top_level): Handle only those cases which
4960 Objective C (the only user) needs.
4961 (pushdecl_function_level): New function.
4962 (implicitly_declare): Create ordinary decls with
4963 C_DECL_IMPLICIT set. Recycle old decls, however they got
4964 created.
4965 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
4966 for C_DECL_INVISIBLE symbols.
4967 (lookup_name_current_level): Likewise. Use chain_member.
4968 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
4969 Use pushdecl_function_level.
4970 (builtin_function): Use C_DECL_INVISIBLE.
4971 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
4972 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
4973 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
4974 (identifier_global_value): Same. Must scan
4975 global_binding_level in extremis.
4976
4977 * c-typeck.c (undeclared_variable): New static function, split
4978 from build_external_ref.
4979 (build_external_ref): Use DECL_CONTEXT, not
4980 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
4981 an instance variable. Restructure for clarity.
4982 * objc/objc-act.c: Use identifier_global_value, not
4983 IDENTIFIER_GLOBAL_VALUE.
4984
6d9c4c83
JW
49852003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
4986
4987 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
4988 not Working Paper.
4989 * doc/invoke.texi (C++ Dialect Options): Same.
4990
06790e5f
ZW
49912003-04-10 Zack Weinberg <zack@codesourcery.com>
4992
4993 * tree.c (tree_operand_check_failed): New function.
4994 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
4995 TREE_RTL_OPERAND_CHECK): New checking macros.
4996 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
4997 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
4998 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
4999 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
5000 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
5001 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
5002 checking macros.
5003
f90e4dea
JH
5004Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
5005
5006 PR inline-asm/8803
5007 * function.c (instantate_virtual_regs): Verify that all ASM statements
5008 match after the virutal regs instantiation.
5009
08744705
SE
50102003-04-10 Steve Ellcey <sje@cup.hp.com>
5011
5012 * ia64-protos.h (addp4_optimize_ok): New.
5013 * ia64.c (addp4_optimize_ok): New.
5014 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
5015 (*ptr_extend_plus_2): Ditto.
5016
267b28bd
SE
50172003-04-10 Steve Ellcey <sje@cup.hp.com>
5018
5019 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
5020 not with convert_memory_address.
5021 (store_constructor): Ditto, and same for copy_size_rtx.
5022 (expand_expr): Ditto.
5023
021bad8e
DR
50242003-04-10 Douglas B Rupp <rupp@gnat.com>
5025
5026 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
5027
1839841c
BW
50282003-04-10 Bob Wilson <bob.wilson@acm.org>
5029
5030 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
5031 even if it is configured to be write-through.
5032
e23795ea
UW
50332003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
5034
5035 * config/s390/s390.c (larl_operand): Do not allow symbols
5036 marked with '@'.
5037 (s390_encode_section_info): Mark symbols with forced 1-byte
5038 alignment with '@'.
5039 (s390_strip_name_encoding): Strip '@'.
5040 (legitimize_pic_address): Handle symbols that are not valid
5041 LARL operands in 64-bit mode.
5042
0bb7378d
AH
50432003-04-10 Andrew Haley <aph@redhat.com>
5044
5045 * tree-inline.c (inlinable_function_p): Disable inlining for
5046 synchronized methods.
5047
009ed910
SB
50482003-04-09 Steven Bosscher <steven@gcc.gnu.org>
5049
5050 * c-common.h (lang_statement_code_p): Remove declaration.
5051 (statement_code_p): Ditto.
5052 (c_common_stmt_codes): Define; list of c-common statement codes.
5053 (statement_code_p): New extern declaration.
5054 (STATEMENT_CODE_P): Define.
5055 (INIT_STATEMENT_CODES): Define.
5056 * c-common.c (statement_code_p): Kill the function, declare
5057 as an array of bools instead.
5058 (lang_statement_code_p): Remove.
5059 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
5060 (c_safe_from_p): Ditto.
5061 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
5062 to initialize the statement_code_p array.
5063 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
5064 statement_code_p.
5065 (copy_tree_r): Ditto.
5066 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
5067 statement tree codes.
5068 * cp/lex.c (cxx_init): Add missing print line break. Use
5069 INIT_STATEMENT_CODES to initialize the statement_code_p array.
5070 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
5071 instead of statement_code_p.
5072 * cp/pt.c (tsubst_expr): Ditto.
5073 * cp/tree.c (verify_stmt_tree_r): Ditto.
5074 (cp_statement_code_p): Remove.
5075 (init_tree): Don't set lang_statement_code_p, it's gone.
5076
496324d0
DN
50772003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
5078 Zack Weinberg <zack@codesourcery.com>
5079
5080 * regrename.c (struct du_chain): Use a bitfield for reg_class.
5081 * cse.c (struct qty_table_elem, struct table_elt, struct set):
5082 Use bitfields for fields holding enum rtx_code or
5083 enum machine_mode values. Add comments explaining size choices.
5084
9c951124
AO
50852003-04-09 Alexandre Oliva <aoliva@redhat.com>
5086
5087 * config/fp-bit.c (unpack_d): Handle pair of doubles with
5088 different signs correctly.
5089
d1c9693e
VM
50902003-04-09 Vladimir Makarov <vmakarov@redhat.com>
5091
5092 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
5093 (reg_pending_barrier): Make it of the enumeration type.
5094 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
5095 TRUE_BARRIER.
5096 (sched_analyze): Ditto.
5097 (sched_analyze_insn): Ditto. Use anti-dependencies for
5098 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
5099 (init_deps_global): Initialize the barrier as NO_BARRIER.
06790e5f 5100
f32360c7
VM
51012003-04-09 Vladimir Makarov <vmakarov@redhat.com>
5102
5103 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
5104 Check that asm insn starts on a new cycle. Add nops after asm
5105 insn to end bundle.
5106 (bundling): Move insn type evaluation from the loop. Call
5107 issue_nops_and_insn with the new parameter. Ignore changing
5108 position for nops after asm insn.
5109
0913e4b4
AO
51102003-04-09 Alexandre Oliva <aoliva@redhat.com>
5111
5112 * optabs.c: Comment that gen_add2_insn and others may actually
5113 return emitted insns, if the gen functions turn out to return
5114 emitted insns.
5115 * reload1.c (reload_cse_move2add): Cope with emitted insns from
5116 gen_add2_insn.
5117
21515593
RH
51182003-04-09 Richard Henderson <rth@redhat.com>
5119
5120 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
5121 but not tls_symbolic_operand.
5122 (ia64_expand_load_address): Remove scratch operand.
5123 (ia64_expand_tls_address): Split out from ia64_expand_move.
5124 (ia64_expand_move): Split symbolics only after reload.
5125 (ia64_emit_cond_move): New.
5126 * config/ia64/ia64-protos.h: Update.
5127 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
5128 (symbolic splitter): Accept SImode operands too.
5129 (cmove splitter): Use ia64_emit_cond_move.
5130
66d6bf1f
NC
51312003-04-09 Nick Clifton <nickc@redhat.com>
5132
5133 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
5134 newer.
5135 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
5136 instead of -mno-fpu.
5137 * config/arm/semi.h (ASM_SPEC): Likewise.
5138 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
5139 but only if -msoft-float is specified pass. Otherwise pass
5140 -mfpu=softvfp.
06790e5f 5141
22659ac9
ZD
51422003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5143
5144 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
5145 free_EXPR_LIST_node.
5146
5fce2c65
RS
51472003-04-08 Roger Sayle <roger@eyesopen.com>
5148
5149 * fold-const.c (fold): Use "fold" following build in more places.
5150 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
5151 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
5152
531878a6
RS
51532003-04-08 Roger Sayle <roger@eyesopen.com>
5154
5155 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
5156 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
5157 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
5158 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
5159 Delete function scope "fcode" variable to avoid shadowing.
5160
c583e7c3
KB
51612003-04-08 Kevin Buettner <kevinb@redhat.com>
5162
5163 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
5164 Take into account DWARF_INITIAL_LENGTH_SIZE.
5165
5a82c0b1
HPN
51662003-04-08 Hans-Peter Nilsson <hp@axis.com>
5167
5168 * reorg.c (fill_slots_from_thread): When considering changing the
5169 insn following a reg-to-reg copy insn to use the source reg of the
5170 copy, bail out if there's overlap between the registers.
5171
8a5275eb
ZD
51722003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5173
5174 * function.c (postponed_insns): New.
5175 (purge_addressof_1): Postpone processing of insns if addressofs
5176 are not put into stack.
06790e5f 5177 (purge_addressof): Process postponed insns.
8a5275eb 5178
ac55736a
R
51792003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
5180
5181 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
5182 this is FP_MODE_DOUBLE .
5183 * sh.c (ra.h): #include.
5184 (push_regs): Add second parameter. Changed all callers.
5185 If necessary, set fpscr before saving floating point registers.
5186 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
5187 do saves / restores with SZ == 1.
5188 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
5189 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
5190 registers are being restored, restore FPSCR only after restoring them.
5191
3fdaa45a
AH
51922003-04-08 Aldy Hernandez <aldyh@redhat.com>
5193
496324d0
DN
5194 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
5195 regardless of architecture.
5196 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
3fdaa45a 5197
490dbac7
R
51982003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
5199
5200 * sh.c (push_regs, calc_live_regs): Return int. Take single
5201 HARD_REG_SET * parameter. Changed all callers.
5202
799b33a0
JH
5203Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
5204
5205 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
5206 GOTOFF operand.
5207 (legitimize_pic_address): Move plus outside the unspec.
5208 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
5209 for validity.
5210
3e71e002
NS
52112003-04-08 Nathan Sidwell <nathan@codesourcery.com>
5212
5213 * gcov-io.h (gcov_save_position): Remove __inline__ from
5214 declaration.
5215
7ba4ca63
MK
52162003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
5217
5218 * doc/install.texi: Use @command and @samp for single- and
5219 multi-word commands respectively.
5220 * doc/makefile.texi: Likewise.
5221 * doc/sourcebuild.texi: Likewise.
5222
f8d4be57 52232003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
496324d0 5224 Richard Henderson <rth@redhat.com>
f8d4be57 5225
496324d0
DN
5226 PR c/9516
5227 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
5228 favour of looping and tail recursion for TREE_LIST and binops.
f8d4be57 5229
760e8e42
ZD
52302003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5231
5232 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
5233 for insns without luid.
5234
b0a3412c
GN
52352003-04-07 Glen Nakamura <glen@imodulo.com>
5236
5237 PR opt/8634
5238 * explow.c (maybe_set_unchanging): Don't flag non-static const
5239 aggregate type initializers with RTX_UNCHANGING_P.
5240
c5a1e3d6
RH
52412003-04-07 Richard Henderson <rth@redhat.com>
5242
496324d0
DN
5243 PR opt/8634
5244 * function.c (purge_addressof_1): Don't try arithmetics for
5245 unchanging memories.
c5a1e3d6 5246
138d4703
JJ
52472003-04-07 Janis Johnson <janis187@us.ibm.com>
5248
5249 * doc/sourcebuild.texi (Test Suites): Document testing support for
5250 gcov and profile-directed optimizations; describe gcc.misc-tests.
5251
1d5b4e0b
JH
5252Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
5253
5254 PR target/10077
5255 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
5256
60ba917e
EB
52572003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
5258
5259 * doc/rtl.texi (Comparison operations): Update to
5260 record the allowed comparison modes.
5261
2abe3e28
AH
52622003-04-07 Aldy Hernandez <aldyh@redhat.com>
5263
496324d0
DN
5264 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
5265 V2SI_type_node to opaque_V2SI_type_node. Rename all
5266 V2SF_type_node to opaque_V2SF_type_node.
5267 (rs6000_init_builtins): Define opaque_V2SI_type_node and
5268 opaque_V2SF_type_node.
5269 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
5270 opaque_V2SF_type_node are opaque types.
2abe3e28 5271
9a318d30
R
52722003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
5273
5274 * gcse.c (replace_store_insn): Use single_set.
5275
546d2adb
NS
52762003-04-07 Nathan Sidwell <nathan@codesourcery.com>
5277
5278 Change gcov file interface to single file at a time.
5279 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
5280 Convert to C89 prototypes.
5281 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
5282 gcov_error, gcov_modified): New static variables.
5283 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
5284 functions.
5285 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
5286 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
5287 (gcov_read_summary, gcov_write_summary): Adjust.
5288 (gcov_save_position, gcov_reserve_length, gcov_write_length):
5289 Adjust.
5290 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
5291 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
5292 (da_file_position, da_file_seek, da_file_write, da_file_read):
5293 Remove.
5294 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
5295 * gcov.c (gcov_type): Don't typedef here.
5296 (IN_GCOV): #define
5297 (read_graph_file, read_count_file): Adjust.
5298 * gcov-dump.c (gcov_type): Don't typedef here.
5299 (IN_GCOV): #define.
5300 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
5301 Remove FILE parameter, adjust.
5302 (struct tag_format): Adjust proc member.
5303 (dump_file): Adjust.
5304 * libgcov.c (IN_LIBGCOV): #define.
5305 (gcov_exit): Adjust.
5306 * loop-init.c: Don't #include gcov-io.h
5307 * profile.c (struct counts_entry): New structure to hold counter
5308 values.
5309 (struct section_reference, struct da_index_entry): Remove.
5310 (bbg_file, da_file): Remove.
5311 (htab_counts_index_hash, htab_counts_index_eq,
5312 htab_counts_index_del): Replace with ...
5313 (htab_counts_entry_hash, htab_counts_entry_eq,
5314 htab_counts_entry_del): ... these.
5315 (cleanup_counts_index, index_counts_file): Remove.
5316 (read_counts_file): New function.
5317 (get_exec_counts): Adjust.
5318 (compute_branch_probabilities): Don't free the exec counts here.
5319 (branch_prob): Adjust.
5320 (init_branch_prob): Adjust.
5321 (end_branch_prob): Adjust.
5322
5da702b1
AH
53232003-04-07 Aldy Hernandez <aldyh@redhat.com>
5324
496324d0
DN
5325 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
5326 -mfloat-gprs.
5da702b1 5327
496324d0
DN
5328 * config/rs6000/rs6000.c: Delete rs6000_fprs.
5329 Declare rs6000_float_gprs.
5330 Declare rs6000_float_gprs_string.
5331 (rs6000_parse_float_gprs_option): New.
5332 (rs6000_override_options): Genericize rs6000_parse_* calls to use
5333 rs6000_parse_yes_no_option.
5334 Change check for cpu=8540, to use TARGET_E500.
5335 (rs6000_parse_isel_option): Delete.
5336 (rs6000_parse_spe_option): Delete.
5337 (rs6000_parse_vrsave_option): Delete.
5da702b1 5338
496324d0
DN
5339 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
5340 Define rs6000_float_gprs_string.
5341 (TARGET_OPTIONS): Add rs6000_float_gprs option.
5da702b1 5342
496324d0 5343 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
5da702b1 5344
496324d0 5345 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
5da702b1 5346
cde1d5bf
JH
5347Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
5348
5349 PR opt/10024
5350 * cfglayout.c (cfg_layout_redirect_edge):
5351 Redirect any branch edges unified with the fallthru one.
5352 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
5353 case fallthru edges when called via cfglayout.c
5354
d5019ba3
R
53552003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
5356
5357 * c-typeck.c (output_init_element): Check for type == error_mark_node.
5358
093b05b6
KH
53592003-04-07 Kazu Hirata <kazu@cs.umass.edu>
5360
5361 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
5362 split.
5363 (a splitter): Do zero-extension via HImode.
5364
9a94f7f3
JM
53652003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
5366
5367 * doc/invoke.texi: Eliminate extra white-space caused by
5368 @gccoptlist{ on its own line.
5369 * doc/invoke.texi: Ensured there are two spaces between each option.
5370 * doc/invoke.texi: Re-wrapped option lines that were too wide.
5371 Added @gol to options that didn't have them.
5372
85ebf0c6
JM
53732003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
5374
5375 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
5376
d78e771d
ZW
53772003-04-06 Zack Weinberg <zack@codesourcery.com>
5378
5379 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
5380 at the sizes of the relevant structures, rather than relying
5381 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
5382 sizes of any such we don't know about. Use
5383 lang_hooks.identifier_size for IDENTIFIER_NODE.
5384
5385 (initializer_zerop): Use CONSTRUCTOR_ELTS.
5386 * tree.def: Update commentary. Make fourth element of
5387 the definition for all 'c' and 'x' nodes zero.
5388
5389 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
5390 * langhooks-def.h: Update to match.
5391 * langhooks.c: New default, lhd_tree_size.
5392
5393 * c-common.def (SRCLOC): Kill.
5394 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
5395 Remove entirely - was already #if-ed out.
5396
5397
48a79342
ZW
53982003-04-06 Zack Weinberg <zack@codesourcery.com>
5399
5400 * mklibgcc.in: Use a here document to avoid running afoul of
5401 shells that generate control-A from "echo \1".
5402
993f19a8
AH
54032003-04-06 Aldy Hernandez <aldyh@redhat.com>
5404
d78e771d
ZW
5405 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
5406 option.
993f19a8 5407
d78e771d
ZW
5408 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
5409 rs6000_spe.
993f19a8 5410
d78e771d 5411 * config/rs6000/eabi.h (TARGET_E500): Define.
993f19a8 5412
d78e771d
ZW
5413 * config/rs6000/rs6000.h (TARGET_E500): Define.
5414 (TARGET_OPTIONS): Add spe= option.
5415 Declare rs6000_spe and rs6000_spe_string extern.
993f19a8 5416
d78e771d
ZW
5417 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
5418 Change TARGET_SPE to TARGET_E500.
5419 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
5420 !TARGET_FPRS.
5421 (print_operand): Same.
5422 (rs6000_generate_compare): Same.
5423 (output_cbranch): Same.
5424 (rs6000_spe): Declare.
5425 (rs6000_spe_string): Declare.
5426 (rs6000_override_options): Call rs6000_parse_spe_option.
5427 (rs6000_parse_spe_option): New.
993f19a8 5428
95ec27aa
SB
54292003-04-06 Steven Bosscher <steven@gcc.gnu.org>
5430
5431 * hashtable.c (gcc_obstack_init): Delete this function
5432 and everything related to it.
5433 * hashtable.h: Remove prototype.
5434 * bitmap.c (bitmap_element_allocate): Cleanup redundant
5435 defines. Cleanup some unnecessary whitespace.
5436 * defaults.h (obstack_chunk_alloc): Redefine with
5437 appropriate casts for libiberty obstacks.
5438 (obstack_chunk_free): Ditto.
5439 (OBSTACK_CHUNK_SIZE): Define, default to 0.
5440 (gcc_obstack_init): Define as a call to _obstack_begin.
5441 * tree.c (print_obstack_statistics): Delete this unused
5442 function.
5443 * tree.h (obstack): Don't forward-declare.
5444 (print_obstack_statistics): Delete prototype.
5445 (print_obstack_name): Ditto.
5446 (gcc_obstack_init): Ditto.
5447 * rtl.h (gcc_obstack_init): Ditto.
5448 * java/jv-scan.c (gcc_obstack_init): Delete this
5449 function, its prototype and related defines.
5450 * java/jvgenmain.c (gcc_obstack_init): Delete this
5451 function, and related defines.
5452 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
5453 (obstack_chunk_free): Ditto
5454
62e64b0b
GK
54552003-04-06 Geoffrey Keating <geoffk@apple.com>
5456
5457 * dbxout.c (dbxout_handle_pch): Move prototype out from
5458 #if defined DBX_DEBUGGING_INFO.
5459
10b7602f
NS
54602003-04-05 Nathan Sidwell <nathan@codesourcery.com>
5461
5462 * gcov.c (struct arc_info): Replace local_span with cycle.
5463 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
5464 (solve_flow_graph): Set is_call_return.
5465 (add_line_counts): Adjust. In block mode, blocks attach to last line.
5466 (accumulate_line_counts): Find graph cycles, not spanning tree.
5467 (output_branch_count): Adjust.
5468 (output_lines): Adjust.
5469 * doc/gcov.texi: Update.
5470
910c46b5
KH
54712003-04-06 Kazu Hirata <kazu@cs.umass.edu>
5472
5473 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
5474 the second alternative to "#".
5475
ef378bbe
KH
54762003-04-05 Kazu Hirata <kazu@cs.umass.edu>
5477
5478 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
5479 (single_zero_operand): Likewise.
5480
873ceaab
DB
54812003-04-05 Daniel Berlin <dberlin@dberlin.org>
5482
5483 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
5484 * df.c: Include alloc-pool.h, not obstack.h.
5485 (df_ref_obstack): Remove.
5486 (df_ref_pool, df_link_pool): Add pools.
5487 (df_alloc): Init the new pools.
5488 (df_free): And free them.
5489 (df_link_create): Use the pools.
5490 (df_ref_create): Ditto.
5491
5be86fec
KH
54922003-04-05 Kazu Hirata <kazu@cs.umass.edu>
5493
5494 * simplify-rtx.c: Fix formatting.
5495
984e25ac
DE
54962003-04-05 Andrew Pinski <apinski@apple.com>
5497
5498 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
5499 reg with reg1 == reg2 and offset1 = -8.
5500
55012003-04-05 David Edelsohn <edelsohn@gnu.org>
5502
5503 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
5504 multiply costs. Correct Power4 divide costs.
5505 * config/rs6000/power4.md: Restore multiply and FP latency.
5506
94f24ddc
ZD
55072003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5508
5509 * alias.c (find_base_term): Export.
5510 * rtl.h (find_base_term): Declare.
5511 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
5512 instead of flag_exceptions. Move test for parameter passing ...
5513 (store_killed_in_insn): ... here.
5514
92441f83
GP
55152003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5516
5517 PR bootstrap/10267
5518 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
5519 for configuring.
5520
33b49800
GK
55212003-04-04 Geoffrey Keating <geoffk@apple.com>
5522
5523 * dbxout.c (scope_labelno): Add GTY.
5524 (have_used_extensions): Add GTY.
5525 (source_label_number): Add GTY.
5526 (lastfile): Add GTY.
5527 (lastfile_is_base): New.
5528 (base_input_file): New.
5529 (dbxout_handle_pch): New.
5530 (dbx_debug_hooks): Add handle_pch.
5531 (xcoff_debug_hooks): Likewise.
5532 (dbxout_function_end): Remove scope_labelno.
5533 (dbxout_init): Set base_input_file.
5534 (dbxout_handle_pch): New.
5535 (dbxout_source_file): Honour lastfile_is_base.
5536 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
5537 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
5538 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
5539 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
5540 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
5541 * debug.h (struct gcc_debug_hooks): Add handle_pch.
5542 * c-pch.c (pch_init): Don't call start_source_file, but do call
5543 handle_pch.
5544 (c_common_write_pch): Call handle_pch.
5545 (c_common_read_pch): Don't call start_source_file,
06790e5f 5546 or end_source_file.
33b49800 5547
bb056a77
OH
5548Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
5549
d78e771d
ZW
5550 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
5551 use of default attributes to agree MEM_ALIGN macro.
bb056a77 5552
08b0f5f9
JB
5553Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
5554
d78e771d 5555 * dbxout.c (dbxout_type): When printing type index of range type
08b0f5f9
JB
5556 whose bounds are printed in octal format, print type of parent type if
5557 it exists so enumerated type descriptions are not transformed
d78e771d 5558 into unsigned types.
08b0f5f9 5559
45ca2106
KH
55602003-04-04 Kazu Hirata <kazu@cs.umass.edu>
5561
5562 * config/h8300/h8300-protos.h: Add a prototype for
5563 compute_a_shift_cc.
5564 * config/h8300/h8300.c (shift_one): Update the CC status.
5565 (shift_two): Likewise.
5566 (output_a_shift_cc): Set cc_inline and cc_special.
5567 (compute_a_shift_cc): New.
5568 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
5569
7c2aa9d7
RH
55702003-04-04 Richard Henderson <rth@redhat.com>
5571
5572 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
5573
0705a2a2
LR
55742003-04-04 Loren James Rittle <ljrittle@acm.org>
5575
5576 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
5577 * fixinc/fixincl.x: Rebuilt.
5578 * fixinc/tests/base/stdio.h: Regenerated.
5579
1a482881
NS
55802003-04-04 Nathan Sidwell <nathan@codesourcery.com>
5581
5582 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
5583
5d806217
R
5584Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
5585
5586 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
5587 (NORMAL_MODE).
5588 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
5589
0dc5ac92 55902003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
06790e5f 5591
0dc5ac92
GP
5592 * doc/contrib.texi (Contributors): Add entries for Wolfgang
5593 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
5594 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
5595 Danny Smith, and Ulrich Weigand.
5596 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
5597 entry.
5598
5eb7ad07
NC
55992003-04-04 Nick Clifton <nickc@redhat.com>
5600
5601 * config/sparc/sol2-bi.h: Revert previous delta.
5602 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
5603
fdf3bb57
NC
56042003-04-04 Nick Clifton <nickc@redhat.com>
5605
5606 * config/v850/v850.c (expand_prologue): Only use register save
5607 helper functions if long calls are not being used.
5608 Add a clobber of r11 id using long calls.
5609 (pattern_is_ok_for_prologue): Account for the extra clobber.
5610 (construct_save_jarl): Likewise.
5611 * config/v850/v850.md (prolog pattern): Do not use this pattern
5612 for v850e's.
5613
ad3f5759
AS
56142003-04-04 Andreas Schwab <schwab@suse.de>
5615
5616 * stor-layout.c (layout_decl): Avoid syntax error in last change
5617 when PCC_BITFIELD_TYPE_MATTERS is defined but not
5618 EMPTY_FIELD_BOUNDARY.
5619
ed2e5902
JM
56202003-04-03 Jason Merrill <jason@redhat.com>
5621
5622 PR c/10175
5623 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
5624 Look backwards for a line note.
5625
7b43d104
NB
56262003-04-03 Neil Booth <neil@daikokuya.co.uk>
5627
5628 * fix-header.c (read_scan_file): Defer switch processing.
5629
d24ecd21
MA
56302003-04-03 Matt Austern <austern@apple.com>
5631
5632 * cpppch.c (reset_ht): Remove.
5633 (cpp_read_state): Remove loop to reset hashtable identifiers.
5634 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
5635 after pch file is written.
5636 * ggc.h (gt_pch_fixup_stringpool): Declare.
5637 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
5638 hashnode's value to another hashtable, then clear the original.
5639 (saved_ident_hash): Define.
5640 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
5641 store definitions in ident_hash, and clear ident_hash.
5642 (gt_pch_fixup_stringpool): Define. Restore definitions from
5643 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
5644
bcc53e2a
JH
5645Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
5646
5647 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
5648
773eae39
EB
56492003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
5650
5651 PR optimization/10157
5652 * gcse.c (can_copy_p): Rename it to can_copy.
5653 (can_copy_init_p): Remove.
5654 (compute_can_copy): Use can_copy instead of can_copy_p.
5655 (can_copy_p): New exported function. Call compute_can_copy.
5656 (hash_scan_set): Use it.
5657 (gcse_main): Don't call compute_can_copy.
5658 (bypass_jumps): Don't call compute_can_copy.
5659 * rtl.h (can_copy_p): Declare.
5660 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
5661 copy if the mode doesn't support copy operations.
5662
78d55cc8
JM
56632003-04-03 Jason Merrill <jason@redhat.com>
5664
613fa146
JM
5665 * Makefile.in (unstrap): Also remove stage_last.
5666
7bf6b23d
JM
5667 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
5668 (dwarf2out_source_line): Don't do anything if line==0.
5669
78d55cc8 5670 * stor-layout.c (do_type_align): New fn, split out from...
06790e5f 5671 (layout_decl): ...here. Do all alignment calculations for
78d55cc8
JM
5672 FIELD_DECLs here.
5673 (update_alignment_for_field): Not here.
5674 (start_record_layout, debug_rli): Remove unpadded_align.
5675 * tree.h (struct record_layout_info_s): Remove unpadded_align.
5676 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
5677 or DECL_MODE on the CONST_DECLs.
5678 (finish_struct): Don't mess with DECL_ALIGN.
5679
d10f5ecf
JH
5680Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
5681
5682 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
5683
5684Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
8d3b0953 5685
70aadfcc
R
5686 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
5687 function is an interrupt handler.
5688
5689 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
5690 restoring target registers with EH_RETURN_STACKADJ_RTX; use
5691 multiple registers in round-robin fashion.
8d3b0953 5692
de94b46c
KG
56932003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5694
5695 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
5696 * system.h (CHAR_BITFIELD): New.
5697
203dcb74
KH
56982003-04-03 Kazu Hirata <kazu@cs.umass.edu>
5699
5700 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
5701 and LE.
5702 (another peephole2): Likewise.
5703
dc00aebd
NC
57042003-04-03 Nick Clifton <nickc@redhat.com>
5705
5706 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
d78e771d 5707 (DEF_ARCH64_SPEC): Likewise.
dc00aebd 5708
a94f136b
JH
5709Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
5710
5711 * i386.c (constant_address_p): Use legitimate_constant_p.
5712 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
5713
9a2dd2dd
KH
57142003-04-02 Kazu Hirata <kazu@cs.umass.edu>
5715
5716 * config/h8300/h8300-protos.h: Add a prototype for
5717 gtle_operator.
5718 * config/h8300/h8300.c (gtle_operator): New.
5719 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
5720 gtle_operator.
5721 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
5722 and LE.
5723
378683cf
RH
57242003-04-02 Richard Henderson <rth@redhat.com>
5725
5726 * libgcc-std.ver (_Unwind_GetCFA): New.
5727 * unwind-dw2.c (_Unwind_GetCFA): New.
5728 * unwind-libunwind.c (_Unwind_GetCFA): New.
5729 * unwind-sjlj.c (_Unwind_GetCFA): New.
5730 * unwind.h: Declare it.
5731
a67a3220
JH
5732Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
5733
5734 PR inline-asm/8088
5735 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
5736 when MMX/SSE is not available.
5737
11292480
MS
57382003-04-02 Mike Stump <mrs@apple.com>
5739
5740 * doc/install.texi (Specific): Update pointers to apple.com.
5741
a94f136b 5742Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
a5b378d6
JH
5743
5744 * i386.c (override_options): Disable red zone by default on i386.
06790e5f 5745 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
a5b378d6
JH
5746 Do not test TARGET_64BIT together with TARGET_RED_ZONE
5747
8fc9a7ba
KH
57482003-04-02 Kazu Hirata <kazu@cs.umass.edu>
5749
5750 * config/h8300/h8300.md (a peephole2): Tighten the condition.
5751
496e1c4b
RH
57522003-04-02 Richard Henderson <rth@redhat.com>
5753
5754 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
5755
d98cd543
KH
57562003-04-02 Kazu Hirata <kazu@cs.umass.edu>
5757
5758 * config/h8300/h8300.md (a peephole2): New.
5759
b30abdf2
RH
57602003-04-02 Richard Henderson <rth@redhat.com>
5761
5762 * except.c (sjlj_find_directly_reachable_regions): Recognize when
5763 must-not-throw region has been deleted.
5764
ad5eeaa9
RH
57652003-04-02 Richard Henderson <rth@redhat.com>
5766
d78e771d
ZW
5767 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
5768 optimization when flag_exceptions not enabled.
ad5eeaa9 5769
be12c2b0
VM
57702003-04-02 Vladimir Makarov <vmakarov@redhat.com>
5771
5772 * config/rs6000/rs6000.c
5773 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
5774 macros.
5775 (rs6000_issue_rate): Add case for 8540.
5776 (rs6000_use_sched_lookahead): New function.
5777
5778 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
5779 units into MU ones.
5780 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
5781 reservation before retirement.
5782 (ppc8540_multiply, ppc8540_load, ppc8540_store,
5783 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
5784 Remove additional cycle in the reservation before retirement.
5785 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
5786 reservation of ppc8540_issue.
06790e5f 5787
f875310e
AS
57882003-04-02 Andreas Schwab <schwab@suse.de>
5789
5790 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
5791
125ca8fd
RH
57922003-04-01 Richard Henderson <rth@redhat.com>
5793
d78e771d
ZW
5794 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
5795 notes for nothrow calls if flag_forced_unwind_exceptions.
5796 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
5797 (sjlj_find_directly_reachable_regions): Likewise.
5798 (reachable_handlers): Likewise.
5799 (can_throw_external): Likewise.
5800 (collect_one_action_chain): Record cleanups after catch-all and
5801 must-not-throw if flag_forced_unwind_exceptions.
5802 * flags.h (flag_forced_unwind_exceptions): Declare.
5803 * toplev.c (flag_forced_unwind_exceptions): New.
5804 (lang_independent_options): Add it.
125ca8fd
RH
5805 * doc/invoke.text: Add it.
5806
8f744ea9
DM
58072003-04-01 David Mosberger <davidm@hpl.hp.com>
5808
d78e771d
ZW
5809 * config/ia64/crti.asm: Clean up trailing whitespace.
5810 Remove trailing hashes (#) from identifiers.
8f744ea9 5811
d78e771d 5812 * config/ia64/crtn.asm: Ditto.
8f744ea9 5813
d78e771d
ZW
5814 * config/ia64/crtend.asm: Remove trailing hashes (#) from
5815 identifiers.
5816 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
5817 directives. Drop explicit bundling---it just makes the code
5818 harder to read. Don't save/restore gp needlessly.
8f744ea9 5819
d78e771d
ZW
5820 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
5821 identifiers (they're only needed if the identifier would clash
5822 with a register name otherwise).
5823 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
5824 directives. Drop explicit bundling---it just makes the code
5825 harder to read.
5826 (__do_jv_register_classes): Ditto.
5827 (.fini_array): Remove "progbits" (newer
5828 assemblers don't like wrong section-types).
5829 (.init_array): Ditto.
8f744ea9 5830
e129b3f9
RS
58312003-04-01 Roger Sayle <roger@eyesopen.com>
5832
5833 PR fortran/9974
15d4fd98 5834 * gcse.c (reg_killed_on_edge): New function to test whether the
e129b3f9
RS
5835 given reg is overwritten by any instruction queued on an edge.
5836 (bypass_block): Ignore substitutions killed on incoming edges.
5837 Don't bypass outgoing edges that have queued instructions.
5838
fe0002ee
AO
58392003-04-01 Alexandre Oliva <aoliva@redhat.com>
5840
5841 * real.h (EXP_BITS): Make room for...
5842 (struct real_value): ... added canonical bit.
5843 (struct real_format): Added pnan.
5844 (mips_single_format, mips_double_format, mips_extended_format,
5845 mips_quad_format): New.
5846 * real.c: Copy p to pnan in all formats.
5847 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
5848 (real_nan): Use pnan to compute significand's shift.
5849 (real_identical): Disregard significand in canonical
5850 NaNs.
5851 (real_hash): Likewise. Take signalling into account.
5852 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
5853 Disregard significand bits in canonical NaNs. Set all bits of
5854 canonical NaN if !qnan_msb_set.
5855 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
5856 qnan_msb_set to tell the base double format.
5857 (ibm_extended_format): Use 53 as pnan.
5858 (mips_single_format, mips_double_format, mips_extended_format,
5859 mips_quad_format): Copied from the corresponding ieee/ibm
5860 formats, with qnan_msb_set false.
5861 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
5862 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
5863 * config/mips/mips.c (override_options): Use mips_single_format
5864 and mips_double_format. Default TFmode to mips_quad_format.
5865 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
5866 * config/mips/t-irix6: Likewise.
5867 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
5868 * config/fp-bit.c (pack_d, unpack_d): Obey it.
5869
481a8181
GK
58702003-04-01 Geoffrey Keating <geoffk@apple.com>
5871
5872 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
5873 (live_image_destructor): Reset image to initial state.
5874 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
5875
375ffbe6
EB
58762003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
5877
5878 * config/sparc/sparc.c (input_operand): Accept bare
5879 CONSTANT_P_RTX operands.
5880
47a3dae1
ZD
58812003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5882
5883 * gcse.c (struct ls_expr): Added pattern_regs field.
5884 (ldst_entry): Initialize it.
5885 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
5886 (store_ops_ok): Use regs precomputed by them.
5887 (find_loads, store_killed_in_insn, load_kills_store): Change return
5888 type to bool.
5889 (store_killed_before, store_killed_after): Take position of register
5890 set in account.
5891 (reg_set_info): Store position of the setter.
5892 (gcse_main): Enable store motion.
5893 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
5894 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
5895 sharing.
5896 (simple_mem): Enable store motion of non-symbol mems.
5897 (regvec): Type changed.
5898 (LAST_AVAIL_CHECK_FAILURE): New.
5899 (compute_store_table_current_insn): New.
5900 (build_store_vectors): Computation of availability and anticipatability
5901 moved ...
5902 (compute_store_table, find_moveable_store): ... here.
5903 (delete_store): Remove senseless comment.
5904 (store_motion): Reorganize.
5905
77d4f3a4
KB
59062003-04-01 Kevin Buettner <kevinb@redhat.com>
5907
5908 * config/mips/mips.c (override_options): Provide mappings for
5909 HI_REGNUM and LO_REGNUM.
5910 * config/mips/mips.h (MD_DBX_FIRST): Define.
5911
7d4444ea
FS
59122003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5913
5914 * combine.c (merge_outer_ops): Fix typo.
5915
5916 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
5917
9259f3b0
DE
59182003-04-01 David Edelsohn <edelsohn@gnu.org>
5919
5920 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
5921 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
5922 imul_compare. Add lmul_compare.
5923 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
5924 in second pair of dispatch slots. Model stores more accurately.
5925 Tweak multiply model. Add bypasses for CR instructions dependent
5926 on complicated compares.
5927 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
5928 (muldi3): Add lmul_compare patterns.
5929 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
5930 and FPSTORE_UX to split instructions and add COMPARE,
5931 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
5932 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
5933 (rs6000_rtx_costs): Separate POWER4 multiply case.
5934
7fe317e4
UW
59352003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
5936
5937 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
5938 Do nothing if __builtin_return_address was not used.
5939
e1fea6ee
JH
5940Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
5941
5942 * i386.md (test patterns): Allow memory operand in operand1.
5943
d744e06e
AH
59442003-02-31 Aldy Hernandez <aldyh@redhat.com>
5945
d78e771d
ZW
5946 * testsuite/gcc.c-torture/execute/simd-3.c: New.
5947
5948 * expr.c (expand_expr): Handle VECTOR_CST.
5949 (const_vector_from_tree): New.
5950
5951 * varasm.c (output_constant): Handle VECTOR_CST.
5952
5953 * c-typeck.c (digest_init): Build a vector constant from a
5954 VECTOR_TYPE.
5955
5956 * config/rs6000/rs6000.c: Remove prototype for
5957 easy_vector_constant.
5958 (easy_vector_constant): Add mode parameter. Rewrite to handle
5959 more easy constants.
5960 (rs6000_emit_move): Pass mode to easy_vector_constant.
5961 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
5962 (emit_easy_vector_insn): New.
5963 (easy_vector_same): New.
5964 (EASY_VECTOR_15): New macro.
5965 (EASY_VECTOR_15_ADD_SELF): New macro.
5966 (bdesc_2arg): Rename to xorv2si3.
5967 (easy_vector_constant_add_self): New.
5968 (input_operand): Allow vector constants.
5969
5970 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
5971 easy_vector_constant, easy_vector_constant_add_self.
5972 (EXTRA_CONSTRAINT): Add 'W'.
5973
5974 * config/rs6000/rs6000-protos.h: Add prototype for
5975 easy_vector_constant, emit_easy_vector_insn.
5976
5977 * config/rs6000/altivec.md (xorv8hi3): New.
5978 (xorv16qi3): New.
5979 Remove all _const0 patterns.
5980 (movv4si_internal): Rewrite to use code. Add vector constant to
5981 vector alternative. Add splitter.
5982 (movv8hi_internal): Same.
5983 (movv16qi_internal): Same.
5984 (movv4sf_internal): Same.
5985 Change the unspecs for vspltis* to use constants.
5986
5987 * config/rs6000/spe.md ("xorv4hi3"): New.
5988 ("spe_evxor"): Rename to xorv2si3.
5989 ("xorv1di3"): New.
5990 Remove all _const0 patterns.
5991 (movv2si_internal): Rewrite to use code. Add vector constant to
5992 alternatives. Add splitter.
5993 (movv4hi_internal): Add vector constant to alternatives.
5994 (movv1di_internal): Same.
5995 (movv2sf_internal): Same.
d744e06e 5996
46e33d43
MM
59972003-03-31 Mark Mitchell <mark@codesourcery.com>
5998
5999 PR c/9936
6000 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
6001 variably-sized arrays in parameters.
6002 (set_save_expr_context): New function.
6003 (c_expand_body): Use it, via walk_tree.
6004
73a39fc4
EC
60052003-03-31 Eric Christopher <echristo@redhat.com>
6006
6007 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
6008 (combinable_i3pat): Remove call to expand_field_assignment and
6009 #if 0'd code.
6010
6b665219
MM
60112003-03-31 Mark Mitchell <mark@codesourcery.com>
6012
6013 PR c++/10278
6014 * c-common.c (finish_label_address_expr): Handle the
6015 error_mark_node.
6016
6c06208f
RH
60172003-03-31 Richard Henderson <rth@redhat.com>
6018
6019 * real.c (real_identical): Reorg so as to not compare
6020 signalling for normals.
6021
11789584
SC
60222003-03-31 Stephane Carrez <stcarrez@nerim.fr>
6023
6024 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
6025
c25292ce
SC
60262003-03-31 Stephane Carrez <stcarrez@nerim.fr>
6027
6028 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
6029 notes as they are boggus.
6030 (m68hc11_gen_movqi): Likewise.
6031
07faf2d6
SC
60322003-03-31 Stephane Carrez <stcarrez@nerim.fr>
6033
6034 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
6035 save the soft registers after the frame pointer so that gdb can unwind
6036 the frame more easily.
6037 (expand_epilogue): Likewise in opposite order; allow to use X register
6038 as scratch if the return value is by reference.
6039
adff28c3
JM
60402003-03-31 Jason Merrill <jason@redhat.com>
6041
6042 PR java/10145
6043 * stor-layout.c (update_alignment_for_field): Respect
6044 DECL_USER_ALIGN for zero-length bitfields, too.
6045 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
6046 fields.
6047
c419b113
MA
60482003-03-31 Matt Austern <austern@apple.com>
6049
6050 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
6051 (count_defs): Keep track of number of defs as well as total size.
6052 (write_defs): Put every definition in cpp_savedstate's defs array.
6053 (comp_hashnode): Define. Comparison function for qsort.
6054 (cpp_write_pch_deps): Sort definitions before writing them.
6055 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
6056 (collect_ht_nodes): Define.
6057 (cpp_valid_state): When verifying that undefined identifiers in
6058 the pch file are still undefined, read a sorted list of undefined
6059 identifiers, collect all defined identifiers into a sorted list,
6060 and walk through both lists to make sure there's no match.
73a39fc4 6061
ef3a7d56
KH
60622003-03-31 Kazu Hirata <kazu@cs.umass.edu>
6063
6064 * config/h8300/h8300.md (a peephole2): New.
6065
5ccd517a
MM
60662003-03-31 Michael Matz <matz@suse.de>
6067
6068 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
6069
60702003-03-31 Segher Boessenkool <segher@koffie.nl>
c8ae788f
SB
6071
6072 PR target/10177
6073 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
6074 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
6075 all call-clobbered registers as used.
6076
7f1fc38e
MM
60772003-03-31 Michael Matz <matz@suse.de>
6078
6079 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
6080 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
6081
27283c73
NS
60822003-03-31 Nathan Sidwell <nathan@codesourcery.com>
6083
6084 * gcov.c: Add -a & -u options.
6085 (struct arc_info): Add local_span, is_call_non_return,
6086 is_nonlocal_return, is_unconditional flags, remove is_call flag.
6087 (struct block_info): Add flags, is_call_site, is_nonlocal_return
6088 members. Make encodings a union with span member.
6089 (struct function_info): Add blocks_executed, line, src, line_next
6090 members.
6091 (struct coverage_info): Make branches a union with blocks member.
6092 (struct source_info): Add functions member.
6093 (object_summary, program_count): New global variables.
6094 (flag_all_blocks, flag_unconditional): New flags.
6095 (find_source, output_branch_count): New functions.
6096 (print_usage): Adjust.
6097 (options): Adjust.
6098 (process_args): Adjust.
6099 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
6100 <GCOV_TAG_BLOCKS>: Read flags.
6101 <GCOV_TAG_LINES>: Adjust.
6102 (read_count_file): Process SUMMARY tags.
6103 (solve_flow_graph): Set is_unconditional and clear is_call_site
6104 appropriately.
6105 (add_branch_counts): Adjust. Don't count unconditional branches.
6106 (add_line_counts): Deal with all-blocks mode, accumulate block
6107 coverage.
6108 (accumulate_line_counts): Adjust, generate local spanning tree for
6109 all-blocks mode.
6110 (output_lines): Adjust.
6111 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
6112 * doc/gcov.texi: Document.
6113
212d9313
KH
61142003-03-31 Kazu Hirata <kazu@cs.umass.edu>
6115
63855aa6 6116 * config/h8300/h8300.md: Organize peephole2's that transform
212d9313
KH
6117 (compare (reg:HI) (const_int)).
6118
03f2ea93
RS
61192003-03-31 Roger Sayle <roger@eyesopen.com>
6120
6121 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
6122 (init_emit_once): Initialize dconstm2 and dconsthalf here.
6123 * real.h (dconstm2, dconsthalf): Add prototypes here.
6124 * real.c (real_sqrt): Use dconsthalf rather than local copy.
6125 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
6126 exp(x/2.0) remember to fold the division if possible.
6127 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
6128 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
6129 1.0/(x*x) and pow(x,0.5) as sqrt(x).
6130
155de338
KH
61312003-03-31 Kazu Hirata <kazu@cs.umass.edu>
6132
6133 * config/h8300/h8300.md (a new peephole2): New.
6134
98d3d336
RS
61352003-03-31 Richard Sandiford <rsandifo@redhat.com>
6136
6137 * gcse.c (simple_mem): Return false for floating-point accesses
6138 if flag_float_store is true.
6139
6b2d1c9e
RS
61402003-03-30 Roger Sayle <roger@eyesopen.com>
6141
6142 * gcse.c (gcse_constant_p): New function to identify constants
6143 suitable for constant propagation, including COMPARE with two
6144 integer constant arguments.
6145 (hash_scan_set): Use gcse_constant_p.
6146 (find_avail_set): Likewise.
6147 (cprop_insn): Likewise.
6148 (do_local_cprop): Likewise.
6149 (find_implicit_sets): Likewise.
6150 (find_bypass_set): Likewise.
6151
af829441
MK
61522003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
6153
6154 * except.h: Remove definition of varray_type.
6155
3d1f4922
RH
61562003-03-30 Richard Henderson <rth@redhat.com>
6157
6158 PR opt/10011, opt/10252:
d78e771d
ZW
6159 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
6160 before post-gcse cse pass.
3d1f4922 6161
9311f3f6
RS
61622003-03-30 Roger Sayle <roger@eyesopen.com>
6163
6164 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
6165
ececa172
DD
61662003-03-30 DJ Delorie <dj@redhat.com>
6167
6168 * profile.c (instrument_edges): Make sure any newly created
6169 jump insns have correct jump label info.
6170
e1233a7d
RH
61712003-03-30 Richard Henderson <rth@redhat.com>
6172
6173 * cfgbuild.c (make_edges): Use tablejump_p.
6174 * cfgcleanup.c (label_is_jump_target_p): Likewise.
6175 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
6176 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
6177 (try_redirect_by_replacing_jump): Likewise.
6178 (redirect_edge_and_branch): Likewise.
6179 * cse.c (fold_rtx): Likewise.
6180 * jump.c (delete_related_insns): Likewise.
6181 * rtlanal.c (get_jump_table_offset): Likewise.
6182 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
6183
78e68f88
GDR
61842003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6185
d78e771d
ZW
6186 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
6187 (STRICT2_WARN): Likewise.
73a39fc4 6188
15dda4d3
KG
61892003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6190
6191 PR other/6955
6192 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
6193 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
6194
5bf92e20
RH
61952003-03-30 Richard Henderson <rth@redhat.com>
6196
6197 PR c/10083
6198 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
6199 don't zero_extend const inputs.
6200
9a8075a1
KH
62012003-03-30 Kazu Hirata <kazu@cs.umass.edu>
6202
6203 * reload1.c (reload_cse_move2add): Fix a comment typo.
6204
f3926c48
KH
62052003-03-30 Kazu Hirata <kazu@cs.umass.edu>
6206
6207 * config/h8300/h8300.md (a peephole2): Remove useless code.
6208
39ecf301
KH
62092003-03-29 Kazu Hirata <kazu@cs.umass.edu>
6210
6211 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
6212 (*iorsi3_and_lshiftrt): Likewise.
6213 (*iorsi3_zero_extract): Likewise.
6214
d4048ff6
KH
62152003-03-29 Kazu Hirata <kazu@cs.umass.edu>
6216
6217 * config/h8300/h8300.md (*insv_si_8_8): New.
6218 (*insv_si_8_8_lshiftrt_8): Likewise.
6219 (a peephole2): Likewise.
6220
62d08205
GP
62212003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6222
60ef8bdd 6223 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
73a39fc4 6224 Uniformly use bugfix instead of bug fix.
60ef8bdd
GP
6225
62262003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
73a39fc4 6227
62d08205
GP
6228 PR doc/895
6229 * ONEWS: Remove those items that already appear in the EGCS
6230 release notes on our web pages.
6231
e87a88d3
AM
62322003-03-29 Alan Modra <amodra@bigpond.net.au>
6233
6234 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
6235 TARGET_HARD_FLOAT. Reformat.
6236 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
6237
ce4a8f7d
ACY
62382003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
6239
6240 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
6241 work on Solaris 2.5.1.
6242
12f76820
KH
62432003-03-28 Kazu Hirata <kazu@cs.umass.edu>
6244
6245 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
6246 section of h8300.md
6247 (*addsi3_and_nor_r_1): Likewise.
6248
7d798969
UW
62492003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
6250
6251 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
6252 set up before any trapping memory access if flag_non_call_exceptions.
6253
00dcfe80
AM
62542003-03-29 Alan Modra <amodra@bigpond.net.au>
6255
6256 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
6257
6258 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
6259
d869a8c4
NN
62602003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
6261
6262 * configure.in: Clarify comments.
6263 * configure: Regenerate.
6264
5c033b9f
UW
62652003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
6266
73a39fc4 6267 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
5c033b9f
UW
6268 label even if pool empty when generating PIC.
6269 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
6270
d18ad191
KH
62712003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
6272 Dhananjay Deshpande <dhananjayd@kpit.com>
6273
6274 PR target/10205
6275 * config/h8300/h8300.c (h8300_initial_elimination_offset):
6276 Correct the offset computation when TARGET_NORMAL.
6277
0c85dbfd
EB
62782003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
6279
6280 PR target/10067
6281 * config/sparc/sparc.md (jump pattern): Correct order
6282 when issuing the annuling marker.
6283
f7670e7b
EB
62842003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
6285
6286 PR c/8281
6287 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
6288 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
6289
c9280dfe
AM
62902003-03-28 Alan Modra <amodra@bigpond.net.au>
6291
6292 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
6293 globalize_label.
6294 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
73a39fc4 6295 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
c9280dfe
AM
6296 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
6297 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
6298 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
6299 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
6300 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
6301
e81eb37f
AM
63022003-03-28 Alan Modra <amodra@bigpond.net.au>
6303
6304 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
6305 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
6306 notes after hoisting.
6307 (load_mems): Adjust replace_loop_mems call.
6308
1ce324c3 63092003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
d78e771d 6310 Richard Henderson <rth@redhat.com>
1ce324c3
EB
6311
6312 PR target/10114 and PR target/10084
6313 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
6314
c6cf19a8
RH
63152003-03-27 Richard Henderson <rth@redhat.com>
6316
6317 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
6318
9ddae796
RS
63192003-03-27 Roger Sayle <roger@eyesopen.com>
6320
6321 * fold-const.c (fold_inf_compare): New function to simplify FP
6322 comparisons against +Infinity or -Infinity.
6323 (fold): Optimize floating point comparisons against Infs and NaNs.
6324
01e60c33
JJ
63252003-03-27 Janis Johnson <janis187@us.ibm.com>
6326
6327 * libgcov.c: Provide only dummy functions if libc is not available.
6328
ad59ba20
RH
63292003-03-27 Richard Henderson <rth@redhat.com>
6330
6331 * real.h (struct real_value): Add signalling.
6332 (EXP_BITS): Decrement.
6333 * real.c (get_canonical_qnan): Don't set MSB-1.
6334 (get_canonical_snan): Likewise. Set signalling.
6335 (real_identical): Compare signalling.
6336 (round_for_format): Remove force-one-bit on code.
6337 (real_nan): Likewise. Set signalling.
6338 (encode_ieee_single): Add force-one-bit code; honor signalling.
6339 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
6340 (decode_ieee_single): Set signalling.
6341 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
6342
940bbb74
OH
63432003-03-27 Olivier Hainque <hainque@act-europe.fr>
6344
6345 PR ada/9953
6346 * ada/Makefile.in (gnatlib configuration for HPUX): Split
6347 the general section for HPUX into specific sections for
6348 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
6349 11 case.
6350
c7d325c8
GN
63512003-03-27 Glen Nakamura <glen@imodulo.com>
6352
6353 PR opt/10087
6354 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
6355 while incrementing giv.
6356 (record_biv): Check for duplicate biv locations and
6357 set (struct induction *) v->same if found.
6358
f18ab437
DM
63592003-03-27 David Mosberger <davidm@hpl.hp.com>
6360
d78e771d
ZW
6361 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
6362 v0.9 API change: replace read of UNW_REG_HANDLER with
6363 unw_get_proc_info().
6364 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
6365 with unw_get_proc_info().
6366 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
6367 unw_get_proc_info().
f18ab437 6368
eaff4b90
VM
63692003-03-27 Vladimir Makarov <vmakarov@redhat.com>
6370
6371 * config/rs6000/8540.md: Use presence_set instead of absence_set.
6372
3684a055
RH
63732003-03-26 Richard Henderson <rth@redhat.com>
6374
6375 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
6376
de132314
RS
63772003-03-26 Roger Sayle <roger@eyesopen.com>
6378
6379 PR bootstrap/10051, PR bootstrap/10169.
6380 * mips-tfile.c (init_file): Don't provide a static initializer.
6381 (initialize_init_file): Initialize the contents of init_file.
6382 (add_file): Call initialize_init_file if not already initialized.
6383
6f84708a
UW
63842003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
6385
6386 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
6387 registers used for global asm variables.
6388 (s390_frame_info, s390_arg_frame_offset): Likewise.
6389 (s390_emit_prologue, s390_emit_epilogue): Likewise.
6390
5e8006fa
VM
63912003-03-26 Vladimir Makarov <vmakarov@redhat.com>
6392
d78e771d 6393 * config/rs6000/8540.md: New file.
73a39fc4 6394
5e8006fa
VM
6395 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
6396 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
6397 reservations for imul.
6398
6399 * config/rs6000/rs6000.md: Include 8540.md. Change
6400 delayed_compare onto mult_compare for insns generating
6401 multiplication.
6402 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
6403 New type attribute values.
6404
6405 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
6406 fpsimple instead of fp.
6407 (*divsf3_gpr): Use type vecfdiv instead of fp.
6408 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
6409 instead of vecfloat.
6410 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
6411 (spe_brinc): Use type brinc instead of veccomplex.
6412 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
6413 veccomplex.
6414 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
6415 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
6416 *movv2sf_internal): Define type attribute values for all
6417 alternatives.
6418 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
6419 of fpcompare.
6420 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
6421 instead of fpcompare.
73a39fc4 6422
29ae9364
DE
64232003-03-26 David Edelsohn <edelsohn@gnu.org>
6424
6425 * config/rs6000/power4.md: Allow delay between dispatch and
6426 function units for simple instructions. Correct store units.
6427 Allow branch to occupy as many dispatch slots as necessary.
6428
be565ad7
JJ
64292003-03-26 Jakub Jelinek <jakub@redhat.com>
6430
6431 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
6432 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
6433 zero extend old to it.
6434 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
6435 operand.
6436
27e484bc
EB
64372003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
6438
6439 PR target/7784
6440 * reload.c (find_reloads_address): Handle
6441 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
6442 all base registers.
6443
b47161ec
MA
64442003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
6445
6446 PR other/10203
6447 * version.c: Reference the GCC web site in the URL.
6448
611f0729
AM
64492003-03-26 Alan Modra <amodra@bigpond.net.au>
6450
6451 * c-incpath.c (add_standard_paths): Add both "translated" and
6452 non-translated header paths.
6453
e4e7d312
LR
64542003-03-25 Loren James Rittle <ljrittle@acm.org>
6455
6456 * doc/install.texi (*-*-freebsd*): Update with known status.
6457
2e2255ff
JM
64582003-03-21 Jason Merrill <jason@redhat.com>
6459
6460 PR optimization/10171
6461 * unroll.c (unroll_loop): Don't delete the jump at the end unless
6462 we also delete a jump at the beginning.
6463
8725a499
SC
64642003-03-25 Stephane Carrez <stcarrez@nerim.fr>
6465
6466 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
6467 contributor.
6468
3504dad3
JH
6469Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
6470
6471 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
6472 constants are not expensive.
6473
cb9a1d9b
JH
6474Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
6475
6476 PR opt/10056
6477 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
6478 jump jumping to the next instruction.
6479 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
6480
d6d05f8d
GP
64812003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6482
6483 * doc/passes.texi (Passes): Properly document that we do not
6484 perform jump2 any longer; remove command-line option -dJ.
6485
d2fc7725
EB
64862003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
6487
6488 PR optimization/8746
6489 * config/i386/i386.md (and promoting splitters): Disable HImode to
6490 SImode promoting when the sign bit matters and is not preserved, or
6491 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
6492 for size.
6493
beb14cfe
KH
64942003-03-24 Kazu Hirata <kazu@cs.umass.edu>
6495
6496 * config/h8300/h8300.md (a peephole2): Extend to support loads
6497 in QImode and HImode.
6498
dbcedbc4
SC
64992003-03-24 Stephane Carrez <stcarrez@nerim.fr>
6500
6501 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
6502 _return_far
6503 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
6504 (MULTILIB_EXCEPTIONS): Likewise.
6505 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
6506 by calling some board support routine.
6507 ("call_value"): Likewise.
6508 ("*return_void"): Likewise for return.
6509 ("*return_16bit"): Likewise.
6510 ("*return_32bit"): Likewise.
6511 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
6512 for 68HC11 too.
73a39fc4 6513 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
dbcedbc4
SC
6514 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
6515 -mlong-calls for 68HC11.
6516 * config/m68hc11/larith.asm (declare_near): New macro.
6517 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
6518 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
6519 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
6520 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
6521 (__mulhi32): Likewise.
6522 (ret): Update macro for 68HC11.
6523 (__far_trampoline): Implement for 68HC11.
6524 (__call_a16, __call_a32, __return_void, __return_16): New support
6525 routines for 68HC11 memory bank switching calling support.
6526 (__return_32): Likewise.
6527
696fe23c
NB
65282003-03-24 Neil Booth <neil@daikokuya.co.uk>
6529
6530 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
6531
05253aed
JJ
65322003-03-24 Janis Johnson <janis187@us.ibm.com>
6533
6534 * doc/install.texi (Testing): Mention test result links from build
6535 status pages.
6536
f8928391
MM
65372003-03-24 Mark Mitchell <mark@codesourcery.com>
6538
6539 * function.c (put_var_into_stack): Change bool parameter to int.
6540 (gen_mem_addressof): Likewise.
6541 * rtl.h (gen_mem_addressof): Likewise.
6542 * tree.h (put_var_into_stack): Likewise.
6543 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
6544 gen_mem_addressof or put_var_into_stack.
6545 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
6546 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
6547
b980d725
KH
65482003-03-24 Kazu Hirata <kazu@cs.umass.edu>
6549
6550 * config/h8300/h8300.md (a peephole2): New.
6551
2ff1fb45
JJ
65522003-03-24 Jakub Jelinek <jakub@redhat.com>
6553
6554 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
6555
8b5777db
GP
65562003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6557
6558 * doc/contrib.texi (Contributors): Update Janis Johnson.
6559
02484af9
EB
65602003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
6561
6562 PR target/10072
6563 * combine.c (simplify_if_then_else): Check that the mode
6564 has MODE_INT class before applying the (OP Z (mult COND C2))
6565 transformation.
6566
941bc659
EB
65672003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
6568
6569 PR optimization/9414
6570 * config/sparc/sparc.md (widening peepholes): Use
6571 widen_memory_access instead of change_address.
6572
f29a2bd1
MM
65732003-03-23 Mark Mitchell <mark@codesourcery.com>
6574
6575 PR c++/7086
6576 * c-typeck.c (c_mark_addressable): Adjust calls to
6577 put_var_into_stack.
6578 * expr.c (expand_expr): Likewise.
6579 * function.c (put_var_into_stack): Add rescan parameter. Do not
6580 call fixup_var_refs when rescan is false.
6581 (gen_mem_addressof): Likewise.
6582 (assign_parms): Adjust calls to put_var_into_stack.
6583 (setjmp_protect): Likewise.
6584 (setjmp_protect_args): Likewise.
6585 * rtl.h (gen_mem_addressof): Change prototype.
6586 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
6587 * tree.h (put_var_into_stack): Change prototype.
6588
fa9b4904
AB
65892003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
6590
b099daeb 6591 PR middle-end/9967
fa9b4904
AB
6592 * builtins.c (expand_builtin_fputs): When optimizing for size,
6593 don't transform fputs into fwrite.
6594
068d2c9d
MM
65952003-03-23 Glen Nakamura <glen@imodulo.com>
6596
6597 PR c/8224
6598 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
6599 when signedness changes for division or modulus.
6600
c967e28c
AM
66012003-03-24 Alan Modra <amodra@bigpond.net.au>
6602
6603 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
6604 globalize_label.
6605
766dec0e
RS
66062003-03-23 Roger Sayle <roger@eyesopen.com>
6607
6608 PR c/10178
6609 * stmt.c (expand_end_case_type): Check for overflow in range when
6610 determining whether to use a bit-test implementation.
6611
ef3e9886
RH
66122003-03-23 Richard Henderson <rth@redhat.com>
6613
6614 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
6615 before flow2.
6616 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
6617
bd2eae18
RH
66182003-03-23 Richard Henderson <rth@redhat.com>
6619
6620 PR opt/10116
6621 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
6622 from then_bb or else_bb after flow2.
6623
62c9aa5f
ZW
66242003-03-23 Zack Weinberg <zack@codesourcery.com>
6625
6626 * configure.in: Check whether it is necessary to link against
6627 libm to use ldexp.
6628 * configure: Regenerate.
6629 * Makefile.in: Add LDEXP_LIB substitution variable.
6630
4d1da12a
KH
66312003-03-23 Kazu Hirata <kazu@cs.umass.edu>
6632
6633 * config/h8300/h8300.md: Fix comment typos.
6634
7772f0a9
JDA
66352003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6636
6637 * pa.c (output_cbranch): Fix typo in comment.
6638
3ce6bef0
RH
66392003-03-22 Richard Henderson <rth@redhat.com>
6640
6641 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
6642 after reload.
6643
7a9cdb10
DD
66442003-03-22 DJ Delorie <dj at redhat dot com>,
6645 Bruce Korb <bkorb at gnu dot org>
6646
6647 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
6648 buggy Solaris 2.6 mutex/cond initializers.
6649 (solaris_mutex_init): Rename to solaris_mutex_init_2.
6650 * fixinc/fixincl.x: Regenerate.
6651 * fixinc/tests/base/pthread.h: Update.
00af168c
BK
6652 * fixinc/fixincl.c(initialize): be explicit about the default case
6653 and indicate verbose level when being very, very verbose.
6654 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
7a9cdb10 6655
8330e2c6
AJ
66562003-03-22 Andreas Jaeger <aj@suse.de>
6657
6658 * config/i386/i386.c (ix86_init_machine_status): Return value.
6659
02a57c73
JDA
66602003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6661
6662 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
6663 conditional branch to the following instruction. Use next_real_insn
6664 instead of next_active_insn.
6665 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
6666 instead of next_active_insn.
6667
97c6f7ad
UW
66682003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
6669
c967e28c
AM
6670 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
6671 instead of 'm' constraint in forced-split alternatives.
97c6f7ad
UW
6672 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
6673 VALIDATE_ADDRESS parameter to operand_subword.
6674
c8fcf20c
KH
66752003-03-22 Kazu Hirata <kazu@cs.umass.edu>
6676
6677 * config/h8300/h8300.c (notice_update_cc): Correctly handle
6678 the case where the set destination is STRICT_LOW_PART.
6679
21c0e624
SS
66802003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
6681
6682 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
6683 c30 instead of a c40 processor.
6684
70e1b8fc
AM
66852003-03-22 Alan Modra <amodra@bigpond.net.au>
6686
6687 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
6688
d9b2742a
ZW
66892003-03-21 Zack Weinberg <zack@codesourcery.com>
6690
6691 * c-common.c: Include intl.h.
6692 (shadow_warning): Rewrite to allow better diagnostic translations.
6693 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
6694 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
6695 use it throughout.
6696 * Makefile.in (c-common.o): Add intl.h.
6697
cbbf876b
NN
66982003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
6699
bea41393
NN
6700 * config.gcc: Remove 'float_format'.
6701
cbbf876b
NN
6702 * fixproto: Define NULL and size_t in generated stdlib.h and
6703 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
6704 Rearrange file generation loop for readability. Generate time.h,
6705 string.h if missing.
6706 * tsystem.h: Include <string.h>, <time.h> unconditionally.
6707 * config.gcc: Blow away POSIX defines.
6708
84fcbe0a
SC
67092003-03-22 Stephane Carrez <stcarrez@nerim.fr>
6710
6711 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
6712
639a8102
SC
67132003-03-22 Stephane Carrez <stcarrez@nerim.fr>
6714
6715 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
6716 writing .interrupt command.
6717 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
6718 if it's a far or near function.
6719 ("call_value"): Likewise.
6720 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
6721 near attributes.
6722 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
6723 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
6724 (m68hc11_initial_elimination_offset): Set current_function_far
6725 according to attributes.
6726 (expand_prologue): Likewise.
6727 (trap_handler_symbol): New global to keep track of trap handlers.
6728 (m68hc11_encode_section_info): Mark symbol as far if needed; set
6729 trap symbol.
6730 (m68hc11_is_far_symbol): New function.
6731 (m68hc11_is_trap_symbol): New function.
6732 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
6733 (m68hc11_is_trap_symbol): Declare.
6734
62c9aa5f 67352003-03-21 Jan Hubicka <jh@suse.cz>
d7394366
JH
6736
6737 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
6738 only when amount of saved regs changed.
6739 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
6740 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
6741
62c9aa5f 67422003-03-21 Jan Hubicka <jh@suse.cz>
5dc96d60
JH
6743
6744 PR inline-asm/7916
6745 * function.c (instantiate_virtual_regs_lossage): New function.
6746 (instantiate_virtual_regs_1): Use it.
6747 (instantiate_virtual_regs): Do not continue in substition when insn has
6748 been deleted.
6749
c5c15353
KH
67502003-03-21 Kazu Hirata <kazu@cs.umass.edu>
6751
6752 * combine.c (make_field_assignment): Fix a warning.
6753
5c1c25f0
KH
67542003-03-21 Kazu Hirata <kazu@cs.umass.edu>
6755
6756 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
6757
6b13641d
DJ
67582003-03-21 Dale Johannesen <dalej@apple.com>
6759
6760 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
6761 priority for R2 on Darwin.
6762 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
6763
6e814b8d
KH
67642003-03-21 Kazu Hirata <kazu@cs.umass.edu>
6765
6766 * combine.c (make_field_assignment): Remove unnecessary AND
6767 when storing into zero_extract.
6768
2d295af5
ZW
67692003-03-21 Zack Weinberg <zack@codesourcery.com>
6770
6771 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
6772 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
6773 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
6774 in comment.
6775
c0510d84
DD
67762003-03-21 DJ Delorie <dj@redhat.com>
6777
6778 * optabs.c (init_integral_libfuncs): Make sure we init at least up
6779 to "long long" size words.
6780
fe86047c
UW
67812003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
6782
6783 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
6784 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
6785 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
6786
526278c9
VR
67872003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6788
6789 PR doc-bug/9813
6790 * doc/extend.texi: Move misplaced paragraph about underscores in
6791 variables in macros.
6792
731458a4 67932003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2d295af5 6794 Richard Henderson <rth@redhat.com>
731458a4
EB
6795
6796 PR optimization/8366
6797 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
6798 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
6799 PIC+SYMBOLIC_CONST in other modes than Pmode.
6800 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
6801 the form PIC+SYMBOLIC_CONST as mode dependent.
6802
f3cd0185
DD
68032003-03-21 DJ Delorie <dj@redhat.com>
6804
6805 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
6806 sure we always emit at least one insn.
6807
70e5e841
CF
68082003-03-21 Christopher Faylor <cgf@redhat.com>
6809
6810 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
6811 stub t-cygming. Use common target header cygming.h. Add extra
6812 c_target_obj and cxx_target_obj file. Default cygwin to posix
6813 threading. Enforce i386 as float format.
6814 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
6815 Remove cygwin.h as target header. Use common target header
6816 cygming.h Enforce i386 as float format. Correct typo.
6817 * config/i386/cygming.h: New file, containing definitions
6818 common to mingw32 and cygwin.
6819 * config/i386/cygwin.h: Remove definitions common to cygwin and
6820 mingw. Simplify special spec logic. Define "wrappers" around
6821 certain include path defines to accommodate -mno-cygwin.
6822 Remove some #if 0'ed code.
2d295af5 6823 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
70e5e841
CF
6824 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
6825 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
6826 * config/i386/mingw32.h: Remove definitions common to cygwin and
6827 mingw.
6828 (EXTRA_OS_CPP_BUILTINS): Adjust.
6829 (TARGET_VERSION): Define.
6830 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
6831 mingw32.h definitions.
6832 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
6833 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
6834 Add compilation rules for cygwin1.o cygwin2.o.
6835 * config/i386/cygwin1.c: New file.
6836 * config/i386/cygwin2.c: New file.
6837 * config/i386/t-cygming: New makefile stub.
6838
4bddea4c
RH
68392003-03-20 Richard Henderson <rth@redhat.com>
6840
6841 * fold-const.c (extract_muldiv_1): Revert changing order of
6842 operands in case MULT_EXPR of 2003-02-16 patch.
6843
b3411d7e 68442003-03-20 Daniel Berlin <dberlin@dberlin.org>
06790e5f 6845 Merge changes from new-regalloc-branch
b3411d7e
DB
6846
6847 From Michael Matz <matz@suse.de>
6848 * df.c (df_ref_record_1): Move init of loc to safe point.
6849 Only recurse on interesting things in parallels.
6850 Handle CLASS_CANNOT_CHANGE_MODE smarter.
6851 (df_uses_record): Ditto.
2d295af5 6852
b3411d7e
DB
6853 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
6854 it's already okay to use memory operands in (IE doesn't require
6855 adding another insn or anything).
6856
05d482b9
RH
68572003-03-20 Richard Henderson <rth@redhat.com>
6858
6859 PR middle-end/6348
6860 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
6861 different from word_mode.
6862
86a36a0e
KH
68632003-03-20 Kazu Hirata <kazu@cs.umass.edu>
6864
6865 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
6866 source operand to those that can be extracted with bld.
6867
228692e2
RE
68682003-03-20 Richard Earnshaw <rearnsha@arm.com>
6869
6870 PR 10066
6871 * arm.md (UNSPEC_PIC_BASE): New constant.
6872 (pic_add_dot_plus_four): Wrap with unspec.
6873 (pic_add_dot_plus_eight): Likewise.
6874
d0940a55
KH
68752003-03-20 Kazu Hirata <kazu@cs.umass.edu>
6876
6877 * config/h8300/h8300.md (*insv_si_1_n): New.
6878 (*insv_si_1_n_lshiftrt): Likewise.
6879
c876997f
RS
68802003-03-20 Roger Sayle <roger@eyesopen.com>
6881
6882 * fold-const.c (fold_mathfn_compare): New function to simplify
6883 comparisons against built-in math functions. Fold comparisons
6884 of sqrt against constants.
6885 (fold): Call fold_mathfn_compare when appropriate.
6886
952a6df7
RE
68872003-03-20 Richard Earnshaw <rearnsha@arm.com>
6888
6889 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
6890 information.
6891
8826ff0f
PB
68922003-03-20 Per Bothner <pbothner@apple.com>
6893
6894 Various cleanups to help compile server.
6895
b4e46cea
PB
6896 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
6897 and pass that to _cpp_init_hashtable.
6898 (cpp_read_main_file): Drop hash_table* argument; don't call
6899 _cpp_init_hashtable.
6900 * cpplib.h: Update declarations to match.
6901 * c-opts.c (c_common_init_options): Pass ident_hash to
6902 cpp_create_reader.
6903 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
6904 * fix-header.c (read_scan_file): Likewise pass NULL table to
6905 cpp_create_reader rather than cpp_read_main_file.
6906
6907 * cppfiles.c (cpp_rename_file): Generalized and renamed
6908 to cpp_change_file.
6909 * cpplib.h: Update declaration to match.
6910 * c-opts.c (push_command_line_line, finish_options): Change
6911 cpp_rename_file calls to cpp_change_file.
2d295af5 6912
8826ff0f 6913 * line-map.c (add_line_map): Allow leaving the outermost file.
2d295af5 6914 Allowing entering an outermost-file after the initial time.
8826ff0f
PB
6915
6916 * toplev.c (pop_srcloc): Allow popping from initial file.
6917
015c3186
KH
69182003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
6919
6920 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
6921
101cb92a
KH
69222003-03-20 Kazu Hirata <kazu@cs.umass.edu>
6923
6924 * config/h8300/h8300.md (a peephole2): New.
6925
f4613a2e
KH
69262003-03-20 Kazu Hirata <kazu@cs.umass.edu>
6927
6928 * config/h8300/h8300.md (*addsi3_and_r_1): New.
6929 (*addsi3_and_not_r_1): Likewise.
6930
31260fb8
LR
69312003-03-19 Loren James Rittle <ljrittle@acm.org>
6932
6933 * Makefile.in (STRICT2_WARN): Add @WERROR@.
6934 (GCC_WARN_CFLAGS): Remove $(WERROR).
6935 (fixinc.sh-warn): New.
6936 * ada/Make-lang.in (ada-warn): Add $(WERROR).
6937 * cp/Make-lang.in (cp-warn): Add $(WERROR).
6938 * f/Make-lang.in (f-warn): Add $(WERROR).
6939 * java/Make-lang.in (java-warn): Add $(WERROR).
6940 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
6941
2bd3ecad
NN
69422003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
6943
6944 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
6945 langhooks-def.h (lhd_tree_dump_dump_tree),
6946 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
6947 Change return type from 'int' to 'bool'. Replace 0 and 1 with
6948 true and false in return statements.
6949
9eb0ef7a
KB
69502003-03-19 Kevin Buettner <kevinb@redhat.com>
6951
6952 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
6953 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
6954 DWARF_INITIAL_LENGTH_SIZE.
6955 (output_compilation_unit_header, output_pubnames, output_aranges)
6956 (output_line_info): Output 0xffffffff escape value for 64-bit
6957 DWARF extension.
6958 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
6959
8b5642e0 69602003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
0796c16a
UW
6961
6962 * config/s390/s390.c (s390_preferred_reload_class): Do not
6963 force constants to the pool unless necessary.
6964 (s390_decompose_address): Prefer to use pointer as base,
6965 not index register.
6966 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
6967 Q alternative.
2d295af5 6968 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
0796c16a
UW
6969 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
6970 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
6971 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
6972 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
6973
62c9aa5f 69742003-03-19 Jan Hubicka <jh@suse.cz>
d9b40e8d
JH
6975
6976 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
6977 * i386.c (use_fast_prologue_epilogue): Remove.
6978 (ix86_frame): New field save_regs-using_mov;
6979 (ix86_compute_frame_layout): Decide on fast prologues;
6980 allocate saved registers in red zone.
6981 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
6982
31488c64
NC
69832003-03-19 Nick Clifton <nickc@redhat.com>
6984
6985 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
6986
685d0e07
JDA
69872003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6988
6989 PR 10062
6990 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
6991 * pa-protos.h (output_lbranch): New prototype.
6992 * pa.c (compute_frame_size): Change size of the frame marker on the
6993 64-bit ports to 48 bytes.
6994 (pa_output_function_prologue): Document why SAVE_SP is set.
6995 (hppa_expand_prologue): Save previous stack pointer into frame marker
6996 on targets which use the hpux unwind library.
6997 (output_cbranch): Use output_lbranch.
6998 (output_lbranch): New function to output long unconditional branches.
6999 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
7000 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
7001 64-bit ports.
7002 * pa.md (jump): Use output_lbranch.
7003 (allocate_stack): New expander for dynamic stack allocation.
7004
6a04f4e0
AM
70052003-03-19 Alan Modra <amodra@bigpond.net.au>
7006
178274da
AM
7007 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
7008 when debugging on XCOFF targets. Delete "abi" temp.
7009
6a04f4e0
AM
7010 PR target/10073
7011 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
7012
6b2300b3
JJ
70132003-03-18 Jakub Jelinek <jakub@redhat.com>
7014
7015 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
7016 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
7017 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
7018
7019 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
7020 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
7021 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
7022
5ba6918e
GK
70232003-03-18 Geoffrey Keating <geoffk@apple.com>
7024
6788f5ca
GK
7025 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
7026 the result of machopic_function_base_name.
7027 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
7028 string rather than a static array.
7029
5ba6918e
GK
7030 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
7031
7032 * gengtype.c: Include rtl.h.
7033 (enum rtx_code): Don't define.
7034 (rtx_format): Make declaration match rtl.h.
7035 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
7036 users.
7037 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
7038 * Makefile.in (gengtype.o): Update dependencies.
7039
e0ec941e
AS
70402003-03-18 Andreas Schwab <schwab@suse.de>
7041
7042 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
7043 martin@blom.org.
7044
8291cc0e
GK
70452003-03-18 Geoffrey Keating <geoffk@apple.com>
7046
f83b236e
GK
7047 * function.c (next_block_index): Mark with GTY.
7048
8291cc0e
GK
7049 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
7050
b39eb2f9
RH
70512003-03-18 Richard Henderson <rth@redhat.com>
7052
7053 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
7054 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
7055 until after reload.
7056
6c537d03
RH
70572003-03-18 Richard Henderson <rth@redhat.com>
7058
7059 * builtins.c (expand_builtin_unop): New target_mode operand;
7060 use it to convert the result to the correct mode.
7061 (expand_builtin): Update all callers.
7062
fe03d631
UW
70632003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
7064
7065 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
7066
62c9aa5f 70672003-03-18 Jan Hubicka <jh@suse.cz>
45183e03 7068
75fbf7d9
JH
7069 * i386.md: Fix previous commit that mistakely applied the patch
7070 twice.
7071
45183e03
JH
7072 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
7073 canonicalized.
7074 (memrefs_conflict_p): Likewise.
7075 (addr_side_effect_eval): Canonicalize the constructed address.
7076
62c9aa5f 70772003-03-18 Jan Hubicka <jh@suse.cz>
8dfa3bb0
JH
7078
7079 * i386.md (cvtts?2si peep2): New.
7080
1e788887
KH
70812003-03-18 Kazu Hirata <kazu@cs.umass.edu>
7082
7083 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
7084
94e001a9
AS
70852003-03-18 Andreas Schwab <schwab@suse.de>
7086
7087 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
7088 for format.
7089
bdaa131b
JM
70902003-03-17 Jason Merrill <jason@redhat.com>
7091
7092 PR c++/10091
7093 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
7094 an unaligned member of TREE_ADDRESSABLE type.
7095
ffcfcb5f
AM
70962003-03-18 Alan Modra <amodra@bigpond.net.au>
7097
7098 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
7099 (TARGET_PROFILE_KERNEL): Define.
7100 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
7101 (PROFILE_BEFORE_PROLOGUE): Don't define.
7102 (PROFILE_KERNEL): Remove hacks.
7103 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
7104 (rs6000_stack_info): No need to save lr if just for profiling when
70e1b8fc
AM
7105 TARGET_PROFILE_KERNEL.
7106 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
ffcfcb5f
AM
7107 (output_function_profiler): Localize label generation. Emit code
7108 for kernel profiling.
7109
9b98dc74
KH
71102003-03-17 Kazu Hirata <kazu@cs.umass.edu>
7111
7112 * config/h8300/h8300-protos.h: Add a prototype for
7113 byte_accesses_mergeable_p.
7114 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
7115 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
7116 (a splitter): Likewise.
7117 (*iorsi3_ashift_16_ashift_24): Likewise.
7118 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
7119
d41c4351
KG
71202003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7121
7122 * dwarf2asm.h: Delete obsolete comment.
7123 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
7124 dw2_asm_output_pcrel, dw2_asm_output_addr,
7125 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
7126 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
7127 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
7128 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
7129
6970c06a
ZW
71302003-03-17 Zack Weinberg <zack@codesourcery.com>
7131
7132 * c-tree.h (struct lang_identifier): Remove error_locus field.
7133 (IDENTIFIER_ERROR_LOCUS): Kill.
7134 (record_function_scope_shadow): New prototype.
7135 * c-typeck.c (build_external_ref): Don't complain if
7136 decl is error_mark_node. When not at file scope, bind the
7137 decl's local value to error_mark_node to suppress further
7138 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
7139
7140 * c-decl.c (get_function_binding_level): New static function.
7141 (record_function_scope_shadow): New exported function.
7142 (c_make_fname_decl): Use get_function_binding_level.
7143
405a98aa
SE
71442003-03-17 Steve Ellcey <sje@cup.hp.com>
7145
7146 * stmt.c (tail_recursion_args): Call promote_mode to set
7147 unsignedp flag correctly before calling convert_move.
7148
df86c7e2
ZD
71492003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7150
7151 * loop-unroll.c (decide_peel_completely,
7152 decide_unroll_constant_iterations, decide_unroll_stupid,
7153 decide_unroll_runtime_iterations, decide_peel_simple): Set
7154 loop->has_desc.
7155
62c9aa5f 71562003-03-17 Jan Hubicka <jh@suse.cz>
dbccdc42
JH
7157
7158 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
7159
b36a8cc2
OH
71602003-03-17 Olivier Hainque <hainque@act-europe.fr>
7161
7162 * function.c (assign_parms): For a struct value address passed as
7163 first argument, delay the function's result RTL setup code until
7164 after the emission of parameter conversions.
6970c06a 7165
94833648
DL
71662003-03-17 Dave Love <fx@gnu.org>
7167 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
aeefc21d
DL
7168
7169 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
7170 __arch64__ to match Compaq cc.
7171
783e2989
NB
71722003-03-17 Neil Booth <neil@daikokuya.co.uk>
7173
7174 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
7175 (c_common_init): Set EBCDIC in cpp options.
7176 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
7177 not conditional compilation.
7178 * cpplib.h (struct cpp_options): New entry EBCDIC.
7179
72ecfc60
NB
71802003-03-17 Neil Booth <neil@daikokuya.co.uk>
7181
7182 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
7183
47009d11
MH
71842003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7185
7186 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
7187 argument to 0 for redirect_jump.
47009d11 7188
bafb714b
MM
71892003-03-16 Mark Mitchell <mark@codesourcery.com>
7190
7191 PR c++/8805
7192 * except.c (eh_region_u_cleanup): Add prev_try.
7193 (expand_eh_region_end_cleanup): Set it.
7194 (reachable_handlers): Use it to skip over cleanup blocks.
7195
30492adf
AJ
71962003-03-17 Andreas Jaeger <aj@suse.de>
7197
7198 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
7199
7b3464ee
AM
72002003-03-17 Alan Modra <amodra@bigpond.net.au>
7201
7202 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
7203 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
7204 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
7205 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
7206
4f5c0f7e
RH
72072003-03-16 Richard Henderson <rth@redhat.com>
7208
6970c06a
ZW
7209 * simplify-rtx (simplify_binary_operation): Don't abort for
7210 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
4f5c0f7e 7211
3c298c88
RH
72122003-03-16 Richard Henderson <rth@redhat.com>
7213
6970c06a
ZW
7214 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
7215 optimize_size as well.
3c298c88 7216
fe91bac5
SC
72172003-03-16 Stephane Carrez <stcarrez@nerim.fr>
7218
7219 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
7220 for D register to specify the low part of it, aka B.
7221 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
7222 the register if we are loading 1 or -1 to it; avoid using temp
7223 register when moving X/Y to Y/X.
7224 (m68hc11_gen_movqi): Likewise.
7225 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
7226
ddc67067
MM
72272003-03-14 Mark Mitchell <mark@codesourcery.com>
7228
7229 PR optimization/9016
7230 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
7231 into the constant pool.
7232
0a71919d
FH
72332003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
7234
7235 PR target/9164
7236 * tree.c (get_narrower): For extensions with unchanged bit number,
7237 return the unsignedness of the outer mode.
7238
46ea50cb
RS
72392003-03-16 Roger Sayle <roger@eyesopen.com>
7240
7241 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
7242 to avoid "may be used uninitialized" warning on ia64-hpux.
7243 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
7244
012c387f
AJ
72452003-03-16 Andreas Jaeger <aj@suse.de>
7246
7247 * configure.in: Improve check for memcheck.h.
7248 * configure: Regenerated.
7249
7d1c4aae
NB
72502003-03-16 Neil Booth <neil@daikokuya.co.uk>
7251
7252 * doc/cppopts.texi: Remove documentation of -A-.
7253
e20798d1
ZW
72542003-03-15 Zack Weinberg <zack@codesourcery.com>
7255
7256 * doc/libgcc.texi: Remove @tie.
7257
4af16369
JZ
72582003-03-15 Josef Zlomek <zlomekj@suse.cz>
7259
7260 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
7261 (rtx_pair): Added new element update_label_nuses, renamed to
7262 replace_label_data.
7263 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
7264 replace_label_data instead of rtx_pair.
7265 * loop.c (load_mems): Likewise.
7266 * rtlanal.c (replace_label): Replace label in pool constants and in
7267 INSN_LIST (in REG_LABEL note).
7268 (subrtx_p): Renamed to rtx_referenced_p.
7269 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
7270 LABEL_REF with CODE_LABEL, traverse constants from pool.
7271
d2184e79
AH
72722003-03-15 Aldy Hernandez <aldyh@redhat.com>
7273 Zack Weinberg <zack@codesourcery.com>
7274
7275 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
7276 * doc/libgcc.texi: New file.
7277 * doc/interface.texi: Delete paragraph about libgcc interface.
7278 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
7279
8cadae7e
JM
72802003-03-15 Jason Merrill <jason@redhat.com>
7281
ae0e5982
JM
7282 PR debug/9039
7283 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
7284
8cadae7e
JM
7285 PR debug/6387
7286 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
7287 function DIEs at toplevel.
7288 (decls_for_scope): At -g1, don't descend into subblocks.
7289
2436a91b
UW
72902003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
7291
7292 * varasm.c (struct rtx_const): Change type of un.addr member
7293 to struct holding an additional 'symbol' member.
7294 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
7295 with equal string addresses as equal.
7296 (simplify_subtraction): Adapt to struct rtx_const change.
7297
151c68c3
NB
72982003-03-15 Neil Booth <neil@daikokuya.co.uk>
7299
7300 * fix-header.c (read_scan_file): Read main file before handling -D.
7301
6a87d634
RS
73022003-03-15 Roger Sayle <roger@eyesopen.com>
7303
7304 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
7305 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
7306 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
7307 (find_sub_basic_blocks): Likewise.
7308 * cgraphunit.c (cgraph_expand_functions): Likewise.
7309 * dwarf2out.c (prune_unused_types): Likewise.
7310 * expr.c (store_field): Likewise.
7311 * genextract.c (print_path): Likewise.
7312 * haifa-sched.c (schedule_insn): Likewise.
7313 * lcm.c (compute_antinout_edge): Likewise.
7314 * loop-unroll.c (decide_peel_once_rolling): Likewise.
7315 * ra-colorize.c (ra_colorize_free_all): Likewise.
7316 * ra-debug.c (dump_igraph): Likewise.
7317 (debug_hard_reg_set): Likewise.
7318 * reg-stack.c (reg_to_stack): Likewise.
7319 * rtlanal.c (refers_to_regno_p): Likewise.
7320 * tracer.c (layout_superblocks): Likewise.
7321
49c46444
NB
73222003-03-15 Neil Booth <neil@daikokuya.co.uk>
7323
7324 * fix-header.c (read_scan_file): Fix thinko.
7325
1fe668e5
GN
73262003-03-15 Glen Nakamura <glen@imodulo.com>
7327
7328 * reload1.c (choose_reload_regs): Use && instead of ||
7329 with REG_CANNOT_CHANGE_MODE_P condition.
7330
c1bad961
NB
73312003-03-15 Neil Booth <neil@daikokuya.co.uk>
7332
7333 * Makefile.in: Update.
7334 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
7335 * c-lex.c (init_c_lex): Register builtins hook is dead.
7336 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
7337 (c_common_decode_option): Don't call cpp_handle_option.
7338 Handle -A, -D and -U.
7339 (handle_deferred_opts): Simplify.
7340 (finish_options): Define builtins and command line macros.
7341 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
7342 * cppinit.c: Don't include intl.h.
7343 (init_builtins): Rename cpp_init_builtins. No hook to call.
7344 (init_library): Don't need to sort options.
7345 (cpp_create_reader): Don't set pending.
7346 (cpp_destroy): Don't free pending.
7347 (struct pending_option, cl_directive_handler, struct cpp_pending,
7348 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
7349 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
7350 cl_options, cpp_handle_option): Remove.
7351 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
7352 cpp_finish_options): Remove.
7353 (cpp_init_builtins): New.
7354 * fix-header.c (read_scan_file): Update to handle -D. Fix
7355 handling of -I. Replace call to cpp_finish_options.
7356
d8eed979
MH
73572003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7358
7359 PR optimization/9387
7360 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
7361 for conditional returns.
7362
af75fb67
JM
73632003-03-14 Jason Merrill <jason@redhat.com>
7364
7365 PR optimization/6871
7366 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
7367
255c10b1
NB
73682003-03-14 Neil Booth <neil@daikokuya.co.uk>
7369
7370 * c-opts.c (finish_options): New.
7371 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
7372 (missing_arg): Handle OPT_include and OPT_imacros.
7373 (c_common_init, c_common_parse_file): Use finish_options.
7374 (handle_deferred_opts): Update.
7375 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
7376 (cpp_finish_options): Don't handle -imacros here.
7377 (no_fil): Remove.
7378 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
7379
027fbf43
JJ
73802003-03-14 Jakub Jelinek <jakub@redhat.com>
7381
7382 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
7383 rs6000_maybe_dead if !fromprolog.
7384
23345bbb
NB
73852003-03-14 Neil Booth <neil@daikokuya.co.uk>
7386
7387 * Makefile.in: Update.
7388 * c-common.h (fe_file_change, pp_file_change): New.
7389 * c-lex.c (init_c_lex): Don't set cb_file_change.
7390 (c_common_parse_file): Move to c-opts.c.
7391 (cb_file_change): Rename fe_file_change.
7392 * c-opts.c: Include debug.h.
7393 (warn_unused_macros, include_cursor): New.
7394 (push_command_line_include, cb_file_change): New.
7395 (COMMAND_LINE_OPTIONS): Handle -include.
7396 (c_common_decode_option): Use local warn_unused_macros.
7397 Handle OPT_include.
7398 (c_common_post_options): Set file change callback.
7399 (handle_deferred_opts): Skip -include. Don't free the array.
7400 (c_common_init): Call cpp_finish_options here, and push an
7401 initial -include file.
7402 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
7403 (preprocess_file): Don't call cpp_finish_options.
7404 (init_pp_output): Don't set the file change callback.
7405 (pp_file_change): Return if no line commands or no output.
7406 * cpphash.h (next_include_file, first_unused_line): Remove.
7407 * cppinit.c (include_head, include_tail): Remove.
7408 (cpp_destroy): Don't free -include chain.
7409 (cpp_finish_options): Don't handle -include, or worry about
7410 -Wunused-macros.
7411 (_cpp_maybe_push_include_file): Remove.
7412 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
7413 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
7414 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
7415 Used flag is set based upon the state of the warn_unused_macros
7416 flag, and so use of first_unused_line is unnecessary.
7417
62c9aa5f 74182003-03-13 Jan Hubicka <jh@suse.cz>
cd648cec
JH
7419
7420 * cselib.c (clear_table): Do not take argument; always clear just
7421 used slots.
7422 (cselib_process_insn): Update call of clear_table
7423 (cselib_init): Do not call clear_table.
7424 (cselib_finish): Clear table.
7425
7426 * cse.c (count_reg_usage): Do not check side_effects_p.
7427 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
7428 like noop.
7429 (find_reg_equal_equiv_note): Do not use find_reg_note.
7430
35d9c403
RH
74312003-03-14 Richard Henderson <rth@redhat.com>
7432
7433 PR target/9700
1fe668e5 7434 * config/alpha/alpha.c (alpha_va_start): Account for
35d9c403
RH
7435 current_function_pretend_args_size in the AP offset.
7436
7437 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
7438 (INITIAL_ELIMINATION_OFFSET): Move out of line.
7439 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
7440 (alpha_initial_elimination_offset) New.
7441 * config/alpha/alpha-protos.h: Update.
7442
f43f4314
JJ
74432003-03-14 Jakub Jelinek <jakub@redhat.com>
7444
7445 * stmt.c (expand_start_case): Call emit_queue ().
7446
35d9c403
RH
74472003-03-14 Chris Demetriou <cgd@broadcom.com>
7448 Alexandre Oliva <aoliva@redhat.com>
a0a89ed0
CD
7449
7450 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
7451 words in new abis.
7452
f650843f
EB
74532003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
7454
7455 PR optimization/8396
7456 * tree-inline.c (initialize_inlined_parameters): Make sure the value
7457 of read-only constant arguments is passed with the right type.
7458
a721a601
SB
74592003-03-14 Steven Bosscher <steven@gcc.gnu.org>
7460
7461 * doc/extend.texi (Function Names): Make the example compilable.
7462
a12f8290
DE
74632003-03-13 David Edelsohn <edelsohn@gnu.org>
7464
7465 * config/rs6000/rs6000.c (processor_target_table): Really allow
7466 GP optional instructions on Power4.
7467
74682003-03-13 Roger Sayle <roger@eyesopen.com>
36dbb93d
RS
7469
7470 * calls.c (flags_from_decl_or_type): Factor and remove redundant
7471 conditional tests.
7472
c4775f82
MS
74732003-03-13 Mike Stump <mrs@apple.com>
7474
7475 * ggc-page.c (struct page_entry): Remove varray.h header.
7476 Add index_by_depth field.
7477 Remove save_in_use_p field.
7478 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
7479 by_depth_max, by_depth, and save_in_use fields.
7480 (INITIAL_PTE_COUNT): Add.
7481 (save_in_use_p_i): Add.
7482 (save_in_use_p): Add.
7483 (adjust_depth): Add.
7484 (move_ptes_to_front): Add.
7485 (push_depth): Add.
7486 (push_by_depth): Add.
7487 (prefetch): Add.
7488 (free_page): Add support for and use faster data structures.
7489 (ggc_alloc): Likewise.
7490 (init_ggc): Likewise.
7491 (ggc_recalculate_in_use_p): Likewise.
7492 (ggc_pop_context): Likewise.
7493 (clear_marks): Likewise.
7494 (ggc_pch_read): Likewise.
7495 * Makefile.in (ggc-page.o): Remove varray.h.
7496
3bed2930
NN
74972003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
7498
7210d5ae
NN
7499 * ChangeLog: Rotated last year's entries to...
7500 * ChangeLog.8: New.
7501
1fe668e5 7502 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
3bed2930
NN
7503 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
7504 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
7505 config/ia64/ia64-protos.h, config/ia64/ia64.c,
7506 config/ia64/ia64.h, config/ia64/ia64.md,
7507 config/ia64/itanium1.md, config/ia64/itanium2.md,
7508 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
7509 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
7510
3bd104d1
AH
75112003-03-13 Aldy Hernandez <aldyh@redhat.com>
7512
d2184e79
AH
7513 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
7514 Differentiate endianness.
7515 (s6000_override_options): Use cpu type instead of TARGET_SPE.
3bd104d1 7516
2ed0b52a
NC
75172003-03-13 Nick Clifton <nickc@redhat.com>
7518
b17fe233 7519 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
d2184e79
AH
7520 LDM instructions with writeback enabled.
7521 (output_return_instruction): Likewise.
b17fe233 7522
2ed0b52a
NC
7523 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
7524 (CALL_USED_REGISTERS): Remove definition.
7525 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
7526
f1384257
AM
75272003-03-13 Alan Modra <amodra@bigpond.net.au>
7528
7529 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
7530 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
7531 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
7532 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
7533 (rs6000_legitimize_address): Formatting.
7534 (rs6000_emit_move): Likewise.
7535 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
7536 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
7537 (rs6000_elf_select_section): Comment reason for shlib being
7538 set for ABI_AIX.
7539 (rs6000_elf_unique_section): Likewise.
7540 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
7541 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
7542 as well as flag_pic.
7543 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
7544 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
7545 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
7546
599aedd9
RH
75472003-03-13 Richard Henderson <rth@redhat.com>
7548
7549 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
7550
7551 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7552 (ia64_gp_save_reg): Remove.
7553 (struct ia64_frame_info): Move to the beginning of the file;
7554 add reg_save_gp.
7555 (ia64_expand_call): Rearrange for new call patterns.
7556 (ia64_reload_gp): New.
7557 (ia64_split_call): New.
7558 (ia64_compute_frame_size): Allocate reg_save_gp.
7559 (ia64_expand_prologue): Save reg_save_gp.
7560 (ia64_expand_epilogue): Don't restore gp.
7561 (ia64_hard_regno_rename_ok): Remove R4 hack.
7562 (ia64_function_ok_for_sibcall): New.
1fe668e5 7563 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
599aedd9
RH
7564 call try_split on sibcall pattern.
7565 * config/ia64/ia64-protos.h: Update.
7566 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
7567 Rename from nopic versions. Confiscate 2nd argument to call as
7568 a marker.
7569 (call_pic, call_value_pic, sibcall_pic): Remove.
7570 (call_gp, call_value_gp, sibcall_gp): New.
7571 (builtin_setjmp_setup): Remove.
7572 (builtin_setjmp_receiver): Call ia64_reload_gp.
7573
e7d9d16b
NN
75742003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
7575
1fe668e5 7576 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2ff8f7ac
NN
7577 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
7578 "GNU CC" with "GCC".
7579
4db9c756
NN
7580 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
7581 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
7582 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
7583 GCC, not GNU CC.
7584
63b025a5
NN
7585 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
7586 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
7587
54a7b573
NN
7588 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
7589 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
7590 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
7591 "GNU CC" with "GCC".
7592
301ee2f3
NN
7593 * config/v850/lib1funcs.asm, config/v850/rtems.h,
7594 config/v850/v850-c.c, config/v850/v850-protos.h,
7595 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
7596 GCC, not GNU CC.
7597
e7d9d16b
NN
7598 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
7599 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
7600 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
7601 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
7602 GNU CC.
7603
93c98498
BK
76042003-03-12 Benjamin Kosnik <bkoz@redhat.com>
7605
7606 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
7607
e531258e
NN
76082003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
7609
706ae11c
NN
7610 * fixinc/fixinc.interix: Remove dead code (most of it).
7611 * fixinc/fixinc.dgux: Remove.
7612
e531258e
NN
7613 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
7614 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
7615
eab9e742
JDA
76162003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7617
7618 * pa.c (pa_init_builtins): Fix warning.
7619
03d0dce1
SE
76202003-03-12 Steve Ellcey <sje@cup.hp.com>
7621
7622 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
7623 (ASM_OUTPUT_XDATA_SHORT): Remove.
7624 (ASM_OUTPUT_XDATA_INT): Remove.
7625 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
7626 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
7627 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
7628 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
7629
847311f4
AL
76302003-03-12 Andrew Lewycky <andrew@mxc.ca>
7631
7632 PR c++/7050
7633 * expr.c (store_expr): Don't attempt to store void-typed trees,
7634 just evaluate them for side effects.
7635
c19b12cb
NB
76362003-03-12 Neil Booth <neil@daikokuya.co.uk>
7637
7638 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
7639 * cppinit.c (push_include): Move with changes to cppfiles.c.
7640 (cpp_read_main_file): Mark named operators here...
7641 (cpp_finish_options): ...not here. Update.
7642 (_cpp_maybe_push_include_file): Update.
7643 * cpplib.h (cpp_push_include, cpp_rename_file): New.
7644
ad9c4d9f
NN
76452003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
7646
847311f4
AL
7647 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
7648 _gcc_COMPUTE_GAS_VERSION.
7649 * configure.in: Use them.
7650 * configure: Regenerate.
ad9c4d9f 7651
8d49831d
BW
76522003-03-12 Bob Wilson <bob.wilson@acm.org>
7653
d2184e79 7654 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
8d49831d 7655 to detect carry.
d2184e79 7656 (subdi3): Reorder emitted instructions.
8d49831d 7657
bfa2615f
AJ
76582003-03-12 Andreas Jaeger <aj@suse.de>
7659
7660 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
7661 NETBSD_OS_CPP_BUILTINS_LP64.
7662
73458fb7
NN
76632003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
7664
7665 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
7666 Rearrange. Reorganize.
7667 * configure.in: Rearrange.
7668 * configure: Regenerate.
7669
00530a21
AJ
76702003-03-12 Andreas Jaeger <aj@suse.de>
7671
d2184e79
AH
7672 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
7673 LP64 targets.
00530a21 7674
d2184e79
AH
7675 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
7676 _LP64.
00530a21 7677
d2184e79
AH
7678 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
7679 _LP64 macros here.
7680 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
00530a21 7681
d2184e79
AH
7682 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
7683 NETBSD_OS_CPP_BUILTINS_LP64.
7684 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
7685 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
00530a21 7686
d2184e79 7687 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
00530a21 7688
62c9aa5f 76892003-03-12 Jan Hubicka <jh@suse.cz>
5474eed5
JH
7690
7691 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
7692
8c35a61a 76932003-03-12 Daniel Jacobowitz <drow@mvista.com>
59a7f9bf
DJ
7694
7695 Fix PR target/9797 and PR c/9853.
7696 * stmt.c (expand_decl_init): Call push_temp_slots () and
7697 pop_temp_slots ().
7698
62c9aa5f 76992003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
1aa03f38
R
7700
7701 * sh.c: Include basic-block.h.
7702 (sh_output_mi_thunk, emit_load_ptr): New functions.
7703 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
7704
6f8c9bd1
NC
77052003-03-12 Nick Clifton <nickc@redhat.com>
7706
7707 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
7708 (CALL_USED_REGISTERS): Likewise.
7709 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
7710 describing how this value is calculated.
7711
b2522d2b
HPN
77122003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
7713
7714 * configure.in (rlim_t): Define to long if no valid definition
7715 found in sys/resource.h.
7716 * config.in, configure: Regenerate.
7717
f7248b51
NB
77182003-03-12 Neil Booth <neil@daikokuya.co.uk>
7719
7720 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
7721 TARGET_OS_CPP_BUILTINS.
7722 * config/mcore/mcore-pe.h: Similarly.
7723 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
7724 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
7725
8a7d6cb3
EB
77262003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
7727
7728 PR c/9928
7729 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
7730 only if it is a VAR_DECL.
7731
db1077d3
EB
77322003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
7733
7734 PR optimization/9888
7735 * config/i386/i386.md (jcc_1): Fix range.
7736 (jcc_2): Likewise.
7737 (jump): LIkewise.
7738 (doloop_end_internal): Likewise.
7739
6ca23bff 77402003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
1fe668e5 7741
6ca23bff
DS
7742 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
7743 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
7744 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
7745 DLL_IMPORT_EXPORT_PREFIX and "i."
7746 (i386_pe_dllexport_name_p): Here.
7747 (i386_pe_dllimport_name_p): Here.
d2184e79 7748 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
6ca23bff
DS
7749 not 9 chars when getting identifier name.
7750 (i386_pe_mark_dllimport): Here.
7751 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
7752 not 9 chars when getting identifier name. Correct comment.
7753 (i386_pe_strip_name_encoding): Here. Add comments for different
7754 cases.
7755 (gen_fastcall_suffix): Break down xmalloc() argument to
7756 components.
7757 (gen_stdcall_suffix): Likewise.
7758 Update copyright year.
7759
9b73c90a
EB
77602003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
7761
7762 PR optimization/9888
7763 * config/i386/i386.md (movsi_1): Remove special alternatives
7764 for %eax register.
7765 (movsi_1_nointernunit): Likewise.
7766 (movhi_1): Likewise.
7767 * config/i386/i386.c (memory_address_length): Do not use
7768 short displacement when there is no base.
7769 (ix86_attr_length_address_default): Handle LEA instructions.
7770
21282b1e
NB
77712003-03-12 Neil Booth <neil@daikokuya.co.uk>
7772
7773 * c-cppbuiltin.c (builtin_define_std): Make non-static.
7774
7358f10d
LR
77752003-03-11 Loren James Rittle <ljrittle@acm.org>
7776
7777 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
7778 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
7779 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
7780 * config/freebsd.h (CPP_PREDEFINES): Remove.
7781 (TARGET_OS_CPP_BUILTINS): New.
7782 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
7783 instead of TARGET_OS_CPP_BUILTINS.
7784 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
7785
d00bc0a2
GK
77862003-03-11 Geoffrey Keating <geoffk@apple.com>
7787
7788 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
7789
9b7b447f
AH
77902003-03-11 Aldy Hernandez <aldyh@redhat.com>
7791
d2184e79
AH
7792 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
7793 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9b7b447f 7794
d2184e79 7795 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9b7b447f 7796
62c9aa5f 77972003-03-11 Alexandre Oliva <aoliva@redhat.com>
18a47d21
AO
7798
7799 * toplev.c (independent_decode_option): Return success for --help,
7800 --target-help and --version.
7801
62c9aa5f 78022003-03-11 Alexandre Oliva <aoliva@redhat.com>
c0a579df
AO
7803
7804 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
7805 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
7806 specified.
7807 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
7808 DRIVER_SELF_SPECS.
7809 (LINK_SPEC): Let endian options affect the linker emulation name.
7810
62c9aa5f 78112003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
ea45c4b0
R
7812
7813 * sh.md (reload_inqi): Fix mode for source in second set.
7814
62c9aa5f 78152003-03-11 Jan Hubicka <jh@suse.cz>
7101fb18
JH
7816
7817 * cselib.c (cselib_invalidate_mem_1): Move too ...
7818 (cselib_invalidate_mem): ... here; use new list
7819 (dummy_val, first_containing_mem): New static variables.
7820 (clear_table): Initialize first_containing_mem.
7821 (discard_useless_values): Compact the containing_mem list.
7822 (add_mem_for_addr): Add to the list.
7823 * cselib.h (cselib_val): Add next_containing_mem.
7824
b5044283
AH
78252003-03-11 Aldy Hernandez <aldyh@redhat.com>
7826
d2184e79
AH
7827 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
7828 instructions for e500.
b5044283 7829
cd6a5007
NB
78302003-03-11 Neil Booth <neil@daikokuya.co.uk>
7831
7832 * Makefile.in: Update.
7833 * c-cppbuiltin.c: Include tm_p.h.
7834
41f3a930
AH
78352003-03-11 Aldy Hernandez <aldyh@redhat.com>
7836
d2184e79 7837 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
41f3a930 7838
d2184e79
AH
7839 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
7840 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
7841 (_Unwind_SetGR): Same.
7842 (_Unwind_GetGRPtr): New.
7843 (_Unwind_SetGRPtr): New.
7844 (uw_update_context_1): Use accesor functions instead of accessing
7845 context->reg[] directly.
7846 (uw_install_context_1): Same.
7847 (execute_cfa_program): Same.
7848 (__frame_state_for): Same.
41f3a930 7849
d2184e79
AH
7850 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
7851 the synthetic register offset.
41f3a930 7852
d2184e79 7853 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
41f3a930 7854
d2f55c5c
HPN
78552003-03-11 Hans-Peter Nilsson <hp@axis.com>
7856
7857 * config/cris/cris.md: Remove lingering EGCS reference.
7858 ("*extopqihi_side_biap"): For HI operation, match
7859 cris_additive_operand_extend_operator, not
7860 cris_operand_extend_operator. Adjust condition.
7861 ("*extopqihi_side", "*extopqihi"): Ditto.
7862 ("*extopqisi_side_biap"): Correct operand numbers in condition.
7863 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
7864 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
7865 ("*extophisi_swap"): Ditto.
7866 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
7867 PLUS, not cris_operand_extend_operator. Adjust condition and
7868 output template.
7869 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
7870 * config/cris/cris.h (PREDICATE_CODES): Add
7871 cris_additive_operand_extend_operator.
7872 * config/cris/cris.c (cris_additive_operand_extend_operator):
7873 New predicate.
7874
37bd08f8
HP
78752003-03-11 Hartmut Penner <hpenner@de.ibm.com>
7876
7877 * df.c (read_modify_subreg_p): Change from static to global.
7878 * df.h (read_modify_subreg_p): Add prototype.
7879 * sched-deps.c (sched_analyze_1): Generate true dependency for
1fe668e5 7880 strict_low_part, certain subregs and zero/sign_extract.
37bd08f8 7881
cb60f38d
NB
78822003-03-11 Neil Booth <neil@daikokuya.co.uk>
7883
7884 * Makefile.in: Update.
7885 * c-common.c: Don't include real.h or except.h.
7886 (REGISTER_PREFIX): Remove.
7887 (builtin_define_std, builtin_define_with_value,
7888 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
7889 builtin_define_type_max, builtin_define_type_precision,
7890 builtin_define_float_constants): Move to c-cppbuiltin.c.
7891 (c_stddef_cpp_builtins): New.
7892 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
7893 * c-cppbuiltin.c: New, extracted from c-common.c.
7894 (define__GNUC__): New.
7895 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
7896 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
7897 (cpp_unique_options): Don't support no-gcc.
7898 (do_spec_1): Remove support of version specs.
7899 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
7900 * doc/passes.texi: Update.
7901 * doc/tm.texi: Update.
7902
31ca3635
AH
79032003-03-10 Aldy Hernandez <aldyh@redhat.com>
7904
d2184e79 7905 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
31ca3635 7906
ab82a49f
AP
79072003-03-10 Andrew Pinski <apinski@apple.com>
7908
7909 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
7910 is on should not get here.
7911 (machopic_indirect_data_reference): If dynamic-no-pic is on just
7912 generate high/low parts of the address.
7913 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
7914 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
7915 symbol and labels with a new reg. Dynamic-no-pic does not have a
7916 pic_offset_table_rtx.
7917 (machopic_select_section): Change references of flag_pic to
1fe668e5 7918 MACHOPIC_INDIRECT.
ab82a49f
AP
7919 (machopic_asm_out_destructor): Likewise.
7920 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
7921 reference of flag_pic to MACHOPIC_INDIRECT.
7922 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
7923 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
7924 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
7925 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
7926 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
7927 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
7928 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
7929 (TARGET_DYNAMIC_NO_PIC): Define.
7930 (SUBTARGET_SWITCHES): Define, have sub-target switches for
1fe668e5 7931 dynamic-no-pic.
ab82a49f
AP
7932 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
7933 rs6000_override_options to here. Dynamic-no-pic overrides
7934 pic.
7935 (CC1_SPEC): Change from not static then pic to not static and not
7936 dynamic-no-pic then pic.
7937 * config/rs6000/rs6000.c (rs6000_override_options): Move the
7938 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
7939 (rs6000_legitimize_reload_address): Add case for loading floating in
7940 dynamic-no-pic.
7941 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
7942 of flag_pic to MACHOPIC_INDIRECT.
7943 (secondary_reload_class): Conditional change the reference of
7944 flag_pic to MACHOPIC_INDIRECT.
7945 (rs6000_output_mi_thunk): Change reference of flag_pic to
7946 MACHOPIC_INDIRECT.
7947 (output_profile_hook): Likewise.
7948 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
7949 * config/rs6000/rs6000.md (movdf_low): Add the case for
7950 MACHO_DYNAMIC_NO_PIC_P.
7951 (call): Change references for flag_pic in TARGET_MACHO to
7952 MACHOPIC_INDIRECT.
7953 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
7954 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
7955 * doc/invoke.texi (-mdynamic-no-pic): Document.
87d7d780
DP
7956
79572003-03-10 Devang Patel <dpatel@apple.com>
1fe668e5 7958
87d7d780
DP
7959 PR c++/9394
7960 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
7961 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
7962 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
7963 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
7964 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
7965 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
1fe668e5 7966
6b856d15
SB
79672003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
7968
7969 PR optimization/7189
7970 * toplev.c (rest_of_compilation): Move
7971 check_function_return_warnings up to just after
7972 delete_unreachable_blocks.
7973
2d8d15b7
SC
79742003-03-10 Stephane Carrez <stcarrez@nerim.fr>
7975
7976 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
7977 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
7978 Declare.
7979 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
7980 for reg rename optimization to avoid using Z and Y registers.
7981
0e01d661
SC
79822003-03-10 Stephane Carrez <stcarrez@nerim.fr>
7983
7984 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
7985 when adding to X and Y since leax/leay are fast.
7986 ("*addhi3"): Accept 'I' constraint when adding to address register.
7987 ("rotlhi3"): Operand 1 must be a register_operand.
7988 (peephole2): New peephole to optimize some adds.
7989 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
7990 to represent -2 .. 2 small integer range.
7991
ae5b570e
SC
79922003-03-10 Stephane Carrez <stcarrez@nerim.fr>
7993
7994 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
7995 each 16-bit rotation.
7996
52999738
ZW
79972003-03-10 Zack Weinberg <zack@codesourcery.com>
7998
7999 * c-opts.c (add_prefixed_path): Don't use concat. When
8000 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
8001 cpp_GCC_INCLUDE_DIR_len characters.
8002
5c242421
SB
80032003-03-10 Segher Boessenkool <segher@koffie.nl>
8004
52999738 8005 * testsuite/gcc.dg/altivec-9.c: New file.
5c242421 8006
52999738
ZW
8007 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
8008 (rs6000_emit_prologue): Use rs6000_frame_related instead.
5c242421 8009
b4053702
AH
80102003-03-10 Aldy Hernandez <aldyh@redhat.com>
8011
52999738
ZW
8012 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
8013 vectors.
8014 (__ev_convert_u64): Remove macro. Define as inline.
8015 (__ev_convert_s64): Same.
b4053702 8016
c19de7aa
AH
80172003-03-10 Aldy Hernandez <aldyh@redhat.com>
8018
52999738
ZW
8019 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
8020 (rs6000_stack_t): Add spe_64bit_regs_used.
c19de7aa 8021
52999738
ZW
8022 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
8023 spe_64bit_regs_used, and use it to determine the size of the
8024 frame.
8025 (spe_func_has_64bit_regs_p): New.
8026 (spe_synthesize_frame_save): New.
8027 (rs6000_frame_related): Handle SPE synthetic registers.
8028 (rs6000_emit_prologue): Only save in 64-bits if the function used
8029 any registers in 64-bit mode.
8030 (rs6000_emit_epilogue): Same, but for restore.
c19de7aa 8031
29ad9694
RE
80322003-03-10 Richard Earnshaw <rearnsha@arm.com>
8033
8034 * arm.h (enum floating_point_type): Delete. Replace with...
8035 (enum fputype): ... new.
8036 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
8037 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
8038 * arm.md (attr fpu): Reworked for new underlying enum values.
8039 * arm.c (arm_fpu_arch): Now enum fputype.
8040 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
8041 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
8042 Update uses of arm_fpu_arch and arm_fpu_tune.
8043
39811184
JZ
80442003-03-10 Josef Zlomek <zlomekj@suse.cz>
8045
52999738 8046 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
39811184
JZ
8047 (try_crossjump_to_edge): Replace refereces to one jump table by
8048 references to identical jump table.
8049 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
8050 (replace_label): Moved to rtlanal.c.
8051 (struct rtx_pair): Moved to rtl.h.
52999738 8052 * rtl.h (struct rtx_pair): Moved from loop.c.
39811184
JZ
8053 (replace_label): New extern function.
8054 (subrtx_p): New extern function.
8055 (tablejump_p): New extern function.
52999738 8056 * rtlanal.c (replace_label): Moved from loop.c.
39811184
JZ
8057 (subrtx_p_1): New static function.
8058 (subrtx_p): New function.
8059 (tablejump_p): New function.
8060
62c9aa5f 80612003-03-10 Jan Hubicka <jh@suse.cz>
ec3ae3da 8062
912b79e7
JH
8063 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
8064
ec3ae3da
JH
8065 * cfgcleanup.c (merge_blocks): Return where to iterate next.
8066 (try_optimize_cfg): Use return value of merge_blocks
8067
e0fd3e7a
MM
80682003-03-10 Michael Matz <matz@suse.de>
8069
8070 * cfg.c (unchecked_make_edge): New.
8071 (cached_make_edge): Use it.
8072 * basic-block.h (unchecked_make_edge): Declare.
8073 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
8074
82955615
RE
80752003-03-10 Richard Earnshaw <rearnsha@arm.com>
8076
8077 * fpa.md: New file. Move all patterns relating to FPA co-processor
8078 to here...
8079 * arm.md: ... from here.
8080 (cirrus.md, fpa.md): Include at end of description.
8081 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
8082 (pic_load_addr_based): Remove register constraint from expander.
8083 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
8084 (sordered, sungt, sunle, sunge, sunlt): Likewise.
8085 (eh_epilogue, tablejump): Likewise.
8086
22672fc4
RK
80872003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8088
8089 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
8090 on operands if it has a PLACEHOLDER_EXPR.
8091
f7b3ab8a
DE
80922003-03-09 David Edelsohn <edelsohn@gnu.org>
8093 Mostafa Hagog
8094
8095 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
8096 condition.
8097
cc956ba2
NB
80982003-03-09 Neil Booth <neil@daikokuya.co.uk>
8099
8100 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
8101 * config/ip2k/ip2k.h: Similarly.
8102 * config/m32r/m32r.h: Similarly.
8103 * config/m68hc11/m68hc11.h: Similarly.
8104 * config/mn10200/mn10200.h: Similarly.
8105 * config/mn10300/mn10300.h: Similarly.
8106 * config/pdp11/pdp11.h: Similarly.
8107 * config/v850/v850.h: Similarly.
8108 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
8109 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
8110 * config/mips/iris3.h: Remove #if 0 block.
8111
81122003-03-09 Roger Sayle <roger@eyesopen.com>
8113 Joern Rennecke <joern.rennecke@superh.com>
8114
8115 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
8116 pending argument upon return from handle_braces here.
8117 (do_spec_2): Instead handle it upon return from do_spec_1 here.
8118
6544fbcb
RS
81192003-03-09 Roger Sayle <roger@eyesopen.com>
8120 Joern Rennecke <joern.rennecke@superh.com>
8121
8122 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
8123 pending argument upon return from handle_braces here.
8124 (do_spec_2): Instead handle it upon return from do_spec_1 here.
8125
e1a04212
FS
81262003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8127
8128 * varasm.c (make_decl_one_only): Use declare_weak().
8129
4677862a
JDA
81302003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8131
8132 PR middle-end/9986
8133 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
8134 after the common builtins.
8135 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
8136 * pa.c (TARGET_INIT_BUILTINS): Define.
8137 (pa_init_builtins): New function.
8138
8139 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
8140 space has been allocated for the outgoing arguments, set the arg
8141 pointer for a call emitted after virtuals have been instantiated
8142 using the stack pointer offset, otherwise abort.
8143
2de12bc4
DD
81442003-03-09 DJ Delorie <dj@redhat.com>
8145
8146 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
8147
17136dde
RE
81482003-03-09 Richard Earnshaw <rearnsha@arm.com>
8149
8150 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
8151 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
8152 conversion to integer.
8153 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
8154
f937d5e6
RS
81552003-03-09 Roger Sayle <roger@eyesopen.com>
8156
8157 * builtins.def: Fix typo and improve grammar.
8158 * loop-unroll.c (decide_peel_completely): Tidy log message.
8159
c5979bc6
KH
81602003-03-09 Kazu Hirata <kazu@cs.umass.edu>
8161
8162 * config/h8300/h8300.md (*tstsi_upper_bit): New.
8163 (*iorsi3_e2f): Likewise.
8164
4f4ebda3
KH
81652003-03-08 Kazu Hirata <kazu@cs.umass.edu>
8166
8167 * config/h8300/h8300.c (h8300_and_costs): Return the number of
8168 assembly instructions needed.
8169 (h8300_shift_costs): Likewise.
8170
c366ade5
HPN
81712003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
8172
02af0d9b
HPN
8173 * config/cris/aout.h (ENDFILE_SPEC): Undef.
8174
a3600c71
HPN
8175 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
8176 moves from here ...
8177 * expr.c (emit_move_insn_1): ... to here.
8178
a6e464ae
HPN
8179 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
8180 (TARGET_OS_CPP_BUILTINS): New macro.
8181 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
8182 (TARGET_OS_CPP_BUILTINS): New macro.
8183 (CPP_PREDEFINES): Don't define. Move old definitions and...
8184 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
8185 (TARGET_CPU_CPP_BUILTINS): New macro.
8186 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
8187 definitions and the optional __PIC__, __pic__ and
8188 __NO_UNDERSCORES__ definitions to...
8189 (TARGET_OS_CPP_BUILTINS): New macro.
8190
d8a25128
HPN
8191 * flags.h (flag_leading_underscore): Declare.
8192
c366ade5
HPN
8193 * c-opts.c (c_common_post_options): On fopen failure, return
8194 false, not NULL.
8195
32b0bbaa
HPN
81962003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
8197
8198 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
8199 config.h.
8200 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
8201 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
8202
ad220576
NB
82032003-03-08 Neil Booth <neil@daikokuya.co.uk>
8204
8205 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
8206 CPP_PREDEFINES.
8207 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
8208 CPP_PREDEFINES.
8209
4bfec483
NB
82102003-03-08 Neil Booth <neil@daikokuya.co.uk>
8211
8212 * c-common.h (c_common_init, c_common_post_options): Update.
8213 * c-objc-common.c (c_objc_common_init): Update for new prototype.
8214 * c-opts.c (saved_lineno): New.
8215 (c_common_post_options, c_common_init): Update prototypes,
8216 move call to cpp_read_main_file from latter to former.
8217 * c-tree.h (c_ojbc_common_init): Update.
8218 * langhooks-def.h (lhd_post_options): New.
8219 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
8220 * langhooks.c (lhd_post_options): New.
8221 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
8222 * toplev.c (no_backend): New.
8223 (process_options): Call post_options hook and set main_input_filename
8224 and input_filename here.
8225 (lang_dependent_init, do_compile): post_options hook moved to
8226 process_options.
8227 * objc/objc-act.c (objc_init): Update prototype.
8228 * objc/objc-act.h (objc_init): Update prototype.
8229
9dd04ab5
RS
82302003-03-08 Roger Sayle <roger@eyesopen.com>
8231
8232 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
8233 a complex or vector type, using a load in the original mode.
8234
62c9aa5f 82352003-03-08 Jan Hubicka <jh@suse.cz>
988d1653
JH
8236
8237 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
8238 * gt-cgraph.h: New GC file.
8239 * cgraph.c (known_fns): New static variable.
8240 (cgraph_node): Add the decl into varray.
8241
73ba39fc
HPN
82422003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
8243
8244 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
8245
3b684012
RE
82462003-03-08 Richard Earnshaw <rearnsha@arm.com>
8247
8248 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
8249 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
8250 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
8251 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
8252 All callers changed.
8253 * arm.md, arm.h, arm-protos.h: Updated.
8254
8255 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
8256 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
8257 * arm.c (arm_regno_class, f_register_operand): Updated.
8258
fa5848c7
HPN
82592003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
8260
8261 * config/cris/cris.h: Remove EGCS references.
1fe668e5 8262 (CPP_SPEC): Remove "-$".
fa5848c7
HPN
8263 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
8264
4555be98
NB
82652003-03-08 Neil Booth <neil@daikokuya.co.uk>
8266
8267 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
8268 preference to CPP_PREDEFINES.
8269
39a91264
NB
82702003-03-08 Neil Booth <neil@daikokuya.co.uk>
8271
8272 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
8273
9571a6b9
KH
82742003-03-08 Kazu Hirata <kazu@cs.umass.edu>
8275
8276 * config/h8300/h8300.md (*extzv_16_8): New.
8277
62c9aa5f 82782003-03-08 Jan Hubicka <jh@suse.cz>
18d13f34
JH
8279
8280 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
8281 * cgraph.h: (cgraph_local_info): Add can_inline_once
8282 (cgraph_global_info): Add inline_once.
8283 (cgraph_node): Add previous.
8284 (cgraph_remove_node): New.
8285 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
8286 function.
8287 (cgraph_optimize): Call it.
8288 (cgraph_finalize_function): Set inlinable flags.
8289 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
8290 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
8291 (cgraph_expand_function): Likewise.
52999738 8292 * cgraph.c
18d13f34
JH
8293 (cgraph_node): Put nodes into doubly linked chain.
8294 (cgraph_remove_node): New function.
8295 * flags.h (flag_inline_functions_called_once): Declare.
8296 * tree-inline.c: Include cgraph.h
8297 (inlinable_functions_p): Add extra argument to bypass limits.
8298 (expand_call_inline): Obey cgraph flag.
8299 * tree-inline.h (tree_inlinable_function_p): Update prototype.
8300
72b8d451
ZD
83012003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8302
8303 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
8304 irreducible loops.
8305
8306 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
8307 loops info correctly.
8308
ed97aa66
EB
83092003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
8310
8311 PR middle-end/7796
8312 * unroll.c (calculate_giv_inc): Handle constants being
8313 loaded with LSHIFTRT.
8314
d7b53ca4
DE
83152003-03-07 David Edelsohn <edelsohn@gnu.org>
8316
8317 * config/rs6000/rs6000.c (processor_target_table): Do not disable
8318 GP optional instructions on Power3, Power4, 620, and 630.
8319
3dc575ff
KH
83202003-03-07 Kazu Hirata <kazu@cs.umass.edu>
8321
8322 * calls.c: Fix comment formatting.
8323 * cfgloopanal.c: Likewise.
8324 * cfgloopmanip.c: Likewise.
8325 * combine.c: Likewise.
8326 * dwarf2out.c: Likewise.
8327 * ggc-common.c: Likewise.
8328 * langhooks.c: Likewise.
8329 * loop-unroll.c: Likewise.
8330 * loop.c: Likewise.
8331 * ra-build.c: Likewise.
8332 * sbitmap.c: Likewise.
8333 * toplev.c: Likewise.
8334
9bcd9715
JW
83352003-03-07 James E Wilson <wilson@tuliptree.org>
8336
ed97aa66 8337 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
9bcd9715 8338
6e5c4eaf
GK
83392003-03-07 Geoffrey Keating <geoffk@apple.com>
8340
8341 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
8342 support -no-integrated-cpp.
8343
8344 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
8345 than langhooks.name.
8346
50aac998
MM
83472003-03-07 Michael Matz <matz@suse.de>
8348
8349 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
8350 (DF_FOR_REGALLOC): New.
8351 * df.c (df_ref_record): Set DF_REF_STRIPPED.
8352 (read_modify_subreg_p): Simplify.
8353 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
8354 Use DF_FOR_REGALLOC.
8355 * ra.h (struct web): New member subreg_stripped.
8356 (invalid_mode_change_regs): Declare.
8357 * ra.c (invalid_mode_change_regs): New.
8358 (init_ra): Initialize it.
8359 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
8360 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
8361 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
8362 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
8363 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
8364
37f74dcf
RE
83652003-03-07 Richard Earnshaw <rearnsha@arm.com>
8366
8367 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
8368 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
8369 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
8370 machine description file from ...
8371 * cirrus.md: ... here.
8372
203b3521
KH
83732003-03-06 Kazu Hirata <kazu@cs.umass.edu>
8374
8375 * config/h8300/h8300.md (a peephole2): Don't use
8376 reg_overlap_mentioned_p.
8377
8643e92d
GK
83782003-03-06 Geoffrey Keating <geoffk@apple.com>
8379
8380 * c-pch.c: Include langhooks.h.
8381 (IDENT_LENGTH): New.
8382 (get_ident): New.
8383 (pch_ident): Delete.
8384 (pch_init): Use get_ident, IDENT_LENGTH.
8385 (c_common_valid_pch): Likewise. Also, use actual language
8386 in warning message.
8387 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
8388
8389 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
8390 c-parse.in.
8391 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
8392 gt-objc-objc-act.h.
8393 (gt-objc-objc-act.h): New rule.
8394 * objc/lang-specs.h: Support PCH.
8395 * objc/objc-act.c: Include gt-objc-objc-act.h.
8396 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
8397 (build_selector_reference_decl): Move idx out, mark for PCH.
8398 (build_class_reference_decl): Likewise.
8399 (build_objc_string_decl): Move *_idx out, mark for PCH.
8400 (build_tmp_function_decl): Move xxx out, mark for PCH.
8401
7f3d8013
DJ
84022003-03-06 Dale Johannesen <dalej@apple.com>
8403
8404 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
8405 global functions for inlining on Darwin.
8406
14484a78
VM
84072003-03-06 Vladimir Makarov <vmakarov@redhat.com>
8408
8409 * haifa-sched.c (schedule_block): Don't call reorder when sorting
8410 is prohibited.
8411
9d10c9a9
NB
84122003-03-06 Neil Booth <neil@daikokuya.co.uk>
8413
8414 * Makefile.in (c-ppoutput.o): Update.
8415 * c-common.h (init_pp_output): New.
8416 (preprocess_file): Update.
8417 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
8418 Register builtins.
8419 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
8420 Make call to cpp_read_main_file common to whether preprocessing
8421 or not. Don't register builtins.
8422 * c-ppoutput.c: Include c-pragma.h.
8423 (setup_callbacks): Rename init_pp_output.
8424 (preprocess_file): No longer setup callbacks or call
8425 cpp_read_main_file.
8426 * cpphash.h (_cpp_init_mbchar): New.
8427 * cppinit.c (init_library): Call _cpp_init_mbchar.
8428 * cpplex.c (_cpp_init_mbchar): New.
8429
37f5242b
RS
84302003-03-06 Roger Sayle <roger@eyesopen.com>
8431
8432 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
8433 MEM, try loading the MEM into a register and taking the low-part
8434 of that, to help CSE see the use of the MEM in its true mode.
8435
c876997f 84362003-03-05 Tom Tromey <tromey@redhat.com>
f3922fd2
DD
8437
8438 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
8439 Define.
8440
c876997f 84412003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
f3922fd2
DD
8442
8443 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
8444 operand 2.
8445 ("*ineqbranchsi"): Likewise.
8446
c876997f 84472003-03-05 Andrew Haley <aph@cambridge.redhat.com>
f3922fd2
DD
8448
8449 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
8450 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
8451 register store followed by a stack increment.
8452
c876997f 84532003-03-05 Chris Moller <cmoller@redhat.com>
f3922fd2
DD
8454
8455 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
8456 to inhibit saving CARRY_REGS.
8457
8458 * config/stormy16/stormy16.c (xs_hi_general_operand):
8459 added predicate to detect and error-out on out-of-range
8460 const_ints for movhi.
52999738 8461 * config/stormy16/stormy16.md (movhi): use
f3922fd2
DD
8462 xs_hi_general_operand.
8463
8464 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
8465 added a check for local vbl size overflow.
8466 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
8467 added predicate to detect and error-out on out-of-range
8468 const_ints for addhi and subhi.
52999738 8469 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
f3922fd2
DD
8470 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
8471
8472 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
8473 add a term to accept PRE_MODIFY addresses.
8474 * config/stormy16/stormy16.c (xstormy16_expand_move):
8475 add code to expand PRE_MODIFY addresses to an add followed
8476 by a move.
8477
4c28216d
JM
84782003-03-06 Jason Merrill <jason@redhat.com>
8479
8480 * tree-inline.c (inlinable_function_p): Revert earlier change
8481 pending investigation.
8482
0135f343
KH
84832003-03-06 Kazu Hirata <kazu@cs.umass.edu>
8484
8485 * config/h8300/h8300.md (a new peephole2): New.
8486
62c9aa5f 84872003-03-06 Jan Hubicka <jh@suse.cz>
5c2e00ee
JH
8488
8489 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
8490
323658ea
ZD
84912003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8492
8493 * dwarf2out.c (size_of_die): Compute size of external reference to
8494 die correctly.
8495
2b18b49b
HPN
84962003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
8497
8498 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
8499 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
8500 expanders.
8501
1a71a5b0
RS
85022003-03-05 Roger Sayle <roger@eyesopen.com>
8503
8504 * expr.h (lang_expand_expr): Delete obsolete prototype.
8505
26d249eb
KH
85062003-03-05 Kazu Hirata <kazu@cs.umass.edu>
8507
8508 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
8509
8b41a8da
KH
85102003-03-05 Kazu Hirata <kazu@cs.umass.edu>
8511
8512 * config/h8300/h8300.md (a peephole2): Generalize to
8513 accept a memory operand.
8514
62c9aa5f 85152003-03-05 Olivier Hainque <hainque@act-europe.fr>
39ee7fa9
OH
8516
8517 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
8518 * config/alpha/alpha.c (print_operand, case '+'): New.
8519 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
8520 (call_value_osf_1_noreturn): Likewise.
8521
62c9aa5f 85222003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
cda26058
RK
8523
8524 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
8525 (expand_end_bindings): Likewise.
8526
98857de8
JDA
85272003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8528
8529 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
8530 (epilogue): Don't generate return_external_pic when emitting PA 2.0
8531 code.
8532
96714395
AH
85332003-03-05 Aldy Hernandez <aldyh@redhat.com>
8534
52999738 8535 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
96714395 8536
52999738 8537 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
96714395 8538
52999738 8539 * hooks.c (hook_rtx_rtx_null): New.
96714395 8540
52999738 8541 * hooks.h (hook_rtx_rtx_null): Protoize.
96714395 8542
52999738
ZW
8543 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
8544 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
96714395 8545
52999738 8546 * target.h (struct gcc_target): Add dwarf_register_span.
96714395 8547
52999738
ZW
8548 * dwarf2out.c (multiple_reg_loc_descriptor): New.
8549 (one_reg_loc_descriptor): New.
8550 (reg_loc_descriptor): Add support for values that span more than
8551 one register.
96714395 8552
62c9aa5f 85532003-03-05 Jan Hubicka <jh@suse.cz>
b255a036
JH
8554
8555 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
8556 * alias.c: Include cgraph.h
8557 (mark_constant_function): Use cgraph_rtl_info.
8558 * calls.c: Include cgraph.h
8559 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
8560 calls.
8561 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
8562 * cgraph.c (cgraph_rtl_info): New function.
8563 * cgraph.h (cgraph_rtl_info): Declare
8564 (cgraph_rtl_info): Likewise.
8565 * function.h (struct function): Add recursive_call_emit.
8566 * toplev.c: Include cgraph.h.
8567 (rest_of_compilation): Set preferred_incoming_stack_boundary.
8568
0eb933a0
KH
85692003-03-05 Kazu Hirata <kazu@cs.umass.edu>
8570
8571 * config/h8300/h8300.c (output_simode_bld): Clear the
8572 destination first if possible.
8573 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
8574 alternative.
8575 (extzv_1_r_inv_h8300hs): Likewise.
8576
35b07080
ZD
85772003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8578
8579 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
8580 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
8581 * cfgloop.c (flow_loop_free): Made global.
8582 (establish_preds): New static function.
8583 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
8584 (get_loop_exit_edges): New.
8585 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
8586 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
8587 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
8588 loops.
8589 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
8590 removability of an edge.
8591 (fix_irreducible_loops): New static function.
8592 (find_path, remove_path): Add ability to remove enclosing loops.
8593 (unloop): New.
8594 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
8595 flags.
8596 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
8597 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
8598 not neccessary.
8599 (decide_peel_completely, peel_loops_completely): Allow complete peeling
8600 of non-duplicable once rolling loops.
8601 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
8602
62c9aa5f 86032003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
bb182d23
R
8604
8605 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
8606 for align_jumps is 4.
8607
8608 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
8609 use GENERAL_REGS.
8610
f2d0440f
SC
86112003-03-05 Stephane Carrez <stcarrez@nerim.fr>
8612
8613 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
8614 according to va_arg type.
8615 (EXPAND_BUILTIN_VA_ARG): Remove.
8616 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
8617 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
8618
165b263e
DE
86192003-03-05 David Edelsohn <edelsohn@gnu.org>
8620
8621 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
8622 else clauses.
8623
8c38a24f
MM
86242003-03-05 Michael Matz <matz@suse.de>
8625
8626 * i386/i386.c (ix86_save_reg): Also test
8627 current_function_uses_const_pool.
8628
336d0d96
MM
86292003-03-05 Michael Matz <matz@suse.de>
8630
8631 * unwind.h: Add the GPL exception.
8632 * Makefile.in (USER_H): Add unwind.h.
8633
be2fa211
EB
86342003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
8635
8636 PR c/9799
8637 * c-typeck.c (push_init_level): Add sanity check.
8638
62c9aa5f 86392003-03-05 Jan Hubicka <jh@suse.cz>
dafc5b82
JH
8640
8641 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
8642 RTL inlining is done.
8643
8644 * cgraphunit.c (cgraph_mark_local_functions): New local function.
8645 (cgraph_optimize): Mark local functions.
8646 * i386-protos.h (init_cumulative_args): Update prototype.
8647 * i386.c (init_cumulative_args): Use register passing convention for
8648 local functions.
8649
8650 * cgraph.c (cgraph_global_info_ready): New global variable
8651 (cgraph_local_info, cgraph_global_info): New functions.
8652 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
8653 structures.
8654 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
8655 Declare.
8656 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
8657 (cgraph_mark_functions_to_output): Use inline_many.
8658 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
8659 (cgraph_expand_functions): Expand inline functions last.
8660 (cgraph_optimize): Do not emit uneeded functions.
8661
006c9f4a
SE
86622003-03-04 Steve Ellcey <sje@cup.hp.com>
8663
8664 * expr.c (convert_modes): Check for legal hard register.
8665
65ebbf81
TT
86662003-03-04 Tom Tromey <tromey@redhat.com>
8667
8668 * doc/sourcebuild.texi (Front End Directory): Document tags.
8669 * configure: Rebuilt.
8670 * configure.in (target_list): Added tags.
8671 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
8672 TAGS files by reference.
8673 * objc/Make-lang.in (objc.tags): New target.
8674
ec4a0419
ZD
86752003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8676
8677 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
8678 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
8679 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
8680 gcov_read_string, gcov_write_length): Modified to enable reading/
8681 writing of whole .da file just once.
8682 (da_file_open, da_file_close, da_file_eof, da_file_error,
8683 da_file_position, da_file_seek, da_file_write, da_file_read): New
8684 functions.
8685 (actual_da_file, actual_da_file_position, actual_da_file_length,
8686 actual_da_file_buffer, actual_da_file_buffer_size): New static
8687 functions.
8688 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
8689 just once.
8690
8691
79dbeefc
AS
86922003-03-04 Andreas Schwab <schwab@suse.de>
8693
8694 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
8695 offset without frame pointer.
8696
3ac1a319
SE
86972003-03-04 Steve Ellcey <sje@cup.hp.com>
8698
8699 * expr.c (expand_expr): Call promote_mode to set unsignedp.
8700
db720d9a
DJ
87012003-03-04 Daniel Jacobowitz <drow@mvista.com>
8702
8703 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
8704 * configure: Regenerated.
8705 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
8706
9a79ab7e
AJ
87072003-03-04 Andreas Jaeger <aj@suse.de>
8708
8709 * configure.in: Check for <memcheck.h>.
52999738 8710 * configure: Regenerated.
9a79ab7e
AJ
8711
8712 * config.in: Define HAVE_MEMCHECK_H.
8713
8714 * ggc-common.c: Use <memcheck.h> if available instead of
8715 <valgrind.h>.
8716 * ggc-page.c: Likewise.
8717 * cppfiles.c: Likewise.
8718
a8f0e848
KH
87192003-03-04 Kazu Hirata <kazu@cs.umass.edu>
8720
8721 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
8722
2ad1815d
EB
87232003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
8724
8725 PR c/9262
8726 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
8727 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
8728
62c9aa5f 87292003-03-04 Jan Hubicka <jh@suse.cz>
e2483ef7
JH
8730
8731 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
8732 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
8733 for -O3.
8734
34a86c2b
NN
87352003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
8736
8737 * configure.in: Delete three unused variables. Move a variable
8738 definition closer to its use. Simplify use_collect2 logic. Start to
8739 organize. Simplify tests for in-tree gas and ld.
8740 * configure: Regenerate.
8741
63973df3
NB
87422003-03-04 Neil Booth <neil@daikokuya.co.uk>
8743
8744 * Makefile.in: Update.
8745 * c-common.c (flag_no_line_commands, flag_no_output,
8746 flag_dump_macros, flag_dump_includes): New.
8747 * c-common.h (flag_no_line_commands, flag_no_output,
8748 flag_dump_macros, flag_dump_includes, preprocess_file): New.
8749 (init_c_lex): Update prototype.
8750 * c-lex.c (init_c_lex): Update prototype; move some code to
8751 c_common_init.
8752 * c-opts.c (preprocess_file): Subsume into c_common_init.
8753 (c_common_decode_option): Update flags.
8754 (c_common_init): Move code from preprocess_file and init_c_lex.
8755 (sanitize_cpp_opts): Update.
8756 * c-ppoutput.c: New, cppmain.c almost verbatim.
8757 * cpphash.h (struct printer): Remove.
8758 (struct cpp_reader): Remove print.
8759 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
8760 cpp_preprocess_file): Remove.
8761 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
8762 and dump_includes.
8763 * cppmain.c: Remove.
8764 * doc/passes.texi: Update.
8765
95f3f59e
JDA
87662003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8767
8768 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
8769 (assign_stack_local_1): Perform overall stack alignment only when
8770 STACK_ALIGNMENT_NEEDED is non-zero.
8771 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
8772
8773 * pa.c (compute_frame_size): Rename fsize to size. Account for
8774 alignment to a word boundary before general register save block. Only
8775 account for double-word alignment before floating point register save
8776 block if one or more are saved. Don't allocate space for %r3 when
8777 frame pointer is needed.
8778 (hppa_expand_prologue): Include alignment to word boundary in local
8779 frame size.
8780 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
8781 (STACK_ALIGNMENT_NEEDED): Define.
8782
234c071b
KB
87832003-03-04 Kevin Buettner <kevinb@redhat.com>
8784
8785 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
8786 global register variables.
8787
f12448c8
AO
87882003-03-04 Alexandre Oliva <aoliva@redhat.com>
8789
8790 * reload.c (reload_adjust_reg_for_mode): New function.
8791 (subst_reloads): Call it.
8792 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
8793 * reload.h (reload_adjust_reg_for_mode): Declare.
8794 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
8795 Call it.
8796
f9d36a92
JW
87972003-03-03 James E Wilson <wilson@tuliptree.org>
8798
8799 * optabs.c (add_equal_note): Delete SUBREG_REG use.
8800 Fixes PR c/7872.
8801
8dfb356f
KH
88022003-03-03 Kazu Hirata <kazu@cs.umass.edu>
8803
8804 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
8805 (*ixorsi3_lshiftrt_16): New.
8806 (*iorsi3_ashift_16): Remove.
8807
0d9bf032
KH
88082003-03-03 Kazu Hirata <kazu@cs.umass.edu>
8809
8810 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
8811 pattern.
8812
b89a3806
GK
88132003-03-03 Geoffrey Keating <geoffk@apple.com>
8814
8815 * doc/install.texi (Specific): Update entry for powerpc-darwin.
8816
568d661d
RH
88172003-03-03 Richard Henderson <rth@redhat.com>
8818
8819 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
8820
3317bab1
DE
88212003-03-03 David Edelsohn <edelsohn@gnu.org>
8822
8823 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
8824 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
8825 (rs6000_variable_issue): Do not return negative value.
8826 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
8827 scheduling pass.
8828
03275f81
ZD
88292003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8830
8831 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
8832 prune_unused_types calls.
8833
d1a74aa7
JM
88342003-03-03 Jason Merrill <jason@redhat.com>
8835
8836 * tree-inline.c (find_builtin_longjmp_call): Save and restore
8837 lineno and input_filename.
8838 (find_alloca_call): Likewise.
8839 (inlinable_function_p): Run the langhook earlier.
8840
8841 * calls.c (compute_argument_addresses): Give the new MEMs a
8842 minimum alignment of PARM_BOUNDARY.
8843
62c9aa5f 88442003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
d44cc404
R
8845
8846 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
8847 subtarget_asm_isa_spec.
8848 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
8849 (ASM_SPEC): Define as SH_ASM_SPEC.
8850 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
8851 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
8852 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
8853 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10f4f635
R
8854
8855 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
8856 and align_jumps if not set.
8857 Force align_jumps to be at least 2.
8858 When relaxing, force align_functions to be at least the maximum of
8859 align_loops, align_jumps and 4.
8860 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
8861 (sh_loop_align): Honour align_loops_log.
8862
8863 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
8864 to check for indirect_jump_scratch.
8865 (indirect_jump_scratch): Add second set.
8866 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
8867 when looking for indirect_jump_scratch.
8868 Extract scratch register taking new structure of indirect_jump_scratch
8869 into account.
8870 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
8871
62c9aa5f 88722003-03-03 Jan Hubicka <jh@suse.cz>
f7da1e9a 8873
09e2bf48
JH
8874 * calls.c (rtx_for_function_call): Take the address as an argument
8875 (expand_call): Do not modify the expression.
8876
f7da1e9a
JH
8877 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
8878 optimizing.
8879
426ace7f
KH
88802003-03-03 Kazu Hirata <kazu@cs.umass.edu>
8881
8882 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
8883 TARGET_H8300H and TARGET_H8300S.
8884
6967a126
KH
88852003-03-03 Kazu Hirata <kazu@cs.umass.edu>
8886
8887 * config/h8300/h8300.md (a peephole2): New.
8888
1f7e8790
KH
88892003-03-03 Kazu Hirata <kazu@cs.umass.edu>
8890
8891 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
8892 operands[0] and operands[1] are different.
8893
88942003-03-03 Kazu Hirata <kazu@cs.umass.edu>
2807791e
KH
8895
8896 * reload1.c (reload_cse_move2add): Remove variable success.
8897
a2581175
KG
88982003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8899
8900 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
8901 warnings.
8902
ef1ecf87
RH
89032003-03-02 Richard Henderson <rth@redhat.com>
8904
8905 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
8906 * config.in, configure: Rebuild.
8907 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
9a79ab7e 8908 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
ef1ecf87
RH
8909 paired ldtoffx and ldxmov annotations.
8910 (load_symptr_internal1): Remove.
8911 (load_symptr_high, load_symptr_low): New.
8912
82f6e3eb
NB
89132003-03-02 Neil Booth <neil@daikokuya.co.uk>
8914
8915 * c-incpath.c (add_path): Fix sysp assignment.
8916
bc522472
KG
89172003-03-02 Kurt Garloff <garloff@suse.de>
8918
8919 * params.def: Introduce parameter max-inline-insns-rtl for
8920 a separate limit for the RTL inliner.
8921 * params.h: Likewise.
8922 * integrate.c (function_cannot_inline_p): Use it.
9a79ab7e 8923 * toplev.c (decode_f_option): Set multiple parameters
bc522472
KG
8924 controlling inlining with -finline-limit.
8925 * params.def: Fix orthographic and typographic errors.
8926 * doc/invoke.texi: Document parameters controlling inlining
8927 and the way -finline-limit sets multiple of them.
8928
8929 * tree.h (struct tree_decl): Introduce inlined_function_flag,
8930 recording whether the function became eligible for inlining
8931 by a compiler flag rather than the declaration.
8932 Provide DID_INLINE_FUNC macro to access it.
8933 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
8934 * cp/decl.c (grokfndecl): Likewise.
8935 * toplev.c (rest_of_compilation): Likewise.
8936 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
8937 * print-tree.c (print_node): Report it.
8938 * params.def: Introduce new max-inline-insns-auto limit.
8939 * params.h: Likewise.
8940 * tree-inline.c (inlinable_function_p): Apply it to functions
8941 with DID_INLINE_FUNC set.
8942 * toplev.c (decode_f_option): Initialize it from -finline-limit
8943 value.
8944 * doc/invoke.texi: Document new parameter.
8945
b9f4b20a
GK
89462003-03-02 Geoffrey Keating <geoffk@apple.com>
8947
8948 * fix-header.c (read_scan_file): Don't reference simplify_path.
8949
97d322cc
SC
89502003-03-02 Stephane Carrez <stcarrez@nerim.fr>
8951
8952 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
8953 min/max instructions by default as may result in reload errors.
8954
65fb64fe
SC
89552003-03-02 Stephane Carrez <stcarrez@nerim.fr>
8956
8957 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
8958 avoid reload problems; define split for it.
8959
b45e9837
SC
89602003-03-02 Stephane Carrez <stcarrez@nerim.fr>
8961
8962 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
8963 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
8964 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
9a79ab7e 8965 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
b45e9837
SC
8966 rotatert and rotate.
8967 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
8968 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
8969 ("*rotrhi3_addr"): New split for shift insns on address register.
8970 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
8971 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
8972 (___rotrhi3): Likewise.
8973 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
8974
b1cbe78c
NB
89752003-03-02 Neil Booth <neil@daikokuya.co.uk>
8976
8977 * toplev.c (aux_base_name): Moved from toplev.h.
8978 (filename): Constify.
8979 (lang_dependent_init): Don't duplicate name.
8980 (process_options): Set aux_base_name here, not...
8981 (do_compile): ...here. Change protoype.
8982 (toplev_main): Move some code from do_compile.
8983 * toplev.h: Remove aux_base_name.
8984
b059c02a
KH
89852003-03-02 Kazu Hirata <kazu@cs.umass.edu>
8986
8987 * config/h8300/h8300-protos.h: Add a prototype for
8988 iorxor_operator.
8989 * config/h8300/h8300.c (print_operand): Handle 'c'.
8990 (iorxor_operator): New.
8991 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
8992 * config/h8300/h8300.md (*iorhi3_zext): Remove.
8993 (*iorsi3_zexthi): Likewise.
8994 (*iorsi3_zextsi): Likewise.
8995 (*xorhi3_zextqi): Likewise.
8996 (*xorsi3_zexthi): Likewise.
8997 (*xorsi3_zextsi): Likewise.
8998 (*ixorhi3_zext): New.
8999 (*ixorsi3_zext_qi): Likewise.
9000 (*ixorsi3_zext_hi): Likewise.
9001
986b1f13
NB
90022003-03-02 Neil Booth <neil@daikokuya.co.uk>
9003
9004 * c-incpath.c (remove_component_p, simplify_path): Move back to
9005 cppfiles.c.
9006 (remove_duplicates): Use cpp_simplify_path.
9007 * c-incpath.h (simplify_path): Remove.
9008 * c-lex.c: Don't include c-incpath.h.
9009 (init_c_lex): Remove simplify_path.
9010 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
9011 (find_or_create_entry, validate_pch): Revert.
9012
8a035a6b
AH
90132003-03-02 Ashif Harji <asharji@uwaterloo.ca>
9014
9015 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
9016 an external cpp during compilation.
9017 (option_map): Likewise.
9018 * objc/lang-specs.h (default_compilers): Similarly.
9019 * doc/invoke.texi: Document -no-integrated-cpp flag.
9020
23cdb465
KH
90212003-03-02 Kazu Hirata <kazu@cs.umass.edu>
9022
9023 * config/h8300/h8300.md (zero_extendqisi2): Change to an
9024 expander.
9025 (*zero_extendqisi2_h8300): New.
9026 (*zero_extendqisi2_h8300hs): New.
9027 (two splitters): New.
9028
29efb633
KG
90292003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9030
9031 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
9032
36bf3f1b
KH
90332003-03-01 Kazu Hirata <kazu@cs.umass.edu>
9034
9035 * config/h8300/h8300.md (a peephole2): Remove dead code.
9036
08291658
RS
90372003-03-01 Roger Sayle <roger@eyesopen.com>
9038
9039 PR c++/9367
9040 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
9041 (BT_FN_INT_CONST_STRING_VALIST_ARG,
9042 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
9043 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
9044 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
9045 BT_FN_INT_STRING_CONST_STRING_VAR,
9046 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
9047 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
9048 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
9049 ATTR_NONNULL_3): Also include the nothrow attribute.
9050 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
9051 vsnprintf, vscanf, vsscanf): Don't define attributes here.
9052 * builtins.def (putchar, puts): Make full C89 built-ins.
9053 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
9054 vsscanf, vsnprintf, vsprintf): New built-ins.
9055 * c-common.c (c_common_nodes_and_builtins): Handle new macro
9056 DEF_FUNCTION_TYPE_VAR_3.
9057
9058 * doc/extend.texi: Document these new built-in functions.
9059
e5258f85
KH
90602003-03-01 Kazu Hirata <kazu@cs.umass.edu>
9061
9062 * config/h8300/h8300.md (a peephole2): New.
9063
85bb9c2a
RE
90642003-03-01 Richard Earnshaw <rearnsha@arm.com>
9065
9066 * predict.c (estimate_bb_frequencies): Correctly set
9067 real_values_initialized after initialization.
9068
5793b276
NB
90692003-03-01 Neil Booth <neil@daikokuya.co.uk>
9070
9071 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
9072 cppinit.o, cppdefault.o, fix-header): Update.
9073 * c-incpath.c: New file.
9074 * c-incpath.h: New file.
9075 * c-lex.c: Include c-incpath.h.
9076 (init_c_lex): Register path simplifier.
9077 * c-opts.c: Include cppdefault.h and c-incpath.h.
9078 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
9079 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
9080 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
9081 (missing_arg, c_common_decode_option): Handle them.
9082 (c_common_post_options): Register include chains.
9083 (print_help): Update.
9084 * cppdefault.h (struct default include): Update.
9085 Move some macros to ...
9086 * cppdefault.c: ... here.
9087 (cpp_include_defaults): Add extra field add_sysroot.
9088 * cppfiles.c (include_file, search_from, find_or_create_entry,
9089 cpp_included, find_include_file, remap_filename): Update for
9090 renaming of search_path to cpp_path, and of the chain headers.
9091 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
9092 * cpphash.h (struct search_path): Move to cpplib.h.
9093 (struct cpp_buffer, struct cpp_reader): Update.
9094 (_cpp_simplify_pathname): Remove.
9095 * cppinit.c: Don't include prefix.h and cppdefault.h.
9096 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
9097 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
9098 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
9099 no_pth, cpp_handle_options): Remove.
9100 (struct pending_option): Remove chain members.
9101 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
9102 cpp_handle_option): Update.
9103 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
9104 (struct cpp_options): Remove quote_include, bracket_include,
9105 include_prefix, include_prefix_len, verbose, ignore_srcdir,
9106 no_standard_includes, no_standard_cplusplus_includes.
9107 (struct cpp_callbacks): Add simplify_path.
9108 (cpp_handle_options): Remove.
9109 * fix-header.c: Include c-incpath.h.
9110 (read_scan_file): Update to use c-incpath functionality.
9111 * doc/passes.texi: Update.
9112
6620997b
KH
91132003-03-01 Kazu Hirata <kazu@cs.umass.edu>
9114
9115 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
9116 satisfies EXTRA_CONSTRAINT 'U'.
9117
82b4dc2e
KH
91182003-03-01 Kazu Hirata <kazu@cs.umass.edu>
9119
9120 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
9121 register.
9122 (*tst_extzv_memqi_1_n): Change to a splitter.
9123 (a peephole2): Update.
9124
c4f6b78e
RE
91252003-03-01 Richard Earnshaw <rearnsha@arm.com>
9126
9127 * predict.c (estimate_bb_frequencies): Initialize the sreal
9128 constants once per compilation.
9129
9552a3e3
RH
91302003-02-28 Richard Henderson <rth@redhat.com>
9131
9132 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
9133
73c68f61
SS
91342003-02-28 scott snyder <snyder@fnal.gov>
9135
9136 * flags.h: Add flag_eliminate_unused_debug_types.
9137 * toplev.c: Add flag_eliminate_unused_debug_types.
9138 (f_options): Add -feliminate-unused-debug-types.
9139 * dwarf2out.c (struct file_table): Add emitted member.
9140 (splice_child_die): Fix the parent pointer for the child being
9141 spliced.
9142 (lookup_filename): Maintain file_table.emitted array. Don't
9143 output .file directive here.
9144 (maybe_emit_file): (new)
9145 (init_file_table): Set up file_table.emitted.
9146 (dwarf2out_source_line): Use maybe_emit_file.
9147 (dwarf2out_start_source_file): Use maybe_emit_file.
9148 (dwarf2out_init): Use maybe_emit_file.
9149 (prune_unused_types_walk_attribs): (new)
9150 (prune_unused_types_mark): (new)
9151 (prune_unused_types_walk): (new)
9152 (prune_unused_types_prune): (new)
9153 (prune_unused_types): (new)
9154 (dwarf2out_finish): Call prune_unused_types if
9155 flag_eliminate_unused_debug_types is set.
9156 * doc/invoke.texi (Option Summary): Add
9157 -feliminate-unused-debug-types.
9158 (Debugging Options): Likewise.
9159
d8fad4ea
GK
91602003-02-28 Geoffrey Keating <geoffk@apple.com>
9161
9162 * doc/invoke.texi: Change .pch to .gch.
9163 * cppfiles.c (open_file_pch): Likewise.
9164 * gcc.c (default_compilers): Likewise.
9165
9855905c
AH
91662003-02-28 Aldy Hernandez <aldyh@redhat.com>
9167
52999738 9168 * floatlib.c: Remove.
9855905c 9169
3695c25f
JM
91702003-02-28 Jason Merrill <jason@redhat.com>
9171
9172 * stor-layout.c (variable_size): Leave a "minus 1" outside the
9173 SAVE_EXPR.
9174
f8f0e566
DE
91752003-02-28 David Edelsohn <edelsohn@gnu.org>
9176
9177 * config/rs6000/power4.md: Add compare bypass.
9178
35501efe
JT
91792003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
9180
9181 * config/netbsd.h: Update copyright years.
9182 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
9183 -pthread is specified on the command line.
9184
8f7ee471
DJ
91852003-02-28 Dale Johannesen <dalej@apple.com>
9186
52999738 9187 * loop.c (struct movable): Add insert_temp, shrink savemode.
8f7ee471 9188 (scan_loop): Accept invariants that require copying; mark as
52999738 9189 insert_temp.
8f7ee471
DJ
9190 (combine_movables): Don't combine insert_temp movables.
9191 (move_movables): Insert copies for insert_temp movables.
9192 Don't record the info based on regno for insert_temp's.
9193
67c2b45f
JS
91942003-02-28 Joel Sherrill <joel@OARcorp.com>
9195
9196 PR 9638/other
9a79ab7e 9197 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
67c2b45f
JS
9198 this constant defaults to 1.
9199
066f1538
BW
92002003-02-28 Bob Wilson <bob.wilson@acm.org>
9201
9202 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
9203
b8c53e96
RE
92042003-02-28 Richard Earnshaw <rearnsha@arm.com>
9205
9a79ab7e 9206 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
b8c53e96
RE
9207 ARMv5e processor, not just for XScale. Instructions are predicable.
9208 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
9209
b93828f3
NC
92102003-02-28 Nick Clifton <nickc@redhat.com>
9211
9212 * config/arm/arm.c (note_invalid_constants): Change parameter type
9213 from bool to int.
9214
3c042316
KH
92152003-02-28 Kazu Hirata <kazu@cs.umass.edu>
9216
9217 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
9218 test of bit 7.
9219 (*tst_extzv_memqi_1_n): Likewise.
9220 (a peephole2): New.
9221
c876997f 92222003-02-28 Richard Sandiford <rsandifo@redhat.com>
28727f1f
RS
9223
9224 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
9225 #ifndef __mips16.
9226
62c9aa5f 92272003-02-28 Jan Hubicka <jh@suse.cz>
10a3fdd9
JH
9228
9229 * combine.c (gen_lowpart_for_combine): Update handling of
9230 subregs_of_mode
9231 * flow.c (life_analysis, mark_used_regs): Likewise.
9232 * regclass.c (subregs_of_mode): Turn into single bitmap.
9233 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
9234 dealing with subregs_of_mode
9235 * regs.h (subregs_of_mode): Update prototype.
9236
9d18e06b
JZ
92372003-02-28 Josef Zlomek <zlomekj@suse.cz>
9238
9239 * emit-rtl.c (set_reg_attrs_for_parm): New function.
9240 * rtl.h (set_reg_attrs_for_parm): New exported function.
9241 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
9242 set_reg_attrs_from_mem.
9243
95456d43
RS
92442003-02-27 Roger Sayle <roger@eyesopen.com>
9245 Zack Weinberg <zack@codesourcery.com>
9246
9247 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
9248
28ae9fed
KH
92492003-02-27 Kazu Hirata <kazu@cs.umass.edu>
9250
9251 * reload1.c (sext_for_mode): Remove.
9252 (reload_cse_move2add): Use trunc_int_for_mode instead of
9253 sext_for_mode.
9254 (move2add_note_store): Likewise.
9255 Reset register information if we see a set in non-integer
9256 mode.
9257
d47719fd
DE
92582003-02-27 David Edelsohn <edelsohn@gnu.org>
9259
30e7f17e
DE
9260 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
9261 option.
9262 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
9263 * config/rs6000/aix51.h: Same.
9264 * config/rs6000/aix52.h: Same.
d47719fd
DE
9265 * config/rs6000/power4.md: Additional VMX bypasses.
9266
7a69a172
GB
92672003-02-27 Geert Bosch <bosch@gnat.com>
9268
9269 * toplev.c (print_version): Add indentation for GGC heuristics and
9270 output after printing version information.
9271
678e68fc
JW
92722003-02-27 James E Wilson <wilson@tuliptree.org>
9273
9274 * combine.c (simplify_comparison): Require integral mode when
9275 permuting SUBREG with AND.
9276
986704f1
SE
92772003-02-27 Steve Ellcey <sje@cup.hp.com>
9278
9279 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
9280
1e3af7f6
NC
92812003-02-27 Nick Clifton <nickc@redhat.com>
9282
9283 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
9284 deleted when cirrus instructions were added.
9285
51b7c247
JT
92862003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
9287
9288 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
9289 POSIX thread support by default.
9290
3eae722d
RS
92912003-02-27 Roger Sayle <roger@eyesopen.com>
9292
9293 * config/i386/cygwin.h: Don't include any other files directly.
9294 * config/i386/mingw32.h: Don't include cygwin.h directly.
9295 * config.gcc (cygwin, mingw32, uwin): Instead make these files
9296 explicit in the tm_files variable.
9297
6fc19dc9
AM
92982003-02-27 Alan Modra <amodra@bigpond.net.au>
9299
9300 * config/rs6000/rs6000.md: Add TI constant splitter.
9301
c41536f5
AO
93022003-02-26 Alexandre Oliva <aoliva@redhat.com>
9303
65c04548
AO
9304 * builtins.c (purge_builtin_constant_p): Handle subreg of
9305 constant_p_rtx too.
9306
c41536f5
AO
9307 * function.c (assign_stack_local_1): Truncate constant added to
9308 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
9309
dccd5213
DE
93102003-02-26 David Edelsohn <edelsohn@gnu.org>
9311
9312 * config.gcc: Add power4 to PowerPC with_cpu list.
9313
62c9aa5f 93142003-02-26 Jan Hubicka <jh@suse.cz>
47a5d8e7
JH
9315
9316 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
9317
cb9e4555
ZD
93182003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9319
9320 * gcov-dump.c (print_prefix): Fix signedness warning.
9321 * gcov-io.h (struct counter_section, struct counter_section_data): New.
9322 (struct function_info): n_arc_counts field removed, n_counter_sections,
9323 counter_sections fields added.
9324 (struct gcov_info): arc_counts, n_arc_counts fields removed,
9325 n_counter_sections, counter_sections fields added.
9326 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
9327 profile sections.
9328 * profile.h (MAX_COUNTER_SECTIONS): New.
9329 (struct section_info): New.
9330 (struct profile_info): count_instrumented_edges,
9331 count_edges_instrumented_now fields removed, n_sections, section_info
9332 fields added.
9333 (find_counters_section): Declare.
9334 * profile.c (struct function_list): count_edges field removed,
9335 n_counter_sections, counter_sections fields added.
9336 (set_purpose, label_for_tag, build_counter_section_fields,
9337 build_counter_section_value, build_counter_section_data_fields,
9338 build_counter_section_data_value, build_function_info_fields,
9339 build_function_info_value, build_gcov_info_fields,
9340 build_gcov_info_value): New static functions.
9341 (find_counters_section): New function.
9342 (instrument_edges, get_exec_counts, compute_branch_probabilities,
9343 branch_prob, create_profiler): Modified to support multiple profile
9344 sections.
9345
b0d7ef9a
JDA
93462003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9347
9348 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
9349 is 8 * STACK_BOUNDARY.
9350 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
9351
f6e91562
MM
93522003-02-26 Michael Matz <matz@suse.de>
9353
9354 * ra-colorize.c (merge_moves): Fix list handling.
9355
f0375c66
NC
93562003-02-26 Nick Clifton <nickc@redhat.com>
9357
9358 * config/arm/arm.c (is_load_address): Rename to...
52999738
ZW
9359 (arm_memory_load_p) ... this and make it check for SUBREGs and
9360 constant loads that will be converted into loads from the
9361 minipool.
9362 (is_cirrus_insn): Rename to ...
9363 (arm_cirrus_insn_p): ... this, for consistency. Replace test
9364 of CIRRUS_NO with CIRRUS_NOT.
9365 (cirrus_reorg): Use renamed functions.
9366 (note_invalid_constants): Change from a void function to bool.
9367 Add an extra parameter, saying whether the fixups should be
9368 pushed. Return true if fixups are needed.
9369 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
9370 of CIRRUS_NO with CIRRUS_NOT.
9371 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
9372 other floating point co-processors can also affect this.
9373 * config/arm/arm.md ("type" attribute): Add mav_farith and
9374 mav_dmult. Replace references to "cirrus_type" attribute with
9375 "type".
9376 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
9377 ("cirrus_type" attribute): Delete - use "type" instead.
9378 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
9379 'normal'.
f0375c66 9380
62c9aa5f 93812003-02-25 Jan Hubicka <jh@suse.cz>
0d446150
JH
9382
9383 * objc-act.c: Include cgraph.h
9384 (mark_referenced_methods): New function.
9385 (objc_init): Call it.
9386 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
9387
9388 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
9389 mode.
9390
9391 * optabs.c (expand_fix): Do not widen the input operand.
9392
9393 * expr.c (emit_group_store): Fix crash when converting single
9394 register into complex register.
9395
9396 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
9397 * alias.c: Include timevar.h
9398 (init_alias_analysis): Set timevar
9399 * jump.c: Include timevar.h
9400 (rebuild_jump_labels): Set timevar
9401 * regcalss.c: Include timevar.h
9402 (reg_scan): Set timevar
9403 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
9404
b17d5d7c
ZD
94052003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9406
9407 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
9408
9409 * Makefile.in (loop-unroll.o): New.
9410 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
9411 (unroll_and_peel_loops): Declare.
9412 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
9413 flag_old_unroll_loops.
9414 * loop.c (loop_invariant_p): Ditto.
9415 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
9416 flag_old_unroll_all_loops.
9417 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
9418 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
9419 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
9420 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
9421 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
9422 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
9423 PARAM_MAX_ONCE_PEELED_INSNS): New.
9424 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
9425 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
9426 instead of old one.
9427 (flag_peel_loops): New.
9428 (lang_independent_options): The new flags added.
9429 (rest_of_compilation): Call new unroller.
9430 (process_options): Setup flags for coexistence of old and new unroller.
9431 * doc/invoke.texi: Document new options.
9432 * doc/passes.texi: Document new unroller pass.
9433
244f7aa9
DB
94342003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
9435
9436 * fixinc/fixincl.x: Regenerate
9437
1d14f992
JZ
94382003-02-26 Josef Zlomek <zlomekj@suse.cz>
9439
9440 * function.c (assign_parms): Set reg_attrs for parameters passed in
9441 registers.
9442
8ace9f18
AM
94432003-02-26 Alan Modra <amodra@bigpond.net.au>
9444
38a84391 9445 PR target/9681
8ace9f18
AM
9446 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
9447
9a29ee42
DE
94482003-02-25 David Edelsohn <edelsohn@gnu.org>
9449
9450 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
9451 pseudo-op.
9452
8beccec8
RS
94532003-02-25 Roger Sayle <roger@eyesopen.com>
9454
9455 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
9456 * cse.c (invalidate_skipped_set): Likewise.
9457 * integrate.c (subst_constants): Likewise.
9458 * jump.c (reversed_comparison_code_parts): Likewise.
9459 * loop.c (canonicalize_condition): Likewise.
9460 * simplify-rtx.c (simplify_relational_operation): Likewise.
9461
b052d8ee
RS
94622003-02-25 Roger Sayle <roger@eyesopen.com>
9463
9464 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
9465 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
9466 the appropriate macro to define built-in function.
9467 (fmod,fmodf,fmodl): New built-in functions.
9468
9469 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
9470
8d454008
RH
94712003-02-25 Richard Henderson <rth@redhat.com>
9472
9473 * config/i386/i386.c (function_arg): Pass variable sized
9474 structures correctly on the stack.
9475
fc943f55
KH
94762003-02-25 Kazu Hirata <kazu@cs.umass.edu>
9477
9478 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
9479 does not reduce the cost of SET.
9480
14f00213
FS
94812003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9482
9483 PR target/9732
9484 * config/rs6000/rs6000.c (first_reg_to_save): Handle
9485 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
9486 (rs6000_emit_prologue): Likewise.
9487 (rs6000_emit_epilogue): Likewise.
9488 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
9489 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
9490
8164b171
RH
94912003-02-25 Richard Henderson <rth@redhat.com>
9492
9493 * real.c (real_to_integer2): Force overflow result only for
9494 unsigned overflow.
9495
9e48c409
KH
94962003-02-25 Kazu Hirata <kazu@cs.umass.edu>
9497
9498 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
9499
3044064c 95002003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
52999738 9501 Richard Henderson <rth@redhat.com>
3044064c
VM
9502
9503 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4e21585b 9504 there is no similar load.
3044064c 9505
15aab9c0 95062003-02-25 Vladimir Makarov <vmakarov@redhat.com>
52999738 9507 Richard Henderson <rth@redhat.com>
15aab9c0
VM
9508
9509 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
9510 sched-rgn.c.
9511 (add_forward_dependence): New function prototype.
9512
9513 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
9514 sched-init.h.
9515 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
9516 them to haifa-sched.c.
9517
9518 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
9519 haifa_classify_insn): Move them from sched-rgn.c.
9520
9521 * sched-deps.c (add_dependence): Return flag of creating a new
9522 entry.
9523 (add_forward_dependence): New function.
9524 (compute_forward_dependences): Use the function.
9a79ab7e 9525
15aab9c0
VM
9526 * sched-ebb.c (earliest_block_with_similiar_load): New function.
9527 (add_deps_for_risky_insns): New function.
9528 (schedule_ebb): Call the function.
9529
95302003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9 9531
52999738
ZW
9532 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
9533 TARGET_VECTOR_OPAQUE_P. Document accordingly.
c8e4f0e9 9534
52999738
ZW
9535 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
9536 opaque types fail.
c8e4f0e9 9537
52999738
ZW
9538 * c-typeck.c (comptypes): Change call to vector_types_compatible
9539 to vector_opaque_p.
9540 (convert_for_assignment): Call vector_opaque_p instead of
9541 vector_types_compatible.
9542 (really_start_incremental_init): Disallow initialization of opaque
9543 types.
c8e4f0e9 9544
52999738
ZW
9545 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
9546 Define TARGET_VECTOR_OPAQUE_P.
9547 (TARGET_INITIALIZER): Same.
c8e4f0e9 9548
52999738
ZW
9549 * target.h (struct gcc_target): Remove vector_types_compatible.
9550 Add vector_opaque_p.
c8e4f0e9 9551
52999738
ZW
9552 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
9553 Remove.
9554 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
9555 a vector type. Change return type to bool.
9556 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
9557 (TARGET_VECTOR_OPAQUE_P): Define.
c8e4f0e9 9558
52999738
ZW
9559 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
9560 target hook.
9561 Include target.h.
9562 (cp_parser_init_declarator): Fix typo in function comments.
c8e4f0e9 9563
62c9aa5f 95642003-02-25 Jan Hubicka <jh@suse.cz>
fa1a0d02
JH
9565
9566 * Makefile.in (lcm.o): Add dependency on function.h
9567 * lcm.c (function.h): Include.
9568 * i386.c (machine_function, ix86_stack_locals,
9569 * ix86_save_varrargs_registers) : Move to
9570 ...
9571 * i386.h (machine_function, ix86_stack_locals,
9572 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
9573 (ix86_optimize_mode_switching): New.
9574 * i386.md (fix patterns): Set ix86_optimize_mode_switching
9575
b103bfef
NC
95762003-02-25 Nick Clifton <nickc@redhat.com>
9577
9578 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
9579 of fourth arg is 'fndecl' not 'indirect'. Update comment
9580 describing the function's parameters.
9581
62c9aa5f 95822003-02-24 Jan Hubicka <jh@suse.cz>
2d21f7d6
JH
9583
9584 * combine.c (simplify_shift_const): Fix previous patch.
9585
2bac97f7
JL
95862003-02-24 Jeff Law <law@redhat.com>
9587
9588 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
9589 alternative.
9590 (testsi_1, testhi_1, testqi_1): Likewise.
9591
f8dc212b
RO
95922003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9593
9594 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
9595 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
9596 * doc/extend.texi (Tru64 Pragmas): Reflect this.
9597
9598 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
9a79ab7e 9599 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
f8dc212b
RO
9600 * fixinc/fixincl.x: Regenerate.
9601 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
9602 testcase.
9603 Fixes PR c/5059, c/6126, other/9671.
9a79ab7e 9604
44ee6e9e
RS
96052003-02-24 Roger Sayle <roger@eyesopen.com>
9606
9607 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
9608 from handle_braces in "%{...}".
9609
463f02cd
KK
96102003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
9611
9612 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
9613 (prepare_move_operands): Handle TLS operands.
9614 (tls_symbolic_operand): New.
9615 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
9616 (legitimize_pic_address): Do nothing for the TLS symbol.
9617 (sh_encode_section_info): Handle TLS case.
9618 (sh_strip_name_encoding): Drop TLS encoding.
9619 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
9620 * config/sh/sh.h (SH_TLS_ENCODING): Define.
9621 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
9622 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
9623 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
9624 * config/sh/sh.md: Define TLS UNSPEC constants.
9625 (type): Add tls_load.
9626 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
9627 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
9628 ("tls_initial_exec"): New insn.
9629 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
9630 ("load_gbr"): New insn.
9631
9632 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
52999738 9633 * configure: Regenerate.
463f02cd 9634
8403445a
AM
96352003-02-24 Alan Modra <amodra@bigpond.net.au>
9636
6fc19dc9 9637 PR 9297, PR 9722
8403445a
AM
9638 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
9639 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
9640 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
9641 (enum block_op_methods): Reorder for better store_expr optimization.
9642 * expr.c (store_expr): Test bit 1 of "want_value" for call param
9643 stores, test bit 0 for original want_value meaning. Pass
9644 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
9645 recursive calls, and calls to expand_param.
9646 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
9647 expected, set target to 0 rather than to subtarget. Formatting.
9648
ef906381
KH
96492003-02-23 Kazu Hirata <kazu@cs.umass.edu>
9650
9651 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
9652
16226f1e
KG
96532003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9654
9655 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
9656 new default behavior.
9657 * ggc-common.c: Include sys/resource.h.
9658 (ggc_rlimit_bound): New function.
9659 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
9660 defaults to account for rlimits.
9661
9e555526
RH
96622003-02-22 Richard Henderson <rth@redhat.com>
9663
9664 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
9665
96662003-02-22 Kelley Cook <kelley@dwhoops.info>
9667
52999738 9668 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
9e555526
RH
9669 (ix86_tune_string): Rename from ix86_cpu_string.
9670
9d913bbf
KC
96712003-02-22 Kelley Cook <kelleycook@comcast.net>
9672
52999738
ZW
9673 * config/i386/i386.c: Replace "mcpu" with "mtune".
9674 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
9675 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
9676 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
9677 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
9d913bbf 9678
d2c172bf
AS
96792003-02-23 Andreas Schwab <schwab@suse.de>
9680
9681 * config.gcc: Delete references to m68k/t-linux and
9682 m68k/t-linux-aout.
9683 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
9684
62c9aa5f 96852003-02-22 Jan Hubicka <jh@suse.cz>
b3de7382
JH
9686
9687 * toplev.c (rest_of_compilation): Apply fotgotten hunk
9688 of track scheduling patch.
9689
62c9aa5f 96902003-02-22 Jan Hubicka <jh@suse.cz>
90b8be73
JH
9691
9692 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
9693 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
9694
62c9aa5f 96952003-02-22 Jan Hubicka <jh@suse.cz>
764c4414
JH
9696
9697 * c-decl.c (c_expand_body_1): Fix.
9698
62c9aa5f 96992003-02-22 Jan Hubicka <jh@suse.cz>
1c4a429a
JH
9700
9701 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
9702
9703 * cfgcleanup.c (try_forward_edges): Don't check loop structures
9704 when not optimizing.
9705 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
9706 when not expensive.
9707 * toplev.c (rest_of_compilation): Duplicate loop headers only when
9708 optimizing; Delete trivially dead insns early; fix optimize check.
9709
9710 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
9711 dependency on cgraph.h
9712 * c-decl.c: Include cgraph.h
9713 (finish_function): Update call of tree_inlinable_function_p.
9714 * c-objc-common.c: Include cgraph.h
9715 * cgraph.h: New file.
9716 * cgraphunit.c: New file.
9717 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
9718 (cgraph_nodes, cgraph_n_nodes): Globalize.
9719 (cgraph_finalize_function, cgraph_finalize_compilation_unit
9720 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
9721 Move into cgraphunit.c
9722 * tree-inline.c: Include cgraph.h
9723 * tree-inline.c: Include cgraph.h
9724
1e2115dc
JZ
97252003-02-22 Josef Zlomek <zlomekj@suse.cz>
9726
9727 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
9728 for copying a register.
9729
26182e15
SB
97302003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
9731
9732 PR other/3782
9733 * toplev.c (process_options): If flag_detailed_statistics is set,
9734 then set time_report as well.
9735
b6553814
SB
9736 PR c/8828
9737 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
9738 insns. Update comments to reflect what the function really does.
9739
c0a47a61
RS
97402003-02-21 Roger Sayle <roger@eyesopen.com>
9741
9742 * fold-const.c (omit_one_operand): No longer static.
9743 * tree.h (omit_one_operand): Prototype here.
9744 (div_and_round_double): Keep fold-const.c prototypes together.
9745 * builtins.c (builtin_mathfn_code): Handle binary built-in
9746 funtions, such as "pow" and "atan2".
9747 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
9748 Simplify optimizations using "type" the builtin's return type.
9749
51928907
HPN
97502003-02-22 Hans-Peter Nilsson <hp@axis.com>
9751
5b296d93
HPN
9752 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
9753 Fix functionalization typo.
9754
51928907
HPN
9755 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
9756 in an asm.
9757
9ac121af
KG
97582003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9759
9760 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
9761 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
9762 documentation.
9763 * ggc-common.c: Include params.h
9764 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
9765 init_ggc_heuristics): New functions.
9766 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
9767 init_ggc_heuristics): Prototype.
9768 * toplev.c (print_version): Output GGC heuristics.
9769 (parse_options_and_default_flags): Call init_ggc_heuristics.
9770
62c9aa5f 97712003-02-22 Jan Hubicka <jh@suse.cz>
453ee231
JH
9772
9773 * i386.c (def_builtin): Special case 64bit builtins.
9774 (MASK_SSE164, MASK_SSE264): New constants.
9775 (builtin_description): Add 64bit builtins.
9776 (ix86_init_mmx_sse_builtins): Likewise.
9777 * i386.h (enum ix86_builtins): Likewise.
9778 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
9779 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
9780 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
9781 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
9782 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
9783 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
9784 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
9785
62c9aa5f 97862003-02-22 Jan Hubicka <jh@suse.cz>
d50672ef
JH
9787
9788 * i386.c (builtin_description): Add __builtin_ia32_paddq and
9789 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
9790 and __builtin_ia32_psubq128.
9791 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
9792 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
9793 (mmx_adddi3, mmx_subdi3): New.
9794 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
9795 * xmmintrin.h (_mm_movepi64_pi64): New.
9796 (_mm_add_epi64, _mm_sub_epi64): fix.
9797 (_mm_mul_pu16): Rename to...
9798 (_mm_mul_su32): ... this one.
9799
9800 * builtins.c (expand_builtin_expect): Do not predict
9801 flag_guess_branch_prob is not set.
9802 * c-semantics.c (expand_stmt): Likewise.
9803 * predict.c (predict_insn): Likewise.
9804 * stmt.c (expand_continue_loop): Likewise.
9805 * toplev.c (rest_of_compilation): Do not call
9806 note_prediction_to_br_prob and note_prediction_to_br_prob
9807 when not optimizing.
9808
62c9aa5f 98092003-02-21 Jan Hubicka <jh@suse.cz>
9809a362
JH
9810
9811 * cfgrtl.c (commit_edge_insertions): Call
9812 find_many_sub_basic_block only when some code has been emitted.
9813 (commit_edge_insertions_watch_calls): Bring into sync with
9814 commit_edge_insertions
9815
62c9aa5f 98162003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
a93d1ba2
R
9817
9818 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
9819
9820 * sh.md (binary_sf_op): Use extra constant operand instead of
9821 negating constant operand 4.
9822 * sh.c (sh_expand_binop_v2sf): Supply it.
9823
a8d0ddaf
ZW
98242003-02-21 Zack Weinberg <zack@codesourcery.com>
9825
9826 * cpphash.h (struct lexer_state): Add directive_wants_padding.
9827 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
9828 for directives of type INCL.
9829 (glue_header_name, parse_include): Use get_token_no_padding.
9830 * cppmacro.c (replace_args): If directive_wants_padding,
9831 provide padding tokens.
9832
902ac719
KH
98332003-02-21 Kazu Hirata <kazu@cs.umass.edu>
9834
9835 * config/h8300/h8300.md (a peephole2): New.
9836
62c9aa5f 98372003-02-21 Jan Hubicka <jh@suse.cz>
9dca2ad5
JH
9838
9839 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
9840 (commit_edge_insertions): Call find_many_sub_basic_blocks
9841
9842 * reg-stack.c (convert_regs): Cleax aux for blocks.
9843
62c9aa5f 98442003-02-21 Jan Hubicka <jh@suse.cz>
64465d27
JH
9845
9846 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
9847
9e7d0b92
GN
98482003-02-21 Glen Nakamura <glen@imodulo.com>
9849
9850 PR optimization/8613
9851 * builtins.c (expand_builtin): Emit postincrements before expanding
9852 builtin functions.
9853
a7582c8c
BE
98542003-02-21 Ben Elliston <bje@redhat.com>
9855
9856 PR other/5634
9857 * doc/install.texi (Configuration): Explain using $HOME instead of
9858 the ~ metacharacter when referring to home directories.
9859
91710e62
AO
98602003-02-20 Alexandre Oliva <aoliva@redhat.com>
9861
9862 * configure.in (TARGET_SYSTEM_ROOT): Set default to
9863 ${exec_prefix}/${target_alias}/sys-root. Match explicit
9864 '${exec_prefix}' (in addition to the expansion thereof) as
9865 relocatable.
9866 * configure: Rebuilt.
9867
d64f6f86
KH
98682003-02-20 Kazu Hirata <kazu@cs.umass.edu>
9869
9870 * config/h8300/h8300.md (addhi3_incdec): Change the name to
9871 *addhi3_incdec.
9872 (addsi3_incdec): Change the name to *addsi3_incdec.
9873
fd7acc30
RS
98742003-02-20 Roger Sayle <roger@eyesopen.com>
9875
9876 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
9877
1c2de642
TM
98782003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
9879
9880 PR fortran/9038
9881 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
9882 options to be ignored.
9883 (c_common_decode_option): Ignore them when preprocessing.
9884
62c9aa5f 98852003-02-20 Jan Hubicka <jh@suse.cz>
b9422b69 9886
fd7acc30
RS
9887 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
9888 global variables.
9889 (lang_independent_options): Add -fsched2-use-superblocks
9890 -fsced2-use-traces.
b9422b69
JH
9891 (rest_of_compilation): Deal with it.
9892 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
9893 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
9894 Declare.
b9422b69
JH
9895 * rtl.h (reg_to_stack): Update prototype.
9896 * reg-stack.c (reg_to_stack): Return when something has changed;
9897 update liveness when executing after superblock scheduling.
9898
9899 * combine.c (simplify_shift_const): Simplify few special cases
9900 into constants.
9901
a62bfff2
DE
99022003-02-20 David Edelsohn <edelsohn@gnu.org>
9903
9904 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
9905 (add.,subf.,neg.): Change attribute to fast_compare.
9906 All DFA descriptions updated.
9907
dbbf88d1
NS
99082003-02-20 Nathan Sidwell <nathan@codesourcery.com>
9909
9910 Change base class access representation.
9911 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
9912 TREE_VIA_PRIVATE): Remove.
9913 (BINFO_BASEACCESSES): New binfo elt.
9914 (BINFO_BASEACCESS): New accessor.
9915 (BINFO_ELTS): Increase.
9916 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
9917 (access_public_node, access_protected_node,
9918 access_private_node): New global nodes.
9919 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
9920 * dbxout.c (dbxout_type): Adjust.
9921 * dwarf2out.c (gen_inheritance_die): Add access parameter.
9922 (gen_member_die): Adjust.
9923 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
9924 (output_type): Adjust.
9925 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
9926
9927 Change base class access representation. Share virtual base
9928 binfos.
9929 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
9930 call.
9931 * cp/class.c (build_base_path): Likewise.
9932 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
9933 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
9934 (make_new_vtable): Adjust.
9935 (force_canonical_binfo_r): Delete.
9936 (force_canonical_binfo): Delete.
9937 (mark_primary_virtual_base): Delete.
9938 (dfs_unshared_virtual_bases): Delete.
9939 (mark_primary_bases): Adjust.
9940 (maybe_warn_about_overly_private_class): Adjust.
9941 (dfs_base_derived_from): Delete.
9942 (base_derived_from): Follow the inheritance chain.
9943 (struct find_final_overrider_data): Add vpath member.
9944 (dfs_find_final_overrider): Adjust.
9945 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
9946 (find_final_overrider): Adjust.
9947 (update_vtable_entry_for_fn): Adjust.
9948 (modify_all_vtables): Adjust.
9949 (walk_subobject_offsets): Adjust.
9950 (layout_nonempty_base_or_field): Adjust.
9951 (layout_empty_base): Remove last parameter. Adjust.
9952 (build_base_field): Adjust.
9953 (build_base_fields): Adjust.
9954 (propagate_binfo_offsets): Remove last parameter. Adjust.
9955 (dfs_set_offset_for_unshared_vbases): Delete.
9956 (layout_virtual_bases): Adjust.
9957 (finish_struct_1): Adjust.
9958 (init_class_processing): Don't init access nodes.
9959 (dfs_get_primary_binfo): Delete.
9960 (get_primary_binfo): Adjust.
9961 (dump_class_hierarchy_r): Remove most derived arg, add IGO
9962 parameter. Adjust.
9963 (dump_class_hierarchy): Adjust.
9964 (finish_vtbls): Adjust.
9965 (get_original_base): Delete.
9966 (build_vtt_inits): Adjust.
9967 (dfs_build_secondary_vptr_vtt_inits): Adjust.
9968 (dfs_ctor_vtable_bases_queue_p): Adjust.
9969 (build_ctor_vtbl_group): Adjust.
9970 (dfs_accumulate_vtbl_inits): Adjust.
9971 (build_vtbl_initializer): Adjust.
9972 (build_vbase_offset_vtbl_entries): Adjust.
9973 (add_vcall_offset_vtbl_entries_1): Adjust.
9974 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
9975 (access_*_node): Remove.
9976 (CANONICAL_BINFO): Delete.
9977 (BINFO_UNSHARED_MARKED): Remove.
9978 (BINFO_MARKED): Set LANG_FLAG_0 directly.
9979 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
9980 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
9981 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
9982 Delete.
9983 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
9984 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
9985 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
9986 Delete.
9987 (BINFO_DEPENDENT_BASE_P): New.
9988 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
9989 index.
9990 (markedp, unmarkedp): Adjust.
9991 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
9992 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
9993 find_vbase_instance, binfo_for_vbase): Delete.
9994 (copied_binfo, original_binfo): Declare.
9995 (finish_base_specifier): Add virtual_p arg.
9996 (unshare_base_binfos): Delete.
9997 (copy_base_binfos): Declare.
9998 (reverse_path): Delete.
9999 * cp/decl.c (xref_basetypes): Access and virtuality passed
10000 differently. Don't copy direct base binfos here. Call
10001 copy_base_binfos.
10002 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
10003 (initialize_vtbl_ptrs): Adjust.
10004 (expand_member_init): Adjust.
10005 * cp/parser.c (cp_parser_base_specifier): Adjust.
10006 * cp/pt.c (instantiate_class_template): Adjust.
10007 (get_template_base_recursive): Adjust.
10008 * cp/rtti.c (get_pseudo_ti_init): Adjust.
10009 (get_pseudo_ti_desc): Adjust.
10010 * cp/tree.c (unshare_base_binfos): Rename to ...
10011 (copy_base_binfos): ... here, reimplement.
10012 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
10013 (reverse_path): Remove.
10014 * cp/typeck.c (get_delta_difference): Adjust error messages.
10015 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
10016 * cp/search.c (lookup_base_r): Adjust.
10017 (dynamic_cast_base_recurse): Adjust.
10018 (canonical_binfo): Remove.
10019 (dfs_canonical_queue): Remove.
10020 (dfs_assert_unmarked_p): Remove.
10021 (assert_canonical_unmarked): Remove.
10022 (shared_marked_p, shared_unmarked_p): Remove.
10023 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
10024 (dfs_access_in_type): Adjust.
10025 (access_in_type): Adjust.
10026 (dfs_accessible_queue_p): Adjust.
10027 (dfs_accessible_p): Adjust.
10028 (is_subobject_of_p_1, is_subobject_of_p): Remove.
10029 (struct lookup_field_info): Remove from_dep_base_p field.
10030 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
10031 (lookup_field_r): Remove dependent base code.
10032 (lookup_member): Likewise.
10033 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
10034 (dfs_unmarked_real_bases_queue_p): Remove.
10035 (dfs_marked_real_bases_queue_p): Remove.
10036 (dfs_skip_vbases): Remove.
10037 (dfs_get_pure_virtuals): Adjust.
10038 (markedp, unmarkedp): Adjust.
10039 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
10040 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
10041 (dfs_unmark): Adjust.
10042 (dfs_get_vbase_types):Remove.
10043 (dfs_build_inheritance_graph_order): Remove.
10044 (get_vbase_types): Remove
10045 (dfs_find_vbase_instance): Remove.
10046 (find_vbase_instance): Remove.
10047 (dfs_debug_unmarkedp): Adjust.
10048 (dependent_base_p): Remove.
10049 (dfs_push_type_decls): Adjust.
10050 (dfs_push_decls): Adjust.
10051 (dfs_no_overlap_yet): Adjust.
10052 (copied_binfo): New function.
10053 (original_binfo): New function.
10054 (binfo_for_vbase): Remove.
10055
10056 Change base class access representation.
10057 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
10058 (add_interface_do): Likewise.
10059
6d6ab190
DE
100602003-02-20 David Edelsohn <edelsohn@gnu.org>
10061
a8d0ddaf
ZW
10062 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
10063 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
10064 insn reservations.
10065 (power4-fpstore): Compact.
10066
2dd5df7c
KH
100672003-02-20 Kazu Hirata <kazu@cs.umass.edu>
10068
10069 * config/h8300/h8300.md (*iorsi3_w): New.
10070
8fa08316
JZ
100712003-02-20 Josef Zlomek <zlomekj@suse.cz>
10072
10073 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
10074 * rtl.c (reg_note_name): Likewise.
10075 * rtl.h (enum reg_note): Likewise.
10076 * doc/invoke.texi: Likewise.
10077 * doc/rtl.texi: Likewise.
10078
c8717368
JZ
100792003-02-20 Josef Zlomek <zlomekj@suse.cz>
10080
10081 * bb-reorder.c (find_traces_1_round): Fix comment typo.
10082
3bc400cd
RS
100832003-02-19 Roger Sayle <roger@eyesopen.com>
10084
10085 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
10086 addition in the presence of signaling NaNs.
10087
b5a49c0b
KW
100882003-02-19 Krister Walfridsson <cato@df.lth.se>
10089
10090 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
10091
472f2723
KH
100922003-02-19 Kazu Hirata <kazu@cs.umass.edu>
10093
10094 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
10095 ORing with 0xffff??00 with the highest bit of the ?? part set.
10096 (compute_logical_op_length): Update.
10097 (compute_logical_op_cc): Likewise.
10098
6d9cc15b
JZ
100992003-02-19 Josef Zlomek <zlomekj@suse.cz>
10100
10101 * bb-reorder.c (find_traces_1_round): Fixed condition for small
10102 destination block with multiple predecessors.
10103 (connect_traces): Check whether the block is a start of trace.
10104
62c9aa5f 101052003-02-19 Jan Hubicka <jh@suse.cz>
563a317a
JH
10106
10107 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
10108 * function.c (assign_params): Likewise.
10109 * arm-protos.h (arm_init_cumulative_args): Update prototype.
10110 * arm.c (arm_init_cumulative_args): Update function.
10111 * arm.h (INIT_CUMULATIVE_ARGS): Update.
10112 * avr-protos.h (init_cumulative_args): Update prototype.
10113 * avr.c (init_cumulative_args): Update function.
10114 * avr.h (INIT_CUMULATIVE_ARGS): Update.
10115 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
10116 * d30v.c (d30v_init_cumulative_args): Update function.
10117 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
10118 * frv-protos.h (frv_init_cumulative_args): Update prototype.
10119 * frv.c (frv_init_cumulative_args): Update function.
10120 * frv.h (INIT_CUMULATIVE_ARGS): Update.
10121 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
10122 * pa.h (INIT_CUMULATIVE_ARGS): Update.
10123 * sparc-protos.h (init_cumulative_args): Update prototype.
10124 * sparc.c (init_cumulative_args): Update function.
10125 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
10126 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
10127
be9d08c2
KH
101282003-02-19 Kazu Hirata <kazu@cs.umass.edu>
10129
10130 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
10131 (*ashiftsi_sextqi_7): Likewise.
10132
f23147fe
RO
101332003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10134
10135 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
10136 ISO C99 and C++.
10137
10138 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
10139 for C++ on IRIX 6.5.1[89].
10140 * fixinc/tests/base/internal/sgimacros.h: New file.
10141
10142 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
10143 * fixinc/tests/base/internal/wchar_core.h: New file.
a8d0ddaf 10144
f23147fe
RO
10145 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
10146 socklen_t definition.
10147 * fixinc/fixincl.x: Regenerate.
10148 * fixinc/tests/base/sys/socket.h: New file.
10149 Fixes PR libgcj/9652.
10150
62c9aa5f 101512003-02-19 Jan Hubicka <jh@suse.cz>
30e4d9d4
JH
10152
10153 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
10154
2792d578
DE
101552003-02-19 David Edelsohn <edelsohn@gnu.org>
10156
10157 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
10158 align_jumps_max_skip and align_loops_max_skip.
10159
101602003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
10161
10162 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
10163 test size if named section.
10164
48a5f2fa
DJ
101652003-02-19 Daniel Jacobowitz <drow@mvista.com>
10166
10167 * expr.c (expand_expr): Use gen_int_mode for the argument
10168 to gen_rtx_MULT.
10169
62c9aa5f 101702003-02-19 Jan Hubicka <jh@suse.cz>
9e889775
JH
10171
10172 * i386.md (cosxf2): Fix conditional.
10173
f4c07fbf
KH
101742003-02-19 Kazu Hirata <kazu@cs.umass.edu>
10175
10176 * config/h8300/h8300.md (extendqisi2): Change to an expander.
10177 (*extendqisi2_h8300): New.
10178 (*extendqisi2_h8300hs): Likewise.
10179
590734b6
KH
101802003-02-19 Kazu Hirata <kazu@cs.umass.edu>
10181
10182 * config/h8300/h8300-protos.h: Update the prototype for
10183 split_adds_subs. Remove the prototypes for
10184 const_int_le_2_operand and const_int_le_6_operand.
10185 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
10186 (const_int_le_2_operand): Remove.
10187 (const_int_le_6_operand): Likewise.
10188 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
10189 for const_int_le_2_operand and const_int_le_6_operand.
10190 * config/h8300/h8300.md: Update all uses of split_adds_subs.
10191 (a peephole2): New.
10192
62c9aa5f 101932003-02-18 Jan Hubicka <jh@suse.cz>
c001c39b
JH
10194
10195 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
10196 (cgraph_expand_function): Rewrite.
10197
2f51bb1d 101982003-02-18 Matt Austern <austern@apple.com>
3bc400cd 10199
2f51bb1d 10200 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 10201 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 10202
ff6e1a2f
KH
102032003-02-18 Kazu Hirata <kazu@cs.umass.edu>
10204
10205 * config/h8300/h8300.c (general_operand_src): Always check
10206 MODE.
10207 (general_operand_dst): Likewise.
10208
78bd5210
RS
102092003-02-18 Roger Sayle <roger@eyesopen.com>
10210
10211 * convert.c (convert_to_real): Also optimize (float)log(x) into
10212 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
10213
9f3a9a08
KK
102142003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
10215
a8d0ddaf 10216 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 10217 (sh_cannot_copy_insn_p): New.
a8d0ddaf 10218 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 10219
d7ddbe24
RH
102202003-02-18 Richard Henderson <rth@redhat.com>
10221
10222 * c-common.c (handle_used_attribute): Accept static data too.
10223
102242003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 10225 Aldy Hernandez <aldyh@redhat.com>
22d324c1 10226
a8d0ddaf 10227 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 10228
a8d0ddaf 10229 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 10230
a8d0ddaf
ZW
10231 * target-def.h (TARGET_INITIALIZER): Add
10232 TARGET_VECTOR_TYPES_COMPATIBLE.
10233 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 10234
a8d0ddaf 10235 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 10236
a8d0ddaf
ZW
10237 * c-typeck.c (comptypes): Take into account
10238 TARGET_VECTOR_TYPES_COMPATIBLE.
10239 (convert_for_assignment): Same.
22d324c1 10240
a8d0ddaf
ZW
10241 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
10242 (rs6000_spe_vector_types_compatible): New.
10243 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 10244
e5378e8d
AS
102452003-02-19 Andreas Schwab <schwab@suse.de>
10246
10247 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
10248 * toplev.c: Include langhooks-def.h.
10249
fcc11c35
CD
102502003-02-18 Chris Demetriou <cgd@broadcom.com>
10251
10252 * config/mips/mips.h (enum processor_type): Sort entries
10253 alphabetically.
10254 * config/mips/mips.md (define_attr cpu): Sync with processor_type
10255 enum values, including adding entries that were missing.
10256
62c9aa5f 102572003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
29db2a1e 10258
3bc400cd
RS
10259 * sh.c (calc_live_regs): Also check GET_CODE when checking if
10260 initial value for PR_REG is still the PR_REG register.
29db2a1e 10261
582d11e6
JW
102622003-02-18 Jim Wilson <wilson@redhat.com>
10263
10264 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
10265 instruction in output template.
10266 (bsp_value): Change output template from string to C code, add %,
10267 before actual instruction.
10268 (flushrs): Mark as not predicable.
10269
3edc4b23
KW
102702003-02-18 Krister Walfridsson <cato@df.lth.se>
10271
10272 * inclhack.def (netbsd_bogus_semicolon): New fix.
10273 * fixincl.x: Rebuilt.
10274 * tests/base/ctype.h: Update.
10275
080ea642
RS
102762003-02-18 Roger Sayle <roger@eyesopen.com>
10277
10278 * fold-const.c (negate_expr_p): New function to determine whether
10279 an expression can be negated cheaply.
10280 (fold) [MINUS_EXPR]: Use it to determine whether to transform
10281 -A - B into -B - A for floating point types.
10282
e360ab39
RS
102832003-02-18 Roger Sayle <roger@eyesopen.com>
10284
10285 * sbitmap.c (sbitmap_resize): New function.
10286 * sbitmap.h (sbitmap_resize): Prototype here.
10287 * recog.c (split_all_insns): Use sbitmap_resize.
10288
6b00cbc7
KH
102892003-02-18 Kazu Hirata <kazu@cs.umass.edu>
10290
10291 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
10292 insn length.
10293 (extendqisi2): Likewise.
10294 (*extendhisi2_h8300): Likewise.
10295
2b59501b 102962003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 10297
2b59501b
MA
10298 * langhooks.h, langhooks-def.h: introduce new langhook,
10299 final_write_globals, with write_global_declarations as default.
10300 * toplev.c: Move invocation of wrapup_global_declarations from
10301 compile_file to new function, write_global_declarations. Change
10302 compile_file to use final_write_globals hook. Change
10303 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
a8d0ddaf
ZW
10304 conditional.
10305
131efcd8
JDA
103062003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10307
10308 * pa.md: Correct and enhance comment.
10309
e17aafd1
GK
103102003-02-18 Geoffrey Keating <geoffk@apple.com>
10311
10312 * gcc.c (validate_switches): Don't scan past closing '}'.
10313
f57a2e3a
BE
103142003-02-18 Ben Elliston <bje@redhat.com>
10315
10316 PR c++/1607
10317 * doc/extend.texi (Function Attributes): Document the effect of
10318 the C++ "this" parameter on the counting of arguments for the
10319 "format" and "format_arg" attributes.
10320
9b0c0e9f
AH
103212003-02-17 Aldy Hernandez <aldyh@redhat.com>
10322
a8d0ddaf
ZW
10323 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
10324 (__ev_stdw): Same.
10325 (__ev_stdh): Same.
9b0c0e9f 10326
62c9aa5f 103272003-02-17 Jan Hubicka <jh@suse.cz>
35a3fa09
JH
10328
10329 * recog.c (split_all_insns): Fix memory overflow.
10330
6dc50366
KH
103312003-02-17 Kazu Hirata <kazu@cs.umass.edu>
10332
10333 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
10334 (cmphi): Likewise.
10335 (*cmphi_h8300): Likewise.
10336 (*cmphi_h8300hs): Likewise.
10337 (cmpsi): Likewise.
10338 (7 peephole2): Likewise.
10339
62c9aa5f 103402003-02-16 Jan Hubicka <jh@suse.cz>
096daf41
JH
10341
10342 * c-typeck.c (build_c_cast): Fold constant variables into
10343 initial values.
10344
35113fde
GP
103452003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10346
10347 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
10348 (Binaries): Ditto for Sinix/Reliant Unix.
10349
3a1944a6
RE
103502003-02-16 Richard Earnshaw <rearnsha@arm.com>
10351
10352 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
10353 not overlap the final result register.
10354
cdd4b0d4
AB
103552003-02-16 Arend Bayer <arend.bayer@web.de>
10356 Richard Henderson <rth@redhat.com>
10357
ddb9eedd 10358 PR c/8068
cdd4b0d4
AB
10359 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
10360 rearrange mult arguments for less recursion.
10361 (extract_muldiv): New. Prevent runaway recursion.
10362
616f273a
DS
103632003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
10364
10365 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
10366 MASK_ALIGN_DOUBLE.
10367
881b2a96
RS
103682003-02-15 Roger Sayle <roger@eyesopen.com>
10369
10370 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
10371 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
10372 (ext_80387_constants_table): Global table of 80387 special constants
10373 guarded by ext_80387_constants_init flag when not initialized.
10374 (init_ext_80387_constants): New function to initialize this table.
10375 (standard_80387_constant_p): Extend to recognize extra 80387
10376 constants, in XFmode, on processors where this is a win.
10377 (standard_80387_constant_opcode): New function to return the
10378 opcode associated with standard_80387_constant_p.
10379 (standard_80387_constant_rtx): New function to return the XFmode
10380 CONST_DOUBLE associated with standard_80387_constant_p.
10381 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
10382
10383 * config/i386/i386-protos.h (standard_80387_constant_opcode):
10384 Prototype here.
10385 (standard_80387_constant_rtx): Likewise.
10386
10387 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
10388 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
10389 *movtf_integer): Simplify using new standard_80387_constant_opcode.
10390
d203738b
GK
103912003-02-15 Geoffrey Keating <geoffk@apple.com>
10392
10393 * doc/invoke.texi (Optimize Options): Correct @option syntax.
10394
0b077eac
RH
103952003-02-15 Richard Henderson <rth@redhat.com>
10396
10397 * Makefile.in (cfglayout.o): Depend on TARGET_H.
10398 * cfglayout.c: Include target.h.
10399 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
10400 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
10401 * target.h (struct gcc_target): Add cannot_copy_insn_p.
10402
10403 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
10404 (TARGET_CANNOT_COPY_INSN_P): New.
10405 (override_options): Revert 2003-02-08 hack.
10406
9a71ece1
RH
104072003-02-15 Richard Henderson <rth@redhat.com>
10408
10409 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
10410 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
10411
b54cf83a
DE
104122003-02-15 David Edelsohn <edelsohn@gnu.org>
10413
10414 * config/rs6000/rs6000.h (processor_type): Add PPC440.
10415 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10416 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10417 TARGET_SCHED_VARIABLE_ISSUE): Define.
10418 (rs6000_use_dfa_pipeline_interface): New function.
10419 (rs6000_multipass_dfa_lookahead): New Function.
10420 (rs6000_variable_issue): New function.
10421 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
10422 (rs6000_issue_rate): Add PPC440.
10423 * config/rs6000/rs6000.md (unspec list): Correct typo.
10424 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
10425 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
10426 cmp, delayed_cr, mfcr, mtcr.
10427 (automata_option): Set "ndfa".
10428 (extendMMNN2): Update attributes.
10429 (movcc_internal1): Discourage move to non-cr0. Update
10430 attributes.
10431 (movMM_update): Update attributes.
10432 (cmpMM_internal): Update attributes.
10433 (sCC CR materialization): Update attributes.
10434 (branch patterns): Do not discourage non-cr0.
10435 (cr logical patterns): Prefer destructive register allocation.
10436 Update attributes.
10437 (movesi_from_cr): Update attribute.
10438 (mtcrf_operation): Update attribute.
10439 (mtcrfsi): Update attribute.
10440 * config/rs6000/40x.md: New file.
10441 * config/rs6000/603.md: New file.
10442 * config/rs6000/6xx.md: New file.
10443 * config/rs6000/7450.md: New file.
10444 * config/rs6000/7xx.md: New file.
10445 * config/rs6000/mpc.md: New file.
10446 * config/rs6000/power4.md: New file.
10447 * config/rs6000/rios1.md: New file.
10448 * config/rs6000/rios2.md: New file.
10449 * config/rs6000/rs64.md: New file.
10450 [Some DFA descriptions based on work by Michael Hayes]
10451
99dc7277
RH
104522003-02-15 Richard Henderson <rth@redhat.com>
10453
10454 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
10455 successors with multiple predecessors.
10456 (connect_traces): Try harder to copy traces of length 1.
10457
10458 * function.h (struct function): Add computed_goto_common_label,
10459 computed_goto_common_reg.
10460 * function.c (free_after_compilation): Zap them.
a8d0ddaf 10461 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
10462 indirect branch per function.
10463
5f24e0dc
RH
104642003-02-15 Richard Henderson <rth@redhat.com>
10465
10466 * cfgcleanup.c: Include params.h.
10467 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
10468 too many outgoing edges from a block.
10469 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
10470 * params.def (max-crossjump-edges): New.
10471 * doc/invoke.texi: Document it.
10472
9381bbc9
RH
104732003-02-15 Richard Henderson <rth@redhat.com>
10474
a8d0ddaf
ZW
10475 * recog.c (split_all_insns): Include new blocks in life update;
10476 do a global life update.
9381bbc9 10477
e898926c
DS
104782003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
10479
10480 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
10481 Update copyright.
10482 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
10483 -mno-cygwin case.
10484
ce65116b
FH
104852003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10486
10487 PR optimization/7702
10488 * reload1.c (reload_cse_simplify_set): Honor
10489 CANNOT_CHANGE_MODE_CLASS.
10490
fe7496dd
AO
104912003-02-14 Alexandre Oliva <aoliva@redhat.com>
10492
10493 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
10494 function.
10495 * config/mn10300/mn10300-protos.h: Declare it.
10496 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
10497 attribute cc of instructions that may use clr.
10498
6017c719
KH
104992003-02-14 Kazu Hirata <kazu@cs.umass.edu>
10500
10501 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
10502 (x - (x & y)) is found.
10503
9fb28a67
RO
105042003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10505
10506 * configure.in: Fix typo.
10507 * configure: Regenerate.
10508
60f469fa
KH
105092003-02-14 Kazu Hirata <kazu@cs.umass.edu>
10510
10511 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
10512
8fd73754 105132003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 10514
a8d0ddaf 10515 PR opt/2391
ce65116b
FH
10516 * combine.c: Fix spelling in comment.
10517 (cached_nonzero_bits): New function.
10518 (cached_num_sign_bit_copies): New function.
8fd73754
AN
10519 (nonzero_bits_with_known): New macro.
10520 (num_sign_bit_copies_with_known): New macro.
ce65116b 10521 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
10522 arguments. Change calls from nonzero_bits to
10523 nonzero_bits_with_known.
ce65116b 10524 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
10525 three new arguments. Change calls from num_sign_bit_copies to
10526 num_sign_bit_copies_with_known.
ce65116b
FH
10527 (nonzero_bits): New macro.
10528 (num_sign_bit_copies): New macro.
10529 (update_table_tick): Don't traverse identical subexpression more
8fd73754 10530 than once.
ce65116b 10531 (get_last_value_validate): Likewise.
8fd73754 10532
ddb0ae00
ZW
105332003-02-13 Zack Weinberg <zack@codesourcery.com>
10534
10535 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
10536 * function.h (struct emit_status): Length of regno_pointer_align
10537 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
10538 not regno_pointer_align_length (i.e. length actually used, not
10539 length as allocated)
10540
10541 * config/i386/i386.c (struct stack_local_entry): New.
10542 (struct machine_function): Replace huge array with alist.
10543 (assign_386_stack_local): Change to match.
10544
c20b55c0
JDA
105452003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
10546
10547 * inclhack.def (hpux_long_double): Tighten select and add bypass
10548 regexp.
10549 * fixincl.x: Rebuilt.
10550
ffc8f11e
JZ
105512003-02-13 Josef Zlomek <zlomekj@suse.cz>
10552
10553 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
10554 edge and block ends with a jump insn it must be simple jump.
10555
047d636f
DJ
105562003-02-13 Daniel Jacobowitz <drow@mvista.com>
10557
10558 * Makefile.in (PREPROCESSOR_DEFINES): Add
10559 @TARGET_SYSTEM_ROOT_DEFINE@.
10560 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
10561 is specified or if building a cross compiler.
10562 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
10563 if the sysroot is under $exec_prefix.
10564 * configure: Regenerated.
10565 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
10566 defined.
10567 (struct default_include): Add add_sysroot field.
10568 (cpp_SYSROOT): Declare.
10569 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
10570 field.
10571 (cpp_SYSROOT): New variable.
10572 * cppinit.c (cpp_create_reader): Initialize
10573 CPP_OPTION (pfile, sysroot).
10574 (init_standard_includes): Handle add_sysroot. Do not
10575 add unrelocated copies of relocated directories.
10576 (COMMAND_LINE_OPTIONS): Add -isysroot.
10577 (cpp_handle_option): Handle -isysroot.
10578 * cpplib.h (struct cpp_options): Add sysroot member.
10579 * gcc.c (The Specs Language): Update description of %I.
10580 (target_system_root_changed): New variable.
10581 (process_command): Conditionalize make_relative_prefix call
10582 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
10583 target_system_root_changed.
10584 (do_spec_1): Add -isysroot to %I.
10585 * doc/invoke.texi (Spec Files): Update description of %I.
10586 * doc/install.texi (--with-sysroot): Update comment about
10587 relocation.
10588
4302db79
KH
105892003-02-13 Kazu Hirata <kazu@cs.umass.edu>
10590
10591 * config/h8300/h8300.md (a peephole2): New.
10592
e0d9cc77 105932003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 10594 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
10595
10596 * doc/install.texi (Specific): Update three SCO-related URLs.
10597
9fb93b00
AS
105982003-02-13 Andreas Schwab <schwab@suse.de>
10599
10600 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
10601 Parenthesize properly.
10602 (NPREDECESORS): Parenthesize properly.
10603
22ffcc6f
GDR
106042003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
10605
10606 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
10607
1fb54135
RS
106082003-02-12 Roger Sayle <roger@eyesopen.com>
10609
10610 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
10611 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
10612
10613 * reg-stack.c (subst_stack_regs_pat): Add support for binary
10614 UNSPEC instructions (e.g. "fpatan").
10615
19a7414e
MS
106162003-02-12 Mike Stump <mrs@apple.com>
10617
10618 * varray.c (element_size): Remove.
10619 (uses_ggc): Remove.
10620 (element): Add.
10621 (varray_init): Use new interface.
10622 (varray_grow): Use new interface.
10623 (varray_clear): Use new interface.
10624
e589cc6e
AH
106252003-02-12 Aldy Hernandez <aldyh@redhat.com>
10626
ddb0ae00
ZW
10627 * config/rs6000/spe.h: Add casts to the arguments of the following
10628 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
10629 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
10630 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
10631 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
10632 __ev_get_u16, __ev_get_s16.
e589cc6e 10633
2bbfc542
KH
106342003-02-12 Kazu Hirata <kazu@cs.umass.edu>
10635
10636 * config/h8300/h8300.md (a peephole2): New.
10637
62c9aa5f 106382003-02-12 Jan Hubicka <jh@suse.cz>
e72fcfe8
JH
10639
10640 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
10641 (OBJS): Add callgraph.o
10642 (callgraph.o): New.
10643 * c-decl.c (expand_body_1): Break out from ...
10644 (expand_body): This one; change calling convention
10645 (finish_function): Move some of expand_body logic here.
10646 (c_expand_deferred_function): Update call of expand_body
10647 (c_expand_stmt): Use c_expand_body_1.
10648 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
10649 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
10650 * c-tree.h (c_expand_body): Declare.
10651 * callgraph.c: New file.
10652 * flags.h (flag_unit_at_a_time): Declare.
10653 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
10654 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
10655 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
10656 * langhooks.h (struct lang_hooks_for_callgraph): New.
10657 (struct lang_hooks): Add callgraph field.
10658 * toplev.c (flag_unit_at_a_time): New.
10659 (lang_independent_options): Add flag_unit_at_a_time.
10660 (process_options): Disable unit-at-a-time mode for frontends not
10661 supporting callgraph.
10662 * tree-inline.c (typedef struct inline_data): Add "decl"
10663 (expand_call_inline): Update callgraph.
10664 (optimize_inline_calls): Set id.decl.
10665 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
10666 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
10667 cgraph_calls_p): Declare.
10668 * invoke.texi (-funit-at-a-time): Document
10669
9037b0c7
AH
106702003-02-12 Aldy Hernandez <aldyh@redhat.com>
10671
ddb0ae00
ZW
10672 * config/rs6000/spe.h: Fix misc formatting.
10673 (__ev_create_ufix32_fs): Cast ev argument.
10674 (__ev_create_sfix32_fs): Same.
10675 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
10676 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 10677
55ae46b1
RM
106782003-02-12 Ranjit Mathew <rmathew@hotmail.com>
10679
10680 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
10681 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
10682
3963c2e0
ZW
106832003-02-12 Zack Weinberg <zack@codesourcery.com>
10684
10685 * cpplib.c (do_include_common): Move warnings for
10686 #include_next and #import out to callers. Use early-return
10687 instead of nested ifs. Don't do check_eol here.
10688 (parse_include): Do check_eol here with the rest of the
10689 parsing stuff.
10690 (do_include_next, do_import): Now handle warnings.
10691
d1a86812
GP
106922003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10693
10694 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
10695
62c9aa5f 106962003-02-12 Jan Hubicka <jh@suse.cz>
6efcd268
JH
10697
10698 * predict.c (estimate_probability): Fix roundoff error.
10699
9083b5da
KH
107002003-02-12 Kazu Hirata <kazu@cs.umass.edu>
10701
10702 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
10703 (two peephole2): New.
10704
86bc9b19
KH
107052003-02-12 Kazu Hirata <kazu@cs.umass.edu>
10706
10707 * config/h8300/h8300.md (several peephole2): Replace
10708 find_regno_note with peep2_reg_dead_p.
10709
ceda50e9
RH
107102003-02-11 Richard Henderson <rth@redhat.com>
10711
10712 * gcse.c (lookup_set): Remove unused argument PAT. Update
10713 both callers.
10714
886e0865
GK
107152003-02-11 Geoffrey Keating <geoffk@apple.com>
10716
10717 * diagnostic.c (real_abort): New.
10718 (diagnostic_report_diagnostic): Call real_abort on error.
10719 * diagnostic.h (diagnostic_abort_on_error): New.
10720 (struct diagnostic_context): Add abort_on_error field.
10721 * toplev.c (setup_core_dumping): New.
10722 (decode_d_option): Handle 'H' case.
10723 * doc/invoke.texi (Debugging Options): Document -dH.
10724
76438597
NN
107252003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
10726
10727 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
10728 which refers to obsolete directories.
10729
09b568fc
RH
107302003-02-11 Richard Henderson <rth@redhat.com>
10731
10732 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
10733
62c9aa5f 107342002-10-21 Jan Hubicka <jh@suse.cz>
8b978a57
JH
10735
10736 * i386.c (contains_128bit_aligned_vector_p): New function.
10737 (ix86_function_arg_boundary): Properly align vector modes.
10738
a3259be8
BW
107392003-02-11 Bob Wilson <bob.wilson@acm.org>
10740
10741 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
10742 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
10743 as a SET pattern.
10744
da52a069
RS
107452003-02-11 Roger Sayle <roger@eyesopen.com>
10746
10747 * builtins.c: Fix failure caused by commiting wrong patch.
10748
d58f6584
DJ
107492003-02-11 Dale Johannesen <dalej@apple.com>
10750 * ra-build.c (compare_and_free_webs): Relax checking.
10751 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
10752 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
10753
22fd5743
FH
107542003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10755
10756 PR optimization/9651
10757 * rtlanal.c (may_trap_p): Handle FIX.
10758
3462df62
DJ
107592003-02-11 Dave Jones <davej@codemonkey.org.uk>
10760
10761 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
10762 * doc/invoke.texi: Extra alias.
10763
a693fbb9
GK
107642003-02-11 Geoffrey Keating <geoffk@apple.com>
10765
10766 * config/rs6000/host-darwin.c: Fix comment.
10767
bb157ff4
DE
107682003-02-11 David Edelsohn <edelsohn@gnu.org>
10769
10770 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
10771 predicate for mod result.
10772
16ddb599
JDA
107732003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10774
10775 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
10776 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
10777 * fixincl.x: Rebuilt.
10778 * tests/base/stdlib.h: Update.
10779 * tests/base/ctype.h: New file.
10780
62c9aa5f 107812003-02-11 Jan Hubicka <jh@suse.cz>
6f0d3566
JH
10782
10783 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
10784
d0a5295a
RH
107852003-02-11 Richard Henderson <rth@redhat.com>
10786
10787 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
10788 appropriated as globals.
10789 (ix86_expand_clrstr): Similarly.
10790 * config/i386/i386.md (cmpstrsi): Similarly.
10791
9672132f
KH
107922003-02-11 Kazu Hirata <kazu@cs.umass.edu>
10793
10794 * config/h8300/h8300.md (a peephole2): Add a case of 255.
10795
b5e01d4b
RS
107962003-02-11 Roger Sayle <roger@eyesopen.com>
10797
10798 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
10799 (pow_optab, atan2_optab): Define corresponding macros.
10800 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
10801 * genopinit.c (optabs): Implement pow_optab and atan2_optab
10802 using pow?f3 and atan2?f3 patterns.
10803 * builtins.c (expand_errno_check): New function to update errno
10804 if necessary, split out from expand_builtin_mathfn.
10805 (expand_builtin_mathfn): Use expand_errno_check.
10806 (expand_builtin_mathfn_2): New function to handle expanding binary
10807 math functions, reusing the code in expand_errno_check.
10808 (expand_builtin): Handle the pow and atan2 math built-ins,
10809 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
10810 expand_builtin_mathfn_2.
10811
10812 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
10813
62c9aa5f 108142003-02-11 Jan Hubicka <jh@suse.cz>
cb119f82
JH
10815
10816 * combine.c (combine_simplify_rtx): Fix folding of
10817 nested float_truncates.
10818
a05566a3
KH
108192003-02-11 Kazu Hirata <kazu@cs.umass.edu>
10820
10821 * config/h8300/h8300.md (a peephole2): Fix a typo.
10822
20ae4500
RE
108232003-02-11 Richard Earnshaw <rearnsha@arm.com>
10824
10825 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
10826 register number.
10827
717d8b71
KH
108282003-02-11 Kazu Hirata <kazu@cs.umass.edu>
10829
10830 * config/h8300/h8300-protos.h: Add a prototype for
10831 gtuleu_operator.
10832 * config/h8300/h8300.c (gtuleu_operator): New.
10833 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
10834 * config/h8300/h8300.md (a peephole2): New.
10835
62c9aa5f 108362003-02-11 Jan Hubicka <jh@suse.cz>
e36e8f52
JH
10837
10838 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
10839
62c9aa5f 108402003-02-11 Jan Hubicka <jh@suse.cz>
c728da61
JH
10841
10842 * predict.c (choose_function_section): Choose sections correctly.
10843
4cc0fdd2
JDA
108442003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10845
10846 * reload1.c (first_label_num): New.
10847 (reload): Index offsets_known_at and offsets_at using difference of
10848 label number and first label number. Don't use offset pointers.
10849 (set_label_offsets, set_initial_label_offsets): Likewise.
10850
44b1fa11
RS
108512003-02-10 Roger Sayle <roger@eyesopen.com>
10852
10853 * mips-tfile.c (init_file): Add missing initializers in the
10854 "#ifdef __alpha" case.
10855 (file_offset, max_file_offset): Declare as unsigned long.
10856 (write_varray): Cast to "unsigned long" in comparisons against
10857 either file_offset or max_file_offset.
10858 (write_object): Likewise.
10859 (read_seek): Likewise.
10860 (copy_object): Likewise. Declare "ifd" as int to match its use
10861 in add_ext_symbol, and avoid signed/unsigned conditional warning.
10862
2948ade7 108632003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 10864 Aldy Hernandez <aldyh@redhat.com>
2948ade7 10865
3963c2e0
ZW
10866 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
10867 override options which have been specified on the command line.
2948ade7 10868
2a4e6df4
KH
108692003-02-10 Kazu Hirata <kazu@cs.umass.edu>
10870
10871 * config/h8300/h8300.md (abssf2): New.
10872 (*abssf2_h8300): Likewise.
10873 (*abssf2_h8300hs): Likewise.
10874
411e2759
PE
108752003-02-10 Phil Edwards <pme@gcc.gnu.org>
10876
10877 * tree.c (build_tree_list): Fix parameter names in comment.
10878
2b24fc41
JJ
108792003-02-10 Janis Johnson <janis187@us.ibm.com>
10880
10881 * config/rs6000/ppc64-fp.c: New file.
10882 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
10883
aa634f11
JZ
108842003-02-10 Josef Zlomek <zlomekj@suse.cz>
10885
10886 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 10887 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
10888 (make_reorder_chain_1): Deleted.
10889 (find_traces): New function.
10890 (rotate_loop): New function.
10891 (mark_bb_visited): New function.
10892 (find_traces_1_round): New function.
10893 (copy_bb): New function.
10894 (bb_to_key): New function.
10895 (better_edge_p): New function.
10896 (connect_traces): New function.
10897 (copy_bb_p): New function.
10898 (get_uncond_jump_length): New function.
10899 (reorder_basic_blocks): Use new functions (Software Trace Cache).
10900 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
10901 boundaries.
10902
17edbda5
AH
109032003-02-10 Aldy Hernandez <aldyh@redhat.com>
10904
10905 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
10906
57116c34
DN
109072003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
10908
10909 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 10910 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 10911
4f448245
NC
109122003-02-10 Nick Clifton <nickc@redhat.com>
10913
10914 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
10915 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
10916 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
10917 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
10918 config/arm/freebsd.h, config/arm/linux-elf.h,
10919 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
10920 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
10921 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
10922 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
10923 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
10924 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
10925 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
10926 and reformat as appropriate.
10927
19190d27
KH
109282003-02-10 Kazu Hirata <kazu@cs.umass.edu>
10929
10930 * config/h8300/clzsi2.c: Remove.
10931 * config/h8300/ctzsi2.c: Likewise.
10932 * config/h8300/paritysi2.c: Likewise.
10933 * config/h8300/popcountsi2.c: Likewise.
10934 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
10935 ctzsi2, paritysi2, and popcountsi2.
10936
ecf92f82 109372003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 10938 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
10939
10940 PR c/7741
10941 * c-decl.c (duplicate_decls): Discard the initializer of the
10942 new decl when the types are conflicting.
10943
ac5e69da
JZ
109442003-02-10 Josef Zlomek <zlomekj@suse.cz>
10945
10946 * Makefile.in (sreal.o): Added.
10947 (predict.o): Depends on sreal.h instead of real.h.
10948 * sreal.c: New file.
10949 * sreal.h: New file.
10950 * predict.c: Use sreal.c instead of real.c.
10951
9b6b54e2
NC
109522003-02-10 Nick Clifton <nickc@redhat.com>
10953
10954 * Contributed support for the Cirrus EP9312 "Maverick"
10955 floating point co-processor. Written by Aldy Hernandez
3963c2e0 10956 <aldyh@redhat.com>.
9b6b54e2
NC
10957 (config/arm/arm.c): Add Cirrus support.
10958 (config/arm/arm.h): Likewise.
10959 (config/arm/aout.h): Likewise.
10960 (config/arm/arm.md): Likewise.
10961 (config/arm/arm-protos.h): Likewise.
10962 (config.gcc): Likewise.
10963 (doc/invoke.texi): Describe new -mcpu value and new
10964 -mcirrus-fix-invalid-insns switch,
10965 (cirrus.md): New file.
10966
62c9aa5f 109672003-02-10 Jan Hubicka <jh@suse.cz>
949824fe
JH
10968
10969 * combine.c (combine_simplify_rtx): Simplify using
10970 (float_truncate (float x)) is (float x)
10971 (float_extend (float_extend x)) is (float_extend x).
10972
546ff777
AM
109732003-02-10 Alan Modra <amodra@bigpond.net.au>
10974
10975 * calls.c (try_to_integrate): Tidy stack_usage_map access.
10976 (emit_library_call_value_1): Likewise. Formatting.
10977 (store_one_arg): Likewise.
10978
626098f9 109792003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 10980 Aldy Hernandez <aldyh@redhat.com>
626098f9 10981
3963c2e0
ZW
10982 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
10983 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
10984 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
10985 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
10986 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
10987 docs. Add range test for immediate value.
626098f9
AH
10988
109892003-02-09 Aldy Hernandez <aldyh@redhat.com>
10990
3963c2e0
ZW
10991 Rename spe_evxor to xorv2si3.
10992 (xorv4hi3): New.
10993 (xorv1di3): New.
626098f9 10994
8d23a2c8 109952003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 10996
8d23a2c8
GN
10997 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
10998 tag.
10999
62c9aa5f 110002003-02-10 Jan Hubicka <jh@suse.cz>
fdc4b40b
JH
11001
11002 * i386.c (vector_move_operand): New predicate.
11003 (ix86_expand_vector_move): Be happy about 0.
11004 * i386.h (PREDICATE_CODES): Add sse-move_operand.
11005 * i386.md (mov*_internal): Add 'C' alternative.
11006
62c9aa5f 110072003-02-09 Jan Hubicka <jh@suse.cz>
35c28a13
JH
11008
11009 * i386.md (floathi*): Deal with SSE.
11010
62c9aa5f 110112003-02-09 Jan Hubicka <jh@suse.cz>
852c8ba1
JH
11012
11013 * simplify-rtx.c (simplify_unary_operation,
11014 simplify_binary_operation): Deal with vector modes
11015 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
11016
c876997f 110172003-02-09 Richard Sandiford <rsandifo@redhat.com>
2382b79f
RS
11018
11019 * toplev.c (rest_of_compilation): Recompute register usage after
11020 split_all_insns.
11021
8275b011
RH
110222003-02-09 Richard Henderson <rth@redhat.com>
11023
11024 * libgcc-std.ver (__clztf2): New.
11025 (__ctztf2, __popcounttf2, __paritytf2): New.
11026 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
11027 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
11028 adjust code to match the different type sizes.
11029 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
11030 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
11031
11032 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
11033 TImode; select word_mode and twice that.
11034 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
11035 select the modes from float, double, and long double.
11036 (init_optabs): Remove duplicate initializations.
11037
794aca5d
WB
110382003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
11039
11040 * doc/install.texi: Squeeze and streamline section on
11041 testing and regression checking.
11042
62c9aa5f 110432003-02-09 Jan Hubicka <jh@suse.cz>
d9deed68
JH
11044
11045 * i386.md (ahi?v*3): Set third operand type to TImode.
11046 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
11047
11048 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
11049 integer mode.
11050
11051 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
11052 Change code so they are arithmetic expressions now.
11053 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
11054 simplify_ternary_operation): Deal with VEC_* expressions.
11055
11056 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
11057
62c9aa5f 110582003-02-08 Jan Hubicka <jh@suse.cz>
83fd323c
JH
11059
11060 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
11061 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
11062 possibly got duplicated.
11063
4ee7aa60
RH
110642003-02-08 Richard Henderson <rth@redhat.com>
11065
11066 * config/alpha/alpha.c (override_options): Turn off explicit
11067 relocs until post-peep2 code duplication resolved.
11068
c117dddc
KH
110692003-02-08 Kazu Hirata <kazu@cs.umass.edu>
11070
11071 * optabs.c (expand_unop): Widen clz properly when clz is done
11072 via libcall.
11073
8aa063fb
KH
110742003-02-08 Kazu Hirata <kazu@cs.umass.edu>
11075
11076 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
11077 * config/h8300/crti.asm: Likewise.
11078 * config/h8300/crtn.asm: Likewise.
11079 * config/h8300/ctzsi2.c: Likewise.
11080 * config/h8300/fixunssfsi.c: Likewise.
11081 * config/h8300/h8300-protos.h: Likewise.
11082 * config/h8300/h8300.c: Likewise.
11083 * config/h8300/h8300.h: Likewise.
11084 * config/h8300/h8300.md: Likewise.
11085 * config/h8300/paritysi2.c: Likewise.
11086 * config/h8300/popcountsi2.c: Likewise.
11087 * config/h8300/rtems.h: Likewise.
11088
01a132bb
ZD
110892003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11090
11091 * doc/invoke.texi: Documentation for my previous commit.
11092 * doc/passes.texi: Ditto.
11093
617b465c
ZD
110942003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11095
11096 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
11097 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
11098 Declare.
11099 (DLTHE_FLAG_UPDATE_FREQ): New.
11100 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
11101 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
11102 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
11103 fix_bb_placement, fix_bb_placements, place_new_loop,
11104 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
11105 New static functions.
11106 (fix_loop_placement, can_duplicate_loop_p,
11107 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
11108 New functions.
11109
11110 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
11111 unswitch_loops): Declare.
11112 * loop-init.c: New file.
11113 * loop-unswitch.c: New file.
11114 * Makefile.in (loop-init.o, loop-unswitch.o): New.
11115 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
11116 * toplev.c (DFI_loop2): New dump.
11117 (flag_unswitch_loops): New.
11118 (lang_independent_options): Add it.
11119 (rest_of_compilation): Call new loop optimizer.
11120 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
11121
3bd03194
KH
111222003-02-08 Kazu Hirata <kazu@cs.umass.edu>
11123
11124 * config/h8300/clzsi2.c: New.
11125 * config/h8300/ctzsi2.c: Likewise.
11126 * config/h8300/paritysi2.c: Likewise.
11127 * config/h8300/popcountsi2.c: Likewise.
11128 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
11129
d865b122
DE
111302003-02-07 David Edelsohn <edelsohn@gnu.org>
11131
11132 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
11133 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 11134 (ctzsi2): New pattern.
d865b122
DE
11135 (ffssi2): Use clz instead of unspec.
11136 (clzdi2): Rename from cntlzd2.
94993909 11137 (ctzdi2): New pattern.
d865b122
DE
11138 (ffsdi2): Use clz instead of unspec.
11139
8f37dd98
LR
111402003-02-07 Loren James Rittle <ljrittle@acm.org>
11141
11142 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
11143 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
11144 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
11145 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
11146
83205b9b
WB
111472003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
11148
11149 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
11150
710ee3ed
RH
111512003-02-07 Richard Henderson <rth@redhat.com>
11152
11153 PR 9226
3963c2e0
ZW
11154 * gcse.c (local_cprop_find_used_regs): New.
11155 (local_cprop_pass): Use it.
710ee3ed 11156
3ef879d2
FF
111572003-02-07 Fred Fish <fnf@intrinsity.com>
11158
11159 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 11160 precedence bugs.
3ef879d2 11161
a0f0e963 111622003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 11163
3963c2e0 11164 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 11165
46847aa6
RS
111662003-02-07 Roger Sayle <roger@eyesopen.com>
11167
11168 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
11169 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
11170 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
11171 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
11172 builtin functions (and their __builtin_* variants).
11173 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
11174 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
11175 when not optimizing.
11176
11177 * doc/extend.texi: Document new pow and atan2 builtins, and
11178 their float and long double variants. Realphabetize builtins.
11179
62c9aa5f 111802003-02-07 Jan Hubicka <jh@suse.cz>
c48d6750
JH
11181
11182 * i386.md (sse2_nandv2di3): Fix.
11183
5e062767
DS
111842003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
11185
11186 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
11187 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
11188 definition.
11189 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
11190 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
11191
62c9aa5f 111922003-02-07 Jan Hubicka <jh@suse.cz>
3f755ed0
JH
11193
11194 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
11195
0816bcd2
DB
111962003-02-07 Daniel Berlin <dberlin@dberlin.org>
11197
11198 * cfg.c (dump_flow_info): Add back accidently deleted line.
11199
7bf0a593
AP
112002003-02-07 Andrey Petrov <petrov@netbsd.org>
11201
11202 * optabs.c (expand_float): Search wider integer modes first.
11203
01e4596e
BW
112042003-02-07 Bob Wilson <bob.wilson@acm.org>
11205
11206 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
11207 based on preprocessor flag.
11208
fbef91d8
RS
112092003-02-07 Roger Sayle <roger@eyesopen.com>
11210 Richard Henderson <rth@redhat.com>
11211
11212 * gcse.c (implicit_sets): New.
11213 (compute_hash_table_work): Include them in hash table.
11214 (find_implicit_sets, fis_get_condition): New.
11215 (one_cprop_pass): Allocate and free implicit_sets; call
11216 find_implicit_sets before building hash table.
11217
6713831e
JT
112182003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
11219
11220 * config/t-netbsd (USER_H): Revert previous change.
11221
10d2dbe2
GG
112222003-02-07 Gabor Greif <ggreif@lucent.com>
11223
11224 * doc/c-tree.texi (Namespaces): Fix typo.
11225
62c9aa5f 112262003-02-07 Jan Hubicka <jh@suse.cz>
d1d3c9a6
JH
11227
11228 * regrename.c (do_replace, find_oldest_value_reg,
11229 copyprop_hardreg_forward_1): Update register attributes.
11230
1b1f249d
VM
112312003-02-06 Vladimir Makarov <vmakarov@redhat.com>
11232
11233 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
11234 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
11235 variables starting with underscore.
11236 (struct unit_usage): New structure.
11237 (unit_usages, cycle_alt_unit_usages): New global variables.
11238 (check_unit_distribution_in_reserv): Remove it.
11239 (store_alt_unit_usage): New function.
11240 (check_regexp_units_distribution): Rewrite it.
11241
90330d31
JDA
112422003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11243
11244 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
11245 target_cpu_default.
11246 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
11247 if not MASK_NO_SPACE_REGS.
11248 (output_call): Adjust return pointer, don't load new space register
11249 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
11250 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
11251 TARGET_NO_SPACE_REGS is true.
11252 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
11253 conditions.
11254 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
11255 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
11256 true. Use bve when TARGET_64BIT is true.
11257
d1164330
RH
112582003-02-06 Richard Henderson <rth@redhat.com>
11259
11260 * combine.c (nonzero_bits): Fix double break.
11261
5fbf0217 112622003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 11263 Richard Henderson <rth@redhat.com>
5fbf0217
EB
11264
11265 PR c/9530
11266 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
11267 from functions that return a float to functions that don't.
11268
62c9aa5f 112692003-02-06 Jan Hubicka <jh@suse.cz>
8f62128d
JH
11270
11271 * i386.c (x86_inter_unit_moves): New variable.
11272 (ix86_secondary_memory_needed): Fix 64bit case, honor
11273 TARGET_INTER_UNIT_MOVES
11274 * i386.h (x86_inter_unit_moves): Declare.
11275 (TARGET_INTER_UNIT_MOVES): New macro.
11276 * i386.md (movsi_1): Cleanup constraints; disable
11277 when not doing inter-unit moves.
11278 (movsi_1_nointernunit): New.
11279 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
11280 (movdi_1_rex64_nointerunit): New.
11281 (mivsf_1): disable when not doing inter-unit moves.
11282 (movsf_1_nointerunit): New.
11283
11284 * basic-block.h (inside_basic_block_p): Declare.
11285 * cfgbuild.c (inside_basic_block_p): Make global.
11286 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
11287 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
11288 update CFG.
11289 (fix_basic_block_boundaries, add_missing_bbs): New.
11290 (rank): Use profile.
11291 (scheudle_ebbs): Rely on CFG; update coments.
11292
476d9098
GK
112932003-02-05 Geoffrey Keating <geoffk@apple.com>
11294
11295 * Makefile.in (host_hook_obj): New.
11296 (OBJS): Add $(host_hook_obj).
11297 (host_default.o): New rule.
11298 * config.gcc (host_hook_obj): New, default to host-default.o.
11299 (powerpc-*-darwin*): Use host-darwin.o.
11300 (out_host_hook_obj): New.
11301 * configure: Regenerate.
11302 * configure.in: Print information about out_host_hook_obj, substitute
11303 into output files.
11304 * host-default.c: New file.
11305 * hosthooks.h: New file.
11306 * toplev.c (general_init): Call host_hooks.extra_signals.
11307 * config/rs6000/host-darwin.c: New file.
11308 * config/rs6000/x-darwin: New file.
11309 * doc/hostconfig.texi: Add documentation for new host hook.
11310 Rearrange existing documentation.
11311
69bd9368
RS
113122003-02-05 Roger Sayle <roger@eyesopen.com>
11313
11314 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
11315 with *targetm.delegitimize_address.
11316 (rtl_for_decl_location): Likewise.
11317 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
11318 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
11319
11320 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
11321 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
11322 prototype.
11323 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
11324 i386_simplify_dwarf_addr. Made static. Prototyped.
11325 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
11326 i386_simplify_dwarf_addr to ix86_delegitimize_address.
11327 (ix86_find_base_term): Likewise.
11328 (maybe_get_pool_constant): Likewise.
11329
11330 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
11331 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
11332 prototype.
11333 * config/s390/s390.c (s390_delegitimize_address): Renamed from
11334 s390_simplify_dwarf_addr. Made static. Prototyped.
11335 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
11336
7127fd58
RH
113372003-02-05 Richard Henderson <rth@redhat.com>
11338
8dde7a2c 11339 PR c/8602
3963c2e0
ZW
11340 * integrate.c (output_inline_function): Reset input_filename
11341 and lineno from the decl before rest_of_compilation.
7127fd58 11342
7dba8395
RH
113432003-02-05 Richard Henderson <rth@redhat.com>
11344
11345 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
11346 (CTZ_DEFINED_VALUE_AT_ZERO): New.
11347 * doc/rtl.texi, doc/tm.texi: Document them.
11348
11349 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
11350 of the value at zero properly.
11351 * fold-const.c (tree_expr_nonnegative_p): Likewise.
11352 * simplify-rtx.c (simplify_unary_operation): Likewise.
11353
11354 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
11355 (CTZ_DEFINED_VALUE_AT_ZERO): New.
11356
11357 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
11358 (TARGET_EXPAND_BUILTIN): Remove.
11359 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
11360 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
11361 (enum arm_builtins): Remove.
11362 * config/arm/arm.md (UNSPEC_CLZ): Remove.
11363 (clzsi2): Rename from clz; use clz instead of unspec.
11364 (ctzsi2): New.
11365 * config/arm/arm-protos.h: Update.
11366
62c9aa5f 113672003-02-05 Jan Hubicka <jh@suse.cz>
8d705469
JH
11368
11369 * i386-protos.h (x86_emit_floatuns): Declare.
11370 * i386.c (x86_emit_floatuns): New global function.
11371 * i386.md (floatunssisf2, floatunsdisf2,
11372 floatunsdidf2): New patterns.
11373
bc810602
ZD
113742003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11375
11376 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
11377
07938cec
HB
113782003-02-05 Hans Boehm <Hans.Boehm@hp.com>
11379
11380 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
11381 config/ia64/linux.h
11382
c876997f 113832003-02-05 Roger Sayle <roger@eyesopen.com>
ca9398d1
RS
11384
11385 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
11386
4f6ae35d
JJ
113872003-02-05 Jakub Jelinek <jakub@redhat.com>
11388
11389 PR optimization/8555
11390 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
11391 instead of aborting.
11392
8acfdd43
RH
113932003-02-04 Richard Henderson <rth@redhat.com>
11394
11395 * config/i386/i386.md (UNSPEC_BSF): Remove.
11396 (ffssi2): Split into cmove and no_cmove insns and splitters;
11397 lose pentium float trick for now.
11398 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
11399 (ctzsi2, clzsi2, bsr): New.
11400
c407570a
RH
114012003-02-04 Richard Henderson <rth@redhat.com>
11402
11403 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
11404 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
11405 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
11406 (ffsdi2): Use popcount instead of unspec.
11407 (popcountdi2): Rename from *popcnt.
11408 (ctzdi2, clzdi2, getf_exp_tf): New.
11409
4b3cf522
KH
114102003-02-04 Kazu Hirata <kazu@cs.umass.edu>
11411
11412 * genconfig.c (main): Generate CC0_P.
11413 * rtl.h (CC0_P): Remove.
11414
dfff898c
RH
114152003-02-04 Richard Henderson <rth@redhat.com>
11416
11417 * libgcc2.h, libgcc2.c (__ffsSI2): New.
11418 (__ffsDI2): Rename from __ffsdi2.
11419 * mklibgcc.in (lib2funcs): Add _ffssi2.
11420
0c9ed856
RH
114212003-02-04 Richard Henderson <rth@redhat.com>
11422
11423 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
11424 rounds with a "bit table" lookup.
11425
9537511b
UW
114262003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
11427
11428 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 11429 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
11430 reloads for operands where a mandatory reload was already pushed.
11431
1efd0b97
RH
114322003-02-04 Richard Henderson <rth@redhat.com>
11433
11434 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
11435 builtins instead of inline assembly.
11436
087fc75a 114372003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 11438
087fc75a
FH
11439 PR c/9376
11440 * libgcc2.c (__subvdi3): Fix typo.
11441
62c9aa5f 114422003-02-04 Jan Hubicka <jh@suse.cz>
f0f0d98e
JH
11443
11444 * i386.md (movti_rex64): Fix constraint.
11445
62c9aa5f 114462003-02-04 Jan Hubicka <jh@suse.cz>
09f26fb5
JH
11447
11448 * i386.md (vector push splitters): Fix typo in resolving conflict.
11449
ff6e2d3e
RB
114502003-02-04 Rodney Brown <rbrown64@csc.com.au>
11451
11452 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
11453
9e80ada7
PE
114542003-02-04 Phil Edwards <pme@gcc.gnu.org>
11455
11456 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
11457 for recent libstdc++. Remove formatting cruft.
11458
79c758fb
JJ
114592003-02-04 Jakub Jelinek <jakub@redhat.com>
11460
11461 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
11462 attribute even if input file name is absolute, but one of the
11463 includes is relative.
11464
b3a8389d
JM
114652003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
11466
11467 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
11468 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
11469 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
11470
dabb3f04
RH
114712003-02-03 Richard Henderson <rth@redhat.com>
11472
11473 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
11474 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
11475 return type to "int". Shuffle declarations and undef int trap.
11476 * libgcc2.h: Remove their declarations.
11477 * optabs.c (expand_unop): Force outmode to int for bitops.
11478
985d0d50
BW
114792003-02-03 Bob Wilson <bob.wilson@acm.org>
11480
11481 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
11482 coprocessor registers before floating-point registers.
11483 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
11484 to account for a previously removed register.
11485 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
11486 Delete unused macros.
11487
62c9aa5f 114882003-02-03 Jan Hubicka <jh@suse.cz>
7f0e57bd
JH
11489
11490 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
11491 (mov*_internal): Fix predicates; require one of operands to not be
11492 memory.
11493 (SSE?MMX move expanders): Fix predicates; force one of operands to
11494 register.
11495 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
11496 (movups/movupd/movdqu patterns): Force one of operands to not be
11497 memory.
11498
c876997f 114992003-02-03 Roger Sayle <roger@eyesopen.com>
7daebb7a
RS
11500
11501 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
11502 takes a single rtx and returns it unmodified.
11503 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 11504 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
11505 field to target structure.
11506 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
11507 for delegitimize_address target using hook_rtx_rtx_identity.
11508 (TARGET_INITIALIZER): Initialize delegitimize_address field
11509 using TARGET_DELEGITIMIZE_ADDRESS macro.
11510 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
11511 extensions of constant pool references. Use delegitimize_address
11512 to undo the obfuscation of "-fpic".
11513 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
11514
11515 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
11516 i386_simplify_dwarf_addr.
11517 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
26182e15 11518 (maybe_get_pool_constant): Likewise.
7daebb7a 11519
62c9aa5f 115202003-02-03 Jan Hubicka <jh@suse.cz>
84520a20
JH
11521
11522 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
11523
62c9aa5f 115242003-02-03 Jan Hubicka <jh@suse.cz>
035b2a34
JH
11525
11526 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
11527
1f143d5a
KG
115282003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11529
11530 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
11531 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
11532
4b550d9f
AS
115332003-02-02 Andreas Schwab <schwab@suse.de>
11534
11535 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
11536
0732a089
RE
115372003-02-02 Richard Earnshaw <rearnsha@arm.com>
11538
11539 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
11540 (epilogue_insns): Likewise.
11541
f269f54f
JDA
115422003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11543
11544 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
11545
611ad29e
JDA
115462003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11547
11548 * pa-protos.h (attr_length_millicode_call): Remove second argument.
11549 (attr_length_indirect_call, attr_length_indirect_call,
11550 attr_length_save_restore_dltp): New prototypes.
11551 * pa.c (attr_length_millicode_call): Remove second argument. Check
11552 INSN_ADDRESSES_SET_P in distance calculation.
11553 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
11554 INSN_ADDRESSES.
11555 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
11556 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
11557 Call attr_length_call directly.
11558 (attr_length_indirect_call, output_indirect_call,
11559 attr_length_save_restore_dltp): New functions.
11560 * pa.md (attr_length_millicode_call): Drop second argument from all
11561 patterns.
11562 (return_internal_pic): Delete.
11563 (return_external_pic): Remove use of PIC register and pic operand and
11564 flag checks.
11565 (epilogue): Use return_internal for both normal and pic code.
11566 (call, call_value): Emit new 32-bit pic patterns for symref and
11567 indirect calls. Remove uses for arg pointer and pic register.
11568 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
11569 call_reg_pic_post_reload, call_val_symref_pic,
11570 call_val_symref_pic_post_reload, call_val_reg_pic,
11571 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
11572 Implement define_split and define_peephole2 patterns for pre reload
11573 patterns.
11574 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
11575 call_value_internal_reg_64bit): Shorten names.
11576 (all call patterns): Explicitly indicate registers used and clobbered.
11577 Use attr_length_indirect_call and attr_length_save_restore_dltp for
11578 attribute length calculation. Move code generation for indirect calls
11579 to output_indirect_call.
11580 (sibcall, sibcall_value): Don't restore PIC register.
11581 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
11582 register retore.
11583
8cacda7c
GP
115842003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11585
11586 * doc/install.texi (Testing): Simplify and compress instructions
11587 concerning Dejagnu.
11588
cbc158bb
JDA
115892003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11590
11591 * collect2.c (pexecute_pid): Rename to pid.
11592 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
11593 pid.
11594
dcef1843
GK
115952003-02-01 Geoffrey Keating <geoffk@apple.com>
11596
11597 * doc/extend.texi (Function Attributes): Remove documentation
11598 for PowerPC Windows NT function attributes..
11599
5d7bed9d
DJ
116002003-02-01 Daniel Jacobowitz <drow@mvista.com>
11601
11602 * dwarf2out.c (gen_type_die): Check for typedefs before calling
11603 for TYPE_MAIN_VARIANT.
11604
53585c36
RH
116052003-02-01 Richard Henderson <rth@redhat.com>
11606
11607 * libgcc2.c: Include auto-host.h.
11608 (ATTRIBUTE_HIDDEN): New.
11609 (__clz_tab): Don't declare here for clz and ctz.
11610 (__clzsi2, __clzdi2): Use count_leading_zeros.
11611 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
11612 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
11613 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
11614 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
11615
bc8a6d63
RH
116162003-02-01 Richard Henderson <rth@redhat.com>
11617
11618 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
11619 to the conditional.
11620 (ashlsi3_1_zext splitter): Likewise.
11621
2928cd7a
RH
116222003-02-01 Richard Henderson <rth@redhat.com>
11623
11624 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
11625 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
11626 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
11627 return type to Wtype.
11628
11629 * libgcc-std.ver (GCC_3.4): Fix inheritance.
11630
11631 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
11632 expander input constraint.
11633
116342003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
11635
ff6e2d3e
RB
11636 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
11637 OTI_parity.
11638 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
11639 * optabs.c (widen_clz, expand_parity): New.
11640 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
11641 for libcalls to clz, ctz, popcount, and parity.
11642 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
11643 parity_optab, and set up libfunc handlers.
11644 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
11645 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
11646 __popcount_tab): New.
11647 * libgcc2.h: Declare them.
11648 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
11649 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
11650 and parity_optab.
11651 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
11652 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
11653 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
11654 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
11655 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
11656 BUILT_IN_PARITYLL): New.
11657 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
11658 and add optab argument.
11659 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
11660 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
11661 * expr.c (expand_expr): Handle them.
11662 * fold-const.c (tree_expr_nonnegative_p): Likewise.
11663 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
11664 * reload1.c (eliminate_regs): Handle them.
11665 (elimination_effects): Likewise.
11666 * function.c (instantiate_virtual_regs_1): Likewise
11667 * genattrtab.c (check_attr_value): Likewise.
11668 * simplify-rtx.c (simplify_unary_operation): Likewise.
11669 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
11670 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
11671 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
11672 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
11673 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
11674 __builtin_arm_clz.
11675 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
11676 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
11677 * doc/extend.texi (Other Builtins): Add new builtins.
11678 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 11679
112f7223
UW
116802003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
11681
11682 * reload.c: Revert 2003-01-31 change.
11683
62c9aa5f 116842003-02-01 Jan Hubicka <jh@suse.cz>
434c87d4
JH
11685
11686 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
11687
271bd540
RS
116882003-02-01 Richard Sandiford <rsandifo@redhat.com>
11689
11690 * flags.h (flag_volatile): Remove declaration.
11691 (flag_volatile_global, flag_volatile_static): Likewise.
11692 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
11693 * toplev.c (flag_volatile): Remove definition.
11694 (flag_volatile_global, flag_volatile_static): Likewise.
11695 (f_options): Remove corresponding entries here.
11696 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
11697 or flag_volatile_static.
11698 * doc/invoke.texi: Remove documentation of -fvolatile,
11699 -fvolatile-global and -fvolatile-static.
11700
17e6098e
JDA
117012003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11702
11703 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
11704 updating of total_code_bytes from prologue to epilogue.
11705
2f278625
UW
117062003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
11707
11708 * reload.c (find_reloads): Do not use the mode specified in the insn
11709 pattern as reload mode for address operands. Do not generate optional
11710 reloads for operands where a mandatory reload was already pushed.
11711 Generate optional reloads only in the final pass though find_reloads.
11712 (have_replacement_p): New function.
11713
05c425a9
GP
117142003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11715
11716 * doc/install.texi (Testing): Remove a reference to our obsolete
11717 /testresults web pages and strip redundant information concerning
11718 test results.
11719 (Binaries): Refer to Microsoft Windows instead of listing all
11720 possible variants.
11721
62c9aa5f 117222003-02-01 Jan Hubicka <jh@suse.cz>
b0c42aed
JH
11723
11724 * loop.c (emit_prefetch_instructions): Do conversion at right place in
11725 RTL chain.
11726
11727 * combine.c (simplify_set): Reverse order of ragumetns to
11728 REG_CANNOT_CHANGE_MODE_P
11729 * df.c (df_def_record_1): Likewise.
11730 * recog.c (register_operand): Likewise.
11731 * simplify-rtx.c (simplify_subreg): Likewise.
11732 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
11733 CANNOT_CHANGE_MODE_CLASS.
11734 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
11735 Likewise.
11736 * reload.c (push_reload): Likewise.
11737 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
11738 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
11739 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
11740 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
11741 * mips.c (mips_cannot_change_mode_class): Update.
11742 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
11743 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
11744 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
11745 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
11746 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
11747 * sh.c (sh_cannot_change_mode_class): Update.
11748 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
11749 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
11750
1f61a15d
GK
117512003-01-31 Geoffrey Keating <geoffk@apple.com>
11752
11753 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
11754 change to LINK_COMMAND_SPEC in gcc.c.
11755
7c712dcc
LR
117562003-01-31 Jan Hubicka <jh@suse.cz>
11757
11758 PR c/9506
11759 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
11760
e137391e
JDA
117612003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11762
11763 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
11764 duplicated code.
11765
1824b90d
NS
117662003-01-31 Nathan Sidwell <nathan@codesourcery.com>
11767
11768 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
11769 (BINFO_ELTS): New #define.
11770 * stor-layout.c (finalize_record_size): Don't set them.
11771 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
11772 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
11773 (BINFO_LANG_ELTS): New #define.
11774 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
11775 * java/class.c (make_class): Use BINFO_ELTS.
11776 (set_super_info): Likewse.
11777 (add_interface_do): Likewise.
11778 * objc/objc-act.c (start_class): Use BINFO_ELTS.
11779
8f9a402c
DS
117802003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
11781
11782 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
11783 (times): Don't ever declare if not HAVE_TIMES.
11784 (clock): Don't ever declare if not HAVE_CLOCK.
11785
cdd1f01b
RH
117862003-01-30 Richard Henderson <rth@redhat.com>
11787
11788 * flow.c (update_life_info): Zap life info after cleanup_cfg.
11789 (regno_uninitialized): Use correct live at function entry set.
11790 (regno_clobbered_at_setjmp): Likewise.
11791
11792 * expr.c (store_expr): Promote all MEM intermediates to regs.
11793
6bc82793
KH
117942003-01-30 Kazu Hirata <kazu@cs.umass.edu>
11795
11796 * config/arm/arm.c: Fix comment typos.
11797 * config/arm/arm.h: Likewise.
11798 * config/arm/netbsd-elf.h: Likewise.
11799 * config/arm/netbsd.h: Likewise.
11800
f099d360
GK
118012003-01-30 Geoffrey Keating <geoffk@apple.com>
11802
11803 * gengtype.c (struct walk_type_data): Add needs_cast_p.
11804 (walk_type): Set needs_cast_p in walk_type_data.
11805 (write_types_process_field): Supply casts when required to suppress
11806 warnings.
11807 (write_root): Cast gt_pch_n_S to suppress warning.
11808 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
11809 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
11810 when they might exist.
11811 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
11812 insn-conditions.o, and rs6000.o.
11813
52895e1a
RH
118142003-01-30 Richard Henderson <rth@redhat.com>
11815
11816 * ggc-page.c (G.context_depth_allocations): New.
11817 (G.context_depth_collections): New.
11818 (alloc_page): Set G.context_depth_allocations.
11819 (ggc_collect): Set G.context_depth_collections.
11820 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
11821 (ggc_pop_context): Early exit for no allocations or collections.
11822
c35c7e52
RH
118232003-01-30 Richard Henderson <rth@redhat.com>
11824
11825 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
11826
e43dd89d
RE
118272003-01-30 Richard Earnshaw <rearnsha@arm.com>
11828
11829 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
11830 size, the link register is always saved if any other register is
11831 saved.
11832
87a902e4
KH
118332003-01-30 Kazu Hirata <kazu@cs.umass.edu>
11834
11835 * config/h8300/h8300-protos.h: Update the prototype for
11836 compute_plussi_cc.
11837 (cpp_reader): Declare before it is used.
11838 * config/h8300/h8300.c (compute_plussi_cc): Change the return
11839 type to int.
11840 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
11841 see an unknown H8 variant.
11842
118432003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 11844
ff6e2d3e 11845 PR target/9316
0186a143
RC
11846 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
11847 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
11848 * config/rs6000/t-rtems: New file. multilib variants to match OS.
11849 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
11850 rs6000/t-ppcgas so we get the desired multilibs.
11851
f55d7103
NC
118522003-01-30 Nick Clifton <nickc@redhat.com>
11853
11854 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
11855 when popping saved IP register off the stack.
11856
b6d08ca1
KH
118572003-01-30 Kazu Hirata <kazu@cs.umass.edu>
11858
11859 * config/rs6000/aix43.h: Fix comment typos.
11860 * config/rs6000/aix51.h: Likewise.
11861 * config/rs6000/aix52.h: Likewise.
11862 * config/rs6000/altivec.h: Likewise.
11863 * config/rs6000/rs6000.c: Likewise.
11864 * config/rs6000/rs6000.h: Likewise.
11865 * config/rs6000/rs6000.md: Likewise.
11866 * config/rs6000/spe.md: Likewise.
11867
14d22dd6
MM
118682003-01-29 Mark Mitchell <mark@codesourcery.com>
11869
11870 * c-common.c (builtin_define_float_constants): Define
11871 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
11872
825db093
KH
118732003-01-30 Kazu Hirata <kazu@cs.umass.edu>
11874
11875 * config/sh/lib1funcs.asm: Fix comment typos.
11876 * config/sh/linux.h: Likewise.
11877 * config/sh/sh.c: Likewise.
11878 * config/sh/sh.md: Likewise.
11879
f1d5271a
LR
118802003-01-30 Loren James Rittle <ljrittle@acm.org>
11881
11882 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
11883
266a9ef1
AO
118842003-01-30 Alexandre Oliva <aoliva@redhat.com>
11885
11886 * config/fp-bit.h (__make_dp): Declare if TMODES.
11887
0889116d
KH
118882003-01-29 Kazu Hirata <kazu@cs.umass.edu>
11889
11890 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
11891 general_operand_src and general_operand_dst.
11892
c8c99a68
DE
118932003-01-29 David Edelsohn <edelsohn@gnu.org>
11894
11895 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
11896 Return true for variable sized types.
11897 (rs6000_va_arg): Handle variable sized types passed by reference
11898 on non-SVR4 ABI.
11899
ccf4d512
RE
119002003-01-29 Richard Earnshaw <rearnsha@arm.com>
11901
11902 * arm.c (arm_legtimize_address): New function.
11903 * arm-protos.h (arm_legtimize_address): Add prototype.
11904 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
11905 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
11906 do ... while (0)
11907
0889116d 119082003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 11909
7429b411 11910 PR bootstrap/9296
0680c8fb 11911 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 11912 depended on it being defined until now.
0680c8fb 11913
7429b411 119142003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 11915
7429b411 11916 PR target/9295
c934274a
JS
11917 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
11918 RTEMS code knows which C++ initialization style the toolset
7429b411 11919 configuration is using.
c934274a 11920
0889116d 119212003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 11922
7429b411 11923 PR bootstrap/9293
ff6e2d3e 11924 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 11925 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 11926
0889116d 119272003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 11928
7429b411 11929 PR bootstrap/9292
64abe03e
JS
11930 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
11931 RTEMS threads.
11932 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 11933
2f12fb2b
NC
119342003-01-29 Nick Clifton <nickc@redhat.com>
11935
11936 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
11937 not $(srcdir).
11938
cf0150b9
AH
119392003-01-29 Andrew Haley <aph@redhat.com>
11940
11941 * tree-inline.c (walk_tree): Add CHAR_TYPE.
11942
62c9aa5f 119432003-01-29 Jan Hubicka <jh@suse.cz>
9b74f3ea
JH
11944
11945 * i386.md (subdi3_carry_rex64): Fix typo.
11946
e150159c
SS
119472003-01-28 Stan Shebs <shebs@apple.com>
11948
11949 * coretypes.h (cpp_reader): Forward declare struct.
11950 * c-pragma.h (cpp_reader): Remove forward declaration.
11951 * hashtable.h (cpp_reader): Likewise.
11952 * scan.h (cpp_reader): Likewise.
11953 * tree.h (cpp_reader): Likewise.
11954 * config/darwin-protos.h (cpp_reader): Likewise.
11955 * config/arm/arm-protos.h (cpp_reader): Likewise.
11956 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
11957 struct cpp_reader in prototypes.
11958
53b50ac1
CC
119592003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
11960
11961 * doc/install.texi: Add documentation for installation into
11962 tooldirs and with DESTDIR.
11963
021aa6ed
RH
119642003-01-28 Richard Henderson <rth@redhat.com>
11965
11966 * config.gcc (ia64*-*-aix*): Remove.
11967 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
11968 * config/ia64/unwind-aix.c: Remove file.
11969
c1c1d123
AS
119702003-01-28 Andreas Schwab <schwab@suse.de>
11971
ff6e2d3e
RB
11972 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
11973 register.
11974 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
11975 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
11976 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
11977 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
11978 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
11979 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
11980 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 11981
6d09ef27
RS
119822003-01-28 Richard Sandiford <rsandifo@redhat.com>
11983
11984 * combine.c (nonzero_bits): Fix check for negative divide operands.
11985
1e1bd14e
RH
119862003-01-28 Richard Henderson <rth@redhat.com>
11987
11988 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
11989 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
11990
e37135f7
RH
119912003-01-28 Richard Henderson <rth@redhat.com>
11992
11993 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
11994
75642f32
RH
11995 * config/cris/cris.c (cris_address_cost): Make static.
11996 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
11997 * config/cris/cris.h (ADDRESS_COST): Remove.
11998 * config/cris/cris-protos.h: Update.
11999
e37135f7 120002003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
12001
12002 * regclass.c (init_reg_autoinc): New function.
12003 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 12004 here...
1f80c9ef 12005 (init_regs): to here. Avoids reinitialization for each function,
26182e15 12006 saving compilation time.
1f80c9ef 12007
9fbd3e41
JM
120082003-01-28 Jason Merrill <jason@redhat.com>
12009
12010 * cpplib.h (struct cpp_options): Add warn_deprecated field.
12011 * cppinit.c (cpp_create_reader): Turn it on by default.
12012 * c-opts.c (c_common_decode_option): Set it.
12013 * cpplib.c (do_pragma_once): Only complain about #pragma once
12014 if warn_deprecated is set.
12015
fe352c29 120162003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 12017
1e1bd14e
RH
12018 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
12019 * loop.c (scan_loop): Move movables on -Os rich-register targets.
12020 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 12021
dcefdf67
RH
120222003-01-28 Richard Henderson <rth@redhat.com>
12023
12024 * target.h (targetm.address_cost): New.
12025 * target-def.h (TARGET_ADDRESS_COST): New.
12026 (TARGET_RTX_COSTS): Uncomment. Oops.
12027 * cse.c (address_cost): Use new target hook.
12028 (default_address_cost): New.
12029 * output.h (default_address_cost): Declare.
12030 * hooks.c (hook_int_rtx_0): New.
12031 * hooks.h (hook_int_rtx_0): Declare.
12032 * loop.c (combine_givs_p): Remove if 0 code.
12033 * system.h (ADDRESS_COST): Poison.
12034
12035 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
12036 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
12037 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
12038 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
12039 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
12040 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
12041 config/xtensa/xtensa.c, config/xtensa/xtensa.h
12042 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
12043 (ADDRESS_COST): Remove.
12044
12045 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
12046 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
12047 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
12048 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
12049 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
12050 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
12051 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
12052 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 12053 config/mips/mips.c, config/mips/mips.h,
dcefdf67 12054 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 12055 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
12056 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
12057 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
12058 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
12059 config/vax/vax.c, config/vax/vax.h
12060 (foo_address_cost): Make static.
12061 (TARGET_ADDRESS_COST): New.
12062 (ADDRESS_COST): Remove.
12063
12064 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
12065 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
12066 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
12067 config/stormy16/stormy16.h
12068 (ADDRESS_COST): Move code ...
12069 (foo_address_cost): ... here.
12070 (TARGET_ADDRESS_COST): New.
12071
12072 * config/m32r/m32r.c (m32r_address_cost): Remove.
12073 * config/m32r/m32r-protos.h: Update.
12074
12075 * config/mmix/mmix.c (mmix_address_cost): Remove.
12076 * config/mmix/mmix-protos.h: Update.
12077
12078 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
12079 mn10300_address_cost; move unsig allocation ...
12080 (mn10300_address_cost): ... here.
12081 (TARGET_ADDRESS_COST): New.
12082 * config/mn10300/mn10300-protos.h: Update.
12083 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
12084
75642f32
RH
12085 * doc/tm.texi: Update.
12086
58fb7809
VM
120872003-01-28 Vladimir Makarov <vmakarov@redhat.com>
12088
12089 * haifa-sched.c (schedule_insn): Return necessary cycle advance
12090 after issuing the insn.
12091 (rank_for_schedule): Make a insn with /S the highest priority
12092 insn.
12093 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
12094 (choose_ready): Check SCHED_GROUP_P.
12095 (schedule_block): Advance cycle after issuing insn if it is
12096 necessary. Don't reorder insns if there is an insn with /S.
12097 (set_priorities): Ignore schedule groups.
12098
12099 * sched-deps.c (remove_dependence, group_leader): Remove the
12100 functions.
12101 (add_dependence): Ignore schedule groups.
12102 (set_sched_group_p): Don't make copy of dependencies from previous
12103 insn of the schedule group. Add anti-dependency to the previous
12104 insn of the schedule group.
12105 (compute_forward_dependences): Ignore schedule groups.
12106
12107 * sched-ebb.c (init_ready_list): Ignore schedule groups.
12108
12109 * sched-rgn.c (init_ready_list): Ditto.
12110 (can_schedule_ready_p): Ditto.
ff6e2d3e 12111
371c988b
VM
121122003-01-28 Vladimir Makarov <vmakarov@redhat.com>
12113
12114 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
12115 register to another one.
12116
40cdfd5a
RH
121172003-01-28 Richard Henderson <rth@redhat.com>
12118
12119 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
12120
a77b7e32
RS
121212003-01-28 Roger Sayle <roger@eyesopen.com>
12122
12123 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
12124
3620944c
RS
121252003-01-28 Richard Sandiford <rsandifo@redhat.com>
12126
12127 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
12128 class contains a floating-point register, return the size of the
12129 mode in half words.
12130
62c9aa5f 121312003-01-28 Jan Hubicka <jh@suse.cz>
e6e81735 12132
26182e15
SB
12133 * i386.c (ix86_carry_flag_operator): New predicate.
12134 (fcmov_operator): Fix whitespace.
12135 (ix86_expand_carry_flag_compare): Deal with floating point.
12136 (ix86_expand_int_movcc): Deal with fp; update insn expansion
12137 (ix86_expand_int_addcc): Likewise.
12138 (ix86_expand_strlensi_unroll_1): likewsie.
12139 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
12140 * i386.md (add?i_carry_rex64): Use new predicate.
12141 (sub?i3_carry_rex64): Likewise.
12142 (x86_mov?icc_0_m1*): Likewise.
e6e81735 12143
43196589
AS
121442003-01-28 Andreas Schwab <schwab@suse.de>
12145
32214c32
AS
12146 * cfgloopmanip.c (create_preheader): Initialize src to avoid
12147 warning.
12148
12149 * expmed.c (emit_store_flag): Fix cast to avoid sign
12150 comparison warning.
12151
43196589
AS
12152 * combine.c (force_to_mode): Add cast to fix warning when
12153 STORE_FLAG_VALUE is negative.
12154
3c50106f
RH
121552003-01-27 Richard Henderson <rth@redhat.com>
12156
12157 * Makefile.in (cse.o): Depend on TARGET_H.
12158 * cse.c (rtx_cost): Use targetm.rtx_costs.
12159 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
12160 * doc/tm.texi: Update.
ff6e2d3e 12161
3c50106f
RH
12162 * target.h (targetm.rtx_costs): New.
12163 * target-def.h (TARGET_RTX_COSTS): New.
12164 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
12165 * hooks.h: Update.
12166
12167 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
12168 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
12169 * config/alpha/alpha.h (PROCESSOR_MAX): New.
12170 (CONST_COSTS, RTX_COSTS): Remove.
12171
12172 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
12173 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
12174 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
12175 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
12176 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
12177 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
12178 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
12179 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
12180 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
12181 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
12182 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
12183 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
12184 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
12185 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
12186 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
12187 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
12188 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
12189 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
12190 config/v850/v850.c, config/v850/v850.h,
12191 config/xtensa/xtensa.c, config/xtensa/xtensa.h
12192 (CONST_COSTS, RTX_COSTS): Move code ...
12193 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
12194
12195 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
12196 (arm_rtx_costs, TARGET_RTX_COSTS): New.
12197 * config/arm/arm-protos.h: Update.
12198 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
12199
12200 * config/avr/avr.h (CONST_COSTS): Move code ...
12201 * config/avr/avr.c (avr_rtx_costs): ... here.
12202 (default_rtx_costs): Make static.
12203 * config/avr/avr-protos.h: Update.
12204
12205 * config/h8300/h8300.c (const_costs): Make static.
12206 (h8300_and_costs, h8300_shift_costs): Likewise.
12207 * config/h8300/h8300-protos.h: Update.
12208
12209 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
12210 (CONST_COSTS): Move code ...
12211 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
12212 default_rtx_costs; update for signature change.
12213 * config/ip2k/ip2k-protos.h: Update.
12214
12215 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
12216 (CONST_COSTS): Move code ...
12217 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
12218 (TARGET_RTX_COSTS): New.
12219 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
12220 * config/m68hc11/m68hc11-protos.h: Update.
12221
12222 * config/m68k/m68k.c (const_int_cost): Make static.
12223 * config/m68k/m68k-protos.h: Update.
12224
12225 * config/mcore/mcore.c (mcore_const_costs): Make static.
12226 (mcore_and_cost, mcore_ior_cost): Likewise.
12227 * config/mcore/mcore-protos.h: Update.
12228
12229 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
12230 (mmix_rtx_cost_recalculated): Remove.
12231 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
12232 * config/mmix/mmix-protos.h: Update.
12233
12234 * config/sh/sh.c (shiftcosts): Make static.
12235 (addsubcosts, andcosts, multcosts): Likewise.
12236 * config/sh/sh-protos.h: Update.
12237
12238 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
12239 (sparc_rtx_costs): Make static; update for change in signature.
12240 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
12241 * config/sparc/sparc-protos.h: Update.
12242
12243 * config/v850/v850.c (const_costs): Make static.
12244 * config/v850/v850-protos.h: Update.
12245
12246 * config/vax/vax.h (RTX_COSTS): Remove.
12247 (CONST_COSTS): Move code ...
12248 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
12249 from vax_rtx_cost.
12250 (vax_rtx_costs, TARGET_RTX_COSTS): New.
12251
b9962e0a
RH
122522003-01-27 Richard Henderson <rth@redhat.com>
12253
12254 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 12255 * config/vax/vax-protos.h: Update. Really.
b9962e0a 12256
8a381273
AO
122572003-01-28 Alexandre Oliva <aoliva@redhat.com>
12258
12259 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
12260 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
12261 zero if no hardware floating point.
12262 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
12263 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
12264 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
12265 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
12266 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
12267 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
12268 even FP registers on N32 and N64.
12269 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
12270 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
12271 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
12272 even-register-like alignment to 128-bit arguments.
12273 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
12274 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
12275 on N32 or N64.
12276 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
12277 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
12278 (TPBIT): Set to tp-bit.c.
12279 (tp-bit.c): Create out of fp-bit.c.
12280
820e01be
GDR
122812003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
12282
12283 * c-parse.in: Remove '%expect 32' directive in objc mode.
12284
23af32e6
NS
122852003-01-27 Nathan Sidwell <nathan@codesourcery.com>
12286
12287 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
12288 (LIBGCOV): New variable.
12289 (libgcc.mk): Add LIBGCOV.
12290 (LIBGCC_DEPS): Add libgcov.c.
12291 (libgcov.a): New target.
12292 (clean): Remove libgcov.a.
12293 (install-libgcc): Do libgcov too.
12294 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
12295 with libgcov.a.
12296 * libgcc2.c (L_gcov): Move into ...
12297 * libgcov.c: ... here. New file.
12298 * mklibgcc.in: Add libgcov rules.
12299 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
12300
12301 * doc/invoke.texi (profile-arcs, test-coverage): Update and
12302 clarify.
ff6e2d3e 12303
23af32e6
NS
12304 * profile.c (index_counts_file): Remove duplicate check for open file.
12305
9fe42917 123062003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
12307
12308 * gcc/doc/invoke.texi (Optimization Options): Group together
12309 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 12310 out of this section. Group floating point flags together.
d4463dfc
JQ
12311 (Code Gen Options): Move trapv and bounds-check to here.
12312
244d05fb
JZ
123132003-01-27 Josef Zlomek <zlomekj@suse.cz>
12314
12315 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
12316
c552c146
RE
123172003-01-27 Richard Earnshaw <rearnsha@arm.com>
12318
12319 PR optimization/9090
12320 * function.c (purge_addressof_1): After pushing an addressed register
12321 onto the stack, simplify the result.
12322
90a21764
VR
123232003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12324
12325 * doc/extend.texi: Fix typo.
12326
9a376494
VR
123272003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12328
12329 * doc/cppopts.texi: Fix typo.
12330 * doc/objc.texi: Likewise.
12331 * doc/passes.texi: Likewise.
12332
f004e5f3
AO
123332003-01-27 Alexandre Oliva <aoliva@redhat.com>
12334
12335 * real.c (ibm_extended_format): Add 53 to minimum exponent.
12336 (encode_ibm_extended): Adjust.
12337
58c60e52
GDR
123382003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
12339
12340 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
12341 timevar_id enumerations.
12342
e869aa39
KH
123432003-01-26 Kazu Hirata <kazu@cs.umass.edu>
12344
12345 * combine.c: Fix formatting.
12346
74fb4811
KH
123472003-01-26 Kazu Hirata <kazu@cs.umass.edu>
12348
12349 * doc/gccint.texi: Update the copyright.
12350
3bcf1b13
KH
123512003-01-26 Kazu Hirata <kazu@cs.umass.edu>
12352
12353 * doc/cpp.texi: Fix typos.
12354 * doc/extend.texi: Likewise.
12355 * doc/gty.texi: Likewise.
12356 * doc/install.texi: Likewise.
12357 * doc/passes.texi: Likewise.
12358 * doc/rtl.texi: Likewise.
12359 * doc/tm.texi: Likewise.
12360
9e4f94de
KH
123612003-01-26 Kazu Hirata <kazu@cs.umass.edu>
12362
12363 * config/ia64/fde-glibc.c: Fix comment typos.
12364 * config/ia64/hpux.h: Likewise.
12365 * config/ia64/ia64.c: Likewise.
12366 * config/ia64/ia64.h: Likewise.
12367 * config/ia64/unwind-ia64.c: Likewise.
12368
4aae8a9a
KH
123692003-01-26 Kazu Hirata <kazu@cs.umass.edu>
12370
12371 * config/i386/i386-modes.def: Fix comment typos.
12372 * config/i386/i386.c: Likewise.
12373 * config/i386/i386.md: Likewise.
12374
35d8c8e2
SB
123752003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
12376
12377 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
12378 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
12379 ASM_FINISH_DECLARE_OBJECT before defining it.
12380 * toplev.c (rest_of_decl_compilation): Don't define
12381 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
12382 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
12383 parameters for DWARF2 targets because they _are_ used.
12384
ea976606
AO
123852003-01-26 Alexandre Oliva <aoliva@redhat.com>
12386
b44cf3d9
AO
12387 * fp-bit.h: Define macros for TFmode floating-point constants
12388 in IBM-extended TFmode types.
12389 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
12390 widths.
12391 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
12392 TFmode type.
12393
ea976606
AO
12394 * config/fp-bit.h: Define macros for TFmode floating-point
12395 constants in IEEE quad TFmode type. Declare functions according
12396 to L_ macros.
12397 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
12398 (TFtype, TItype, UTItype): Define if TMODES is defined.
12399 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
12400 (F_T_BITOFF, D_T_BITOFF): Define.
12401 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
12402 guaranteed to be wide enough.
12403 * config/fp-bit.c: Check for L_ macros for tf functions.
12404 (__thenan_tf): New.
12405 (nan): Adjust.
12406 (pack_d, unpack_d): Support IEEE 854 quad type.
12407 (_fpmul_parts): Support TFmode. Compute exponent adjustment
12408 from FRAC_NBITS, FRAC_BITS and NGARDS.
12409 (usi_to_float): Cast constants to be shifted to fractype
12410 instead of assuming long long is wide enough.
12411 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
12412
fd7fd61e
AJ
124132003-01-26 Andreas Jaeger <aj@suse.de>
12414
12415 * df.c: Remove prototype of unused function df_regno_rtl_debug.
12416
8ae91fc0
AO
124172003-01-26 Alexandre Oliva <aoliva@redhat.com>
12418
88e83acb
AO
12419 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
12420 (DBBIT_FUNCS): Added _df_to_tf.
12421 (TPBIT_FUNCS): New.
12422 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
12423 (LIBGCC_DEPS): Added TPBIT.
12424 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
12425
2cd622c3
AO
12426 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
12427 been able to move the result to target.
12428
8ae91fc0
AO
12429 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
12430 for the appropriate mode.
12431
c3297561
AO
12432 * calls.c (emit_library_call_value_1): Handle return values
12433 in a PARALLEL.
12434
187515f5
AO
12435 * rtl.c (get_mode_alignment): Moved to...
12436 * stor-layout.c: ... here.
12437
6ebd2ef4
AO
12438 * print-rtl.c (print_rtx): Don't print MEM details in
12439 GENERATOR_FILEs.
12440
7890e8f3
MH
124412003-01-26 Michael Hayes <mph@paradise.net.nz>
12442
12443 * df.h: Update comments, tidy formatting.
12444 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
12445 REVERSE, UNION, INTERSECTION. All uses updated.
12446 (OLD_DF_INTERFACE): Remove.
12447 (struct insn_info): Remove commented out insn field.
12448 * df.c: Update comments, tidy formatting.
12449 (df_def_table_realloc): Remove.
12450
12451
b820d2b8
AM
124522003-01-26 Alan Modra <amodra@bigpond.net.au>
12453
12454 * calls.c (save_fixed_argument_area): Tidy.
12455 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
12456 (expand_call): Comment typo fixes. Don't init low_to_save. Start
12457 call chain loop at 1 if !try_tail_call. Formatting.
12458 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
12459 Use save_fixed_argument_area and restore_fixed_argument_area.
12460
42510de4
MH
124612003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12462
12463 * df.c (df_uses_record): Handle CC0.
12464
acf9fa5f
UW
124652003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
12466
1e1bd14e
RH
12467 * reload.c (maybe_memory_address_p): New function.
12468 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 12469
5a09edba
KK
124702003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
12471
12472 * final.c (shorten_branches): Align the address of code label
1e1bd14e 12473 when computing initial lengths and addresses.
5a09edba 12474
f5818c0c
KH
124752003-01-25 Kazu Hirata <kazu@cs.umass.edu>
12476
12477 * config/m68hc11/m68hc11.md: Fix a comment typo.
12478
21ff35fb
AJ
124792003-01-25 Andreas Jaeger <aj@suse.de>
12480
12481 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
12482 TARGET_MACHO.
12483
7821bfc7
RS
124842003-01-25 Roger Sayle <roger@eyesopen.com>
12485
12486 * gcse.c (bypass_last_basic_block): New global variable.
12487 (bypass_block): Use redirect_edge_and_branch_force to redirect
12488 fall-through edges. Use bypass_last_basic_block to determine
12489 which blocks have valid PRE information.
12490 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
12491
62c9aa5f 124922003-01-25 Jan Hubicka <jh@suse.cz>
5f0bea72
JH
12493
12494 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
12495
62c9aa5f 124962003-01-25 Jan Hubicka <jh@suse.cz>
1649d92f
JH
12497 Eric Botcazou <ebotcazou@libertysurf.fr>
12498 PR opt/8492
12499 * gcse.c (one_cprop_pass): Delete unreachable blocks.
12500
6ca86a1a
RH
125012003-01-25 Richard Henderson <rth@redhat.com>
12502
12503 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
12504 from ia64_aix_select_rtx_section.
12505 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
12506 instead of saving and restoring flag_pic.
12507 (ia64_rwreloc_unique_section): Similarly.
12508 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
12509 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
12510 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
12511 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
12512
aa2fb4dd
KH
125132003-01-25 Kazu Hirata <kazu@cs.umass.edu>
12514
12515 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
12516 comment.
12517
c876997f 125182003-01-25 Richard Henderson <rth@redhat.com>
1125849a
RH
12519
12520 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
12521
c876997f 125222003-01-25 Kelley Cook <kelleycook@comcast.net>
3900a23b
KC
12523
12524 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
12525
72e42e26
SB
125262003-01-25 Segher Boessenkool <segher@koffie.nl>
12527
12528 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
12529 type for bitmaps. Use unsigned long.
12530 (nBITMAP_WORD_BITS): New macro.
12531 (BITMAP_WORD_BITS): New macro.
12532 (rest of file): Use it.
12533 * bitmap.c: Use it.
12534
8324663f
RH
125352003-01-25 Richard Henderson <rth@redhat.com>
12536
12537 2002-02-19 Robert Lipe <robertlipe@usa.net>
12538 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
12539
c876997f 125402003-01-25 Roger Sayle <roger@eyesopen.com>
2adc9b0f
RS
12541
12542 * builtins.c (purge_builtin_constant_p): Scan insn stream
12543 sequentially rather than by basic block.
12544 * function.c (purge_addressof): Simplify test with INSN_P.
12545
ad487c38
KH
125462003-01-25 Kazu Hirata <kazu@cs.umass.edu>
12547
8324663f 12548 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 12549
c876997f 125502003-01-25 Roger Sayle <roger@eyesopen.com>
07d9b20d
RS
12551
12552 * function.h (struct function): New field calls_constant_p.
12553 (current_function_calls_constant_p): New macro for above.
12554 * function.c (prepare_function_start): Initialize calls_eh_return
12555 and calls_constant_p.
12556 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
12557 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
12558 when the current_function_calls_constant_p.
12559 * integrate.c (expand_inline_function): Set calls_constant_p if
12560 the function being inlined has calls_constant_p set.
12561
c876997f 125622003-01-25 Roger Sayle <roger@eyesopen.com>
41559112
RS
12563
12564 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
12565 optimizing, even if flag_gcse is true.
12566 * toplev.c (rest_of_compilation): purge_builtin_constant_p
12567 only needs to be called when "optimize > 0 && flag_gcse".
12568
9bb231fd
RS
125692003-01-25 Roger Sayle <roger@eyesopen.com>
12570
12571 * stmt.c (emit_case_bit_tests): New routine to implement suitable
12572 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
12573 (case_bit_test_cmp): New comparison function for "qsort" to order
12574 case_bit_tests by decreasing number of destination nodes.
12575 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
12576 (expand_end_case_type): Use emit_case_bit_tests to implement
12577 suitable switch statments.
12578 (CASE_USE_BIT_TESTS): New target macro to disable the above.
12579 * Makefile.in (stmt.o): Add dependency on optab.h.
12580 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
12581
a073323c
AS
125822003-01-23 Andreas Schwab <schwab@suse.de>
12583
12584 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
12585 __do_global_ctors_aux hidden global and don't put it in
12586 .init_array.
12587 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
12588 instead so that it comes first.
12589
62c9aa5f 125902003-01-25 Jan Hubicka <jh@suse.cz>
36ddc6b0
JH
12591
12592 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
12593 subreg is read/modify.
12594
62c9aa5f 125952003-01-25 Jan Hubicka <jh@suse.cz>
26771da7
JH
12596
12597 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
12598 do libcall for large blocks.
12599 * i386.md (comi patterns): Set type to ssecomi.
12600 (sse2_unpck?pd): Fix mode of vec_select.
12601
12602 * cse.c: Include except.h
12603 (cse_set_around_loop): Do not create new basic blocks.
12604 * Makefile.in (cse.o): Add dependnecy on except.h
12605
62c9aa5f 126062003-01-25 Jan Hubicka <jh@suse.cz>
27a6aa72
JH
12607
12608 * builtins.c (fold_trunc_transparent_mathfn): New function.
12609 (fold_builtin): Use it.
12610 * convert.c (convert_to_real): Re-enable code to convert
12611 math functions; add support for floor familly functions.
12612
cd68f4e4
ZD
126132003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12614
12615 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
12616 dependencies on coretypes.h and $(TM_H).
12617
62c9aa5f 126182003-01-25 Jan Hubicka <jh@suse.cz>
67945f2e
JH
12619
12620 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
12621
c876997f 126222003-01-24 Stuart Hastings <stuart@apple.com>
095fa594 12623
08f0414b 12624 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 12625
1e4c04e0
MH
126262003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12627
12628 * config/c4x/c4x.md (UNSPEC_BU): New constants.
12629 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
12630 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
12631 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
12632 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
12633 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
12634 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
12635 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
12636
62c9aa5f 126372003-01-24 Jan Hubicka <jh@suse.cz>
a560d4d4 12638
08f0414b 12639 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
12640 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
12641 functions.
12642 (reg_rtx): Do not maintain regno_decl.
12643 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
12644 set_mem_attrs_from_reg): New global function.
12645 (init_emit): Do not initialize regno_decl.
12646 (init_emit_once): initialize reg_attrs_htab.
12647 * final.c (alter_subreg): Do not replace REG by SUBREG.
12648 (gen_mem_expr_from_op): Improve output.
12649 (output_asm_operands): Likewise.
12650 * function.c (assign_params): Do not set REGNO_DECL.
12651 * function.h (struct function): Kill regno_decl.
12652 (REGNO_DECL): Kill.
12653 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
12654 * print_rtl.c (print_rtx): Output REG information.
12655 * regclass.c (reg_scan_mark_refs): Update attrs.
12656 * reload1.c (alter_reg): Likewise.
12657 * simplify_rtx.c (simplify_subreg): Likewise.
12658 * stmt.c (expand_decl): Likewise.
12659 * rtl.def (REG): Add new field.
12660 * rtl.h (struct reg_attrs): New.
12661 (rtunion_def): At rtreg.
12662 (X0MEMATTR): Add checking.
12663 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
12664 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
12665 Declare.
12666 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
12667
1d0ea52e
BW
126682003-01-24 Bob Wilson <bob.wilson@acm.org>
12669
12670 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
12671 (xtensa_emit_call, print_operand): Fix printf format strings
12672 to avoid compile warnings.
12673 (xtensa_function_prologue, xtensa_function_epilogue): Change type
12674 of "size" argument to HOST_WIDE_INT to fix compile warnings.
12675 * config/xtensa/xtensa-protos.h
12676 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
12677
62c9aa5f 126782003-01-24 Jan Hubicka <jh@suse.cz>
272f51a3
JH
12679
12680 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
12681 (implicit_built_in_decls): New global array.
12682 (mathfn_built_in): New global function.
12683 (fold_trunc_transparent_mathfn): New static function
12684 (expand_builtin_strstr, expand_bultin_strchr,
12685 expand_builtin_strpbrk, expand_builtin_strcpy,
12686 expand_builtin_strncpy, expand_bultin_strcmp,
12687 expand_bultin_strncat, expand_builtin_fputs): Use
12688 implicint_built_in_decls.
12689 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
12690 * builtins.def: Fix comments.
12691 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
12692 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
12693 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
12694 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
12695 (DEF_C99_C90RES_BULTIN): New.
12696 (*f, *l builtins): Update.
12697 * c-common.c (DEF_BUILTIN): Initialize implicit array.
12698 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
12699 * convert.c (strip_float_extensions): New global function.
12700 * tree.h (DEF_BUILTIN): Accept 10 arguments.
12701 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
12702 Declare.
12703 * java/builtins.c (define_builtin): Handle implicit.
12704 (DEF_BUILTIN): Update.
12705 * tm.texi (TARGET_C99_FUNCTIONS): Document.
12706 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
12707 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
12708 when using glibc2.
12709
1f37a5b2
BW
127102003-01-24 Bob Wilson <bob.wilson@acm.org>
12711
12712 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
12713 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
12714 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
12715 * config/xtensa/crti.asm: New file.
12716 * config/xtensa/crtn.asm: New file.
12717 * config/xtensa/t-elf: New file.
12718 * config/xtensa/t-linux: New file.
12719 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
12720 Move various CFLAGS settings to new t-elf file.
12721
84f5e1b1
RH
127222003-01-24 Richard Henderson <rth@redhat.com>
12723
12724 PR optimization/4382
12725 * tree-inline.c (find_builtin_longjmp_call_1): New.
12726 (find_builtin_longjmp_call): New.
12727 (inlinable_function_p): Use it.
12728
09b2e78d
ZD
127292003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12730
12731 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
12732 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
12733 * config/i386/i386.c (function_arg_pass_by_reference): New.
12734 (ix86_va_arg): Support arguments passed by reference.
12735
3d436d2a
ZD
127362003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12737
12738 * cfgloopanal.c: New file.
12739 * cfgloopmanip.c: New file.
12740 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
12741 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
12742 cfglayout.o): Add dependency on cfgloop.h.
12743 (cfgloop.o): Add flags.h dependency.
12744 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
12745 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
12746 (struct loop, struct loops, flow_loops_find, flow_loops_update,
12747 flow_loops_free, flow_loops_dump, flow_loop_dump,
12748 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
12749 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
12750 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
12751 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
12752 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
12753 find_common_loop, verify_loop_structure): Declarations moved to ...
12754 * cfgloop.h: New file.
12755 * bb-reorder.c (reorder_basic_blocks): Modified.
12756 * cfglayout.c: Include cfgloop.h.
12757 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
12758 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
12759 (break_superblocks): New static function.
12760 (cfg_layout_finalize): Use it.
12761 (cfg_layout_split_block): New function.
12762 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
12763 fields.
12764 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
12765 changed.
12766 (cfg_layout_split_block): Declare.
12767 * cfgloop.c: Include cfgloop.h and flags.h.
12768 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
12769 get_loop_body): Avoid signed versus unsigned comparison warnings.
12770 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
12771 loop_latch_edge): Modified.
12772 (verify_loop_structure): Modified to use flags stored in loop structure;
12773 check irreducible loops.
12774 (cancel_loop, cancel_loop_tree): New functions.
12775 (estimate_probability): Use loop analysis code for predictions.
12776 (estimate_loops_at_level): Avoid signed versus unsigned comparison
12777 warnings.
12778 * doloop.c: Include cfgloop.h.
12779 * loop.c: Include cfgloop.h.
12780 * predict.c: Include cfgloop.h.
12781 * toplev.c: Include cfgloop.h.
12782 * unroll.c: Include cfgloop.h.
12783 * tracer.c (tracer): Modified.
12784
a38b3eea
KH
127852003-01-24 Kazu Hirata <kazu@cs.umass.edu>
12786
12787 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
12788
fd3cd001
UW
127892003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
12790
12791 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
12792 * configure: Regenerate.
12793
12794 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
12795 (tls_symbolic_reference_mentioned_p): Add prototype.
12796 (s390_tls_get_offset): Add prototype.
12797 (emit_pic_move): Remove prototype, replace by ...
12798 (emit_symbolic_move): .. this new prototype.
12799
12800 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
12801 (tls_model_chars): New global variable.
12802 (s390_encode_section_info): Encode TLS model.
12803 Use targetm.binds_local_p to check for local symbols.
12804 (s390_strip_name_encoding): New function.
12805 (TARGET_STRIP_NAME_ENCODING): Define.
12806
12807 (get_thread_pointer): New function.
21ff35fb 12808 (legitimize_tls_address): New function.
fd3cd001
UW
12809 (legitimize_address): Call it.
12810 (emit_pic_move): Remove, replace by ...
12811 (emit_symbolic_move): ... this new function.
12812
12813 (larl_operand): Handle TLS operands.
12814 (legitimate_constant_p): Likewise.
12815 (s390_decompose_address): Likewise.
12816 (s390_cannot_force_const_mem): New function.
12817 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
12818
12819 (s390_output_symbolic_const): Handle TLS unspecs.
12820 (print_operand): New code 'J'.
12821 (machine_function): Add struct member 'some_ld_name'.
12822 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
12823
12824 (enum s390_builtin): New type.
12825 (code_for_builtin_64, code_for_builtin_31): New global variables.
12826 (s390_init_builtins, s390_expand_builtin): New functions.
12827 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
12828
12829 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
12830 (ASM_OUTPUT_LABELREF): Define.
12831 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
12832
12833 * config/s390/s390.md: Define TLS UNSPEC constants.
12834 ("movdi", "movsi"): Handle TLS operands.
12835 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
12836 ("*tls_load_64", "*tls_load_31"): New insns.
12837 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 12838 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
12839 "bas_tls_64", "bas_tls_31"): New insns.
12840
01f4962d
NS
128412003-01-24 Nathan Sidwell <nathan@codesourcery.com>
12842
12843 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
12844 spe ABI is configured, if requested.
12845
70b91854
VR
128462003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12847
12848 * doc/passes.texi: Fix typo.
12849
b8089d8d
AS
128502003-01-24 Andreas Schwab <schwab@suse.de>
12851
12852 * stor-layout.c (excess_unit_span): Only define if used.
12853
38df970e
JQ
128542003-01-24 Jerry Quinn <jlquinn@optonline.net>
12855
12856 * gcc/doc/invoke.texi (Optimization Options): List -O levels
12857 for each optimization flag.
12858
dff23a65
KH
128592003-01-24 Kazu Hirata <kazu@cs.umass.edu>
12860
12861 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
12862
05739753
VR
128632003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12864
12865 * doc/bugreport.texi: Use @command instead of @code for commands.
12866 * doc/collect2.texi: Likewise.
12867 * doc/headerdirs.texi: Likewise.
12868 * doc/invoke.texi: Likewise.
12869 * doc/standards.texi: Likewise.
12870 * doc/tm.texi: Likewise.
12871 * doc/trouble.texi: Likewise.
12872
06bea5aa
NC
128732003-01-24 Nick Clifton <nickc@redhat.com>
12874
12875 * config/arm/arm.c (use_return_insn): Do not use a single return
12876 instruction for interrupt handelrs which have to create a stack
12877 frame.
12878 (arm_expand_prologue): Do not pre-bias the return address of
12879 interrupt handlers which create a stack frame.
12880
128812003-01-24 Nick Clifton <nickc@redhat.com>
12882
12883 * Add sh2e support:
12884
12885 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
12886
12887 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
12888 med_cbranches. Fix logic in short_cbranches.
12889
12890 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
12891
12892 * config/sh/sh.md (delay for cbranch): Don't annul delay
12893 slots on SH2e.
12894 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
12895 cbranch with unfilled delay slot on SH2e.
12896 (output_branch): Fill with a nop the delay slot of a
12897 branch that required a delay slot but didn't get one.
12898
12899 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
12900
12901 * doc/invoke.texi (SH options): Document -m2e.
12902 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
12903 * config/sh/lib1funcs.asm: Likewise.
12904 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
12905 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
12906 not __sh1__.
12907 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
12908 SH2E up.
12909 (SH3E_BIT): Renamed to...
12910 (SH_E_BIT): ... this. Replace all uses.
12911 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
12912 Replace all uses of TARGET_SH3E with TARGET_SH2E.
12913 (TARGET_SWITCHES): Added 2e.
12914 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
12915 (processor_type): Added PROCESSOR_SH2E.
12916 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
12917 TARGET_SH2E, except in sqrtsf2_i.
12918 (attribute cpu): Added sh2e.
12919 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
12920 (MULTILIB_MATCHES): Use m2e multilib for m3e.
12921 * config.gcc: Add sh2e target support.
12922
65ca2d60
PE
129232003-01-24 Phil Edwards <pme@gcc.gnu.org>
12924
12925 Rename -W to -Wextra.
12926 * c-decl.c: Update comments.
12927 * c-typeck.c: Likewise.
12928 * flags.h: Likewise.
12929 * function.c: Likewise.
12930 * stmt.c: Likewise.
12931 * toplev.c: Update comments.
12932 (W_options): Add 'extra'.
12933 (display_help): Remove '-W'.
12934 (decode_W_option): Special warn_uninitialized treatment in the case
12935 of -Wextra.
12936 * doc/invoke.texi: Update with new entries.
12937
3de9c088
RH
129382003-01-23 Richard Henderson <rth@redhat.com>
12939
8324663f
RH
12940 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
12941 in no-else-block case. Add commentary.
3de9c088 12942
49691411
KG
129432003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12944
b4862477
KG
12945 * configure.in: Revert last change.
12946
129472003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12948
12949 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
12950 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
12951 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
12952 ATTRIBUTE_UNUSED.
12953
12954 * configure: Regenerate.
12955
c4db7ecb
FS
129562003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12957
12958 PR java/6748
12959 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
12960 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
12961 kernels.
12962
fc69c47c
KG
129632003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12964
12965 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
12966
adbe6dfd
UW
129672003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
12968
12969 * genattrtab.c (write_attr_get): Mark 'insn' paramter
12970 as ATTRIBUTE_UNUSED.
12971
76a318e9
RE
129722003-01-23 Richard Earnshaw <rearnsha@arm.com>
12973
12974 * arm.c (thumb_base_register_rtx_p): New function.
12975 (thumb_index_register_rtx_p): New function.
12976 (thumb_legitimate_address_p): New function.
12977 (thumb_legitimate_offset_p): New function.
12978 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 12979 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
12980 definitions.
12981 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
12982 (THUMB_LEGITIMATE_OFFSET): Delte.
12983 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
12984 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
12985 (thumb_legitimate_offset_p): Likewise.
12986
9a600d0c
AS
129872003-01-23 Andreas Schwab <schwab@suse.de>
12988
12989 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
12990
2d110c0a
KG
129912003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12992
12993 * fixinc/Makefile.in (FL_LIST): Revert last change.
12994
2d1d9215
VR
129952003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12996
12997 PR other/7341
12998 * invoke.texi (ftest-coverage): Fix broken cross-reference.
12999 Change @code to @command for gcov command.
13000
13001 * gcc.texi: Adjust title of gcov section.
13002 Adjust copyright.
13003 * gcov.texi: Likewise.
13004
34ee7f82
RS
130052003-01-22 Roger Sayle <roger@eyesopen.com>
13006
13007 PR optimization/8423
13008 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
13009 its argument is constant, or 0 if !flag_gcse.
13010 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
13011 if it's argument is constant.
13012 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
13013 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
13014 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
13015 * builtins.c (purge_builtin_constant_p): New function to force
13016 instantiation of any remaining CONSTANT_P_RTX nodes.
13017 * rtl.h (purge_builtin_constant_p): Prototype here.
13018 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
13019 pass after GCSE and before loop.
13020 (flag_gcse): No longer static.
13021 * flags.h (flag_gcse): Prototype here.
13022
bab0b43b
UW
130232003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
13024
13025 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
13026 introduced by last change.
13027
7e657a61
AS
130282003-01-22 Andreas Schwab <schwab@suse.de>
13029
13030 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
13031
75a3503b
KH
130322003-01-22 Kazu Hirata <kazu@cs.umass.edu>
13033
13034 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
13035 request a scratch reg on H8S when the shift count is 8.
13036
4888ec5d
UW
130372003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
13038
13039 * config/s390/s390-protos.h (preferred_la_operand_p):
13040 Remove second parameter.
13041 * config/s390/s390.c (preferred_la_operand_p): Likewise.
13042 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
13043 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
13044 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
13045 Add peepholes to transform ADD to LOAD ADDRESS.
13046
6b990f6b
RE
130472003-01-22 Richard Earnshaw <rearnsha@arm.com>
13048
13049 * arm.c (arm_address_register_rtx_p): New function.
13050 (arm_legitimate_address_p): New function.
13051 (arm_legitimate_index_p): New function.
13052 (legitimize_pic_address): Use arm_legitimate_index_p.
13053 * arm-protos.h (arm_legtimate_address_p): Add prototype.
13054 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
13055 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
13056
f0bf1270
HP
130572003-01-22 Hartmut Penner <hpenner@de.ibm.com>
13058
13059 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
13060 * config/s390/2064.md (define_bypass): Correct 'Load' and
13061 'Load-address' bypass values.
21ff35fb 13062
fcb6a0f5
AS
130632003-01-22 Andreas Schwab <schwab@suse.de>
13064
13065 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
13066
c24b8026
ZW
130672003-01-21 Zack Weinberg <zack@codesourcery.com>
13068
13069 * genautomata.c (output_internal_insn_latency_func,
13070 output_print_reservation_func): Short circuit when there is no
13071 automaton to generate code for.
13072
38afe605
KG
130732003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13074
13075 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
13076 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
13077
d24652ee
GK
130782003-01-21 Geoffrey Keating <geoffk@apple.com>
13079
13080 * config/rs6000/rs6000.md: Remove warning.
13081 (builtin_setjmp_receiver): Likewise.
13082 * config/darwin.c (update_stubs): Slightly improve terrible hack
13083 with identifiers. Add comment pointing out problems with it.
13084 (update_non_lazy_ptrs): Likewise.
13085
1c99d804
RH
130862003-01-21 Richard Henderson <rth@redhat.com>
13087
13088 * dwarf2out.c (lookup_filename): Fix printf format warning.
13089 * system.h (fread_unlocked, fwrite_unlocked): Undef.
13090
13091 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
13092 (fixincl.o-warn, gnu-regex.o-warn): New.
13093 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
13094 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
13095 * fixinc/fixincl.c (process): Fix printf format warning.
13096
f0b886ab
UW
130972003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
13098
13099 * dwarf2out (output_file_names): Don't crash if called
13100 with empty file_table.
13101
490c57bb
ZW
131022003-01-21 Zack Weinberg <zack@codesourcery.com>
13103
13104 * genautomata.c (output_internal_insn_latency_func): Add
13105 missing break statement to generated code.
13106
100e3acb
RS
131072003-01-21 Roger Sayle <roger@eyesopen.com>
13108
13109 * stmt.c (same_case_target_p): New function to determine whether
13110 two case labels branch to the same target. Split out from...
13111 (group_case_nodes): ... here. Use same_case_target_p instead.
13112 (strip_default_case_nodes): Remove explicit case nodes
13113 that branch to the default destination.
13114 (expand_end_case_type): Call strip_default_case_nodes after
13115 group_case_nodes, to simplify the case-list before we count it.
13116 Only generate table_label RTX when actually needed. Try to share
13117 thiscase->exit_label and thiscase->data.case_stmt.default_label
13118 when a switch has no explicit default case. Simplify test for
13119 constant index.
13120
e8e8c1e5
KH
131212003-01-21 Kazu Hirata <kazu@cs.umass.edu>
13122
13123 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
13124 \t.
13125 (*negsf2_h8300hs): Likewise.
13126 (*addsi3_lshiftrt_16_zexthi): Likewise.
13127 (*iorhi3_lshiftrt_8): Likewise.
13128
044b4de3
UW
131292003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
13130
13131 * dwarf2out.c (fde_table_in_use): Mark GTY.
13132 (dwarf2out_cfi_label_num): New variable, marked GTY.
13133 (dwarf2out_cfi_label): Use it instead of static label_num.
13134 * emit-rtl.c (label_num): Mark GTY.
13135
cfedf91b
KH
131362003-01-21 Kazu Hirata <kazu@cs.umass.edu>
13137
13138 * config/h8300/h8300.c (output_plussi): Support H8/300.
13139 (compute_plussi_length): Likewise.
13140 (compute_plussi_cc): Likewise.
13141 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
13142 output assembly instructions.
13143
dd859b8a
KG
131442003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13145
1f5b3282
KG
13146 * calls.c (fix_unsafe_tree): Prototype.
13147
dd859b8a
KG
13148 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
13149 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
13150 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
13151 c-parse.o-warn): Add -Wno-error.
13152 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
13153
13154 * configure.in (--enable-werror): Add new flag.
13155 * doc/install.texi (--enable-werror): Document.
13156 * configure: Regenerate.
13157
13158 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
13159
4f9365e2
AS
131602003-01-21 Andreas Schwab <schwab@suse.de>
13161
13162 * genautomata.c (output_internal_insn_latency_func): Fix missing
13163 close paren in output.
13164
a543eb5e
ZW
131652003-01-21 Zack Weinberg <zack@codesourcery.com>
13166
13167 * genautomata.c: Space savings in generated code:
13168 (output_dfa_insn_code_func): Split out the table-enlargement
13169 path to an out-of-line static function, dfa_insn_code_enlarge.
13170 (output_internal_insn_latency_func): Use a lookup table for the
13171 default latencies.
13172 (output_print_reservation_func): Use a lookup table for the
13173 strings.
13174
292e35a3
CE
131752003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
13176
13177 PR opt/7507
13178 * calls.c (fix_unsafe_tree): Split out from ...
13179 (expand_call): ... here. Use it on the function address too.
13180
d8d0f5af
RH
131812003-01-20 Richard Henderson <rth@redhat.com>
13182
13183 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
13184
5b50aa9d
RH
131852003-01-20 Richard Henderson <rth@redhat.com>
13186
515e1c9f 13187 PR opt/7154
5b50aa9d
RH
13188 * stmt.c (expand_asm_operands): Validize memory operands.
13189
7a174a15
RH
131902003-01-20 Richard Henderson <rth@redhat.com>
13191
13192 PR opt/8848
13193 * ifcvt.c (noce_process_if_block): Correct arguments to
13194 modified_between_p for no-else-block case.
13195
9ac7ebba
KH
131962003-01-20 Kazu Hirata <kazu@cs.umass.edu>
13197
13198 * config/h8300/h8300.c (const_costs): Remove a warning.
13199 (output_plussi): Likewise.
13200 (compute_plussi_length): Likewise.
13201 (compute_plussi_cc): Likewise.
13202
309c52b5
KH
132032003-01-20 Kazu Hirata <kazu@cs.umass.edu>
13204
13205 * config/h8300/h8300.md (addsi_h8300): Remove the last
13206 alternative.
13207
b30686ec
KH
132082003-01-20 Kazu Hirata <kazu@cs.umass.edu>
13209
13210 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
13211
87608693
KG
132122003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13213
13214 * system.h (__NO_STRING_INLINES): Define.
13215
475c8250
JDA
132162003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13217
13218 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
13219 is not a scalar int mode.
13220
dbaff908
RS
132212003-01-20 Roger Sayle <roger@eyesopen.com>
13222
13223 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
13224 insn's notes following a substitution inside a libcall.
13225
da8a6064
ZW
132262003-01-20 Zack Weinberg <zack@codesourcery.com>
13227
13228 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 13229 * configure, config.in: Regenerate.
da8a6064
ZW
13230 * cpphash.h: Only typedef 'uchar' if the system doesn't.
13231
a4b1b92a
RH
132322003-01-20 Richard Henderson <rth@redhat.com>
13233
13234 * expr.h (MUST_PASS_IN_STACK): Move implementation...
13235 * calls.c (default_must_pass_in_stack): ... here.
13236
d530b07f
VM
132372003-01-20 Vladimir Makarov <vmakarov@redhat.com>
13238
da8a6064
ZW
13239 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
13240
d530b07f
VM
13241 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
13242
13243 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
13244 Wrap up definition of `insn_alts'.
13245
13246 * genattrtab.c (main): Wrap up `insn_alts'.
13247
351df804
KG
132482003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13249
13250 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
13251 prototyping.
13252 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 13253
351df804
KG
13254 * config.in, configure: Regenerate.
13255
e3289412
NC
132562003-01-20 Nick Clifton <nickc@redhat.com>
13257
13258 * config/arm/arm.md (sibcall_epilogue): Add an
13259 UNSPEC_PROLOGUE_USE to prevent the link register from being
13260 considered dead.
13261
62c9aa5f 132622003-01-20 Jan Hubicka <jh@suse.cz>
5794139a
JH
13263
13264 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
13265
0a18ddf9
AS
132662003-01-20 Andreas Schwab <schwab@suse.de>
13267
13268 * system.h: Don't declare strsignal if the decl test hasn't been
13269 run yet.
13270
d99c740f
KH
132712003-01-20 Kazu Hirata <kazu@cs.umass.edu>
13272
13273 * config/h8300/h8300.c (notice_update_cc): Don't assume that
13274 recog_data.operands[0] is always associated with cc0.
13275
825c5408
DE
132762003-01-19 David Edelsohn <edelsohn@gnu.org>
13277
13278 * collect2.c (ldgetname): Expand declaration to prototype.
13279 * read-rtl.c (atoll): Add prototype.
da3e0142 13280 * system.h (strsignal): Also declare if no declaration found.
825c5408 13281
3bd6d4c4
AO
132822003-01-19 Alexandre Oliva <aoliva@redhat.com>
13283
13284 * config.gcc (mips64*-*-linux*): Added.
13285 * config/mips/linux64.h, config/mips/t-linux64: New file.
13286 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
13287 * config/mips/mips.c (override_options): Use it.
13288 * config/mips/mips.h (TARGET_SWITCHES): Added...
13289 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
13290 * Makefile.in (SPECS): New.
13291 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
13292 * gcc.c (process_command): Move self-spec processing past spec
13293 file loading.
13294 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
13295 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
13296 CRTSTUFF_T_CFLAGS.
13297 (SPECS): Document.
13298 * doc/invoke.texi (-mabi-fake-default): Document.
13299
e9f13564
SC
133002003-01-19 Stephane Carrez <stcarrez@nerim.fr>
13301
13302 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
13303 z_reg, z_reg_qi): Declare static and GTY().
13304 (da_reg): Remove.
13305 (create_regs_rtx): Don't create da_reg.
13306 ("gt-m68hc11.h"): Include for GTY roots.
13307 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
13308 and GTY() here.
13309 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
13310 (m68hc11_soft_tmp_reg): Likewise.
13311 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
13312
32dd366d
KH
133132003-01-18 Kazu Hirata <kazu@cs.umass.edu>
13314
13315 * basic-block.h: Fix comment formatting.
13316 * calls.c: Likewise.
13317 * combine.c: Likewise.
13318 * convert.c: Likewise.
13319 * gcov.c: Likewise.
13320 * haifa-sched.c: Likewise.
13321 * libgcc2.c: Likewise.
13322 * loop.c: Likewise.
13323 * profile.c: Likewise.
13324 * system.h: Likewise.
13325
bc3cb712
RS
133262003-01-18 Roger Sayle <roger@eyesopen.com>
13327
13328 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
13329
25e42e9d
KG
133302003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13331
13332 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
13333
6f9c81f5
DJ
133342003-01-17 Dale Johannesen <dalej@apple.com>
13335
da8a6064 13336 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
13337 (*floatunssidf2_internal): Ditto.
13338
95bd1dd7
KH
133392003-01-17 Kazu Hirata <kazu@cs.umass.edu>
13340
13341 * alias.c: Fix comment typos.
13342 * basic-block.h: Likewise.
13343 * c-common.c: Likewise.
13344 * c-common.h: Likewise.
13345 * c-decl.c: Likewise.
13346 * c-opts.c: Likewise.
13347 * c-pragma.c: Likewise.
13348 * c-pretty-print.h: Likewise.
13349 * cfg.c: Likewise.
13350 * cfganal.c: Likewise.
13351 * cfgbuild.c: Likewise.
13352 * cfgcleanup.c: Likewise.
13353 * cfglayout.c: Likewise.
13354 * cfgrtl.c: Likewise.
13355 * convert.c: Likewise.
13356 * cpphash.h: Likewise.
13357 * cpplex.c: Likewise.
13358 * cpplib.h: Likewise.
13359 * df.h: Likewise.
13360 * diagnostic.c: Likewise.
13361 * diagnostic.h: Likewise.
13362 * dwarf2.h: Likewise.
13363
d5840e09
SS
133642003-01-17 Stan Shebs <shebs@apple.com>
13365
13366 * config/darwin-protos.h: Forward-declare struct cpp_reader.
13367
e607534b
DR
133682003-01-17 Douglas B Rupp <rupp@gnat.com>
13369
13370 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
13371 mistake in last checkin.
13372
fbe5a4a6
KH
133732003-01-17 Kazu Hirata <kazu@cs.umass.edu>
13374
13375 * et-forest.c: Fix comment typos.
13376 * et-forest.h: Likewise.
13377 * except.c: Likewise.
13378 * expr.c: Likewise.
13379 * flags.h: Likewise.
13380 * flow.c: Likewise.
13381 * gcc.c: Likewise.
13382 * gcse.c: Likewise.
13383 * genattrtab.c: Likewise.
13384 * genautomata.c: Likewise.
13385 * gengtype.c: Likewise.
13386 * genrecog.c: Likewise.
13387 * global.c: Likewise.
13388 * gthr-rtems.h: Likewise.
13389
095f9093
KG
133902003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13391
13392 * i386.c (x86_function_profiler): Fix format specifier.
13393
084087e1
RH
133942003-01-17 Richard Henderson <rth@redhat.com>
13395
13396 * gengtype.c (walk_type): Allow paramN_is.
13397
4a13592e
NC
133982003-01-17 Nick Clifton <nickc@redhat.com>
13399
13400 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
13401
01193617
RH
134022003-01-16 Richard Henderson <rth@redhat.com>
13403
13404 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
13405
f030826a
RH
134062003-01-16 Richard Henderson <rth@redhat.com>
13407
13408 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
13409 (alpha_next_sequence_number): Likewise.
13410 (alpha_this_literal_sequence_number): Likewise.
13411 (alpha_this_gpdisp_sequence_number): Likewise.
13412 (struct alpha_funcs, alpha_funcs_num): Likewise.
13413 (struct alpha_links): Fix branch merge error.
13414 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
13415
e1551d47
AO
134162003-01-17 Alexandre Oliva <aoliva@redhat.com>
13417
13418 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
13419 R. Ghazi.
13420
3d042e77
KH
134212003-01-16 Kazu Hirata <kazu@cs.umass.edu>
13422
13423 * ifcvt.c: Fix comment typos.
13424 * lcm.c: Likewise.
13425 * libgcc2.c: Likewise.
13426 * local-alloc.c: Likewise.
13427 * loop.c: Likewise.
13428 * predict.c: Likewise.
13429 * ra-build.c: Likewise.
13430 * ra.c: Likewise.
13431 * ra-colorize.c: Likewise.
13432 * ra.h: Likewise.
13433 * ra-rewrite.c: Likewise.
13434 * regmove.c: Likewise.
13435 * reload.h: Likewise.
13436 * rtlanal.c: Likewise.
13437 * toplev.c: Likewise.
13438 * tree.h: Likewise.
13439 * unwind-dw2-fde-glibc.c: Likewise.
13440 * vmsdbgout.c: Likewise.
13441
c4274b22
RH
134422003-01-16 Richard Henderson <rth@redhat.com>
13443
13444 * dwarf2out.c (struct file_table): Remove.
13445 (FILE_TABLE_INCREMENT): Remove.
13446 (file_table): Make a varray; mark for GC. Update all users.
13447 (file_table_last_lookup_index): Extract from struct file_table.
13448 (output_file_names): Fix unsigned compare warnings.
13449 (add_name_attribute): Remove inline marker.
13450 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
13451 (lookup_filename): Don't manage size of file_table.
13452 (init_file_table): Allocate file_table with GC.
13453 (dwarf2out_init): Don't record main_input_filename here.
13454 (dwarf2out_finish): Do it here instead.
13455
19162d0e
BK
134562003-01-16 Bruce Korb <bkorb@gnu.org>
13457
13458 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
13459
f1e2239f
KK
134602003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
13461
da8a6064
ZW
13462 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
13463 instead of rotldi3_mextr.
f1e2239f 13464
cda1f765
VM
134652003-01-16 Vladimir Makarov <vmakarov@redhat.com>
13466
13467 * haifa-sched.c (move_insn): Restore moving all schedule group.
13468 (set_priorities): Restore taking SCHED_GROUP_P into account.
13469
13470 * sched-deps.c (add_dependence): Restore processing the last group
13471 insn.
13472 (remove_dependence, group_leader): Restore the functions.
13473 (set_sched_group_p): Restore adding dependencies from previous insn
13474 in the group.
13475 (compute_forward_dependences): Restore usage of group_leader.
13476
13477 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
13478 account.
13479
13480 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
13481 account.
13482 (can_schedule_ready_p): Ditto.
13483 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 13484
200097cc
SC
134852003-01-16 Stephane Carrez <stcarrez@nerim.fr>
13486
13487 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
13488 68HC12 pre/post inc/dec side effects.
13489
f411c739
SC
134902003-01-16 Stephane Carrez <stcarrez@nerim.fr>
13491
13492 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
13493
62c9aa5f 134942003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
08c43ea7
R
13495
13496 * sh.md (mshflo_w_x): Fix description of operation.
13497
07488f32
ZW
134982003-01-16 Zack Weinberg <zack@codesourcery.com>
13499
13500 * config/rs6000/rs6000.h: Mention Altivec registers in
13501 commentary. Fix typo.
13502
27dc0551
DE
135032003-01-16 David Edelsohn <edelsohn@gnu.org>
13504
13505 * config/rs6000/rs6000.md (movti_string): Remove clobber.
13506 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
13507 generate PARALLEL with clobber for TARGET_POWER.
13508
0334ef47
KG
135092003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13510
13511 * ra-colorize.c (colorize_one_web): Initialize variable.
13512 * regmove.c (fixup_match_1): Likewise.
13513 * reload1.c (reload_as_needed): Likewise.
13514 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
13515
16f2b86a
ZD
135162003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13517
13518 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
13519
fc555370
KG
135202003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13521
93d8c755
KG
13522 * dbxout.c (lastfile, cwd): Fix `unused' warning.
13523 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
13524 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
13525 is_main_source, file_table, decl_die_table_in_use,
13526 abbrev_die_table_in_use, line_info_table_in_use,
13527 separate_line_info_table_in_use, pubname_table_in_use,
13528 arange_table_in_use, ranges_table_in_use,
13529 current_function_has_inlines): Likewise.
13530 * flow.c (life_analysis): Likewise.
13531 * genemit.c (gen_insn): Likewise.
13532 * protoize.c (cplus_suffix): Likewise.
13533
0c2ca901
KG
13534 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
13535 * arm.h (ROUND_UP_WORD): Likewise.
13536
fc555370
KG
13537 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
13538 warning.
13539 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
13540 init_emit_once): Likewise.
13541 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
13542 Likewise.
13543 * function.c (assign_stack_temp_for_type): Likewise.
13544 * loop.c (loop_invariant_p): Likewise.
13545 * recog.c (push_operand): Likewise.
13546 * regclass.c (init_reg_sets_1): Likewise.
13547 * reload.c (update_auto_inc_notes): Likewise.
13548 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
13549 * stmt.c (expand_asm_operands): Likewise.
13550 * stor-layout.c (start_record_layout): Likewise.
13551
64510a4f
HB
135522003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
13553
07488f32 13554 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 13555
77480b0b
RH
135562003-01-15 Richard Henderson <rth@redhat.com>
13557
13558 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
13559 also check that GP is being used.
13560 (alpha_find_lo_sum_using_gp): New.
13561 (alpha_does_function_need_gp): Use get_attr_usegp.
13562 * config/alpha/alpha-protos.h: Update.
13563 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
13564 as needed.
13565
a0134312
RS
135662003-01-15 Roger Sayle <roger@eyesopen.com>
13567
13568 * gcse.c (one_cprop_pass): Change function arguments to take both
13569 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
13570 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
13571 (bypass_jumps): New function to perform separate jump bypassing pass.
13572 * rtl.h (bypass_jumps): Add function prototype.
13573 * timevar.def (TV_BYPASS): New timing variable.
13574 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
13575 (dump_file): New entry for the bypass RTL dump file.
13576 (rest_of_compilation): Insert new jump bypassing optimization
13577 pass after loop.
13578 * doc/passes.texi: Document new pass.
13579
4af6a063
JDA
135802003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
13581
13582 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
13583 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
13584 * pa.h (TARGET_SOM_SDEF): Define.
13585 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
13586
51e13b71
SC
135872003-01-16 Stephane Carrez <stcarrez@nerim.fr>
13588
07488f32 13589 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
13590 allocate 4-bytes of locals on 68HC11.
13591 (expand_epilogue): Likewise.
13592 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
13593
f077f169
SC
135942003-01-15 Stephane Carrez <stcarrez@nerim.fr>
13595
13596 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
13597 and -mshort-double to the assembler to specify the ABI.
13598 (LINK_SPEC): Likewise.
13599 (CPP_SPEC): Pass HCS12 specific define.
13600 (MASK_M68S12): New define.
13601 (TARGET_M68S12): Likewise.
13602 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
13603 (TARGET_VERSION): Update.
13604 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
13605 (LINK_SPEC): Update.
13606 (ASM_SPEC): Update.
13607 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
13608 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
13609
c0f684dc
SC
136102003-01-15 Stephane Carrez <stcarrez@nerim.fr>
13611
13612 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
13613 the return code.
13614
6982ae15
JZ
136152003-01-15 Josef Zlomek <zlomekj@suse.cz>
13616
13617 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
13618 flag before setting it.
13619
8cadeff1
RS
136202003-01-15 Roger Sayle <roger@eyesopen.com>
13621
13622 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
13623 when loop condition is known true, i.e. "while (1) { ... }".
13624 (genrtl_for_stmt): Similarly for "for" statements.
13625
03cd8aba
RS
136262003-01-15 Roger Sayle <roger@eyesopen.com>
13627
13628 * real.c (real_sqrt): Return a bool result indicating whether
13629 a floating point exception or trap should be raised.
13630 * real.h (real_sqrt): Update function prototype.
13631 * builtins.c (fold_builtin): Only fold non-trapping square
13632 roots unless we're ignoring errno and trapping math.
13633
4da78214
JDA
136342003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
13635
13636 * expr.h (emit_conditional_add): Add PARAMS to declaration.
13637 * gengtype-lex.l (malloc, realloc): Move defines after include of
13638 system.h. Remove duplicate include of system.h.
13639
9ee0a442
RS
136402003-01-15 Roger Sayle <roger@eyesopen.com>
13641
13642 PR middle-end/9009
13643 * optabs.c (expand_unop): When manipulating the FP sign bit
13644 using integer operations, account for targets with different
13645 integer and FP word orders.
13646 (expand_abs): Likewise.
13647
e3981aab
DE
136482003-01-15 David Edelsohn <edelsohn@gnu.org>
13649
13650 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
13651 file extension in section name.
13652
89c4b810
RE
136532003-01-15 Richard Earnshaw <rearnsha@arm.com>
13654
13655 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
13656 constant offset.
13657
3cd45774
RE
136582003-01-15 Richard Earnshaw <rearnsha@arm.com>
13659
13660 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
13661 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
13662 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
13663 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
13664
62c9aa5f 136652003-01-15 Jan Hubicka <jh@suse.cz>
b1a6f8db
JH
13666
13667 PR f/9258
07488f32 13668 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
13669 (global_conflicts): Set no_stack_reg.
13670 (find_reg): Use it.
13671
13672 * convert.c (convert_to_real): Fold - and abs only when profitable.
13673 * fold-const.c (fold): Fold truncates in - and abs.
13674
d18c7e59
JZ
136752003-01-15 Josef Zlomek <zlomekj@suse.cz>
13676
13677 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
13678
13679 * predict.c (real_inv_br_prob_base): New variable.
13680 (propagate_freq): Use multiply by reciprocal instead of
13681 division. Don't divide by 1.0 at all.
13682 (estimate_bb_frequencies): Similar.
13683
027faee7
AO
136842003-01-15 Alexandre Oliva <aoliva@redhat.com>
13685
13686 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
13687 * configure: Rebuilt.
13688
077dab3b 136892003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 13690
077dab3b
HP
13691 * config/s390/s390.c (s390_safe_attr_type): New function.
13692 (s390_use_dfa_pipeline_interface): New function, return true for z900.
13693 (s390_issue_rate): New function.
13694 (s390_agen_dep_p): New function.
13695 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
13696 (s390_adjust_cost): Return 'cost' if new DFA is used.
13697 (s390_adjust_priority): Delete function.
13698 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
13699 * config/s390/s390.md (atype attribute): Attribute 'atype' default
13700 determined by 'op_type'.
13701 (type attribute): Added more type attributes.
13702 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 13703
077dab3b 137042003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 13705
acfa9d9f
AO
13706 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
13707 forced to memory. Fixes PR bootstrap/9036.
13708
3c0121e4
AO
13709 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
13710 to set $gp before the call.
13711
553eb139
RH
137122003-01-14 Richard Henderson <rth@redhat.com>
13713
13714 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
13715 for force_const_mem.
13716
dd1b7476
KG
137172003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13718
13719 * genattr.c (main): Rearrange output to avoid prototype warning.
13720 * genautomata.c (transform_3): Fix ambiguous-else warning.
13721 * local-alloc.c (requires_inout): Add parentheses around
13722 assignment used as truth-value.
13723 * timevar.c: Move system includes above local includes. Include
13724 toplev.h
13725 * Makefile.in (timevar.o): Depend on toplev.h.
13726
6028880a
DC
137272003-01-14 Denis Chertykov <denisc@overta.ru>
13728
13729 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
13730 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
13731
13732 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 13733 attributes.
6028880a
DC
13734 (TARGET_ATTRIBUTE_TABLE): New macro.
13735 (valid_machine_type_attribute): Remove.
13736 (valid_machine_decl_attribute): Remove.
13737 (ip2k_handle_progmem_attribute): New function.
13738 (ip2k_handle_fndecl_attribute): New function.
13739
4a2953e4 137402003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
13741
13742 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
13743 registers to be in correct order. Add rip.
13744
4d77fda2
KH
137452003-01-14 Kazu Hirata <kazu@cs.umass.edu>
13746
13747 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
13748 (*iorsi3_and_lshiftrt_9_sb): Likewise.
13749
62c9aa5f 137502003-01-14 Jan Hubicka <jh@suse.cz>
77f9af81
JH
13751
13752 * convert.c (strip_float_extensions): Look for narrowest type handling
13753 FP constants.
13754
13755 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
13756 float1 CMP float2.
13757 * convert.c (strip_float_extensions): Make global.
13758 * tree.h (strip_float_extensions): Declare.
13759
fd371a93
GDR
137602003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
13761
13762 * timevar.def: define TV_NAME_LOOKUP.
13763 * timevar.c (timevar_pop): Be verbose when aborting.
13764
dcd1c2b8
AS
137652003-01-13 Andreas Schwab <schwab@suse.de>
13766
13767 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
13768 $(parsedir), just move the temporary file at the end.
13769 ($(parsedir)/gengtype-yacc.c): Likewise.
13770
eb4b5f93
AO
137712003-01-13 Alexandre Oliva <aoliva@redhat.com>
13772
13773 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
13774 ${ac_tool_prefix} to ADAC or CC. Protect them from word
13775 splitting.
13776 * configure: Rebuilt.
13777
f7835768
KG
137782003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13779
13780 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
13781 internal_mcount): Don't use PARAMS.
13782 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
13783 ISO C style.
13784 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
13785
38a3dbbb
AS
137862003-01-13 Andreas Schwab <schwab@suse.de>
13787
13788 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
13789 directive.
13790
98dc53e3
KH
137912003-01-13 Kazu Hirata <kazu@cs.umass.edu>
13792
13793 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
13794 (*iorsi3_and_lshiftrt_n_sb): Likewise.
13795
e8f2b18d
MM
137962003-01-12 Mark Mitchell <mark@codesourcery.com>
13797
13798 PR c++/9264
13799 * c-lex.c (c_lex): Set the token value to error_mark_node for
13800 invalid numeric constants.
13801
70f8b89f
KG
138022003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13803
13804 * c-pch.c (asm_file_startpos): Change to `long'.
13805 (pch_init): Use ftell, not ftello.
13806 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
13807 Use `long' instead of `off_t'.
13808 (c_common_read_pch): Likewise.
13809 * ggc-common.c (gt_pch_save): Use long/ftell instead of
13810 off_t/ftello.
13811
8e37cba8
AM
138122003-01-12 Alan Modra <amodra@bigpond.net.au>
13813
13814 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
13815
04f08c8e
RE
138162003-01-11 Richard Earnshaw (rearnsha@arm.com)
13817
13818 * arm-protos.h (struct cpp_reader): Add declaration.
13819
62c9aa5f 138202003-01-11 Jan Hubicka <jh@suse.cz>
a5cf80f0
JH
13821
13822 PR target/9068
13823 * i386.c (output_fp_compare): Fix typo.
13824
bbfb86aa
DE
138252003-01-10 David Edelsohn <edelsohn@gnu.org>
13826
13827 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
13828
223b87b6
GK
138292003-01-10 Geoffrey Keating <geoffk@apple.com>
13830
3859c32a
GK
13831 * Makefile.in (parsedir): New variable.
13832 (docobjdir): New variable.
07488f32 13833 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
13834 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
13835 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
13836 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 13837 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
13838 Use docobjdir.
13839 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
13840 objc.maintainer-clean): Use parsedir.
13841
63af3bd1
GK
13842 * varasm.c (struct constant_descriptor_rtx): Remove unused
13843 `label' field.
13844
223b87b6
GK
13845 * toplev.c (documented_lang_options): Document -Winvalid-pch.
13846
fbadafbc
RH
138472003-01-10 Richard Henderson <rth@redhat.com>
13848
13849 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
13850 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
13851
ab5ecb01
RH
138522003-01-10 Richard Henderson <rth@redhat.com>
13853
13854 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
13855 not INTEGRAL_MODE_P when widening extensions.
13856
7f24e7c5
RH
138572003-01-10 Richard Henderson <rth@redhat.com>
13858
13859 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
13860
6dd05d08
GK
138612003-01-10 Geoffrey Keating <geoffk@apple.com>
13862
19cc0dd4
GK
13863 * ggc-page.c (ggc_collect): Avoid overflow computing
13864 min_expand.
13865
6dd05d08
GK
13866 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
13867 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
13868 Remove calls.
13869 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
13870
62c9aa5f 138712003-01-10 Jan Hubicka <jh@suse.cz>
5f1355ef
JH
13872
13873 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
13874 with weird operands.
13875
0cdca92b 138762003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
13877
13878 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
13879 parameters. Call check_sibcall_argument_overlap if indicated.
13880 (check_sibcall_argument_overlap): Add mark_stored_args_map
13881 parameter. Don't mark parameter area as clobbered if not set.
13882 (expand_call): Adjust calls to above.
13883
138842003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
13885
13886 * configure.in (linker read-only and read-write section mixing):
13887 Squelch some assembler warnings.
13888 * configure: Likewise.
13889
be2c2a4b
HP
138902003-01-10 Hartmut Penner <hpenner@de.ibm.com>
13891
21ff35fb 13892 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
13893 option for S/390 and zSeries.
13894 * config/s390/s390.c (s390_tune_string) New variable.
13895 (s390_cpu_string) Delete variable.
13896 (override_options): Use s390_tune_string instead of
13897 s390_cpu_string.
13898 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
13899
1f450138
KH
139002003-01-10 Kazu Hirata <kazu@cs.umass.edu>
13901
13902 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
13903
d330ce15
JZ
139042003-01-10 Josef Zlomek <zlomekj@suse.cz>
13905
13906 * jump.c (next_nonnote_insn_in_loop): New function.
13907 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
13908 next_nonnote_insn.
13909 (duplicate_loop_exit_test). Likewise.
13910
17211ab5
GK
139112003-01-09 Geoffrey Keating <geoffk@apple.com>
13912
13913 Merge from pch-branch:
13914
13915 2003-01-06 Geoffrey Keating <geoffk@apple.com>
13916
13917 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
13918 load.
13919
13920 2002-12-24 Geoffrey Keating <geoffk@apple.com>
13921
13922 * cpplib.c (count_registered_pragmas): New function.
13923 (save_registered_pragmas): New function.
13924 (_cpp_save_pragma_names): New function.
13925 (restore_registered_pragmas): New function.
13926 (_cpp_restore_pragma_names): New function.
13927 * cpphash.h (_cpp_save_pragma_names): Prototype.
13928 (_cpp_restore_pragma_names): Likewise.
13929 * cpppch.c (struct save_macro_item): Split from save_macro_data.
13930 (struct save_macro_data): New field 'saved_pragmas'.
13931 (save_macros): Update for changes to struct save_macro_data.
13932 (cpp_prepare_state): Call _cpp_save_pragma_names, update
13933 for changes to struct save_macro_data.
13934 (cpp_read_state): Call _cpp_restore_pragma_names, update
13935 for changes to struct save_macro_data.
13936
13937 * cpppch.c (cpp_read_state): Restore the hashtable references
13938 in the cpp_reader.
07488f32 13939
17211ab5
GK
13940 * tree.h (built_in_decls): Mark for PCH.
13941
13942 * dbxout.c (lastfile): Don't mark for PCH.
13943
13944 * ggc.h: Document PCH calls into memory managers.
13945
13946 2002-12-18 Geoffrey Keating <geoffk@apple.com>
13947
13948 * doc/invoke.texi (Precompiled Headers): Document the
13949 directory form of PCH.
13950 * cppfiles.c (validate_pch): New function.
13951 (open_file_pch): Search suitably-named directories for PCH files.
13952
13953 2002-12-14 Geoffrey Keating <geoffk@apple.com>
13954
13955 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
13956 reorder options.
13957 (Type Information): Mention that the information is also
13958 used to implement PCH.
13959 * doc/passes.texi (Passes): Improve documentation of
13960 language-specific files.
13961
13962 2002-12-11 Geoffrey Keating <geoffk@apple.com>
13963
13964 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
13965 (struct walk_type_data): Add reorder_fn field.
13966 (walk_type): Process 'reorder' option.
13967 (write_types_process_field): Reorder parameters to gt_pch_note_object,
13968 call reorder_note_routine.
13969 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
13970 (ggc_wtd): Update for change to struct write_types_data.
13971 (pch_wtd): Likewise.
13972 * ggc.h (gt_pch_note_object): Reorder parameters.
13973 (gt_handle_reorder): New definition.
13974 (gt_pch_note_reorder): New prototype.
13975 * ggc-common.c (struct ptr_data): Add reorder_fn.
13976 (gt_pch_note_object): Reorder parameters.
13977 (gt_pch_note_reorder): New.
13978 (gt_pch_save): Call reorder_fn.
13979 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
13980
13981 * dbxout.c (cwd): Don't mark for PCH.
13982
13983 2002-12-09 Geoffrey Keating <geoffk@apple.com>
13984
13985 * gengtype.c (finish_root_table): Fix some warnings.
13986 (write_root): Handle TYPE_STRING.
13987 * ggc.h (gt_ggc_m_S): Add prototype.
13988 * stringpool.c (gt_ggc_m_S): New function.
13989
13990 2002-11-30 Geoffrey Keating <geoffk@apple.com>
13991
13992 * dwarf2out.c (dw2_string_counter): New.
13993 (AT_string_form): Use it.
13994 (same_dw_val_p): Update for removal of hashtable.h hash tables.
13995
13996 2002-11-22 Geoffrey Keating <geoffk@apple.com>
13997
13998 * dbxout.c: Include gt-dbxout.h.
13999 (lastfile): Mark for PCH/GGC.
14000 (cwd): Likewise.
14001 (struct typeinfo): Likewise.
14002 (typevec): Likewise.
14003 (typevec_len): Likewise.
14004 (next_type_number): Likewise.
14005 (struct dbx_file): Likewise.
14006 (current_file): Likewise.
14007 (next_file_number): Likewise.
14008 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
14009 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
14010 (dbxout_end_source_file): Don't free struct dbx_file.
14011 (dbxout_type): Use GGC to allocate typevec.
14012 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
14013 (GTFILES): Add dbxout.c.
14014 (gt-dbxout.h): New rule.
07488f32 14015
17211ab5
GK
14016 * Makefile.in (c-pch.o): Add debug.h as dependency.
14017 * c-pch.c: Include debug.h.
14018 (pch_init): Call start_source_file to keep nesting right.
14019 (c_common_read_pch): Add orig_name parameter. Call
14020 start_source_file debug hook. Call end_source_file debug hook.
14021 * c-common.h (c_common_read_pch): Update prototype.
14022 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
14023 callback.
14024 * cppfiles.c (struct include_file): Add new field `header_name'.
14025 (find_or_create_entry): Default it to `name'.
14026 (open_file_pch): Set it to the original header file searched for.
14027 (stack_include_file): Don't stack an empty buffer, just handle
14028 PCH files immediately. Pass header_name field to read_pch callback.
14029
14030 2002-11-19 Geoffrey Keating <geoffk@apple.com>
14031
14032 * function.c (funcdef_no): Mark to be saved in a PCH.
14033
14034 2002-11-15 Geoffrey Keating <geoffk@apple.com>
14035
14036 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
14037
14038 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
14039
14040 2002-11-14 Geoffrey Keating <geoffk@apple.com>
14041
14042 * optabs.h (code_to_optab): Add GTY marker.
14043
14044 2002-11-13 Geoffrey Keating <geoffk@apple.com>
14045
14046 * Makefile.in (GTFILES): Add cpplib.h.
14047 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
14048 * c-decl.c (build_compound_literal): Don't use var_labelno.
14049 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
14050 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
14051 * varasm.c (const_labelno): Use gengtype to mark.
14052 (var_labelno): Likewise.
14053 (in_section): Likewise.
14054 (in_named_name): Likewise.
14055 (struct in_named_entry): Likewise.
14056 (in_named_htab): Likewise.
14057 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
14058 (init_varasm_once): Use GGC to allocate in_named_htab.
14059 * config/darwin.c (current_pic_label_num): Mark for PCH.
14060
14061 2002-11-11 Geoffrey Keating <geoffk@apple.com>
14062
14063 * ggc-simple.c (init_ggc_pch): New stub procedure.
14064 (ggc_pch_count_object): Likewise.
14065 (ggc_pch_total_size): Likewise.
14066 (ggc_pch_this_base): Likewise.
14067 (ggc_pch_alloc_object): Likewise.
14068 (ggc_pch_prepare_write): Likewise.
14069 (ggc_pch_write_object): Likewise
14070 (ggc_pch_finish): Likewise.
14071 (ggc_pch_read): Likewise.
14072
14073 2002-11-08 Geoffrey Keating <geoffk@apple.com>
14074
14075 * c-pch.c (c_common_write_pch): Write the macro definitions after
14076 the GCed data.
14077 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
14078 definitions after the GCed data.
14079 * cpplib.c (save_macros): New.
14080 (reset_ht): New.
14081 (cpp_write_pch_deps): Split out of cpp_write_pch.
14082 (cpp_write_pch_state): Split out of cpp_write_pch.
14083 (cpp_write_pch): Delete.
14084 (struct save_macro_data): Delete.
14085 (cpp_prepare_state): New.
14086 (cpp_read_state): Erase and restore initial macro definitions.
14087 * cpplib.h (struct save_macro_data): Forward-declare.
14088 (cpp_write_pch_deps): Prototype.
14089 (cpp_write_pch_state): Prototype.
14090 (cpp_write_pch): Delete prototype.
14091 (cpp_prepare_state): Prototype.
14092 (cpp_read_state): Add fourth argument.
14093
14094 2002-11-04 Geoffrey Keating <geoffk@apple.com>
14095
14096 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
14097 (write_array): Remove warning.
14098
14099 * gengtype.c (contains_scalar_p): New.
14100 (finish_root_table): Add the table to all languages, even if it's
14101 empty.
14102 (write_roots): Output gt_pch_scalar_rtab.
14103 * ggc-common.c (gt_pch_save): Write out scalars.
14104 (gt_pch_restore): Read scalars back.
14105
14106 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
14107 (struct page_entry): Delete pch_page field.
14108 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
14109 (clear_marks): Likewise.
14110 (sweep_pages): Likewise.
14111 (poison_pages): Likewise.
14112 (ggc_print_statistics): Likewise.
14113 (ggc_pch_read): Don't free objects read from a PCH.
14114 Properly set up in_use_p and page_tails.
14115
14116 2002-10-25 Geoffrey Keating <geoffk@apple.com>
14117
14118 * gengtype.c (struct write_types_data): New.
14119 (struct walk_type_data): Make `cookie' const; add extra
14120 prev_val item; add `orig_s' field.
14121 (walk_type): Update prev_val[3].
14122 (write_types_process_field): New.
14123 (write_func_for_structure): Take write_types_data structure.
14124 (write_types): New.
14125 (ggc_wtd): New.
14126 (pch_wtd): New.
14127 (write_types_local_process_field): New.
14128 (gc_mark_process_field): Delete.
14129 (write_local_func_for_structure): New.
14130 (gc_mark_func_name): Delete.
14131 (write_gc_types): Delete.
14132 (write_local): New.
14133 (finish_root_table): Don't include 'ggc_' in PFX.
14134 (write_root): Rename from write_root. Fill pchw field of structures.
14135 (write_array): New.
14136 (write_roots): Rename from write_gc_roots. Split out to write_array.
14137 Update to changes to other routines. Write gt_pch_cache_rtab table.
14138 (main): Write PCH walking routines.
14139 * ggc-common.c: Include toplev.h, sys/mman.h.
14140 (ggc_mark_roots): For cache hashtables, also mark the hash table
14141 and the array of entries.
14142 (saving_htab): New.
14143 (struct ptr_data): New.
14144 (POINTER_HASH): New.
14145 (gt_pch_note_object): New.
14146 (saving_htab_hash): New.
14147 (saving_htab_eq): New.
14148 (struct traversal_state): New.
14149 (call_count): New.
14150 (call_alloc): New.
14151 (compare_ptr_data): New.
14152 (relocate_ptrs): New.
14153 (write_pch_globals): New.
14154 (struct mmap_info): New.
14155 (gt_pch_save): New.
14156 (gt_pch_restore): New.
14157 * ggc-page.c (ROUND_UP_VALUE): New.
14158 (ROUND_UP): New.
14159 (struct page_entry): Add field `pch_page'.
14160 (init_ggc): Use ROUND_UP.
14161 (struct ggc_pch_data): Declare.
14162 (init_ggc_pch): New.
14163 (ggc_pch_count_object): New.
14164 (ggc_pch_total_size): New.
14165 (ggc_pch_this_base): New.
14166 (ggc_pch_alloc_object): New.
14167 (ggc_pch_prepare_write): New.
14168 (ggc_pch_write_object): New.
14169 (ggc_pch_finish): New.
14170 (ggc_pch_read): New.
14171 * ggc.h (gt_pointer_operator): New.
14172 (gt_note_pointers): New.
14173 (gt_pch_note_object): New prototype.
14174 (gt_pointer_walker): New.
14175 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
14176 (LAST_GGC_ROOT_TAB): Update.
14177 (gt_pch_cache_rtab): Declare.
14178 (gt_pch_scalar_rtab): Declare.
14179 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
14180 (LAST_GGC_CACHE_TAB): Update.
14181 (gt_pch_save_stringpool): Declare.
14182 (gt_pch_restore_stringpool): Declare.
14183 (gt_pch_p_S): Declare.
14184 (gt_pch_n_S): Declare.
14185 (struct ggc_pch_data): Forward-declare.
14186 (init_ggc_pch): Declare.
14187 (ggc_pch_count_object): Declare.
14188 (ggc_pch_total_size): Declare.
14189 (ggc_pch_this_base): Declare.
14190 (ggc_pch_alloc_object): Declare.
14191 (ggc_pch_prepare_write): Declare.
14192 (ggc_pch_write_object): Declare.
14193 (ggc_pch_finish): Declare.
14194 (ggc_pch_read): Declare.
14195 (gt_pch_save): Declare.
14196 (gt_pch_restore): Declare.
14197 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
14198 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
14199 const_double_htab, mem_attrs_htab using GGC.
14200 * c-pch.c: Include ggc.h.
14201 (pch_init): Allow reading PCH file back.
14202 (c_common_write_pch): Call gt_pch_save.
14203 (c_common_read_pch): Call gt_pch_restore.
14204 * c-parse.in (init_reswords): Delete now-untrue comment.
14205 Allocate ridpointers using GGC.
14206 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
14207 calling expand_deferred_fns.
14208 * c-common.h (ridpointers): Mark for GTY machinery.
14209 * Makefile.in (stringpool.o): Update dependencies.
14210 (c-pch.o): Update dependencies.
14211 (ggc-common.o): Update dependencies.
14212 * stringpool.c: Include gt-stringpool.h.
14213 (gt_pch_p_S): New.
14214 (gt_pch_n_S): New.
14215 (struct string_pool_data): New.
14216 (spd): New.
14217 (gt_pch_save_stringpool): New.
14218 (gt_pch_restore_stringpool): New.
14219 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 14220
17211ab5
GK
14221 2002-10-04 Geoffrey Keating <geoffk@apple.com>
14222
14223 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
14224 (output_mangled_typename): Don't pass size_t to printf.
14225
14226 * tree.h (union tree_type_symtab): Add tag to `address' field.
14227 (union tree_decl_u2): Add tag to 'i' field.
14228 * varasm.c (union rtx_const_un): Add tags to all fields.
14229 * gengtype.c (struct walk_type_data): New.
14230 (output_escaped_param): Take struct walk_type_data parameter.
14231 (write_gc_structure_fields): Delete.
14232 (walk_type): New.
14233 (write_gc_marker_routine_for_structure): Delete.
14234 (write_func_for_structure): New.
14235 (gc_mark_process_field): New.
14236 (gc_mark_func_name): New.
14237 (gc_counter): Delete.
14238 (write_gc_types): Use write_func_for_structure.
14239 (write_gc_roots): Use walk_type.
14240
14241 2002-10-02 Geoffrey Keating <geoffk@apple.com>
14242
14243 * ggc-common.c (ggc_mark_roots): Delete 'x'.
14244 (ggc_splay_dont_free): Fix warning about unused 'x'.
14245 (ggc_print_common_statistics): Remove warnings.
14246
14247 2002-10-01 Mike Stump <mrs@apple.com>
14248
07488f32
ZW
14249 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
14250 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
14251
14252 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
14253 Catherine Moore <clm@redhat.com>
14254
14255 * Makefile (c-pch.o): Update dependencies.
14256 (LIBCPP_OBJS): Add cpppch.o.
14257 (cpppch.o): New.
14258 * c-common.c (c_common_init): Don't call pch_init here.
14259 * c-common.h (c_common_read_pch): Update prototype.
14260 * c-lex.c (c_common_parse_file): Call pch_init here.
14261 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
14262 (c_common_decode_option): Handle them.
14263 * c-pch.c: Include c-pragma.h.
14264 (save_asm_offset): Delete.
14265 (pch_init): Move contents of save_asm_offset into here, call
14266 cpp_save_state.
14267 (c_common_write_pch): Call cpp_write_pch.
14268 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
14269 cpp_valid_state.
14270 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 14271 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
14272 parameters of cb.read_pch.
14273 * cpphash.h (struct cpp_reader): Add `savedstate' field.
14274 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
14275 `restore_pch_deps' fields.
14276 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
14277 (cpp_save_state): Prototype.
14278 (cpp_write_pch): Prototype.
14279 (cpp_valid_state): Prototype.
14280 (cpp_read_state): Prototype.
14281 * cpppch.c: New file.
14282 * flags.h (version_flag): Remove prototype.
14283 * mkdeps.c (deps_save): New.
14284 (deps_restore): New.
14285 * mkdeps.h (deps_save): Prototype.
14286 (deps_restore): Prototype.
14287 * toplev.c (late_init_hook): Delete.
14288 (version_flag): Make static again.
14289 (compile_file): Don't call late_init_hook.
14290 * toplev.h (late_init_hook): Delete.
14291 * doc/cppopts.texi: Document -fpch-deps.
14292 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
14293
14294 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
14295
14296 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
14297 callers.
14298 (c_common_valid_pch): Rename from c_valid_pch, change callers.
14299 (c_common_read_pch): Rename from c_read_pch, change callers.
14300
14301 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
14302 a space between it and its argument.
14303
14304 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
14305
14306 * c-pch.c: New file.
14307 * toplev.h (late_init_hook): Declare.
14308 * toplev.c (late_init_hook): Define.
14309 (version_flag): Make globally visible.
14310 (compile_file): Call late_init_hook.
14311 (init_asm_output): Make output file seekable.
14312 * gcc.c (default_compilers): Update c-header rule.
14313 * flags.h (version_flag): Declare.
14314 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
14315 fields.
14316 * cppfiles.c (struct include_file): Add 'pch' field.
14317 (INCLUDE_PCH_P): New.
14318 (open_file_pch): New.
14319 (stack_include_file): Handle PCH files specially.
14320 (find_include_file): Call open_file_pch instead of open_file.
14321 (_cpp_read_file): Explain why open_file is used instead of
14322 open_file_pch.
14323 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
14324 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
14325 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
14326 in cpplib callbacks.
14327 * c-common.c (pch_file): Correct comment.
14328 (allow_pch): Define.
14329 (c_common_init): Call pch_init.
14330 * c-common.h (allow_pch): Declare.
14331 (pch_init): Declare.
14332 (c_valid_pch): Declare.
14333 (c_read_pch): Declare.
14334 (c_write_pch): Declare.
14335 * Makefile.in (c-pch.o): New.
14336 (C_AND_OBJC_OBJS): Add c-pch.o.
14337 * doc/invoke.texi (Precompiled Headers): Add index entries,
14338 complete truncated paragraph.
14339
14340 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
14341
14342 * c-common.c: (pch_file): Define.
14343 * c-common.h (pch_file): Declare.
14344 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
14345 (missing_arg): Require --output-pch= to have an argument.
14346 (c_common_decode_option): Handle --output-pch=.
14347 * gcc.c: Document new %V.
14348 (default_compilers): Handle compiling C header files.
14349 (do_spec_1): Implement %V.
14350 (main): Handle "gcc foo.h" without trying to run linker.
14351 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
14352 (Overall Options): Document what the driver does with header files,
14353 document new -x option possibilities.
14354 (Invoking G++): More documentation for PCH.
14355 (Precompiled Headers): New.
14356
14357 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
14358
14359 * ggc.h: Don't include varray.h. Rearrange functions to be more
14360 organized.
14361 (ggc_add_root): Delete.
14362 (ggc_mark_rtx): Delete.
14363 (ggc_mark_tree): Delete.
14364 (struct ggc_statistics): Remove contents.
14365 * ggc-common.c: Remove unneeded includes.
14366 (struct ggc_root): Delete.
14367 (roots): Delete.
14368 (ggc_add_root): Delete.
14369 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
14370 (ggc_print_common_statistics): Remove most of the contents.
14371 * Makefile.in (GGC_H): No longer uses varray.h.
14372 (ggc-common.o): Update dependencies.
14373 (c-parse.o): Add varray.h to dependencies.
14374 (c-common.o): Add varray.h.
14375 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
14376 (mark_ident_hash): Rename to ggc_mark_stringpool.
14377 (init_stringpool): Don't use ggc_add_root.
14378 * c-parse.in: Include varray.h.
14379 * c-common.c: Include varray.h.
14380 * objc/Make-lang.in (objc-act.o): Add varray.h.
14381 * objc/objc-act.c: Include varray.h.
14382
14383 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
14384
14385 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
14386 (dw_cfi_oprnd1_desc): Likewise.
14387
14388 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
14389
14390 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
14391 move out of ifdef.
14392 (alpha_links): Use gengtype to mark; move out of ifdef.
14393 (mark_alpha_links_node): Delete.
14394 (mark_alpha_links): Delete.
14395 (alpha_need_linkage): Use GGC to allocate splay tree, struct
14396 alpha_links, strings. Don't use ggc_add_root.
14397 * ggc-common.c (ggc_splay_alloc): New.
14398 (ggc_splay_dont_free): New.
14399 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
14400 (ggc_mark_tree): Likewise.
14401 (splay_tree_new_ggc): New.
14402 (ggc_splay_alloc): Declare.
14403 (ggc_splay_dont_free): Declare.
14404 * dwarf2asm.c: Include gt-dwarf2asm.h.
14405 (mark_indirect_pool_entry): Delete.
14406 (mark_indirect_pool): Delete.
14407 (indirect_pool): Use gengtype to mark.
14408 (dw2_force_const_mem): Don't use ggc_add_root.
14409 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
14410 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
14411 (gt-dwarf2asm.h): Depend on s-gtype.
14412
14413 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
14414
14415 * tree.h (union tree_type_symtab): Mark `die' field.
14416 * Makefile.in (dwarf2out.o): Update dependencies.
14417 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
14418 hash tables.
14419 (dw_cfi_oprnd1_desc): New function.
14420 (dw_cfi_oprnd2_desc): New function.
14421 (indirect_string_alloc): Delete.
14422 (debug_str_do_hash): New function.
14423 (debug_str_eq): New function.
14424 (mark_limbo_die_list): Delete.
14425 (dwarf2out_init): Don't call ggc_add_root.
14426
30028c85
VM
144272003-01-09 Vladimir Makarov <vmakarov@redhat.com>
14428
14429 The following changes are merged from itanium-sched-branch:
14430
14431 2003-01-08 David Edelsohn <edelsohn@gnu.org>
14432
14433 * doc/md.texi: Clarify assignment of units to automata description.
14434
14435 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
14436
14437 * genautomata.c (unit_decl): Remove members
14438 `the_same_automaton_unit' and
14439 `the_same_automaton_message_reported_p'.
14440 (process_unit_to_form_the_same_automaton_unit_lists,
14441 form_the_same_automaton_unit_lists_from_regexp,
14442 form_the_same_automaton_unit_lists, the_same_automaton_lists):
14443 Remove them.
14444 (annotation_message_reported_p): New global variable.
14445 (check_unit_distribution_in_reserv,
14446 check_regexp_units_distribution): New functions.
14447 (check_unit_distributions_to_automata): Rewrite it.
14448
14449 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
14450
14451 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
14452 Use continue instead of break if cycle is too big.
14453
14454 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
14455
14456 * genautomata.c (check_unit_distributions_to_automata): Output at
14457 most one message for a unit.
14458 (process_unit_to_form_the_same_automaton_unit_lists): Check
14459 automaton of units instead of units themself.
14460
14461 * doc/md.texi: Describe the constraint about assigning unit to
14462 automata.
14463
14464 2002-12-20 Jan Hubicka <jH@suse.cz>
14465 Vladimir Makarov <vmakarov@redhat.com>
14466
14467 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
14468 and `in_set_p'.
14469 (gen_cpu_unit): Initialize the new members.
14470 (process_regexp_cycles): Calculate minimal finish cycle too. Set
14471 up `min_occ_cycle_num'.
14472 (evaluate_max_reserv_cycles): Change the function call.
14473 (CLEAR_BIT): New macro.
14474 (states_union, state_shift): Use the mask.
14475 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
14476 (form_reservs_matter): New function.
14477 (make_automaton): Call the function and use the mask.
14478 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
14479 account.
07488f32 14480
30028c85
VM
14481 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
14482
14483 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
14484
14485 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
14486
14487 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
14488 for Itanium.
14489
14490 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
14491
14492 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
14493 default cpu.
14494
14495 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
14496 2002-10-31 Dale Johannesen <dalej@apple.com>
14497
14498 * haifa-sched.c (find_set_reg_weight): New function.
14499 (find_insn_reg_weight): Use the new function.
14500 (schedule_block): Do sorting ready queue always
14501 after insn issue.
14502
14503 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
14504
14505 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
14506
14507 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
14508
14509 * haifa-sched.c (choice_entry): New structure.
14510 (choice_stack, cycle_issued_insns): New variables.
14511 (max_issue): Rewrite it.
14512 (choose_ready): Set up ready_try for unknown insns too.
14513 (schedule_block): Allocate and free choice_stack. Set up
14514 and modify cycle_issued_insns.
14515
14516 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
14517 with and without filling the bundle.
14518 (bundling): Combine calls of issue_nops_and_insn.
07488f32 14519
30028c85
VM
14520 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
14521
14522 * config/ia64/itanium1.md: New file.
14523
14524 * config/ia64/itanium2.md: New file.
14525
14526 * config/ia64/ia64.md: Move DFA descriptions into the new files.
14527 Remove the old pipeline description.
07488f32 14528
30028c85
VM
14529 * config/ia64/ia64.c (ia64_override_options): Add aliases of
14530 itanium processor names.
07488f32 14531
30028c85
VM
14532 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
14533
14534 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
14535 (ia64_reorg): Set up queried unit codes for Itanium2 too.
14536
14537 * config/ia64/ia64.md: Add descriptions for Itanium2.
14538
14539 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
14540
14541 * config/ia64/ia64.h (processor_type): New enumeration.
14542 (ia64_tune, ia64_tune_string): New external declarations.
14543 (TARGET_OPTIONS): Add option `tune='.
14544
14545 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
14546 variables.
14547 (ia64_override_options): Set up `ia64_tune'.
14548 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
14549 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
14550 (bundling): Add nops for MM-insns only for Itanium.
14551 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
14552 Itanium.
14553
14554 * config/ia64/ia64.md (cpu): New attribute.
14555 (DFA description): Enable it only for Itanium.
07488f32 14556
30028c85
VM
14557 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
14558 Richard Henderson <rth@redhat.com>
14559
14560 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
14561 MASK_EARLY_STOP_BITS.
14562 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
14563 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
14564 `early-stop-bits'.
07488f32 14565
30028c85
VM
14566 * config/ia64/ia64.c (ia64_dfa_new_cycle,
14567 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
14568 instead of TARGET_TUNE_STOP_BITS.
07488f32 14569
30028c85
VM
14570 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
14571 `-mearly-stop-bits'.
14572
14573 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 14574
30028c85
VM
14575 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
14576
07488f32 14577 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
14578 New macros.
14579 (TARGET_SWITCHES): Add entries for the new option.
07488f32 14580
30028c85
VM
14581 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
14582 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
14583 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
14584 global variables.
14585 (ia64_sched_reorder2): Set up `clocks'.
14586 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
14587 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
14588 queue when TARGET_TUNE_STOP_BITS.
14589 (bundling): Insert additional nops for MM-insns.
14590 (final_emit_insn_group_barriers): Add insertion of stop bits
14591 according `stops_p'.
14592 (ia64_reorg): Initiate the new varibales.
14593
14594 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 14595
30028c85
VM
14596 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
14597
14598 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
14599 insns at the end of block insn scheduling.
14600
14601 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
14602
14603 * sched-deps.c (remove_dependence, group_leader): Remove it.
14604 (add_dependence): Add dependence to group leader to.
14605 (set_sched_group_p): Add dependence to the first insn of the
14606 schedule group too.
14607 (sched_analyze_insn): Make dependence to jump as anti-dependence.
14608 Change true dependence by anti-dependence when
14609 `reg_pending_barrier'.
14610
14611 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
14612 add_branch_dependences): Ignore schedule groups.
14613
14614 * sched-ebb.c (init_ready_list): Ditto.
14615
14616 * (move_insn, set_priorities): Ditto.
14617
14618 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
14619 flag is clear after reload.
14620 (adjust_cost): Change cost only for output dependencies.
07488f32 14621
30028c85 14622 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 14623
30028c85
VM
14624 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
14625
14626 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
14627
14628 * target.h (gcc_target): Add member
14629 `dependencies_evaluation_hook'.
14630
14631 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
14632 macro.
14633 (TARGET_SCHED): Add initiatialization of the new member.
14634
14635 * sched-ebb.c: Include `target.h'.
14636 (schedule_ebb): Call `dependencies_evaluation_hook'.
14637
14638 * sched-rgn.c (schedule_region): Call
14639 `dependencies_evaluation_hook'.
14640
14641 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
14642 New macro.
14643 (ia64_dependencies_evaluation_hook): New function.
14644
14645 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
14646 Describe the new hook.
07488f32 14647
30028c85
VM
14648 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
14649
14650 * target.h (gcc_target): Add members
14651 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
14652
14653 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
14654 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
14655 macros.
14656 (TARGET_SCHED): Add initiatialization of the new members.
14657
14658 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
14659 insn scheduling too.
14660 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
14661 initialize `ready_try'.
14662 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
14663 `dfa_new_cycle' says not to do it.
07488f32 14664
30028c85
VM
14665 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
14666 bundling.
14667
14668 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
14669
14670 * config/ia64/ia64.c: Include `hashtab.h'.
14671 (ia64_first_cycle_multipass_dfa_lookahead_guard,
14672 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
14673 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
14674 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
14675 bundle_state_eq_p, insert_bundle_state,
14676 initiate_bundle_state_table, finish_bundle_state_table,
14677 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
14678 get_template, get_next_important_insn, bundling): New functions.
14679 (ia64_internal_sched_reorder): Remove it.
14680 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
14681 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
14682 (ia64_safe_itanium_requires_unit0): Remove it.
14683 (group_barrier_needed_p): Place group barrier right before a real
14684 insn.
14685 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
14686 Remove them.
14687 (bundle_name): New variable.
14688 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
14689 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
14690 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
14691 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
14692 temp_dfa_state, prev_cycle_state): New global variables.
14693 (insn_matches_slot, maybe_rotate, finish_last_head,
14694 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
14695 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
14696 find_best_packet, itanium_reorder, dump_current_packet,
14697 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
14698 (sched_data, sched_ready, sched_types): Remove them.
14699 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
14700 `init_insn_group_barriers'.
14701 (ia64_sched_reorder, ia64_sched_reorder2): Call
14702 ia64_dfa_sched_reorder.
14703 (ia64_variable_issue): Rewrite it.
14704 (bundle_state): New structure.
14705 (index_to_bundle_states, bundle_states_num,
14706 allocated_bundle_states_chain, free_bundle_state_chain): New
14707 global variables.
14708 (ia64_sched_finish): Add stop bits and call `bundling' after the
14709 2nd insn scheduling.
14710 (ia64_use_dfa_pipeline_interface): Return zero always.
14711 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
14712 insn scheduling.
14713 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
14714 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
14715 (ia64_reorg): Add bundling insns.
14716
14717 * doc/tm.texi
14718 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
14719 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 14720
30028c85
VM
14721 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
14722
14723 * config/ia64/ia64.md: Add Itanium1 DFA description.
14724 (itanium_class): Add `nop' and `pre_cycle'. Add
14725 define_function_unit for `nop'.
14726 (nop): Change attribute `itanium_class'.
14727 (pre_cycle): New define_insn.
14728
14729 * config/ia64/ia64-protos.h (bundling_p): New external variable.
14730 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
14731 ia64_produce_address_p): New function prototypes.
14732
14733 * config/ia64/ia64.c (bundling_p): New global variable.
14734 (ia64_use_dfa_pipeline_interface,
14735 ia64_first_cycle_multipass_dfa_lookahead,
14736 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
14737 functions.
14738 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
14739 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
14740 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
14741 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
14742 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
14743 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
14744 (dfa_pre_cycle_insn): New variable.
07488f32 14745
30028c85
VM
14746 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
14747
14748 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
14749 constructions.
14750
14751 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
14752 New function prototypes.
14753
14754 * genattrtab.c (main): Process the new constructions.
14755
14756 * genautomata.c (gen_presence_absence_set,
14757 process_presence_absence_names, process_presence_absence_patterns,
14758 add_presence_absence, check_absence_pattern_sets): Add parameter
14759 `final_p'.
14760 (unit_decl): Add new members `final_presence_list' and
14761 `final_absence_list'.
14762 (unit_pattern_rel_decl): Add new member `final_p'.
14763 (gen_final_presence_set, gen_final_absence_set): New functions.
14764 (process_decls): Use member `final_p'.
14765 (temp_reserv): New global variable.
14766 (reserv_sets_are_intersected): Add processing `final_presence_set'
14767 and `final_absence_set'.
14768 (initiate_states): Allocate `temp_reserv'.
14769 (unit_final_presence_set_table, unit_final_absence_set_table): New
14770 gloabal variables.
14771 (initiate_presence_absence_pattern_sets): Initiate them.
14772 (NDFA_to_DFA): Fix typo.
14773 (output_description): Output `final_presence_set' and
14774 `final_absence_set'.
14775
14776 * doc/md.texi (final_presence_set, final_absence_set): Describe
14777 them.
07488f32 14778
30028c85
VM
14779 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
14780
14781 * genautomata.c (transform_3): Process a missing case (nothing on
14782 unit place).
14783
14784 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
14785
14786 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
14787 comments about queried units and the minimization.
07488f32 14788
30028c85 14789 * doc/md.texi: Ditto.
07488f32 14790
30028c85
VM
14791 * genautomata.c (create_composed_state): Return nonzero if the new
14792 state has been created.
14793 (first_cycle_unit_presence): New function.
14794 (state_is_differed): Add new parameter. Use the new function.
14795 Take queried units into account.
14796 (partition_equiv_class): Pass additional parameter to
14797 `state_is_differed'.
14798 (merge_states): Process composed states too.
14799 (build_automaton, create_automata, output_min_issue_delay_table,
14800 output_tables, output_statistics): Output more information.
14801 (output_reserved_units_table): Use function
14802 `first_cycle_unit_presence'.
14803 (output_tables): Output table of queried units even if the
14804 minimization is switched on.
14805 (write_automata): Output code for querying units even if the
14806 minimization is switched on.
07488f32 14807
30028c85
VM
14808 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
14809
14810 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
14811 syntax of the constructions.
07488f32 14812
30028c85
VM
14813 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
14814 extended syntax of the constructions.
07488f32 14815
30028c85
VM
14816 * genautomata.c (unit_rel_decl): Rename it to
14817 `unit_pattern_rel_decl'.
14818 (pattern_set_el, pattern_reserv): New structures.
14819 (pattern_set_el_t, pattern_reserv_t): New types.
14820 (gen_presence_absence_set): New function.
14821 (process_presence_absence): Remove it.
14822 (process_presence_absence_names,
14823 process_presence_absence_patterns): New functions.
14824 (get_presence_absence_set): Remove it.
14825 (initiate_presence_absence_sets): Rename it on
14826 `initiate_presence_absence_pattern_sets'. Use new function
14827 `form_reserv_sets_list'.
14828 (form_reserv_sets_list, check_presence_pattern_sets,
14829 check_absence_pattern_sets, output_pattern_set_el_list): New
14830 functions.
14831 (unit_decl): Change types of members `presence_list' and
14832 `absence_list'.
14833 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
14834 (decl): Change types of members `excl', `presence', and `absence'.
14835 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
14836 at the end of the vector.
14837 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
14838 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
14839 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
14840 (gen_presence_set, gen_absence_set): Use new function
14841 `gen_presence_absence_set'.
14842 (add_presence_absence): Process `pattern_list' instead of
14843 `source_list'.
14844 (process_decls): USe new functions
14845 `process_presence_absence_names' and
14846 `process_presence_absence_patterns'.
14847 (reserv_sets_are_intersected): Use new function
14848 `check_presence_pattern_sets'.
14849 (presence_set, absence_set): Remove them.
14850 (unit_presence_set_table, unit_absence_set_table): New global
14851 variables.
14852 (output_description): Use new function
14853 `output_pattern_set_el_list'.
14854 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 14855
30028c85
VM
14856 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
14857
14858 * genattr.c (main): Add output of prototype of new interface
14859 function `dfa_clean_insn_cache'.
14860
14861 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
14862 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
14863 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
14864 the generated code.
14865 (write_automata): Call the new function.
07488f32 14866
62c9aa5f 148672003-01-09 Jan Hubicka <jh@suse.cz>
cb297538 14868
17211ab5
GK
14869 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
14870 correctly.
cb297538 14871
3a6e2189
PC
148722003-01-09 Paolo Carlini <pcarlini@unitus.it>
14873
14874 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
14875
62c9aa5f 148762003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
97488870
R
14877
14878 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
14879 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
14880 (CONSTRAINT_LEN): Provide default definition.
14881 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
14882 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
14883 (EXTRA_CONSTRAINT_STR): Likewise.
14884 (REG_CLASS_FROM_CONSTRAINT): Define.
14885 * genoutput.c (check_constraint_len, constraint_len): New functions.
14886 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
14887 constraint / modifier.
14888 (gen_insn): Call check_constraint_len.
14889 * local-alloc.c (block_alloc): Update to use new macros / pass
14890 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
14891 * ra-build.c (handle_asm_insn): Likewise.
14892 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
14893 (constrain_operands, peep2_find_free_register): Likewise.
14894 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
14895 * regmove.c (find_matches): Likewise.
14896 * reload.c (push_secondary_reload, find_reloads): Likewise.
14897 (alternative_allows_memconst): Likewise.
14898 * reload1.c (maybe_fix_stack_asms): Likewise.
14899 (reload_cse_simplify_operands): Likewise.
14900 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
14901 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
14902 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
14903 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
14904 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
14905 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
14906
14907 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
14908
fc182093
KH
149092003-01-09 Kazu Hirata <kazu@cs.umass.edu>
14910
14911 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
14912 length.
14913 (*extzv_1_r_h8300hs): Likewise.
14914 (*extzv_1_r_inv_h8300): Likewise.
14915 (*extzv_1_r_inv_h8300hs): Likewise.
14916
3b1c9927
KH
149172003-01-09 Kazu Hirata <kazu@cs.umass.edu>
14918
14919 * config/h8300/h8300.h (PREDICATE_CODES): New.
14920
867504e6
KH
149212003-01-09 Kazu Hirata <kazu@cs.umass.edu>
14922
14923 * config/h8300/h8300.md (*addsi3_upper): New.
14924 (*iorsi3_shift): Likewise.
14925 (two splitters): Likewise.
14926 (*addsi3_shift): Likewise.
14927 (two splitters): Likewise.
14928
4a69cf79
JZ
149292003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
14930
14931 * Makefile.in (optabs.o): Add dependency on basic-block.h.
14932 * basic-block.h (control_flow_insn_p): Fuction was exported.
14933 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
14934 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
14935 notes only when the region is contained in a single basic block.
14936
4c46ea23
EB
149372003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
14938
14939 PR inline-asm/8832
14940 * tree.h (expand_asm): New prototype.
14941 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
14942 to do so.
14943 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
14944 down to expand_asm.
14945 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
14946 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
14947 (volatile_refs_p) [ASM_INPUT]: Likewise.
14948 (side_effects_p) [ASM_INPUT]: Likewise.
14949
62c9aa5f 149502003-01-09 Jan Hubicka <jh@suse.cz>
f56e86bd
JH
14951
14952 * i386.md (*mul*): FIx constraints; remove confused comment; fix
14953 athlon_decode attributes
14954 (imul/k8 optimization peep2s): New.
14955
14956 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
14957 * i386.md (type attribute): Add ssecomi.
14958 (unit, memory, prefix attributes): Handle ssecomi.
14959 (cvt?2? patterns): Fix athlon_decode attribute
14960 (comi patterns): Set attribute to ssecomi.
14961
14962 PR target/8343
14963 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
14964
98c29f71
RS
149652003-01-09 Richard Sandiford <rsandifo@redhat.com>
14966
14967 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
14968 that match register_operands.
14969 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
14970 register_operand the default case.
14971
bbb818c6
EB
149722003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
14973
14974 PR c/8032
14975 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
14976 an empty element, do not advance the pointer to unfilled
14977 fields if there are pending initializers.
14978
90961eff
AJ
149792003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
14980
14981 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
14982 (install-gcc-tooldir, install-cpp, installdirs,
14983 install-common, install-driver, install-info, install-man,
14984 install-headers, install-include-dir, install-headers-tar,
14985 install-headers-cpio, install-headers-cp, install-mkheaders,
14986 install-collect2, uninstall): Prepend $(DESTDIR) to
14987 destination paths in all (un)installation commands.
14988 (install-driver): Rewrite $(LN) commands to support DESTDIR
14989 with "ln" as well as with "ln -s".
14990 (installdirs): Simply use mkinstalldirs.
14991 (install-libgcc, install-multilib): Also pass DESTDIR.
14992 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
14993 installation destination variable ldir.
14994 * config/alpha/t-osf4, config/arm/t-netbsd,
14995 config/ia64/t-hpux, config/mips/t-iris5-6,
14996 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
14997 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
14998 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
14999 in the definition of SHLIB_INSTALL.
15000 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
15001 $(libsubdir) in the installation commands.
15002
8b26829f
KK
150032003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
15004
15005 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
15006 non-optimizing compile.
15007 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
15008 compile.
15009
fe77449a
DR
150102003-01-08 Douglas B Rupp <rupp@gnat.com>
15011
15012 * config/i386/i386.c (ix86_attribute_table): Add new attributes
15013 ms_struct and gcc_struct.
15014 (ix86_handle_struct_attribute): New function.
15015 (ix86_ms_bitfield_layout_p): Update to take new attributes
15016 into account.
15017 * doc/extend.texi: Document new attributes.
15018 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
15019
98417968
DS
150202003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
15021
07488f32
ZW
15022 PR optimization/8750
15023 * config/i386/i386.c (ix86_expand_prologue): Don't allow
15024 scheduling pass to move insns across __alloca call.
98417968 15025
e46e3130
DJ
150262003-01-08 Dale Johannesen <dalej@apple.com>
15027
07488f32
ZW
15028 * config/rs6000/rs6000.md: Replace *store_multiple_string
15029 with *stmsi[3-8].
e46e3130 15030
c40e5172
JS
150312003-01-08 Jeff Sturm <jsturm@one-point.com>
15032
15033 PR target/9210
15034 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
15035 Set SYMBOL_REF_FLAG on local data sym_ref.
15036
de62b72c 150372003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
15038
15039 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 15040 REG_PARM_STACK_SPACE.
07488f32 15041 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
15042 pretend_args_size.
15043
25839c41
NN
150442003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
15045
15046 * gcc.hlp: Delete.
15047
62c9aa5f 150482003-01-09 Jan Hubicka <jh@suse.cz>
4bdc8610
JH
15049
15050 * i386.c (ix86_expand_int_addcc): Fix thinko.
15051
5b71a4e7
DE
150522003-01-08 David Edelsohn <edelsohn@gnu.org>
15053
15054 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
15055 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
15056 as hook_bool_tree_hwi_hwi_tree_true.
15057 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
15058 (rs6000_emit_epilogue): Same.
15059 (rs6000_output_mi_thunk): Re-implement as RTL.
15060 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
15061 xcoffout_declare_function if any debugging enabled.
15062
2d2a50c3
CD
150632003-01-08 Chris Demetriou <cgd@broadcom.com>
15064
15065 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
15066 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
15067 * config/mips/mips.h (enum processor_type): Rename
15068 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
15069 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
15070 Add PROCESSOR_M4K.
15071 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
15072 (ISA_MIPS32R2): New define.
15073 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
15074 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
15075 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
15076 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
15077 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
15078 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
15079 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
15080 compiling MIPS16 code.
15081 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
15082 comment.
15083 (ISA_HAS_SEB_SEH): New define.
15084 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
15085 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
15086 processor_type value renaming. Add support for MIPS32R2.
15087 Clean up comments, and move "sb1" entry with other MIPS64 CPU
15088 entries.
15089 (override_options): Reimplement -mipsN option handling so that
15090 it will work correctly for -mips32r2. Avoid branch-likely
15091 instructions on MIPS32R2.
15092 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
15093 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
15094 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
15095 (extendhisi2_hw, extendqisi2_hw): New.
15096 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
15097 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
15098 MIPS32R2, and MIPS64.
15099 (LINK_SPEC): Pass -mips32r2 to linker.
15100 * config/mips/t-isa3264: Built -mips32r2 multilibs.
15101 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
15102 for mips32r2 in the -march description. Alphabetically sort
15103 CPU names in the -march description. Add long-missed -mips32
15104 and -mips64 to MIPS option summary.
15105
15106 * config.gcc: Update copyright years to include 2003.
15107 * config/mips/mips.c: Likewise.
15108 * config/mips/mips.h: Likewise.
15109 * config/mips/mips.md: Likewise.
15110 * config/mips/netbsd.h: Likewise.
15111 * doc/invoke.texi: Likewise.
15112
918c4fe4
AS
151132003-01-08 Andreas Schwab <schwab@suse.de>
15114
15115 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
15116 variable.
15117 * configure: Regenerated.
15118
c5e7ce43
KH
151192003-01-08 Kazu Hirata <kazu@cs.umass.edu>
15120
15121 * config/h8300/h8300.c (output_logical_op): Replace byte/word
15122 extraction of det with b0, b1, w0, w2, etc.
15123 (compute_logical_op_length): Likewise.
15124 (compute_logical_op_cc): Likewise.
15125
eb8a8ec4
KH
151262003-01-08 Kazu Hirata <kazu@cs.umass.edu>
15127
15128 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
15129 HIGH on all variants.
15130
62c9aa5f 151312003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 15132
56f15830
JZ
15133 * Makefile.in (PARTITION_H): New.
15134 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
15135 * basic-block.h: Include hard-reg-set.h.
15136
ab57893b
RE
151372003-01-08 Richard Earnshaw <rearnsha@arm.com>
15138
15139 * arm.h (ENABLE_XF_PATTERNS): Delete.
15140 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
15141 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
15142 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
15143 (cmpxf_trap): Delete.
15144 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
15145
62c9aa5f 151462003-01-08 Jan Hubicka <jh@suse.cz>
7b52eede
JH
15147
15148 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
15149 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
15150 (add??cc): New expanders.
15151 * i386.c (expand_int_addcc): New function.
15152 * i386-protos.h (expand_int_addcc): Declare.
15153
15154 * alias.c (memory_modified_1): New static function.
15155 (memory_modified): New static varaible.
15156 (memory_modified_in_insn_p): New global function.
15157 * rtl.h (memory_modified_in_insn_p): Declare.
15158 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
15159 references.
15160
15161 * expr.h (emit_conditional_add): Declare.
15162
74049755
JJ
151632003-01-07 Janis Johnson <janis187@us.ibm.com>
15164
15165 PR other/8947
15166 * doc/invoke.texi (-malign-double): Explain that the option breaks
15167 binary compatibility.
15168
e7edc5a0
AS
151692003-01-08 Andreas Schwab <schwab@suse.de>
15170
15171 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
15172 should come from the generic *-*-linux* entry.
15173
62c9aa5f 151742003-01-07 Jan Hubicka <jh@suse.cz>
9635cfad
JH
15175
15176 * cselib.c (cselib_current_insn_in_libcall): New static variable.
15177 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
15178 we are inside libcall.
15179 * cselib.h (elt_loc_list): Add in_libcall.
15180 * gcse.c (do_local_cprop): Do not copy propagate using insns
15181 in libcalls.
15182
3ee04299
DE
151832003-01-07 David Edelsohn <edelsohn@gnu.org>
15184
15185 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
15186 not normally affect to issue rate.
15187
62c9aa5f 151882003-01-07 Jan Hubicka <jh@suse.cz>
068f5dea
JH
15189
15190 * genopinit.c (optabs): Add addc_optab.
15191 * ifcvt.c (noce_try_store_flag): Rename to ...
15192 (noce_try_addcc): ... this one; handle generic conditional increment.
15193 (noce_process_if_block): Update noce_try_addcc call.
15194 * optabs.c (emit_conditional_add): New.
15195 (init_obtabs): Initialize addc_optab.
15196 * optabs.h (optab_index): Add OTI_addcc.
15197 (addcc_optab): New macro.
15198 * md.texi: Document addMcc
15199
15200 PR target/8322
15201 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
15202 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
15203 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
15204
15205 * reload1.c (delete_output_reload): Avoid repeated attempts
15206 to delete insn.
15207
eb70d86d
AS
152082003-01-07 Andreas Schwab <schwab@suse.de>
15209
e7edc5a0
AS
15210 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
15211 Move --enable-initfini-array check ...
15212 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
15213 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
15214 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
15215 * configure: Rebuild.
eb70d86d 15216
1afdf91c
RH
152172003-01-07 Richard Henderson <rth@redhat.com>
15218
e7edc5a0
AS
15219 * alias.c (find_base_value): Only use new_reg_base_value shortcut
15220 if the register is set once.
1afdf91c 15221
36210500 152222003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 15223
36210500
SP
15224 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
15225 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
15226 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
15227
cb25b0ce
BK
152282003-01-07 Benjamin Kosnik <bkoz@redhat.com>
15229 Sunil Davasam <sunil.k.davasam@intel.com>
15230
07488f32 15231 PR libstdc++/9076
cb25b0ce
BK
15232 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
15233 DW_CFA_same_value, read next and ignore.
15234
94c040bd
RH
152352003-01-07 Richard Henderson <rth@redhat.com>
15236
15237 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
15238
f6cb56fa
DB
152392003-01-07 Daniel Berlin <dberlin@dberlin.org>
15240
15241 * cfg.c: Include alloc-pool.h
15242 (edge_pool): New pool.
15243 (bb_pool): New pool.
15244 (first_deleted_edge): Remove.
15245 (first_deleted_block): Remove.
15246 (init_flow): Alloc/free the pools.
15247 (free_edge): Use pools.
15248 (alloc_block): Ditto.
15249 (expunge_block): Ditto.
15250 (cached_make_edge): Ditto.
15251
15252 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
15253
152542003-01-07 Daniel Berlin <dberlin@dberlin.org>
15255
15256 * et-forest.c: Include alloc-pool.h.
15257 (struct et_forest): Add node_pool and occur_pool.
15258 (et_forest_create): Create the new pools.
15259 (et_forest_delete): Delete them.
15260 (et_forest_add_node): Allocate and free using pools.
15261 (et_forest_add_edge): Ditto.
15262 (et_forest_remove_node): Ditto.
15263 (et_forest_remove_edge): Ditto.
15264
15265 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
15266
f9ac2f95
KH
152672003-01-07 Kazu Hirata <kazu@cs.umass.edu>
15268
15269 * config/h8300/h8300.c (output_logical_op): Simplify and
15270 optimize the handling of SImode.
15271 * config/h8300/h8300.c (compute_logical_op_length): Update
15272 accordingly.
15273 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
15274
83282119
RS
152752003-01-07 Richard Sandiford <rsandifo@redhat.com>
15276
15277 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
15278 big-endian correction to indirect arguments too.
15279
59a4c851
AH
152802003-01-06 Aldy Hernandez <aldyh@redhat.com>
15281
15282 Segher Boessenkool <segher@koffie.nl>
15283
36210500
SP
15284 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
15285 (alt_reg_names): Ditto, fix formatting.
15286 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 15287
7798db98
KH
152882003-01-06 Kazu Hirata <kazu@cs.umass.edu>
15289
15290 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
15291 (output_logical_op): Constify intval and det.
15292 (compute_logical_length): Likewise.
15293 (compute_logical_cc): Likewise.
15294 (output_a_shift): Constify mask.
15295 (h8300_encode_label): Constify len.
15296
4705d102
KH
152972003-01-06 Kazu Hirata <kazu@cs.umass.edu>
15298
15299 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
15300 (h8300_expand_epilogue): Likewise.
15301
98c9a8e8
AH
153022003-01-06 Aldy Hernandez <aldyh@redhat.com>
15303
15304 Segher Boessenkool <segher@koffie.nl>
15305
36210500
SP
15306 * config/rs6000/altivec.md: Remove spaces from assembler
15307 instruction argument lists.
07488f32 15308
86143814
MH
153092003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15310
15311 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
15312 c4x_assembler_function_p.
15313 (c4x_null_epilogue_p): Complement return value, all uses updated.
15314 (c4x_insert_attributes): Add naked.
15315 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
15316 * doc/extend.texi: Update C4x function attributes.
15317
52fd80fb
RH
153182003-01-06 Richard Henderson <rth@redhat.com>
15319
15320 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
15321 properly when changing "local-ness".
15322 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
15323
a16b43c5
DJ
153242003-01-06 Dale Johannesen <dalej@apple.com>
15325
15326 * config/darwin-protos.h: Add prototypes for new section functions.
15327
ef8dfae6
CD
153282003-01-06 Chris Demetriou <cgd@broadcom.com>
15329
15330 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
15331 to EABI.
15332
44f9a8e4
ZW
153332003-01-06 Zack Weinberg <zack@codesourcery.com>
15334
15335 * hwint.h: If the current compiler has no 64-bit type at all,
15336 make HOST_WIDEST_INT 32 bits.
15337
2610198a
EC
153382003-01-06 Eric Christopher <echristo@redhat.com>
15339
15340 * config/mips/mips.md (movdf_internal2): Fix constraints.
15341
efbd757f
KH
153422003-01-06 Kazu Hirata <kazu@cs.umass.edu>
15343
15344 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
15345
727b9b8c
RS
153462003-01-06 Richard Sandiford <rsandifo@redhat.com>
15347
15348 * config/mips/mips.md (leadi): Use dla rather than la.
15349
4705d102 153502003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
15351
15352 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
15353 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
15354
4705d102 153552003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 15356
44f9a8e4 15357 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
15358 redefinition.
15359
dff0ea43
KH
153602003-01-05 Kazu Hirata <kazu@cs.umass.edu>
15361
15362 * config/h8300/h8300.md (*extzv_8_23): New.
15363
94e6fd3e
JDA
153642003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
15365
15366 * pa64-hpux.h (JCR_SECTION_NAME): Define.
15367 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
15368 USE_EH_FRAME_REGISTRY when defining.
15369
cd9b5ca8
KH
153702003-01-05 Kazu Hirata <kazu@cs.umass.edu>
15371
15372 * config/h8300/h8300.c (output_a_shift): Do not output a
15373 variable shift.
15374 * config/h8300/h8300.md (two splitters): New.
15375
1ba8a9c4
RS
153762003-01-05 Richard Sandiford <rsandifo@redhat.com>
15377
15378 * config/mips/mips.md: Disable the movstrsi define_split.
15379
c7c50494
KG
153802003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15381
15382 * alloc-pool.c: Don't include "libiberty.h".
15383 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
15384 * convert.c (convert_to_real): Hide unused variable.
15385
83fa8d7a
KG
153862003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15387
15388 * Makefile.in (gtyp-gen.h): Const-ify.
15389 * gcov-dump.c (tag_table): Likewise.
15390
871dab3e
BK
153912003-01-04 Bruce Korb <bkorb@gnu.org>
15392
15393 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
15394 of *both* the file name and the fix name.
15395
90961eff 153962003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
15397
15398 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
15399 collect2.
15400 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
15401 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
15402 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
15403 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
15404 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
15405 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
15406 elfos.h.
15407 (EH_FRAME_IN_DATA_SECTION): Delete define.
15408 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
15409 (STARTFILE_SPEC): Use crtbegin.o.
15410 (ENDFILE_SPEC): Use crtend.o.
15411 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
15412 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
15413 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
15414 DTOR_LIST_BEGIN): Define.
15415 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
15416 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
15417 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
15418
b0588013
BK
154192002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
15420
15421 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
15422 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
15423 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
15424 Cleanup handling of replacement text.
15425 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
15426
154272003-01-04 Bruce Korb <bkorb@gnu.org>
15428
15429 * fixinc/tests/base/math.h: removed obsolete results
15430 * fixinc/tests/base/stdlib.h: ditto
15431 * fixinc/tests/base/sys/param.h: ditto
15432 * fixinc/tests/base/sys/stat.h: ditto
15433 * fixinc/tests/base/time.h: ditto
15434 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
15435 * fixinc/tests/base/sys/byteorder.h: ditto
15436 * fixinc/inclhack.def: Remove superfluous backslashes
15437
68ee6df6
KH
154382003-01-04 Kazu Hirata <kazu@cs.umass.edu>
15439
15440 * config/h8300/h8300-protos.h: Add prototypes for
15441 the new functions defined below.
15442 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
15443 define.
15444 (dosize): Emit RTL instead of assembly code.
15445 (push): Likewise.
15446 (pop): Likewise.
15447 (h8300_output_function_prologue): Remove.
15448 (h8300_expand_prologue): New.
15449 (h8300_expand_epilogue): New.
15450 (h8300_output_function_epilogue): Do only the reset of
15451 pragma_saveall.
15452 * config/h8300/h8300.md (push_h8300): New.
15453 (push_h8300hs): Likewise.
15454 (pop_h8300): Likewise.
15455 (pop_h8300hs): Likewise.
15456 (*stm_h8300s_2): Change the name to stm_h8300s_2.
15457 (*stm_h8300s_3): Change the name to stm_h8300s_3.
15458 (*stm_h8300s_4): Change the name to stm_h8300s_4.
15459 (*ldm_h8300s_2): New.
15460 (*ldm_h8300s_3): Likewise.
15461 (*ldm_h8300s_4): Likewise.
15462 (return): Likewise.
15463 (*return_1): Likewise.
15464 (prologue): Likewise.
15465 (epilogue): Likewise.
15466 (monitor_prologue): Likewise.
15467
d3c300d2
DJ
154682003-01-03 Dale Johannesen <dalej@apple.com>
15469
15470 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
15471 machopic_picsymbol_stub1.
15472 (EXTRA_SECTION_FUNCTIONS): Ditto.
15473 * rs6000/rs6000.c: Update copyright.
15474 (machopic_output_stub): Use them. Remove an insn from stub code.
15475
6cce57b0
JM
154762003-01-02 Jason Merrill <jason@redhat.com>
15477
4e8dca1c
JM
15478 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
15479
15480 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
15481 static/external decls.
2610198a 15482
6cce57b0
JM
15483 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
15484 outermost scope.
15485 * c-decl.c (c_make_fname_decl): Push the decls there, too.
15486
e392d367
KH
154872003-01-03 Kazu Hirata <kazu@cs.umass.edu>
15488
15489 * config/h8300/h8300-protos.h: Add a prototype for
15490 h8300_current_function_interrupt_function_p.
15491 * config/h8300/h8300.c (interrupt_handler): Remove.
15492 (os_task): Likewise.
15493 (monitor): Likewise.
15494 (pragma_interrupt): New.
15495 (WORD_REG_USED): Use
15496 h8300_current_function_interrupt_function_p.
15497 (dosize): Likewise.
15498 (h8300_output_function_prologue): Likewise.
15499 Do not set interrupt_handler, os_task, monitor.
15500 (h8300_output_function_prologue): Use
15501 h8300_current_function_interrupt_function_p.
15502 Do not set interrupt_handler, os_task, monitor.
15503 (h8300_current_function_interrupt_function_p): New.
15504 (h8300_pr_interrupt): Set pragma_interrupt.
15505 (h8300_insert_attributes): Reset pragma_interrupt.
15506
b15da5b7
GP
155072003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15508
15509 * doc/install.texi (Configuration): Fix markup for reference to
15510 gcc/config.gcc.
15511
bf16e745
KH
155122003-01-02 Kazu Hirata <kazu@cs.umass.edu>
15513
15514 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
15515 (*iorhi3_two_qi): Likewise.
15516 (*iorsi3_zexthi): Likewise.
15517 (*xorhi3_zextqi): Likewise.
15518 (*xorsi3_zexthi): Likewise.
15519 (*xorsi3_zextqi): Likewise.
15520
8ccf5d5f
KH
155212003-01-02 Kazu Hirata <kazu@cs.umass.edu>
15522
15523 * config/h8300/h8300.c (stack_pointer_operand): New.
15524 (const_int_gt_2_operand): Likewise.
15525 (const_int_ge_8_operand): Likewise.
15526 * config/h8300/h8300.md (a splitter): Likewise.
15527 (a peephole2): Likewise.
15528 * config/h8300/h8300-protos.h: Add prototypes for the new
15529 functions above.
15530
43c6a96a
SB
155312003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
15532
15533 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
15534 objc/objc-act.h: Fix copyright years.
15535
96c4e780
SB
155362003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
15537
15538 * doc/passes.texi: Fix documentation for -fssa-ccp
15539
8ed0a104
NB
155402003-01-02 Neil Booth <neil@daikokuya.co.uk>
15541
15542 * gccbug.in: Update for new categories.
15543
1b9f0361
KH
155442003-01-01 Kazu Hirata <kazu@cs.umass.edu>
15545
15546 * config/h8300/h8300.md: Reorder some patterns.
15547
dc5f17ec
KH
155482003-01-01 Kazu Hirata <kazu@cs.umass.edu>
15549
15550 * config/h8300/h8300.c (output_logical_op): Fix a warning.
15551
cd2801fb
NB
155522003-01-01 Neil Booth <neil@daikokuya.co.uk>
15553
15554 * config/darwin-protos.h, config/c4x/c4x-protos.h,
15555 config/cris/cris-protos.h, config/i370/i370-protos.h,
15556 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
15557 config/v850/v850-protos.h: Use struct, and don't conditionally
15558 compile on GCC_C_PRAGMA_H.
15559
378b1b8e
KH
155602003-01-01 Kazu Hirata <kazu@cs.umass.edu>
15561
15562 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
15563 * config/h8300/h8300-protos.h: Likewise.
15564 * config/sh/sh-protos.h: Likewise.
15565
7106a5bc
KH
155662003-01-01 Kazu Hirata <kazu@cs.umass.edu>
15567
15568 * config/arm/arm-protos.h: Use struct cpp_reader instead of
15569 cpp_reader.
15570 * config/h8300/h8300-protos.h: Likewise.
15571 * config/sh/sh-protos.h: Likewise.
15572
231b51a1
NB
155732003-01-01 Neil Booth <neil@daikokuya.co.uk>
15574
15575 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
15576 arm_pr_long_calls_off): Use struct.
15577 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
15578 : Similarly.
15579 Don't include cpplib.h.
15580 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
15581 sh_pr_nosave_low_regs): Similarly.
15582
0f18b2b0
KH
155832003-01-01 Kazu Hirata <kazu@cs.umass.edu>
15584
15585 * config/h8300/h8300.c: Include cpplib.h.
15586
b9593599
SB
155872003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
15588
15589 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
15590 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
15591 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
15592 "GCC" in the copyright header.
15593
c58b209a
NB
155942003-01-01 Neil Booth <neil@daikokuya.co.uk>
15595
15596 * c-pragma.c (c_register_pragma): New.
15597 (init_pragma): Use it.
15598 * c-pragma.h (cpp_register_pragma): Don't declare.
15599 (c_register_pragma): New.
15600 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
15601 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
15602 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
15603 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
15604 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
15605 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
15606 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
15607 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
15608 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
15609 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
15610 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
15611 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
15612
7210d5ae 15613See ChangeLog.8 for earlier changes.
This page took 2.056709 seconds and 5 git commands to generate.