]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
sh.c (gen_block_redirect, [...]): Use CODE_FOR_jump_compact instead of CODE_FOR_jump
[gcc.git] / gcc / ChangeLog
CommitLineData
ddf8ec7e
R
12003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
2
3 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
4 instead of CODE_FOR_jump
5
67f7893c
GDR
62003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
7
8 * objc/objc-act.c (error_with_ivar): Don't use
9 error_with_file_and_line.
10 (warn_with_method): Don't use warning_with_file_and_line.
11
c8608cd6
GDR
122003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
13
14 * stmt.c (emit_locus): New macro.
15 (emit_filename): Remove.
16 (emit_lineno): Likewise.
17 (struct stmt_status): Replace members x_emit_filename and
18 x_emit_lineno with x_emit_locus.
19 (set_file_and_line_for_stmt): Adjust.
67f7893c 20 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
c8608cd6
GDR
21 (warn_if_unused_value): Likewise.
22 (check_seenlabel): Likewise.
23
95035b6f
GDR
242003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
25
26 * c-decl.c (define_label): Tidy. Don't use any of
27 error_with_file_and_line or warning_with_file_and_file.
28 (pending_xref_error): Likewise.
29 (store_parm_decls): Likewise.
30 (current_function_prototype_locus): New object. Package from
31 current_function_prototype_file and current_function_prototype_line.
32 (start_function): Use it.
33 (current_function_prototype_file): Remove.
34 (current_function_prototype_line): Remove;
35
7dc61d6c
KG
362003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
37
38 * builtins.c (readonly_data_expr): New function.
39 (expand_builtin_memmove): Optimize any rodata source, not just
40 strings.
41
044075ac
DM
422003-05-07 David Mosberger <davidm@hpl.hp.com>
43
44 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
45
8231b3f9
RH
462003-05-07 Richard Henderson <rth@redhat.com>
47
48 * config/i386/i386.c (ix86_split_long_move): Fix base register
49 mode for XFmode splits for TARGET_64BIT.
50
0212907f
RH
512003-05-07 Richard Henderson <rth@redhat.com>
52
53 * sched-ebb.c (schedule_ebb): Supply the correct starting
54 block number to save_line_notes.
55
c079e6fe
RH
562003-05-07 Richard Henderson <rth@redhat.com>
57
58 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
59 (dump_file): Likewise.
60
c35b64c2
DM
612003-05-07 David Mosberger <davidm@hpl.hp.com>
62
63 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
64 forget to preserve gp.
65 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
66
67 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
68 .prologue directive.
69 Use .skip instead of data8 for .bss section to make Intel
70 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
71 explicit in the .mib bundles and remove the unnecessary stop
72 bits. Replace local labels with normal labels, to make ias
73 happy. Don't register __do_global_ctors_aux here, do it in
74 crtend.asm instead.
75
76 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
77 __do_global_ctors_aux in .init_array section instead of
78 declaring it as a hidden global. Replace local labels with
79 ordinary labels to make ias happy.
80
a944ceb9
RH
812003-05-07 Richard Henderson <rth@redhat.com>
82
83 PR c++/10570
84 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
85 * flags.h, toplev.c, doc/invoke.texi: Likewise.
86
87 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
88 * unwind.inc (_Unwind_DeleteException): Check for null
89 exception_cleanup.
90
91 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
92 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
93 * unwind.h: Declare them.
94 * libgcc-std.ver (GCC_3.3): Export them.
95
9330e977
RH
962003-05-07 Richard Henderson <rth@redhat.com>
97
a21d83cd 98 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
9330e977
RH
99 not _Unwind_Word.
100
046e4e36
ZW
1012003-05-07 Zack Weinberg <zack@codesourcery.com>
102
103 * stmt.c (force_label_rtx): New function, based on logic
104 formerly found in expand_expr.
105 * expr.h: Prototype it.
106 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
107 appropriate.
108 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
109
110 * print-tree.c (debug_tree): Free the table after we're done
111 with it. Use putc.
112
12850cf2
AH
1132003-05-07 Aldy Hernandez <aldyh@redhat.com>
114
046e4e36
ZW
115 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
116 Unreverse arguments for __ev_subw.
12850cf2 117
046e4e36 118 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
12850cf2 119
54350d48
NC
1202003-05-07 Nick Clifton <nickc@redhat.com>
121
122 * config/stormy16/stormy-abi: Update to include
123 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
124 R_XSTORMY16_12 relocs.
125
ffea5d1e
AM
1262003-05-07 Alan Modra <amodra@bigpond.net.au>
127
128 * function.c (assign_parms): Correct reversed reg_parm_stack_space
129 test. Add partial in-regs size to stack_args_size.
130
da635858
GP
1312003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
132
133 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
134 as a C only option.
135
474f141e
NS
1362003-05-07 Nathan Sidwell <nathan@codesourcery.com>
137
138 * gcov-io.h (GCOV_LOCKED): New #define.
139 (GCOV_LINKAGE): Make sure it is #defined.
140 (gcov_write_string, gcov_write_tag, gcov_write_length,
141 gcov_read_string, gcov_time): Poison in libgcov.
142 (gcov_seek_end): Remove.
143 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
144 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
145 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
146 GCOV_TAG_SUMMARY_LENGTH): New #defines.
147 (gcov_write_tag, gcov_write_length): Not in libgcov.
148 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
149 (gcov_write_tag, gcov_write_length): Not in libgcov.
150 (gcov_write_tag_length): New.
151 (gcov_write_summary): Use gcov_write_tag_length.
152 * libgcov.c: Always #include gcov-io.h.
153 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
154 (GCOV_LINKAGE): Define to nothing for L_gcov.
155 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
156 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
157 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
158 (read_count_file): Likewise.
159 * gcov-dump.c (dump_file): Likewise.
160 * coverag.c (read_counts_file): Likewise.
161
6cbeaa7e
MM
1622003-05-06 Mark Mitchell <mark@codesourcery.com>
163
164 PR other/10658
165 * gcc.c (process_command): Update copyright date.
166
26979a17
PE
1672003-05-06 Phil Edwards <pme@gcc.gnu.org>
168
169 * doc/install.texi (mips-*-*): Add note about libstdc++.
170
14b56832
DD
1712003-05-06 DJ Delorie <dj@redhat.com>
172
173 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
174 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
175 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
176
2c2bc09b
NB
1772003-05-06 <neil@cat.daikokuya.co.uk>
178
179 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
180 and -Wstrict-prototypes if C++.
181
2f3f95e9
AH
1822003-05-06 Aldy Hernandez <aldyh@redhat.com>
183
046e4e36 184 * config/rs6000/linuxspe.h: New file.
2f3f95e9 185
046e4e36 186 * config.gcc: Add powerpc-*-linux-gnuspe* target.
2f3f95e9 187
8b689196
RH
1882003-05-06 Richard Henderson <rth@redhat.com>
189
046e4e36 190 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
8b689196
RH
191 previous frame didn't save sp. Clear sp for next frame.
192 (uw_install_context_1): Honor saved sp from frame.
193
5b0f0db6
RS
1942003-05-06 Richard Sandiford <rsandifo@redhat.com>
195
196 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
197 (mips_move_1word, mips_move_2words): Remove declaration.
198 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
199 (mips_restore_gp): Remove insn argument.
200 * config/mips/mips.h (FP_REG_RTX_P): New macro.
201 * config/mips/mips.c (volatile_buffer): Remove.
202 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
203 (mips_move_1word, mips_move_2words): Remove, replacing with...
204 (mips_output_move): ...this new function.
205 (mips_restore_gp): Remove insn argument. Adjust for above changes.
206 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
207 handling of floating-point constants. Handle zero CONST_DOUBLE
208 arguments.
209 (mips_annotate_frame_insn): Replace with...
210 (mips_set_frame_expr): ...this, which just takes one argument.
211 (mips_frame_set): Change the register argument to an rtx.
212 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
213 check whether moves should be split. Use mips_split_64bit_move
214 to split them. Use mips_subword to generate the high and low
215 parts of a paired FPR. Adjust calls to frame_set and
216 mips_set_frame_expr.
217 (mips_expand_prologue): Simplify due to above changes.
218 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
219 targets, replacing xisting register-only versions.
220 (UNSPEC_STORE_DF_HIGH): New unspec.
221 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
222 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
223 (*paradoxical_extendhidi2): Remove.
224 (movdi_internal, movdi_internal2): Use mips_output_move.
225 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
226 (movsf_internal1, movsf_internal2): Likewise.
227 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
228 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
229 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
230 Add m <- G alternative.
231 (load_df_low, load_df_high, store_df_low): New patterns.
232 (movhi_internal): Use @ template instead of calling a function.
233 Remove unnecessary 'z' alternatives.
234 (movqi_internal): Likewise.
235 (exception_receiver): Update call to mips_restore_gp.
236
e8b84d3d
RS
2372003-05-06 Richard Sandiford <rsandifo@redhat.com>
238
239 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
240 (mips_delegitimize_address): Declare.
241 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
242 (FIND_BASE_TERM): Define.
243 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
244 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
245 Handle small-data addresses.
246
e82a312b
RS
2472003-05-05 Roger Sayle <roger@eyesopen.com>
248
249 * real.c (real_powi): New function to calculate the value of
250 a real raised to an integer power, i.e. pow(x,n) for int n.
251 (real_sqrt): Convert to using the faster do_add, do_multiply
252 and do_divide API for consistency with the rest of real.c.
253 * real.h (real_powi): Prototype here.
254 * builtins.c (fold_builtin): Avoid local variable mode when
255 evaluating sqrt at compile time. Attempt to evaluate pow at
256 compile-time, by checking for an integral exponent.
257
905e8651
RH
2582003-05-05 Richard Henderson <rth@redhat.com>
259
260 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
261
88467101
DB
2622003-05-05 David O'Brien <obrien@FreeBSD.org>
263
264 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
265 other FreeBSD ports.
266 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
cb1f476f 267 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
88467101 268
6ccfe27c
JJ
2692003-05-05 Janis Johnson <janis187@us.ibm.com>
270
271 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
272 expanded variables.
273 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
274
10b6a274
ZW
2752003-05-05 Zack Weinberg <zack@codesourcery.com>
276
277 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
278 * varasm.c (struct varasm_status): Add deferred_constants field.
279 (n_deferred_strings): Delete variable.
280 (n_deferred_constants): New #define.
281 (struct constant_descriptor_tree): Kill next and label fields.
282 (const_hash_table, MAX_HASH_TABLE): Delete.
283 (const_desc_htab): New static variable.
284 (const_hash): Rename const_desc_hash, and make it fit the
285 hashtab.h interface.
286 (const_desc_eq): New.
287 (const_hash_1, compare_constant): Const-ify arguments.
288 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
289 SYMBOL_REFs. Clarify comments. Don't set desc->label.
290 (output_constant_def): Do the lookup/insert using the
291 hashtab.h interface. Don't muck with n_deferred_constants or
292 DEFERRED_CONSTANT_P here.
293 Always call maybe_output_constant_def_contents.
294 (maybe_output_constant_def_contents): Take a pointer to the
295 descriptor, not the EXP and RTL separately. Return
296 immediately if this constant is not deferred. Defer output of
297 everything, except writable string constants. Update
298 n_deferred_constants here.
299 (output_constant_def_contents): Now takes just one argument,
300 an rtx. Clear DEFERRED_CONSTANT_P here.
301 (mark_constant_pool): Update for rename of n_deferred_strings.
302 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
303
304 (init_varasm_status): Clear p->deferred_constants.
305 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
306
68ef8841
KG
3072003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
308
309 * builtins.c (expand_builtin_stpcpy): Only expand when the length
310 of the source string can be evaluated at compile-time.
311
9938b5d9
AH
3122003-05-05 Aldy Hernandez <aldyh@redhat.com>
313
10b6a274 314 * testsuite/gcc.c-torture/compile/simd-6.c: New.
9938b5d9 315
10b6a274 316 * c-typeck.c (digest_init): Handle arrays of vector constants.
9938b5d9 317
e3e9f108
JJ
3182003-05-05 Jakub Jelinek <jakub@redhat.com>
319
320 * builtins.c (expand_builtin_mempcpy): New function.
321 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
322 ignored into strcpy no matter what arguments it has.
323 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
324 expand_builtin_mempcpy.
325
6035d635
AH
3262003-05-05 Aldy Hernandez <aldyh@redhat.com>
327
10b6a274 328 * testsuite/gcc.dg/20030505.c: New.
6035d635 329
10b6a274
ZW
330 * c-typeck.c (convert_for_assignment): Opaque pointers can
331 interconvert.
6035d635 332
10b6a274
ZW
333 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
334 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
335 (spe_init_builtins): Rename all pv2si_type_node to
336 opaque_p_V2SI_type_node.
337 Remove declaration of pv2si_type_node.
338 (is_ev64_opaque_type): Accept opaque pointers.
6035d635 339
36b29d7d
GK
3402003-05-05 Geoffrey Keating <geoffk@apple.com>
341
bc9ec0e0
GK
342 * config/rs6000/rs6000.c (validate_condition_mode): Use
343 flag_finite_math_only.
344 (rs6000_reverse_condition): Never return UNKNOWN; use
345 flag_finite_math_only.
346 (rs6000_generate_compare): Use flag_finite_math_only.
347 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
348 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
10b6a274 349 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
bc9ec0e0 350
36b29d7d
GK
351 * toplev.c (check_global_declarations): Suppress not-used warning
352 for volatile variables.
353
9e5f281f
OH
3542003-05-05 Olivier Hainque <hainque@act-europe.fr>
355
10b6a274
ZW
356 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
357 usage of bitfield instructions for mode1 != BLKmode, only ignoring
358 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
359 (store_field): Likewise.
9e5f281f 360
f5119d10
AH
3612003-05-05 Aldy Hernandez <aldyh@redhat.com>
362
10b6a274
ZW
363 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
364 evsubifw to builtins accepting 5-bit unsigned constants.
365 (easy_vector_constant): Return if V1DImode. Fix typo.
f5119d10 366
25ecd459
AH
3672003-05-05 Aldy Hernandez <aldyh@redhat.com>
368
10b6a274 369 * config/rs6000/spe.h: Revert licensing change from last patch.
25ecd459 370
9be13211
DD
3712003-05-05 DJ Delorie <dj@redhat.com>
372
373 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
374 before reload, but defer the split until after.
375 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
376 to match.
377
2c9d95ef
DE
3782003-05-05 David Edelsohn <edelsohn@gnu.org>
379
380 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
381 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
382
1e77e673
ZD
3832003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
384
385 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
10b6a274 386 is defined.
1e77e673 387
00362064
KG
3882003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
389
390 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
391 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
392 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
393
394 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
395 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
396 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
397 New.
398
399 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
400 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
401
402 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
403 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
404 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
405 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
406 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
407 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
408 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
409 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
410 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
411 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
412 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
413 BUILT_IN_STRDUP): Add "nonnull" attribute.
414
ad26fb41
RK
4152003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
416
c1853da7
RK
417 * expr.c (store_field): Don't clobber TEMP in shift: it might be
418 a variable.
419 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
420 whose purpose is to step up the alignment.
421 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
422
ad26fb41
RK
423 * stor-layout.c (compute_record_mode): Relax restriction
424 on fields crossing word boundaries forcing BLKmode.
425
1fecc266
NB
4262003-05-04 Neil Booth <neil@daikokuya.co.uk>
427
428 * cppinit.c (cpp_create_reader, post_options): Warn about
429 trigraphs unless explicity set or -trigraphs.
430 * cpplex.c (warn_in_comment): New.
431 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
432 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
433 * doc/cppopts.texi, doc/cpp.texi: Update.
434
09780dfb
ZD
4352003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
436
437 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
438 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
439 namespace clash.
440 (GCOV_MERGE_FUNCTIONS): New.
441 (gcov_merge_fn): Declare.
442 (struct gcov_ctr_info): New field "merge".
443 (__gcov_merge_add): Declare.
444 * coverage.c (ctr_merge_functions): New.
445 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
446 of gcov_ctr_info type.
447 * libgcov.c (__gcov_merge_add): New.
448 (gcov_exit): Call a hook to merge values of counters.
449
c71f2ffd
GDR
4502003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
451
452 * toplev.h (pedwarn_with_file_and_line): Don't declare.
453 * diagnostic.c (pedwarn_with_file_and_line): Remove.
454
3d885683
GDR
4552003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
456
457 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
458
8c9b38d7
KG
4592003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
460
461 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
462 expand_builtin_frame_address): Update prototypes.
463 (expand_builtin_constant_p, expand_builtin_strlen,
464 expand_builtin_strcpy, expand_builtin_memset,
465 expand_builtin_bzero, expand_builtin_args_info,
466 expand_builtin_frame_address): Pass in just the argument(s)
467 needed, not the entire expression `exp'.
468 (expand_builtin): Update all calls to these functions.
469
9c80ff25
RH
4702003-05-03 Richard Henderson <rth@redhat.com>
471
472 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
473 <BUILT_IN_DWARF_SP_COLUMN>: New.
474 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
475 (BUILT_IN_DWARF_SP_COLUMN): New.
476 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
477 (expand_builtin_dwarf_sp_column): New.
478 * except.h: Update to match.
479 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
480 (execute_cfa_program): Record location expression address
481 before extracting length.
482 (uw_update_context_1): Install old CFA into stack pointer column.
483 (uw_init_context_1): Set cfa_reg to stack pointer column.
484
4d588c14
RH
4852003-05-03 Richard Henderson <rth@redhat.com>
486
487 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
488 return bool.
489 (toc_relative_expr_p): Likewise.
490 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
491 (legitimate_constant_pool_address_p): Move from rs6000.h, change
492 into a function, downcase all users.
493 (legitimate_small_data_p): Likewise.
494 (legitimate_offset_address_p): Likewise.
495 (legitimate_indexed_address_p): Likewise.
496 (legitimate_indirect_address_p): Likewise.
497 (legitimate_lo_sum_address_p): Likewise.
498 (rs6000_mode_dependent_address): Likewise.
499 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
500 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
501 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
502 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
503 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
504 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
505 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
506 * config/rs6000/rs6000-protos.h: Update.
507
8d90f9c0
GK
5082003-05-03 Geoffrey Keating <geoffk@apple.com>
509
b39358e1
GK
510 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
511 (REVERSE_CONDITION): Define.
512
b7053a3f
GK
513 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
514 to branch_positive_comparison_operator.
515 (ccr_bit): Check that sCOND conditions are actually a positive bit.
516 (print_operand): Remove %D substitution.
517 (rs6000_emit_sCOND): Generate complement operation to ensure that
518 sCOND input is a positive bit.
519 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
520 same order as bCOND, and add the missing ones. Remove the %D
521 substitutions from the scc patterns.
522
8d90f9c0
GK
523 * simplify-rtx.c (simplify_relational_operation): Add case for
524 ! (fabs(x) < 0.0).
525
8882ac3a
BK
5262003-05-03 Bruce Korb <bkorb@gnu.org>
527
528 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
529 in fixincl.x
530 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
531
bd879e9a
AH
5322003-05-03 Aldy Hernandez <aldyh@redhat.com>
533
4d588c14 534 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
bd879e9a 535
87f85ea0
ZW
5362003-05-03 Zack Weinberg <zack@codesourcery.com>
537
538 PR c/10604
539 * c-common.c (warn_sign_compare): Initialize to -1.
540 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
541 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
542 for C++ only.
543 (c_common_post_options): Set warn_sign_compare from extra_warnings
544 if it's still -1 at this point.
545
546 * toplev.c (maybe_warn_unused_parameter): New static variable.
547 (set_Wextra): New static function.
548 (W_options): Remove "extra".
549 (decode_W_option): Call set_Wextra.
550 (independent_decode_option): Likewise.
551 (set_Wunused): Cooperate with set_Wextra in setting
552 warn_unused_parameter.
553 (rest_of_compilation): No need to check extra_warnings as
554 well as warn_uninitialized.
555
556 * c-typeck.c (build_binary_op, build_conditional_expr):
557 No need to check extra_warnings as well as warn_sign_compare.
558 (internal_build_compound_expr): No need to check extra_warnings
559 as well as warn_unused_value.
560 * function.c (expand_function_end): No need to check extra_warnings
561 as well as warn_unused_parameter.
562 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
563 as well as warn_unused_value.
564
565 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
566
567 * Makefile.in: Disable -Werror for gengtype-lex.o.
568
ee960939
OH
5692003-05-03 Olivier Hainque <hainque@act-europe.fr>
570
571 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
572 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
573 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
574 * calls.c (emit_call_1): Likewise.
87f85ea0 575 (expand_call): For calls initializing constant memory, replace
ee960939
OH
576 emission of standalone mem /u clobber with function usage entry.
577 * expr.c (emit_block_move_via_libcall): Likewise.
578 * cse.c (count_reg_usage, case EXPR_LIST): New case.
579 * flow.c (propagate_one_insn): Pass entire operand of
580 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
581 * integrate.c (try_constants): For CALL_INSNs, substitute constants
582 within the FUNCTION_USAGE also.
583 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
584 FUNCTION_USAGE lists.
585 * reload1.c (replace_pseudos_in): Renamed.
586 (reload): Use it for clobbers surviving until the end of the reload.
587
3923e410
RK
5882003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
589
13cf99ec
RK
590 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
591 gen_lowpart on non-integer modes.
592
3923e410
RK
593 * stor-layout.c (place_field): When adjusting offset_align, use
594 desired_align, not DECL_ALIGN.
595
070588f0
NS
5962003-05-03 Nathan Sidwell <nathan@codesourcery.com>
597
598 * c-decl.c (pending_invalid_xref_file): Remove.
599 (pending_invalid_xref_line): Remove.
600 (pending_invalid_xref_location): New.
601 (lookup_label): Use location_t and input_location directly.
602 (lookup_tag): Likewise.
603 (pending_xref_error): Likewise.
604 (c_expand_body_1): Likewise.
605 * c-common.c (x_expand_start_cond): Likewise.
606 * c-semantics.c (genrtl_for_stmt): Likewise.
607 (find_reachable_label): Likewise.
608 * expr.c (expand_expr): Likewise.
609 * integrate.c (output_inline_function): Likewise.
610 * tree-inline.c (find_alloca_call): Likewise.
611 (find_builtin_longjmp_call): Likewise.
612 * gcc.c (input_filename): Make static.
87f85ea0 613
b259a9a6
RS
6142003-05-03 Richard Sandiford <rsandifo@redhat.com>
615
969c6c43
RS
616 * config/mips/mips.md: Fix comment typo.
617
b259a9a6
RS
618 * config/mips/mips.c (mips_integer_op): New structure.
619 (MIPS_MAX_INTEGER_OPS): Define.
620 (mips_const_insns): Use mips_build_integer to determine the number
621 of instructions needed to load a CONST_INT.
622 (move_operand): Reject compound CONST_INTs.
623 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
624 (mips_move_integer): New fn.
625 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
626 (mips_legitimize_move): Only legitimize constants when moving
627 word or subword values.
628
28068c2c
MK
6292003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
630
631 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
632
685828f7
KG
6332003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
634
635 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
636 modifying it.
637
d9e95c63
FH
6382003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
639 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
640
641 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
642 Hernandez, and Kazu Hirata. Update Richard Henderson.
643
7454096f
GK
6442003-05-02 Geoffrey Keating <geoffk@apple.com>
645
b86fe7b4
GK
646 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
647 to tentative declaration.
87f85ea0 648
20bfcd69
GK
649 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
650 (SYMBOL_FLAG_SMALL_V4): Delete.
651 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
652 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
653 (rs6000_elf_in_small_data_p): Add extra section names. Add
654 comment about TREE_PUBLIC test.
655
7454096f
GK
656 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
657 expand_stmt on result of expand_unreachable_stmt.
658
3f4a3170
GP
6592003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
660
661 * doc/contrib.texi (Contributors): Add Daniel Berlin.
662
473f51b6
DE
6632003-05-02 David Edelsohn <edelsohn@gnu.org>
664
665 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
666 number of automata.
667
668 * config/rs6000/rs6000.c (symbol_ref_operand): Check
669 SYMBOL_REF_FUNCTION_P on AIX.
670 (current_file_function_operand): Same.
671 * config/rs6000/rs6000.md (call,call_value): Force non-function
672 symbol_ref into register on AIX.
673
e7949876
AM
6742003-05-02 Alan Modra <amodra@bigpond.net.au>
675
676 * calls.c (struct arg_data): Move offset, slot_offset, size and
677 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
678 (initialize_argument_information): Adjust call to locate_and_pad_parm.
679 Delete alignment_pad var. Don't calculate slot_offset here.
680 (emit_library_call_value_1): Delete alignment_pad, offset and size
681 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
682 Adjust call to locate_and_pad_parm. Don't tweak arg size for
683 partial in-regs here. Formatting fixes.
684 * expr.h (struct locate_and_pad_arg_data): New struct.
685 (locate_and_pad_parm): Adjust declaration.
686 * function.c (assign_parms): Localize vars. Use "locate" instead of
687 other arg location vars. Don't invoke FUNCTION_ARG or
688 FUNCTION_INCOMING_ARG unless pretend_named is different from
689 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
690 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
691 Use slot_offset for stack home of reg parms. Correct test for
692 parm passed in memory. Formatting fixes.
693 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
694 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
695 Correct initial_offset_ptr handling. Localize vars. Always pad
696 locate->offset even when in_regs.
697
6060edcb
NS
6982003-05-02 Nathan Sidwell <nathan@codesourcery.com>
699
700 * Makefile.in (TREE_H): Replace location.h with input.h.
701 (GTFILES) Remove location.h
702 (gt-lists.h): Replace gt-location.h with gt-input.h
703 * input.h (input_filename, input_line): Remove variables.
704 (location_s, location_t): Move from location.h.
705 (input_location): New.
706 (input_filename, input_line): New #defines.
707 * location.h: Remove.
708 * tree.h: Replace location.h with input.h.
709 (input_filename, input_line): Remove.
710 * diagnostic.h: Replace location.h with input.h.
711 * gcc.h (input_filename, input_filename_length): Remove declarations.
712 * toplev.c (input_filename, input_line): Remove.
713 (input_location): Define.
714 (push_srcloc, pop_srcloc): Adjust.
715 * diagnostic.c (diagnostic_report_current_module): Adjust.
716
f8000836
NC
7172003-05-02 Nick Clifton <nickc@redhat.com>
718
719 * configure.in: Add xstormy16 to list of targets that has a nop
720 instruction and hence which can be tested to see if the
721 assembler supports the --gdwarf2 switch.
722 * configure: Regenerate.
723
409f52d3 7242003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
87f85ea0
ZW
725
726 PR target/8257
727 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
728 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
729 Avoid undefined shifts by making the shift operand unsigned.
730
57458e8a
DD
7312003-05-01 DJ Delorie <dj@redhat.com>
732
733 * reload.c (find_reloads): Also check that all of a multi-reg
734 value is in the class.
735
774cb6d1
NS
7362003-05-01 Nathan Sidwell <nathan@codesourcery.com>
737
738 * scan.h (lineno): Revert the rename here.
739
e1a4211d
SS
7402003-05-01 Stan Shebs <shebs@apple.com>
741
742 * config/darwin.c (darwin_encode_section_info): Call
743 default_encode_section_info.
744
02ca7595
DE
7452003-05-01 David Edelsohn <edelsohn@gnu.org>
746
747 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
748 (movsi_internal1): Use new mfjmpr attribute.
749 (movhi_internal): Same.
750 (movqi_internal): Same.
751 (movcc_internal1): Same.
752 (movdi_internal64): Same.
753 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
754 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
755 * config/rs6000/40x.md: Add fpu_405.
756 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
757 into power4misc automata. Remove extraneous parentheses.
758 * config/rs6000/440.md: New file.
759 * config/rs6000/rs6000.c (processor_target_table): Add 440,
760 440fp. Rename 405f to 405fp.
761 (function_arg_padding): Correct formatting.
762 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
763
3b895f8e
NS
7642003-05-01 Nathan Sidwell <nathan@codesourcery.com>
765
d479d37f
NS
766 * input.h (lineno): Rename to ...
767 (input_line): ... here.
768 * tree.h (lineno): Rename to ...
769 (input_line): ... here.
770 * scan.h (lineno): Rename to ...
771 (input_line): ... here.
772 * toplev.c (lineno): Rename to ...
773 (input_line): ... here.
774 (push_srcloc, pop_srcloc): Rename lineno to input_line.
775 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
776 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
777 store_parm_decls, c_expand_body_1): Likewise.
778 * c-errors.c (pedwarn_c99): Likewise.
779 * c-format.c (status_warning): Likewise.
780 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
781 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
782 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
783 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
784 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
785 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
786 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
787 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
788 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
789 * coverage.c (create_coverage): Likewise.
790 * diagnostic.c (pedwarn, sorry, error, fatal_error,
791 internal_error, warning, diagnostic_report_current_module,
792 inform): Likewise.
793 * expr.c (expand_expr): Likewise.
794 * integrate.c (expand_inline_function,
795 output_inline_function): Likewise.
796 * rtl-error.c (file_and_line_for_asm): Likewise.
797 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
798 walk_tree): Likewise.
799 * tree.c (make_node): Likewise.
800 * ada, cp, f, java, objc, treelang: Likewise.
801 * objc/objc-act.c (objc_init): Rename lineno to input_line.
802 (build_module_descriptor, build_selector_translation_table,
803 build_protocol_template, build_method_prototype_list_template,
804 build_category_template, build_selector_table,
805 build_class_template, build_super_template, build_ivar_template,
806 build_ivar_list_template, build_method_list_template,
807 build_method_template, add_instance_variable): Likewise.
808
3b895f8e
NS
809 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
810 name from input_filename.
811
cafe096b
EC
8122003-04-30 Eric Christopher <echristo@redhat.com>
813 Richard Sandiford <rsandifo@redhat.com>
814
815 * configure: Regenerate from patches below.
816 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
817 for all symbolic operands.
818 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
819 to function.
820 * config/mips/linux.h: Fix typo.
821 * Merge from mips-3_4-rewrite branch:
822
823 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
824
87f85ea0
ZW
825 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
826 handling local labels when TARGET_ABICALLS.
cafe096b
EC
827
828 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
829
87f85ea0
ZW
830 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
831 integer argument.
832 (mips_expand_call): Likewise.
833 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
834 (FIXED_REGISTERS): Clear $31 entry.
835 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
836 (EPILOGUE_USES): Define.
837 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
838 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
839 (override_options): Add a 'j' register class.
840 (mips_expand_call): Handle sibcalls
841 (mips_expand_epilogue): Handle epilogues for sibcalls.
842 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
843 (sibcall_epilogue): New pattern.
844 (call, call_value): Adjust calls to mips_expand_call.
845 (sibcall, sibcall_value): New expanders.
846 (sibcall_internal, sibcall_value_internal): New patterns.
847 (sibcall_value_multiple_internal): New pattern.
cafe096b
EC
848
849 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
850
87f85ea0
ZW
851 * config/mips/mips.md (extended_mips16): New attribute.
852 (define_attr length): Default to 8 if extended_mips16 == yes.
853 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
854 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
855 (call_internal): Set extended_mips16 to yes for direct jumps.
856 Remove redundant mode attribute.
857 (call_value_internal, call_value_multiple_internal): Likewise.
858 (call_split): Remove redundant mode attribute.
859 (call_value_split, call_value_multiple_split): Likewise.
cafe096b 860
87f85ea0
ZW
861 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
862 of unaligned offsets.
cafe096b
EC
863
864 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
87f85ea0 865 of SYMBOL_GENERAL.
cafe096b
EC
866
867 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
868
87f85ea0
ZW
869 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
870 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
871 for mips16 code.
cafe096b
EC
872
873 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
874
87f85ea0 875 * config/mips/mips.h (ADDRESS_COST): Define.
cafe096b
EC
876
877 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
878
87f85ea0
ZW
879 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
880 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
881 * config/mips/mips.md: Replace 'R' constraints with 'U'.
cafe096b
EC
882
883 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
884
87f85ea0
ZW
885 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
886 of a two-instruction sequence. Add register->memory alternative.
887 (truncdihi2, truncdiqi2): Likewise.
888 Rework shift/truncate instructions so that they only handle right
889 shifts of 32 (or more, in the case of arithmetic shifts).
890 Add patterns for truncate/sign-extend.
cafe096b
EC
891
892 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
893
87f85ea0
ZW
894 * configure.in (mips*-*-*): Check for explicit relocation support.
895 * configure: Regenerate.
cafe096b
EC
896
897 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
898
87f85ea0
ZW
899 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
900 and -mno-explicit-relocs.
901 (MASK_EXPLICIT_RELOCS): Define.
902 (TARGET_EXPLICIT_RELOCS): Use it.
903 (mips_split_addresses): Remove declaration.
904 * config/mips/mips.c (override_options): Update comment for
905 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
cafe096b
EC
906
907 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
908
87f85ea0
ZW
909 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
910 a CONST as identity. Check the return value of gen_lowpart_common.
cafe096b
EC
911
912 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
913
87f85ea0
ZW
914 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
915 references for TARGET_EXPLICIT_RELOCS.
916 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
917 !TARGET_MIPS16.
cafe096b
EC
918
919 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
920
87f85ea0
ZW
921 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
922 (addsi3): Remove redundant constraints.
923 (addsi3_internal): Use separate register & constant alternatives.
924 Use a 'Q' constraint and "addiu" insn for the latter.
925 (adddi3_internal_3, addsi3_internal_2): Likewise.
cafe096b
EC
926
927 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
928
87f85ea0
ZW
929 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
930 (mips_expand_unaligned_store): Declare.
931 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
932 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
933 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
934 (UNSPEC_ULD, UNSPEC_USD): Remove.
935 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
936 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
937 (extv, extzv): Use mips_expand_unaligned_load.
938 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
939 predicate for operand 3.
940 (movsi_ulw, movsi_usw): Replace with...
941 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
942 (movdi_uld, movdi_usd): Likewise replace with...
943 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
cafe096b
EC
944
945 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
946
87f85ea0
ZW
947 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
948 * config/mips/mips.h (LEA_REGS): New register class.
949 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
950 (GR_REG_CLASS_P): Include LEA_REGS.
951 (DANGEROUS_FOR_LA25_P): New macro.
952 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
953 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
954 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
955 entries to LEA_REGS.
956 (mips_global_pic_constant_p): New function.
957 (override_options): Add 'e' register constraint.
958 (mips_secondary_reload_class): Return LEA_REGS when reloading
959 a dangerous constant into a class containing $25.
960 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
961 (movsi_internal): Likewise.
cafe096b
EC
962
963 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
964
87f85ea0
ZW
965 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
966 * config/mips/mips.md (call_split): New insn.
967 (call_value_split, call_value_multiple_split): New insns.
968 (call_internal): Turn into a define_insn_and_split. Split the
969 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
970 (call_value_internal, call_value_multiple_internal): Likewise.
cafe096b
EC
971
972 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
973
87f85ea0
ZW
974 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
975 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
976 (mips_encode_section_info): Don't take symbol visibility into
977 account if TARGET_ABICALLS. Add more commentary.
978 * config/mips/mips.md: Add commentary above reloc constants.
cafe096b
EC
979
980 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
981
87f85ea0
ZW
982 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
983 from mips_legitimize_move. Legitimize constant pool references.
984 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
985 a REG_EQUAL note to the last instruction.
cafe096b
EC
986
987 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
988
87f85ea0
ZW
989 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
990 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
991 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
992 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
993 * config/mips/mips.md (UNSPEC_HIGH): New constant.
994 (UNSPEC_RELOC_GPREL16): Rename to...
995 (RELOC_GPREL16): ...this.
996 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
997 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
998 (macro_calls): New attribute.
999 (length): Use it to set the default length of calls. Don't allow
1000 calls to have delay slots if macro_calls is "yes".
1001 (luisi, luidi): New patterns.
1002 (lowsi, lowdi): Use '%R' to print the relocation.
1003 (lowdi_extend): Remove.
1004 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
1005 (call_internal): Merge alternatives. Always use "jal".
1006 (call_value_internal, call_value_multiple_internal): Likewise.
1007 (reloc_gprel16): Remove.
1008 * config/mips/mips.c (mips_got_alias_set): New variable.
1009 (mips_classify_constant): Handle the new relocation constants.
1010 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
1011 (mips_symbolic_address_p): Return false if generating explicit relocs.
1012 Otherwise allow local PIC symbols to have an offset.
1013 (mips_splittable_symbol_p): New function.
1014 (mips_classify_address): Use it to check whether a LO_SUM is valid.
1015 (mips_const_insns): Always accept HIGH.
1016 (call_insn_operand): Don't accept global symbols if using explicit
1017 relocs.
1018 (move_operand): Don't accept HIGH when generating PIC.
1019 (mips_reloc, mips_lui_reloc): New functions.
1020 (mips_force_temporary): Remove MODE argument. Expect VALUE to
1021 be a valid right-hand-side for a SET pattern.
1022 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
1023 (mips_emit_high): New function.
1024 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
1025 case. Use mips_splittable_symbol_p to check whether a LO_SUM
1026 address should be used. Use mips_emit_high to generate the
1027 high part of such an address. Adjust the global symbol + offset
1028 case to match the change to mips_force_temprorary.
1029 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
1030 If generating explicit-reloc PIC, load the address of global
1031 symbols from the GOT. Use mips_emit_high to emit the high part
1032 of an address.
1033 (mips_simplify_dwarf_addr): New function.
1034 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
1035 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
1036 (mips_expand_call): Load the addresses of global functions using
1037 %call* relocs if generating explicit-reloc PIC. Don't generate
1038 an exception_receiver pattern.
1039 (override_options): Initialize mips_got_alias_set.
1040 (print_relocation): Remove in favour of...
1041 (mips_reloc_string): ...this new function.
1042 (print_operand): Handle '%R'. Use mips_reloc_string.
1043 (print_operand_address): Use print_operand to print the symbolic
1044 part of a LO_SUM address.
1045 (mips_output_function_prologue): Use .cprestore, reverting last patch.
1046 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
1047 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
1048 for local symbols.
cafe096b
EC
1049
1050 2003-02-02 Eric Christopher <echristo@redhat.com>
1051
1052 * config/mips/mips.c (mips_sign_extend): Remove.
87f85ea0
ZW
1053 * config/mips/mips-protos.h: Ditto.
1054 * config/mips/mips.md (movdi_internal2_extend): Remove.
1055 (extendsidi2): Fix mode of convert_memory_address.
cafe096b
EC
1056
1057 2003-01-24 Eric Christopher <echristo@redhat.com>
1058
87f85ea0
ZW
1059 * config/mips/mips.md: Rewrite zero_extend* and extend*
1060 patterns. Use explicit instructions and split after reload
1061 for register extensions.
1062 (ashlsi3_internal1_extend): New combiner pattern for
1063 shift and extend combinations.
1064 * config/mips/mips.h: Change Pmode back to ptr_mode
1065 for performance enhancement.
1066 * combine.c (expand_compound_operation): Make sure
1067 that zero_extend operation is profitable.
cafe096b
EC
1068
1069 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
1070
87f85ea0
ZW
1071 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
1072 addresses depend on ptr_mode rather than Pmode.
1073 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
1074 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
1075 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
1076 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
1077 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
1078 condition for selecting cpaddsi or cpadddi: use cpadd instead.
1079 (tablejump_internal1): Remove condition.
1080 (tablejump_internal2): Change condition to TARGET_64BIT.
1081 (cpaddsi): Rename to...
1082 (cpadd): ...this.
1083 (cpadddi): Remove.
cafe096b
EC
1084
1085 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
1086
87f85ea0
ZW
1087 * config/mips/mips-protos.h (mips16_constant_after_function_p,
1088 mips_address_cost, mips_check_split, double_memory_operand,
1089 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
1090 pic_address_needs_scratch, symbolic_operand): Remove declarations.
1091 (mips_legitimate_address_p): Return bool.
1092 (mips_address_insns, mips_fetch_insns, mips_const_insns,
1093 mips_legitimize_address, mips_legitimize_move,
1094 mips_expand_call): Declare.
1095 (mips_return_addr): Move outside #ifdef RTX_CODE.
1096
1097 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
1098 (PIC_FN_ADDR_REG): New reg_class.
1099 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
1100 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
1101 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
1102 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
1103 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
1104 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
1105 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
1106 (LEGITIMATE_PIC_OPERAND): Undefine.
1107 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
1108 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
1109 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
1110 (FUNCTION_MODE): Change to SImode.
1111 (CONST_COSTS): Use mips_const_insns to calculate the cost of
1112 most constants. Treat const_artih_operands specially if they
1113 occur in a PLUS or MINUS.
1114 (CONSTANT_POOL_COST): New macro.
1115 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
1116 Add LO_SUM handling.
1117 (ADDRESS_COST): Undefine.
1118 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
1119 Add CONST to the list of codes for arith_operand. Add LABEL_REF
1120 to call_insn_operand and remove CONST_INT.
1121
1122 * config/mips/mips.c: Include integrate.h.
1123 (SINGLE_WORD_MODE_P): New macro.
1124 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
1125 (mips_constant_info, mips_address_info): New structs.
1126 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
1127 (mips_classify_constant, mips_classify_symbol,
1128 mips_valid_base_register_p, mips_symbolic_address_p,
1129 mips_classify_address, mips_symbol_insns,
1130 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
1131 mips_fetch_insns, mips_force_temporary, mips_add_offset,
1132 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
1133 mips_print_relocation): New functions.
1134 (const_arith_operand): New operand predicate.
1135 (arith_operand): Use it.
1136 (mips_const_double_ok, mips16_simple_memory_operand,
1137 simple_memory_operand, double_memory_operand, mips_check_split,
1138 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
1139 mips16_gp_offset_p, mips16_output_gp_offset,
cafe096b 1140 mips16_constant_after_function_p, mips16_constant): Remove.
87f85ea0
ZW
1141 (call_insn_operand): Be more fussy about symbolic constants.
1142 Use register_operand.
1143 (move_operand): Use mips_symbolic_address_p to check symbolic
1144 operands and general_operand to check the rest.
1145 (symbolic_operand): Use mips_classify_constant.
1146 (mips_legitimate_address_p): Use mips_classify_address.
1147 (mips_move_1word): Combine handling of symbolic addresses.
1148 Remove special treatment of gp-relative loads for TARGET_MIPS16.
1149 (move_move_2words): Likewise. Assume addresses are offsettable
1150 if they need to refer to more than one word. Add HIGH handling.
1151 (mips_restore_gp): Use ptr_mode for the GP save slot.
1152 (mips_expand_call): New function, combining the old mips.md
1153 call and call_internal define_expands. If the address isn't
1154 a call_insn_operand, force it into a register. For SVR4 PIC,
1155 emit an exception_receiver instruction after the call.
1156 (override_options): Only override flag_pic for TARGET_ABICALLS
1157 if it is currently zero. Allow mips_split_addresses when
1158 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
1159 Add new register class letter, 'c'.
1160 (print_operand): Use mips_classify_constant for constant operands.
1161 (print_operand_address): Use mips_classify_address.
1162 (mips_output_function_prologue): Don't use .cprestore.
1163 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
1164 via the frame pointer if current_function_calls_eh_return.
1165 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
1166 to mark whether a symbol is local or global.
1167 (build_mips16_call_stub): Expect the address of the function rather
1168 than a MEM reference to it. Update call generation sequences.
1169 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
1170 small-data adjustments.
1171
1172 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
1173 length for loads and stores.
1174 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
1175 (define_attr type): Add const and prefetch.
1176 (define_attr length): Use mips_const_insns for const instructions.
1177 Use mips_fetch_insns for load and store instructions.
1178 (define_attr single_insn): New.
1179 (define_attr can_delay): Use it.
1180 (define_attr abicalls): Remove.
1181 (define_delay): Use can_delay. Always allow calls to have delay slots.
1182 (addsi3_internal_2): Add 'Q' constraint.
1183 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
1184 (high): Remove.
1185 (lowsi): Renamed from low.
1186 (lowdi): New pattern.
1187 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
1188 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
1189 (loadgp): Change operand 0 to an immediate_operand.
1190 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
1191 beforehand.
1192 (cpaddsi, cpadddi): New patterns.
1193 (tablejump_internal3, tablejump_internal4): Remove define_expands
1194 and associated define_splits.
1195 (call, call_value): Use mips_expand_call.
1196 (call_internal): New, replacing all existing call_internal* insns.
1197 (call_value_internal): Likewise call_value_internal*.
1198 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
1199 (untyped_call): Remove if (operands[0]) magic.
1200 (prefetch_si_address, prefetch_si): Change type to "prefetch".
1201 (prefetch_di_address, prefetch_di): Likewise.
1202 (leasi, leadi): Remove.
1203 (reloc_gprel16): New.
1204
1205 * config/mips/5400.md (ir_vr54_hilo): Include const type.
1206 * config/mips/5500.md (ir_vr55_hilo): Likewise.
1207 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
cafe096b
EC
1208
1209 2003-01-08 Eric Christopher <echristo@redhat.com>
1210
87f85ea0
ZW
1211 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
1212 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
1213 configure check for libgloss.
1214 * config/mips/elf64.h: Ditto.
1215 * config/mips/mips.c: Remove ABI_MEABI.
1216 * config/mips/mips.h: Ditto.
cafe096b
EC
1217
1218 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
1219
87f85ea0
ZW
1220 Fix merge fallout.
1221 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
1222 (muldi3_internal): Remove outdated comment.
1223 (*muls_di, *umuls_di): Fix comment and 64-bitness.
1224 (*smsac_di, *umsac_di): Likewise. Reformat.
1225 (umulsi3_highpart): Minor formatting tweaks.
1226 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
1227 redundant scratch operand. Minor formatting tweak.
1228 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
1229 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
1230 (smulsi3_highpart): As for the unsigned version.
1231 (smulsi3_highpart_internal): Likewise.
1232 (smulsi3_highpart_mulhi_internal): Likewise.
1233 (smulsi3_highpart_neg_mulhi_internal): Likewise.
1234 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
1235 (*smul_acc_di): Remove duplicated pattern.
1236 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
1237 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
1238 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
cafe096b
EC
1239
1240 2002-10-22 Eric Christopher <echristo@redhat.com>
1241
87f85ea0
ZW
1242 * config/mips/mips-protos.h (mips_return_addr): New.
1243 * config/mips/mips.c (mips_return_addr): New.
1244 (movdi_operand): Remove.
1245 (se_register_operand): Ditto.
1246 (se_reg_or_0_operand): Ditto.
1247 (se_uns_arith_operand): Ditto.
1248 (se_arith_operand): Ditto.
1249 (se_nonmemory_operand): Ditto.
1250 (extend_operator): Ditto.
1251 (highpart_shift_operator): Ditto.
1252 (mips_initial_elimination_offset): Remove return address pointer
1253 elimination.
1254 (mips_reg_names): Remove $ra.
1255 (mips_regno_to_class): Ditto.
1256 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
1257 and TARGET_64BIT.
1258 (POINTER_BOUNDARY): Remove.
1259 (POINTERS_EXTEND_UNSIGNED): Define to 0.
1260 (PROMOTE_MODE): Promote to Pmode.
1261 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
1262 (Pmode): Define to TARGET_64BIT.
1263 (FUNCTION_MODE): Define as Pmode.
1264 (mips_args): Remove deleted functions.
1265 (SIZE_TYPE): Depend on POINTER_SIZE.
1266 (PTRDIFF_TYPE): Ditto.
1267 (FIXED_REGISTERS): Fix extra registers.
1268 (CALL_USED_REGISTERS): Ditto.
1269 (CALL_REALLY_USED_REGISTERS): Ditto.
1270 (RAP_REG_NUM): Remove.
1271 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
1272 (RETURN_ADDR_RTX): Define to mips_return_addr.
1273 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
1274 (CAN_ELIMINATE): Ditto.
1275 * config/mips/mips.md: For DImode patterns, take into account
1276 deletions above. Split mulsidi patterns into sign_extend and
1277 zero_extend.
cafe096b
EC
1278
1279 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
87f85ea0
ZW
1280 Michael Meissner <meissner@redhat.com>
1281
1282 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
1283 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
1284 mop up unnecessarly moves through LO.
1285 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
1286 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
1287 change mtlo/macc sequences into mul/add sequences when a three-
1288 address mul is available.
1289 (*macc2): New pattern. Add a define_peephole2 to generate it.
1290 (*mul_sub_si): Fix contraint for operand 5.
1291 (*muls): Use in 32-bit code as well.
1292 (*msac): Likewise. Use msub instead of msac in vr5500 code
1293 if the destination is LO. Remove duplicate define_split.
1294 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
1295 (*msac_di): Likewise. Fix formatting.
1296 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
1297 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
1298 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
1299 (*xmulsi3_neg_highpart_mulhi): Likewise.
1300 (*mul_acc_64bit_di): Remove.
1301 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
cafe096b
EC
1302
1303 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
1304
87f85ea0
ZW
1305 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
1306 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
1307 (MULTILIB_DIRNAMES): Remove long32.
1308 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
1309 (MULTILIB_REDUNDANT_DIRS): Remove.
cafe096b
EC
1310
1311 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
1312
87f85ea0
ZW
1313 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
1314 * gcc.c (driver_self_specs): New variable.
1315 (do_self_spec): New function.
1316 (main): Use it to process driver_self_specs.
cafe096b
EC
1317
1318 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
1319
87f85ea0
ZW
1320 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
1321 Remove DImode define_split for !TARGET_64BIT.
1322 (anddi3): Remove !TARGET_64BIT support from here as well.
1323 Change operand 2's predicate to se_uns_arith_operand.
1324 Add constant alternatives to define_insn.
1325 (iordi3, xordi3, *nordi3): Likewise.
1326 (anddi3_internal1, xordi3_immed): Remove.
cafe096b
EC
1327
1328 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1329
87f85ea0
ZW
1330 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
1331 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
1332 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
1333 * config/mips/mips.md: Apply same renaming here.
cafe096b
EC
1334
1335 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1336
87f85ea0
ZW
1337 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
1338 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
1339 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
1340 * config/mips/mips.md (define_attr cpu): Remove r4320.
1341 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
cafe096b
EC
1342
1343 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1344
87f85ea0
ZW
1345 * config/mips/mips.c (mips16_strings): New variable.
1346 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
1347 symbol in mips16_strings. Free the list.
1348 (mips_encode_section_info): Keep track of local strings.
cafe096b
EC
1349
1350 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1351
87f85ea0
ZW
1352 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
1353 (sordered_df, sordered_sf): Remove.
1354 * config/mips/mips.c (get_float_compare_codes): New fn.
1355 (gen_int_relational, gen_conditional_move): Use it.
cafe096b
EC
1356
1357 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1358
87f85ea0
ZW
1359 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
1360 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
1361 * config/mips/mips.c (fcc_register_operand): New function.
1362 (mips_emit_fcc_reload): New function, extracted from reload_incc.
1363 (override_options): Allow TFmode values in float registers
1364 if ISA_HAS_8CC.
1365 * cnfig/mips/mips.md (reload_incc): Change destination prediate
1366 to fcc_register_operand. Remove misleading source constraint.
1367 Use mips_emit_fcc_reload.
cafe096b
EC
1368 (reload_outcc): Duplicate reload_incc.
1369
1370
44c8a5f8
DN
13712003-04-30 Diego Novillo <dnovillo@redhat.com>
1372
1373 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
1374
5d638f70
GK
13752003-04-30 Geoffrey Keating <geoffk@apple.com>
1376
1377 * tree-inline.c (inlinable_function_p): Back out last change, it's
1378 unnecessary.
1379
5e26df64
SB
13802003-04-30 Steven Bosscher <steven@gcc.gnu.org>
1381
1382 * ggc-page.c (TREE_EXP_SIZE): Define.
1383 (extra_order_size_table): New entry for expr trees with
1384 two operands.
1385
fba020b1
GDR
13862003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1387
1388 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
1389 (c_expand_start_cond): Adjust.
1390 (c_expand_end_cond): Don't use warning_with_file_and_file.
1391 (shadow_warning): Likewise.
1392
62216ea0
NS
13932003-04-30 Nathan Sidwell <nathan@codesourcery.com>
1394
1395 * tree.h (DECL_POINTER_DEPTH): Remove.
1396 (struct tree_decl): Remove pointer_depth.
cafe096b 1397
d1908feb
JJ
13982003-04-30 Janis Johnson <janis187@us.ibm.com>
1399
1400 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
1401 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
1402 (rs6000_xcoff_encode_section_info): Remove.
1403 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
1404 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
1405 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
1406 Use SYMBOL_REF_FLAGS.
1407 (rs6000_elf_encode_section_info): Call default_encode_section_info for
1408 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
1409 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
1410 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
1411 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
1412 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
1413
0e42348d
GDR
14142003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1415
1416 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
1417
dad78426
AS
14182003-04-30 Andreas Schwab <schwab@suse.de>
1419
1420 * doc/extend.texi (Other Builtins): Enclose multiple word data
1421 type in braces for @deftypefn.
1422
4c80872c
RK
14232003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1424
5826955d
RK
1425 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
1426
4c80872c
RK
1427 * doc/install.texi (--enable-threads): Document "gnat" option.
1428
10256cf5
GDR
14292003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1430
1431 * diagnostic.h (output_formatted_scalar): Tweak.
1432 * diagnostic.c (output_long_decimal): Likewise.
1433 (output_unsigned_decimal): Likewise.
1434 (output_long_unsigned_decimal): Likewise.
1435 (output_octal): Likewise.
1436 (output_long_octal): Likewise.
1437 (output_hexadecimal): Likewise.
1438 (output_long_hexadecimal): Likewise.
1439 (output_pointer): New function.
1440 (output_format): Use it. Recognize "%p" format specifier.
1441
b2a7fa89
ZD
14422003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1443
1444 * function.c (purge_addressof_1): Postpone insn in fewer cases.
1445
a6fdc086
GK
14462003-04-29 Geoffrey Keating <geoffk@apple.com>
1447
505b0fd6
GK
1448 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
1449 call abort() after running out of stack space.
1450
a6fdc086
GK
1451 * c-typeck.c (function_types_compatible_p): Ignore incompatible
1452 'volatile' qualifiers on a function's return type in GNU mode.
1453
9c0631a7
AH
14542003-04-29 Aldy Hernandez <aldyh@redhat.com>
1455
87f85ea0
ZW
1456 * expr.c (emit_group_load): Dump parallels of simd types to
1457 memory.
9c0631a7 1458
74719742
VM
14592003-04-29 Vladimir Makarov <vmakarov@redhat.com>
1460
1461 * genautomata.c (add_vect): Check undefined value for range type
1462 too.
1463
baade80b
PE
14642003-04-29 Phil Edwards <pme@gcc.gnu.org>
1465
1466 * configure.in: More general test for cmp --ignore-initial.
1467 * configure: Regenerate.
1468
84d8756d
RK
14692003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1470
0384674e
RK
1471 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
1472 (layout_decl, place_field): Likewise.
1473 Also make minor type and whitespace changes.
1474
84d8756d
RK
1475 * tree.c (save_expr): Don't fold a COMPONENT_REF.
1476
0219237c
OH
14772003-04-29 Olivier Hainque <hainque@act-europe.fr>
1478
1479 * calls.c (expand_call): When modes of target and valreg match, force
1480 sibcall failure when target is a MEM.
1481
b9538b2e
GK
14822003-04-29 Geoffrey Keating <geoffk@apple.com>
1483
b3d627e2
GK
1484 * tree-inline.c (inlinable_function_p): Don't support inlining
1485 functions using varargs.
1486
f4ddb75b
GK
1487 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
1488
0366359a
GK
1489 * dwarf2out.c (output_call_frame_info): No need to output EH
1490 unwind information if all_throwers_are_sibcalls.
1491
e55614ca
GK
1492 * c-semantics.c (expand_unreachable_stmt): Return a tree.
1493 (expand_stmt): Update for change to expand_unreachable_stmt.
1494 (expand_unreachable_if_stmt): Likewise.
1495
b9538b2e
GK
1496 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
1497
72e940d2
JM
14982003-04-29 Jason Merrill <jason@redhat.com>
1499
1500 PR middle-end/10336
cafe096b 1501 * jump.c (never_reached_warning): Really stop looking if we reach
72e940d2
JM
1502 the beginning of the function.
1503
9193479f
BW
15042003-04-29 Bob Wilson <bob.wilson@acm.org>
1505
1506 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
1507 Remove redundant macros.
1508 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
1509 (LOCAL_LABEL_PREFIX): Define unconditionally.
1510 (NO_DOT_IN_LABEL): Clarify comment.
1511 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
1512 definition to "long int".
1513
b0501ec1
AK
15142003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
1515
1516 bootstrap/10452
1517 * gengtype-yacc.y: Improve portability.
1518
8e720e8b
ZW
15192003-04-29 Zack Weinberg <zack@codesourcery.com>
1520
1521 * config.gcc: Install obsolete target list for GCC 3.3.
1522 * doc/install.texi: Mention in specific-target instructions
1523 that certain configurations are deprecated.
1524
1be3f80f
ZW
15252003-04-29 Zack Weinberg <zack@codesourcery.com>
1526
1527 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
1528
8e854b76
KL
15292003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1530
1531 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
1532 * gcc.c (display_help): Likewise.
1533 * toplev.c (f_options): Likewise.
1534 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
1535 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
1536 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
1537 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
1538 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
1539
267594f3
R
15402003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
1541
1542 * varasm.c (default_assemble_visibility): Use assemble_name.
1543
667b43dd
DB
15442003-04-29 David O'Brien <obrien@FreeBSD.org>
1545
1546 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
5b51b1f5
DB
1547 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
1548 (SIZE_TYPE): New macro.
fbf17dab
DB
1549 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
1550 (SET_ASM_OP): New macro.
1551 (HANDLE_SYSV_PRAGMA): New macro.
1552 (ASM_WEAKEN_LABEL): New macro.
667b43dd 1553
a833faa5
MM
15542003-04-28 Mark Mitchell <mark@codesourcery.com>
1555
1556 PR c++/10180
1557 * tree-inline.c (expand_call_inline): Call push_srcloc when
1558 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
1559
a72bf3e9
MS
15602003-04-28 Mike Stump <mrs@apple.com>
1561
1562 * gdbinit.in: Update to reflect new identifier structure.
1563
0864034e
ZW
15642003-04-28 Zack Weinberg <zack@codesourcery.com>
1565
1566 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
1567 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
1568 struct tree_complex, struct tree_vector): Remove RTL field.
1569 (CONSTRUCTOR_ELTS): Use elt 0.
1570 * tree.def (CONSTRUCTOR): Delete first of its two operands.
1571 * varasm.c (output_constant_def): Remove early exit if
1572 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
1573 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
1574 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
1575 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
1576
9661b15f
JJ
15772003-04-28 Jakub Jelinek <jakub@redhat.com>
1578
1579 * c-decl.c (finish_decl): When prototype with asmspec is found
1580 for built-in, adjust built_in_decls as well as expr.c decls.
1581 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
1582 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
1583 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
1584
8707fe93
RH
15852003-04-28 Richard Henderson <rth@redhat.com>
1586
0864034e
ZW
1587 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
1588 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
1589 integral constant mult operand.
1590 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
1591 (const_smulsi3_highpart_v8plus): Likewise.
1592 (const_smulsi3_highpart): Likewise.
1593 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
1594 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
1595 (const_umulsi3_highpart_v8plus): Likewise.
1596 (const_umulsi3_highpart): Likewise.
8707fe93 1597
ff4cb2e7
DB
15982003-04-28 David O'Brien <obrien@FreeBSD.org>
1599
1600 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
1601 Define as 1.
1602
495d8dd6
DB
16032003-04-28 David O'Brien <obrien@FreeBSD.org>
1604
1605 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
1606
e31603c4
JJ
16072003-04-28 Jakub Jelinek <jakub@redhat.com>
1608
1609 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
1610 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
1611 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
1612 functions.
1613 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
1614
dbe983a8
NC
16152003-04-28 Nick Clifton <nickc@redhat.com>
1616
1617 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
1618
afc6aaab
ZW
16192003-04-27 Zack Weinberg <zack@codesourcery.com>
1620
1621 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
1622 output_constant_def, use its result instead of TREE_CST_RTL (exp).
1623 Can assume it has the form (mem (symbol_ref ".LCxxx")).
1624 (expand_expr <COMPONENT_REF>): Can always just extract the
1625 relevant field of a CONSTRUCTOR.
1626 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
1627 ARRAY_RANGE_REF>): Make control flow explicit.
1628 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
1629 an INTEGER_CST.
1630
860992e6
KH
16312003-04-27 Kazu Hirata <kazu@cs.umass.edu>
1632
1633 * reload1.c (reg_set_luid): Fix a comment typo.
1634
32a61907
ZW
16352003-04-27 Zack Weinberg <zack@codesourcery.com>
1636
1637 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
1638 struct deferred_string, const_str_htab): Kill.
1639 (n_deferred_strings): New static variable.
1640 (build_constant_desc): Set SYMBOL_REF_DECL of the new
1641 symbol_ref to point to the constant.
1642 (output_constant_def): When a deferred string is forced out,
1643 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
1644 (mark_constant): Likewise.
1645 (maybe_output_constant_def_contents): When deferring a string
1646 constant, just set STRING_POOL_ADDRESS_P and increment
1647 n_deferred_strings.
1648 (mark_constant_pool): Check n_deferred_strings, not the size
1649 of const_str_htab.
1650 (init_varasm_once): No need to create const_str_htab.
1651
1652 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
1653 SYMBOL_REF_DECL points to a constant.
1654
293107d1
ZW
16552003-04-26 Zack Weinberg <zack@codesourcery.com>
1656
1657 * varasm.c (output_constant_def): Split out two new static
1658 functions, build_constant_desc and maybe_output_constant_def_contents.
1659 Restructure for comprehensibility. Don't call
1660 output_addressed_constants. Treat defstr being non-NULL for
1661 STRING_POOL_ADDRESS_P constants as an invariant.
1662 (struct deferred_string): Remove labelno field.
1663 (output_constant_def_contents): Kill labelno argument. Call
1664 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
1665 asm_out.internal_label.
1666 (mark_constant): Update call to output_constant_def_contents.
1667 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
1668 constants as an invariant.
1669
12969f45
RH
16702003-04-26 Richard Henderson <rth@redhat.com>
1671
1672 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
1673 (ix86_expand_call, ix86_rtx_consts): Likewise.
1674
5cc2f4f3
KG
16752003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1676
1677 * doc/md.texi (cmpstr): Document additional restrictions.
1678
09b04f2d
NB
16792003-04-26 Neil Booth <neil@daikokuya.co.uk>
1680
1681 * flags.h (time_report): Remove.
1682 * timevar.c (timevar_enable): New.
1683 (TIMEVAR_ENABLE): Remove, use timevar_enable.
1684 (timevar_init): Rename from init_timevar.
1685 * timevar.h (timevar_init): Rename from init_timevar.
1686 * toplev.c (time_report): Make static.
1687 (do_compile): Conditionally call init_timevar first.
1688 (preprocess_options): Move some code to do_compile.
1689
3e35d143
SC
16902003-04-26 Stephane Carrez <stcarrez@nerim.fr>
1691
1692 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
1693
e6dc0cc6
NB
16942003-04-26 Neil Booth <neil@daikokuya.co.uk>
1695
1696 * _cpp_lex_direct: Remove pointless code.
1697
5936c7e7
SC
16982003-04-26 Stephane Carrez <stcarrez@nerim.fr>
1699
1700 * doc/extend.texi (Function Attributes): Document "near" and "far"
1701 for 68HC11 and 68HC12.
1702
85a43a2f
RK
17032003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1704
1705 * expr.c (store_field): When making temporary for store, don't
1706 make it TYPE_QUAL_CONST.
1707
09e4ab56
PE
17082003-04-25 Phil Edwards <pme@gcc.gnu.org>
1709
1710 * toplev.c (read_integral_parameter): Use "argument" in error
1711 message to distinguish it from actual invalid options.
1712
ab409f1b
BW
17132003-04-25 Bob Wilson <bob.wilson@acm.org>
1714
1715 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
1716 addition of __PIC__ and __pic__ macros.
1717 * config/xtensa/xtensa.h: Clean up indentation.
1718
6a2b287f
BW
17192003-04-25 Bob Wilson <bob.wilson@acm.org>
1720
1721 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
1722 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
1723 (SUBTARGET_CPP_SPEC): Define.
1724 (LIB_SPEC): Delete.
1725 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
1726 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
1727 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
1728 Define.
1729 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
1730 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
1731
60986d64
L
17322003-04-25 H.J. Lu <hjl@gnu.org>
1733
1734 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
1735 for return mode.
1736 (ia64_expand_builtin): Set rmode to SImode for
1737 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
1738 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
1739 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
1740 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
1741
c7a5cf61
PE
17422003-04-25 Phil Edwards <pme@gcc.gnu.org>
1743
1744 * configure.in (make_compare_target): Test for GNU cmp and set this
1745 variable appropriately.
1746 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
1747 compare4-lean): Rename actual targets to slowcompare*. New compare*
1748 targets depend on names based on make_compare_target.
1749 * configure: Regenerated.
1750
f5bdba44
RH
17512003-04-25 Richard Henderson <rth@redhat.com>
1752
1753 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
1754 to clobber ar.pfs and ar.unat.
1755 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
1756 fix test for spilling ar.pfs to the stack.
1757
17582003-04-25 Richard Henderson <rth@redhat.com>
8f4e6caf 1759
293107d1
ZW
1760 PR opt/10315
1761 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
1762 checks during reload; use validize_mem instead of adjust_address.
8f4e6caf 1763
eda833e3
BE
17642003-04-26 Ben Elliston <bje@wasabisystems.com>
1765
1766 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
1767 return values from recog_memoized().
1768
9feff114
JDA
17692003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1770
1771 PR opt/8705
1772 * gcse.c (try_replace_reg): On a successful substitution of a constant
1773 into a single set, try to simplify the source of the set.
1774 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
1775 constant source.
1776
59325650
NB
17772003-04-24 Neil Booth <neil@daikokuya.co.uk>
1778
1779 * cpplex.c (cpp_token_len): Tighten up.
1780 (cpp_token_as_text): Need extra byte now.
1781 * cpplib.c (glue_header_name): Need extra 2 bytes.
1782 * cppmacro.c (cpp_macro_definition): Need extra byte.
1783
b746b8cb
AK
17842003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
1785
1786 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
293107d1 1787 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
b746b8cb
AK
1788 where they might be not present. Use their _sp64 equivalent
1789 instead.
1790
019238b7
JH
1791Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
1792
1793 * i386.md (cvtsi2sdq): Fix typo in previous patch.
293107d1 1794
39f6c4c8
KW
17952003-04-24 Krister Walfridsson <cato@df.lth.se>
1796
1797 * configure.in: Check whether mbstowcs works.
1798 * configure, config.in: Regenerate.
1799 * intl.c: Use HAVE_WORKING_MBSTOWCS.
1800
0c79f08b
L
18012003-04-24 H.J. Lu <hjl@gnu.org>
1802
1803 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
1804 for __sync_bool_compare_and_swap_di for int return type.
1805
1806 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
1807 Change return type to int.
1808 (__sync_bool_compare_and_swap): Likewise.
1809
26f74aa3
JH
1810Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
1811
1812 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
1813 looking for fallthru edge.
1814
1815 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
1816 Fix.
1817 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
1818 athlon-fvector): New.
1819 (athlon_*): Revisit to match new optimization guide.
1820 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
1821 * i386.md (cvt??2?? patterns): Fix modes.
1822 (fistp patterns): Set modes.
1823
1824 Accidentaly commited with my earlier reload patch:
1825 PR c/10308
1826 * reload.c (find_reloads_address_1): Reload plus at the place of
1827 index register.
293107d1 1828
796621e8
NS
18292003-04-24 Nathan Sidwell <nathan@codesourcery.com>
1830
1831 New GCOV_TAG_FUNCTION layout
1832 * coverage.c (struct function_list): Replace name with ident.
1833 (struct counts_entry): Likewise.
1834 (fn_ident): New.
1835 (htab_counts_entry_hash, htab_counts_entry_eq,
1836 htab_counts_entry_del): Adjust.
1837 (reads_count_file, get_coverage_counts,
1838 coverage_begin_output, coverage_end_function): Adjust.
1839 (build_fn_info_type, build_fn_info_value): Likewise.
1840 * gcov-dump.c (tag_function): Adjust.
1841 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
1842 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
1843 * gcov.c (struct function_info): Add ident.
1844 (read_graph_file, read_count_file): Adjust.
1845 * libgcov.c (gcov_exit): Adjust.
1846
6ff76c36
RH
18472003-04-23 Richard Henderson <rth@redhat.com>
1848
1849 PR opt/8300
1850 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
1851 after initialize_uninitialized_subregs; update reg info assuming
1852 new pseudos were created.
1853
6338b358
NB
18542003-04-23 Neil Booth <neil@daikokuya.co.uk>
1855
1856 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
1857 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
1858 (lex_string): Take cpp_string with full spelling.
1859 (cb_ident): Update.
1860 (c_lex): Update diagnostics.
1861 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
1862 (create_literal): New.
1863 (lex_string): Unterminated literals have type CPP_OTHER.
1864 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
1865 for CPP_OTHER.
1866 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
1867 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
1868 * cpplib.c (parse_include, do_line, do_linemarker,
1869 destringize_and_run): Update for token storing full spelling.
1870 * cpplib.h: Update token spelling types.
1871 * cppmacro.c (stringify_arg, check_trad_stringification):
1872 Update for token storing full spelling.
1873
011fd56b
UW
18742003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
1875
1876 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
1877
7052a099
RE
18782003-04-23 Richard Earnshaw <rearnsha@arm.com>
1879
1880 * arm.h (TARGET_OPTIONS): Add value field.
1881
f0ddce84
MM
18822003-04-23 Mark Mitchell <mark@codesourcery.com>
1883
1884 * doc/extend.texi: Remove duplicate 2003 copyright date.
1885
cdb23767
NS
18862003-04-23 Nathan Sidwell <nathan@codesourcery.com>
1887
1888 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
1889 (libgcov.a): Depends on LIBGCC_DEPS.
1890 * basic-block.h (profile_info): Moved here from coverage.h. Made
1891 a pointer.
1892 * coverage.c (struct function_list): Fixed array of counter types.
1893 (struct counts_entry): Keyed by counter type, contains summary.
1894 (profile_info): Moved to profile.c.
1895 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
1896 vars.
1897 (profiler_label): Remove.
1898 (ctr_labels): New.
1899 (set_purpose, label_for_tag, build_counter_section_fields,
1900 build_counter_section_value, build_counter_section_data_fields,
1901 build_counter_section_data_values, build_function_info_fields,
1902 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
1903 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
1904 build_ctr_info_value, build_gcov_info): New.
1905 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
1906 (reads_counts_file): Adjust.
1907 (get_coverage_counts): Takes counter number. Add summary
1908 parameter. Adjust.
1909 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
1910 create counter array labels.
1911 (coverage_end_function): Adjust.
1912 (create_coverage): Adjust.
1913 (find_counters_section): Remove.
1914 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
1915 (struct section_info, struct profile_info): Remove.
1916 (profile_info): Moved to basic-block.h.
1917 (coverage_counter_ref): Takes a counter number.
1918 (get_coverage_counts): Takes a counter number. Added summary
1919 parameter.
1920 (find_counters_section): Remove.
1921 * gcov-dump.c (tag_arc_counts): Rename to ...
1922 (tag_counters): ... here. Adjust.
1923 (tag_table): Move tag_counters to 3rd entry. Remove
1924 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
1925 (dump_file): Check for counter tag values here.
1926 (tag_summary): Adjust.
1927 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
1928 * gcov-io.h (GCOV_LOCKED): New.
1929 (GCOV_TAG_ARC_COUNTS): Rename to ...
1930 (GCOV_TAG_COUNTS_BASE): ... here.
1931 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
1932 Remove.
1933 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
1934 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
1935 GCOV_TAG_IS_COUNTER): New.
1936 (struct gcov_ctr_summary): New.
1937 (struct gcov_summary): Adjust.
1938 (struct gcov_counter_section): Remove.
1939 struct gcov_counter_section_data): Remove.
1940 (struct gcov_function_info): Rename to ...
1941 (struct gcov_fn_info): ... here. Adjust.
1942 (struct gcov_ctr_info): New.
1943 (struct gcov_info): Adjust.
1944 * gcov.c (read_count_file): Adjust.
1945 (output_lines): Adjust.
1946 * libgcov.c (gcov_exit): Adjust.
1947 (__gcov_flush): Adjust.
1948 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
1949 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
1950 probably_never_executed_bb_p, compute_frequency_function): Adjust
1951 profile_info use.
1952 * profile.c (struct counts_entry): Remove.
1953 (profile_info): Define here.
1954 (get_exec_counts): Adjust get_coverage_counts call.
1955 (compute_branch_probablilities): Remove find_counters_section
1956 call.
1957 (gen_edge_profiler): Adjust coverage_counter_ref call.
1958 * tracer.c (tail_duplicate): Adjust profile_info use.
1959
2be3b5ce
RS
19602003-04-23 Roger Sayle <roger@eyesopen.com>
1961
1962 PR optimization/10339
1963 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
1964 directly instead of unsafely transforming call into a memcmp.
1965 (expand_builtin_strncmp): Likewise.
1966
c57ddcf1
RS
19672003-04-22 Roger Sayle <roger@eyesopen.com>
1968
1969 * alias.c (mark_constant_function): Check for constancy and
1970 purity even of void functions. Update both the function decl
1971 and the cgraph RTL info with the results.
1972
c1a19acb
RS
19732003-04-22 Roger Sayle <roger@eyesopen.com>
1974
1975 * real.c (do_add): Change to return a bool indicating that the
1976 result of the operation may be inexact due to loss of precision.
1977 (do_multiply): Likewise.
1978 (do_divide): Likewise.
1979
c2e9147c
GK
19802003-04-22 Geoffrey Keating <geoffk@apple.com>
1981 Loren James Rittle <ljrittle@acm.org>
1982
1983 * dwarf2out.c (fde_table_allocated): Mark with GTY.
1984 (decl_die_table_allocated): Likewise.
1985 (abbrev_die_table_allocated): Likewise.
1986 (line_info_table_allocated): Likewise.
1987 (separate_line_info_table_allocated): Likewise.
1988 (pubname_table_allocated): Likewise.
1989 (arange_table_allocated): Likewise.
1990 (ranges_table_allocated): Likewise.
1991 (decl_die_table_in_use): Unconditionalize; mark with GTY.
1992 (abbrev_die_table_in_use): Likewise.
1993 (line_info_table_in_use): Likewise.
1994 (separate_line_info_table_in_use): Likewise.
1995 (pubname_table_in_use): Likewise.
1996 (arange_table_in_use): Likewise.
1997 (ranges_table_in_use): Likewise.
1998 (have_location_lists): Likewise.
1999 (emitcount): New GTY-marked static, moved...
2000 (maybe_emit_file): ...from here.
2001 (label_num): New GTY-marked static, moved...
2002 (gen_internal_sym): ...from here.
2003
4da2eb6b
RH
20042003-04-22 Richard Henderson <rth@redhat.com>
2005
293107d1
ZW
2006 PR 8866
2007 * rtl.h (MEM_NOTRAP_P): New.
2008 (MEM_COPY_ATTRIBUTES): Copy it.
2009 * rtlanal.c (may_trap_p): Check it.
2010 * expr.c (do_tablejump): Set it.
4da2eb6b
RH
2011 * doc/rtl.texi (Flags): Document it.
2012
293107d1 2013 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
4da2eb6b 2014
c1238896
OH
20152003-04-22 Olivier Hainque <hainque@act-europe.fr>
2016
2017 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
2018 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
2019
6d412a7b
VC
20202003-04-22 Vincent Celier <celier@gnat.com>
2021
293107d1
ZW
2022 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
2023 --enable-threads=gnat.
2024 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
2025 * configure.in: Add gnat to the list of thread packages
2026 * configure: Rebuild.
2027 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
6d412a7b 2028
b78f9414
NB
20292003-04-22 Neil Booth <neil@daikokuya.co.uk>
2030
2031 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
f945b4e0
DP
2032
20332003-04-22 Devang Patel <dpatel@apple.com>
2034
b78f9414
NB
2035 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
2036 parameter count.
f945b4e0 2037 (_cpp_copy_replacement_text): Same.
293107d1 2038
1067694a
NB
20392003-04-22 Neil Booth <neil@daikokuya.co.uk>
2040
2041 * c-lex.c (c_lex): Handle CPP_OTHER differently.
2042 * cppexp.c (_cpp_parse_expr): Similarly.
2043 * cpplex.c (SPELL_CHAR): Remove.
2044 (_cpp_lex_direct): Stray chars are saved as byte strings.
2045 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
2046 handle SPELL_CHAR.
2047 (cpp_avoid_paste): Update handling of CPP_OTHER.
2048 * cpplib.h: Spell CPP_OTHER like a number.
2049 (struct cpp_token): Remove member c.
2050 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
2051
77c915d8
DT
20522003-04-22 David Turner <novalis@gnu.org>
2053
2054 * gbl-ctors.h: Add special license exception.
2055 * libgcc2.h: Likewise.
2056 * tsystem.h: Likewise.
2057 * gcov-io.h: Likewise.
2058
85e50b6b
DE
20592003-04-22 David Edelsohn <edelsohn@gnu.org>
2060
2061 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
2062 macro defaulting to original BRANCH_COST heuristic.
2063 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
2064
2065 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
2066
00c060a4
AH
20672003-04-22 Aldy Hernandez <aldyh@redhat.com>
2068
293107d1 2069 * config/rs6000/t-spe: Merge in t-fprules into file.
00c060a4 2070
293107d1 2071 * config.gcc: Add t-spe to powerpc-eabispe.
00c060a4 2072
e4d72771
KJ
20732003-04-22 Kean Johnston <jkj@sco.com>
2074
2075 * tlink.c (recompile_files): Add missing '=' to putenv calls
2076
ad27e65a
NS
20772003-04-22 Nathan Sidwell <nathan@codesourcery.com>
2078
2079 * ginclude/stddef.h: Provide C++ safe offsetof.
2080
277b3b18
R
20812003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
2082
2083 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
2084 for reg notes, if there are no substitutions, just use a SUBREG.
2085
b2dd096b
MM
20862003-04-21 Mark Mitchell <mark@codesourcery.com>
2087
2088 * Makefile.in (calls.o): Depend on except.h.
2089 * calls.c: Include except.h.
2090 (emit_call_1): Call note_eh_region_may_contain_throw if
2091 appropriate.
2092 * except.c (eh_region): Add may_contain_throw.
2093 (expand_eh_region_end_cleanup): Do not include handler code when
2094 it cannot be reached.
2095 (note_eh_region_may_contain_throw): New function.
2096 * except.h (note_eh_region_may_contain_throw): New function.
2097
bfc6c67e
MM
20982003-04-21 Mark Mitchell <mark@codesourcery.com>
2099
2100 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
2101 changes.
2102
95b1c7b6
AH
21032003-04-21 Aldy Hernandez <aldyh@redhat.com>
2104
293107d1
ZW
2105 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
2106 64-bit long doubles.
95b1c7b6 2107
6a48df45
OH
21082003-04-21 Olivier Hainque <hainque@act-europe.fr>
2109
3cd58fd7
OH
2110 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
2111 a number of conversions required for type consistency and previously
2112 stripped off by STRIP_NOPS.
2113
6a48df45
OH
2114 * calls.c (expand_call): Prevent sibcall optimization for calls to
2115 nested subprograms.
2116
0d2f38ee 2117 * expmed.c (extract_bit_field): Reverse operands of && condition to
293107d1 2118 prevent a potential division by zero in the previously first branch.
0d2f38ee
OH
2119 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
2120
c3cdeef4
JB
21212003-04-21 Joel Brobecker <brobecker@gnat.com>
2122
2123 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
2124 (subrange_type_die): Likewise.
2125 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
2126 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
2127
ca29da43
NS
21282003-04-21 Nathan Sidwell <nathan@codesourcery.com>
2129
293107d1
ZW
2130 Break out coverage routines to new file.
2131 * Makefile.in (COVERAGE_H): New variable
2132 (C_OBJS): Add coverage.o
2133 (coverage.o): New target.
2134 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
2135 dependencies.
2136 (GTFILES): Adjust.
2137 (gt-coverage.h): New target.
2138 (gt-profile.h): Remove.
2139 * profile.h: Remove. Move to ...
2140 * coverage.h: ... here. New. #include gcov-io.h.
2141 * gcov-io.h: Move function definitions to ...
2142 * gcov-io.c: ... here. New.
2143 * profile.c: Move coverage routines to coverage.c.
2144 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
2145 end_branch_prob): Adjust.
2146 * coverage.c: New. Coverage routines from profile.c
2147 (coverage_counter_ref, coverage_init, coverage_finish,
2148 coverage_end_function, coverage_begin_output,
2149 coverage_counter_ref, get_coverage_counts): Define.
2150 * gcov-dump.c, gcov.c: #include gcov-io.c.
2151 * libgcov.c: Likewise. Adjust.
2152 * loop-init.c: Don't #include profile.h
2153 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
2154 * rtl.h: Add coverage prototypes.
2155 * toplev.c (compile_file): Init coverage, not branch_prob.
2156 Always call coverage_finish.
2157 (rest_of_compilation): Call coverage_end_function.
ca29da43 2158
1774b213 21592003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
dd0fbae2
MK
2160
2161 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
2162
74eb4b3e
NB
21632003-04-21 Neil Booth <neil@daikokuya.co.uk>
2164
2165 * c-ppoutput.c (cb_include): Don't take a cpp_token.
2166 * cppfiles.c: Don't undef strcmp.
2167 (find_include_file): Don't take a cpp_token. Check for empty
2168 file names.
2169 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
2170 (cpp_push_include): Simplify.
2171 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
2172 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
2173 (parse_include): Similary. Don't check for zero-length filenames.
2174 (do_include_common, do_pragma_dependency): Update accordingly.
2175 * cpplib.h (struct cpp_callbacks): Change prototype of include.
2176
337f4314 21772003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
293107d1 2178
9e91ce11
RK
2179 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
2180 details of conflict handling.
293107d1 2181
26b84487
RK
2182 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
2183 when conversion overflows.
2184
1a96dc46
RK
2185 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
2186
337f4314
RK
2187 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
2188 before clearing.
2189
3819b963
MM
21902003-04-21 Mark Mitchell <mark@codesourcery.com>
2191
2192 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
2193 have the same form as the old RTL.
2194
0e7a8c4b
AJ
21952003-04-21 Andreas Jaeger <aj@suse.de>
2196
293107d1 2197 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
0e7a8c4b 2198
b39b8084
CL
21992003-04-20 Chris Lattner <sabre@nondot.org>
2200 Zack Weinberg <zack@codesourcery.com>
2201
2202 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
2203 genrtl_cleanup_stmt. Correct comment at head of
2204 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
2205
2206 * stmt.c (struct nesting): Kill n_function_calls.
2207 (expand_start_bindings): Don't set
2208 thisblock->data.block.n_function_calls.
2209 (expand_end_bindings): Compare function_call_count against 0.
2210 (expand_cleanups): Kill DONT_DO argument; all callers passed
2211 NULL_TREE. All callers updated to match.
2212
b20cbca2
ZW
22132003-04-20 Zack Weinberg <zack@codesourcery.com>
2214
2215 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
2216 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
2217 (output_constant_def): Remove code predicated on
2218 defer_addressed_constants_flag.
2219
2220 * output.h: Remove prototypes of deleted functions.
2221 * c-typeck.c (constructor_subconstants_deferred): Kill.
2222 (struct initializer_stack): Remove 'deferred' field.
2223 (start_init): Remove all references to the above.
2224 (finish_init): Likewise. Also remove never-executed call to
2225 output_deferred_addressed_constants. Pull assignment to
2226 defstr out of if expression.
2227
41c32c98
NB
22282003-04-20 Neil Booth <neil@daikokuya.co.uk>
2229
2230 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
2231 NOTE_NEWLINE): Remove.
2232 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
2233 to handle new form of line note type.
2234
c6a2438a
ZW
22352003-04-20 Zack Weinberg <zack@codesourcery.com>
2236
2237 * target.h (encode_section_info): Add new argument carrying
2238 the RTL to be modified by the hook.
2239
2240 * varasm.c (make_decl_rtl, output_constant_def): Update calls
2241 to encode_section_info.
2242 (default_encode_section_info): Take and use RTL argument,
2243 don't use TREE_CST_RTL or DECL_RTL.
2244 * output.h: Update prototype of default_encode_section_info.
2245 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
2246 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
2247 Update calls to encode_section_info.
2248
2249 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
2250 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
2251 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
2252 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
2253 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
2254 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
2255 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
2256 except for PE dllimport/dllexport. Update calls to
2257 default_encode_section_info.
2258
2259 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
2260 Update prototypes.
2261
2262 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
2263
8c7d377f
JDA
22642003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2265
2266 PR/8705
2267 * pa.md (movccfp): New expander.
2268 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
2269 Reverse fcmp conditions.
2270
1052bb09
MM
22712003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
2272
2273 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
2274 of operand 1 correctly.
2275
299f79b5
NS
22762003-04-20 Nathan Sidwell <nathan@codesourcery.com>
2277
2278 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
2279 * gcov.c (output_lines): Don't be so fussy about going past EOF.
2280
1613e52b
NB
22812003-04-20 Neil Booth <neil@daikokuya.co.uk>
2282
2283 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
2284 (cppcharset.o): New target.
2285 * c-lex.c (is_extended_char): Move to cppcharset.c.
2286 (utf8_extend_token): Delete.
2287 * cppcharset.c: New file.
2288 * cpphash.h (_cpp_valid_ucn): New.
2289 * cpplex.c (lex_identifier): Update prototype.
2290 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
2291 escapes.
2292 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
2293 in cppcharset.c.
2294 (lex_number, lex_identifier, cpp_parse_escape): Update.
2295 (_cpp_lex_direct): Update to handle UCNs.
2296 (cpp_avoid_paste): Don't paste to form a UCN.
2297
0a45ec5c
RS
22982003-04-19 Roger Sayle <roger@eyesopen.com>
2299
2300 * builtins.c (expand_builtin): Don't expand a pure or const
2301 built-in function if the result will be ignored and none of
2302 its arguments are volatile.
2303
16477cc5
KJ
23042003-04-19 Kean Johnston <jkj@sco.com>
2305
2306 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
2307 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
2308 target fragment now: t-sco5; dont compile crti.o.
2309 * config/i386/sco5.h: major overhaul to remove all COFF remnants
2310 and to use elfos.h for most definitions.
2311 (BSS_SECTION_ASM_OP): set correct segment attributes.
2312 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
2313 (DWARF2_UNWIND_INFO): Always set to 1.
2314 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
2315 (MD_STARTFILE_PREFIX_1): Define.
2316 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
2317 (DEFAULT_LINKER): Define if not specified to configure.
2318 (CTORS_SECTION_ASM_OP): Remove COFF crud.
2319 (DTORS_SECTION_ASM_OP): Remove COFF crud.
2320 (WINT_TYPE): Define.
2321 (SDB_DEBUGGING_INFO): Remove.
2322 (EXTRA_SECTIONS): Likewise.
2323 (EXTRA_SECTION_FUNCTIONS): Likewise.
2324 (CTOR_LIST_BEGIN): Likewise.
2325 (CTOR_LIST_END): Likewise.
2326 (INIT_SECTION_FUNCTION): Likewise.
2327 (FINI_SECTION_FUNCTION): Likewise.
2328 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
2329 (LOCAL_LABEL_PREFIX): Likewise.
2330 (NON_SAVING_SETJMP): Likewise.
2331 (RETURN_POPS_ARGS): Likewise.
2332 (ASM_OUTPUT_SKIP): Likewise.
2333 (TARGET_ASM_NAMED_SECTION): Likewise.
2334 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2335 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
2336 (ASM_OUTPUT_IDENT): Likewise.
2337 (ASM_OUTPUT_CASE_LABEL): Likewise.
2338 (ASM_OUTPUT_ASCII): Likewise.
2339 (ASM_OUTPUT_LIMITED_STRING): Likewise.
2340 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2341 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2342 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2343 (ASM_FINISH_DECLARE_OBJECT): Likewise.
2344 (ASM_DECLARE_OBJECT_NAME): Likewise.
2345 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
2346 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2347 (ASM_DECLARE_RESULT): Likewise.
2348 (ASM_WEAKEN_LABEL): Likewise.
2349 (SUPPORTS_WEAK): Likewise.
2350 (APPLY_RESULT_SIZE): Likewise.
2351 (LPREFIX): Likewise.
2352 (ALIGN_ASM_OP): Likewise.
2353 (ASCII_DATA_ASM_OP): Likewise.
2354 (IDENT_ASM_OP): Likewise.
2355 (ASM_SHORT): Likewise.
2356 (ASM_LONG): Likewise.
2357 (TYPE_ASM_OP): Likewise.
2358 (SIZE_ASM_OP): Likewise.
2359 (STRING_ASM_OP): Likewise.
2360 (SKIP_ASM_OP): Likewise.
2361 (EH_FRAME_SECTION_ASM_OP): Likewise.
2362 (READONLY_DATA_SECTION_ASM_OP): Likewise.
2363 (INIT_SECTION_ASM_OP): Likewise.
2364 (FINI_SECTION_ASM_OP): Likewise.
2365 (TEXT_SECTION_ASM_OP): Likewise.
2366 (DATA_SECTION_ASM_OP): Likewise.
2367 (TYPE_OPERANT_FORMAT): Likewise.
2368 (ASM_SPEC): Remove COFF code.
2369 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
2370 cause -pg to emit an error; use pcrt1elf.o with -pp
2371 (ENDFILE_SPEC): Likewise.
2372 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
2373 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
2374 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
2375 add -z alt_resolve to support weak symbols the way GCC wants them.
2376 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
2377 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
2378 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
2379 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
2380 (CRTSTUFF_T_CFLAGS_S): Define.
2381 (MULTILIB_OPTIONS): Likewise.
2382 (MULTILIB_DIRNAMES): Likewise.
2383 (MULTILIB_MATCHES): Likewise.
2384 (MULTILIB_EXTRA_OPTS): Likewise.
2385 (LIBGCC): Likewise.
2386 (INSTALL_LIBGCC): Likewise.
2387 (crti.o): Remove.
2388 * config/i386/t-sco5gas: Remove.
2389 * doc/install.texi: Updated for new OpenServer instructions.
2390 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
2391
de0656cf
KJ
23922003-04-19 Kean Johnston <jkj@sco.com>
2393
2394 * fixinc/check.tpl: Allow user to over-ride diff program.
2395 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
2396 (sco_math): Added test for SCO math header files.
2397 (sco_regset): Added check for conflicts with ieeefp.h.
2398 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
2399 * fixinc/fixincl.x: Regenerated
2400 * fixinc/tests/base/math.h: Added sco_math tests.
2401 * fixinc/tests/base/string.h: New file.
2402 * fixinc/tests/base/sys/regset.h: New file.
2403
6f572ac2
NB
24042003-04-19 Neil Booth <neil@daikokuya.co.uk>
2405
2406 * cpphash.h (struct cpp_buffer): Remove backup_to.
2407 * cpplex.c (BACKUP, get_effective_char): Die.
2408 (_cpp_skip_block_comment): Assume '*' is location on entry.
2409 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
2410 (IF_NEXT_IS): Update.
2411 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
2412
ced2ad76
MK
24132003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
2414
2415 * README.Portability: Move to a new section and obsolete K+R
2416 portability issues.
2417
07015444
JH
2418Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
2419
2420 * rtlanal.c (subreg_offset_representable_p): Fix call of
2421 subreg_lowpart.
2422
bced6edf
NB
24232003-04-19 Neil Booth <neil@daikokuya.co.uk>
2424
2425 * cpphash.h (struct cpp_reader): New member warned_dollar.
2426 * cpplex.c (continues_identifier_p): New function.
2427 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
2428 lex_number and lex_string, and simplify.
2429 (parse_slow, unescaped_terminator_p): Die.
2430 (_cpp_lex_direct): Update.
2431
a259f218
RK
24322003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2433
2434 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
2435
8555daff
NS
24362003-04-19 Nathan Sidwell <nathan@codesourcery.com>
2437
2438 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
2439 fork behaviour.
2440
4e1f0f8e
NB
24412003-04-19 Neil Booth <neil@daikokuya.co.uk>
2442
2443 * cppexp.c (eval_token): Permit true and false even if pedantic.
2444
bf805def
NB
24452003-04-19 Neil Booth <neil@daikokuya.co.uk>
2446
2447 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
2448
26aea073
NB
24492003-04-19 Neil Booth <neil@daikokuya.co.uk>
2450
2451 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
2452 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
2453 (struct include_file): Remove fefcnt, mapped members.
2454 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
2455 (read_include_file): Don't use mmap, terminate buffers in '\r'.
2456 (purge_cache): Don't use munmap.
2457 * cpphash.h (CPP_BUF_COLUMN): Update.
2458 (lexer_state): Remove lexing_comment.
2459 (struct _cpp_line_note): New.
2460 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
2461 next_line and need_line. Remove col_adjust and saved_flags.
2462 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
2463 _cpp_skip_block_comment, scan_out_logical_line): New.
2464 (_cpp_init_mbchar): Remove.
2465 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
2466 (cpp_read_main_file): Set line to 1 earlier.
2467 (post_options): -traditional-cpp doesn't want trigraphs.
2468 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
2469 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
2470 _cpp_get_fresh_line): New.
2471 (handle_newline, skip_escaped_newlines, trigraph_p,
2472 continue_after_nul, _cpp_init_mbchar): Remove.
2473 (get_effective_char): Update.
2474 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
2475 (skip_line_comment): Simplify.
2476 (skip_whitespace, parse_identifier, parse_slow, parse_number,
2477 parse_string): Update.
2478 (cpp_lex_direct): Use clean lines and process line notes. Update.
2479 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
2480 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
2481 directly.
2482 (_cpp_handle_directive): Don't set saved_flags.
2483 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
2484 cpp_undef, handle_assertion, cpp_push_buffer): Update.
2485 (_cpp_pop_buffer): Free notes.
2486 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
2487 * cpppch.c (cpp_read_state): \n terminate buffer.
2488 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
2489 (copy_comment): Use _cpp_skip_block_comment.
2490 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
2491 Simplify.
2492 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
2493 save_replacement_text): Update.
2494 (scan_out_logical_line): Update to use clean lines and process
2495 line notes.
2496 * fix-header.c (read_scan_file): Update.
2497
7008a11b
DR
24982003-04-18 Douglas B Rupp <rupp@gnat.com>
2499
2500 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
2501 null begin parameter (as well as pointer to null).
2502 (__deregister_frame_info_bases): Likewise.
2503
21102f25
RK
25042003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2505
34d21fe3
RK
2506 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
2507 hard or virtual register and copy into pseudo if replacement fails.
2508
2509 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
dd4ff203 2510
21102f25
RK
2511 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
2512
e59baa1f
OH
25132003-04-18 Olivier Hainque <hainque@act-europe.fr>
2514
38afb23f
OH
2515 * calls.c (expand_call): Move special case for constructor calls
2516 to right place. Ensures constructor calls used to initialize
c6a2438a 2517 arguments get a clean outgoing argument block for themselves.
38afb23f
OH
2518 Move check for stack deallocation completeness until after last
2519 deallocation. Add stack_pointer_delta to set of state
2520 variables saved and restored along with current stack_level.
c6a2438a
ZW
2521
2522 * integrate.c (expand_inline_function): Ensure non-const actuals
2523 don't end up const in the caller's flow after conversion to possibly
2524 const formal type.
e59baa1f 2525
8dcea3f3
VC
25262003-04-18 Vincent Celier <celier@gnat.com>
2527
c6a2438a
ZW
2528 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
2529 and *_DIV_EXPR as TRUNC_*_EXPR.
8dcea3f3 2530
3e378f14
MM
25312003-04-18 Mark Mitchell <mark@codesourcery.com>
2532
2533 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
2534 for orphaned jump tables.
2535
1b0d0e84
KH
25362003-04-18 Kazu Hirata <kazu@cs.umass.edu>
2537
2538 * reload1.c: Revert my previous patch on 2002-04-17.
2539
906042f5
GP
25402003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2541
2542 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
2543 Add Segher Boessenkool.
2544
38a31425
AS
25452003-04-18 Alexander Sotirov <sluncho@mirizma.org>
2546
2547 PR c/9177
2548 * c-decl.c (c_expand_body): Don't garbage collect the function
2549 body if we are going to dump it later.
2550
59c60a98
RH
25512003-04-18 Richard Henderson <rth@redhat.com>
2552
2553 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
2554 (alpha_end_function): Don't set them.
2555 (decl_in_text_section): Remove.
2556 (alpha_encode_section_info): Remove.
2557 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
2558 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
2559 sections, rather than decl_in_text_section results.
2560
c553b702
RS
25612003-04-18 Roger Sayle <roger@eyesopen.com>
2562
2563 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
2564 and SIGN_EXTRACT.
2565
6a29edea
EB
25662003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2567
2568 PR optimization/7675
2569 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
2570 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
2571 nested functions if they refer to declarations from parent functions.
2572 * stmt.c (expand_decl): Don't put automatic variables in registers
2573 if the DECL_NONLOCAL flag is set.
2574
4d3eb89a
HPN
25752003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
2576
2577 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
2578 consider those to be movable where the source matches
2579 want_to_gcse_p.
2580 (update_ld_motion_stores): In comment, refer to
2581 compute_ld_motion_mems for validity of replacement.
2582
04c5580f
JH
2583Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
2584
d101590b 2585 * gcov-dump.c (tag_summary): Remove max_sum
ca29da43
NS
2586 * gcov-io.h (gcov_summary, gcov_write_summary,
2587 gcov_read_summary): Kill max_sum.
2588 * libgcov.c (gcov_exit): Do one pass over the data. Make error
2589 message more verbose.
2590
2591 * emit-rtl.c (subreg_hard_regno): Check that register is
2592 representable.
293107d1 2593
04c5580f
JH
2594 * reload.c (reload_inner_reg_of_subreg): When register is not
2595 representable, reload the whole thing.
2596 (find_reloads): Likewsie.
2597 * rtlanal.c (subreg_representable_p): New function.
2598
2599 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
2600 allow negative probabilities for edges from the call to exit.
ca29da43
NS
2601 (branch_prob): Do not add fake edges for functions that may return
2602 twice.
04c5580f 2603
c409ea0d
DD
26042003-04-17 DJ Delorie <dj@redhat.com>
2605
2606 * toplev.c (target_options): Add value field.
2607 (set_target_switch): Handle target options with values.
2608 * doc/tm.texi: Document how fixed vs variable target
2609 options work.
2610 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
2611 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
2612 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
2613 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
2614 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
2615 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
2616 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
2617 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
2618 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
2619 Add value initializer to target options.
2620
36801818
LR
26212003-04-07 Loren James Rittle <ljrittle@acm.org>
2622
2623 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
2624
a211395b
KH
26252003-04-17 Kazu Hirata <kazu@cs.umass.edu>
2626
2627 * reload1.c (move2add_last_cc0): New.
2628 (reload_cse_move2add): Detect implicit sets.
2629 (move2add_note_store): Notice a store into cc0.
2630
220a35cc
RS
26312003-04-17 Roger Sayle <roger@eyesopen.com>
2632
2633 PR c/10375
2634 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
2635 function attributes.
2636
7ed0620a 26372003-04-17 Janis Johnson <janis187@us.ibm.com>
46b2356d
JJ
2638
2639 * doc/sourcebuild.texi (Test Suites): Document support for testing
2640 binary compatibility (moved from testsuite/README.compat).
2641
3907500b
RH
26422003-04-17 Richard Henderson <rth@redhat.com>
2643
2644 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
2645
d22b2e54
SL
26462003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
2647
c6a2438a
ZW
2648 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
2649 the one provided by the FSF.
d22b2e54 2650
616de62f
GP
26512003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2652
2653 * doc/install.texi (Binaries): Update URL and list of platforms
2654 provided by ftp.thewrittenword.com.
2655
f2dd0c42
RH
26562003-04-17 Richard Henderson <rth@redhat.com>
2657
2658 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
2659 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
2660 * config/xtensa/xtensa.md (call, call_value): Likewise.
2661
50d1ff6a
RH
26622003-04-17 Richard Henderson <rth@redhat.com>
2663
2664 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
2665 (print_operand_address): Likewise.
2666 (ep_memory_operand): Likewise.
2667 (special_symbolref_operand): Likewise.
2668 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
2669 (v850_encode_section_info): Call default_encode_section_info.
2670 (v850_strip_name_encoding): Remove.
2671 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
2672 (ASM_OUTPUT_LABELREF): Remove.
2673 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
2674 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
2675 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
2676 (ENCODED_NAME_P): Remove.
2677 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
2678 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
2679 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
2680
e7d687bb
RH
26812003-04-17 Richard Henderson <rth@redhat.com>
2682
2683 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
2684 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
2685 SYMBOL_REF_FUNCTION_P.
2686
72628c61
RH
26872003-04-17 Richard Henderson <rth@redhat.com>
2688
2689 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
2690 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
2691 (text_segment_operand): Likewise.
2692
675ff4c7
RH
26932003-04-17 Richard Henderson <rth@redhat.com>
2694
2695 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
2696 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
2697 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
2698 (sh_encode_section_info): Remove.
2699 (sh_strip_name_encoding): Remove.
2700 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
2701 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
2702 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
2703 (ASM_OUTPUT_LABELREF): Remove.
2704 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
2705 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
2706
114278e7
RH
27072003-04-17 Richard Henderson <rth@redhat.com>
2708
2709 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
2710 (tls_model_chars): Remove.
2711 (larl_operand): Use SYMBOL_REF_FLAGS.
2712 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
c6a2438a 2713 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
114278e7
RH
2714 (s390_output_mi_thunk): Likewise.
2715 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
2716 (s390_function_profiler): Likewise.
2717 (s390_encode_section_info): Use default_encode_section_info
2718 and SYMBOL_FLAG_ALIGN1.
2719 (s390_strip_name_encoding): Remove.
2720 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
2721 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
2722 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
2723
e95ef187
RH
27242003-04-17 Richard Henderson <rth@redhat.com>
2725
2726 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
2727 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
2728 (print_operand_address): Likewise.
2729
2730 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
2731 * config/ns32k/ns32k.c (expand_block_move): Don't check
2732 flag_unroll_loops.
2733
6cd4a764
RH
27342003-04-17 Richard Henderson <rth@redhat.com>
2735
2736 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
2737 SYMBOL_REF_FLAG.
2738
89e6b702
RH
27392003-04-17 Richard Henderson <rth@redhat.com>
2740
2741 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
2742
2743 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
2744 (SYMBOL_REF_MODEL): New.
2745 (LIT_NAME_P): Move from m32r.h.
2746 (m32r_select_section): Remove.
2747 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
2748 (m32r_strip_name_encoding): Remove.
2749 (m32r_in_small_data_p): New.
2750 (small_data_operand): Use SYMBOL_REF_SMALL_P.
2751 (addr24_operand): Use SYMBOL_REF_MODEL.
2752 (call26_operand): Likewise.
2753 (addr32_operand): Tidy.
2754 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
2755 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
2756 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
2757 (READONLY_DATA_SECTION_ASM_OP): Remove.
2758 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
2759 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
2760 (TARGET_ASM_SELECT_SECTION): Remove.
2761 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
2762 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
2763 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
2764 (ASM_OUTPUT_LABELREF): Remove.
2765
ec94fc00
RH
27662003-04-17 Richard Henderson <rth@redhat.com>
2767
2768 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
2769 (encode_section_info): Remove.
2770 * config/ip2k/ip2k-protos.h: Update.
2771
1b8135a4
RH
27722003-04-17 Richard Henderson <rth@redhat.com>
2773
c6a2438a 2774 * varasm.c (default_encode_section_info): Don't set
1b8135a4
RH
2775 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
2776 * config/i370/i370.c (i370_encode_section_info): Remove.
2777 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
2778 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
2779 * config/i370/i370.md (movsi): Likewise.
2780
2781 * config/i370/t-i370: Add missing backslash.
2782
6d7fe8b3
EB
27832003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
2784
2785 * doc/invoke.texi (inline-limit): Fix pasto.
2786
dc66a1c4
RH
27872003-04-17 Richard Henderson <rth@redhat.com>
2788
2789 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
2790 (small_call_insn_operand): Use it.
2791 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
2792 (h8300_eightbit_constant_address_p): Use it.
2793 (SYMBOL_FLAG_TINY_DATA): New.
2794 (h8300_tiny_constant_address_p): Use it.
2795 (h8300_encode_label, h8300_strip_name_encoding): Remove.
2796 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
2797 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
2798 (ASM_OUTPUT_LABELREF): Remove.
2799
90a63880
RH
28002003-04-16 Richard Henderson <rth@redhat.com>
2801
0f6e5d45
RH
2802 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
2803 all users with SYMBOL_REF_SMALL_P.
2804 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
2805 (frv_encode_section_info): Remove.
2806 (frv_strip_name_encoding): Remove.
2807 (frv_in_small_data_p): Merge tests from encode_section_info.
2808 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
2809 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
2810 (SDATA_NAME_P): Remove.
2811 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
2812 (ASM_OUTPUT_LABELREF): Remove.
2813 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
2814
90a63880
RH
2815 * config/frv/frv.c (frv_asm_out_constructor): New.
2816 (frv_asm_out_destructor): New.
2817 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
2818 (DTORS_SECTION_ASM_OP): New.
2819 (ASM_OUTPUT_CONSTRUCTOR): Remove.
2820 (ASM_OUTPUT_DESTRUCTOR): Remove.
2821
5c93e01b
RH
28222003-04-16 Richard Henderson <rth@redhat.com>
2823
2824 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
2825 SYMBOL_REF_LOCAL_P; abort if not pic.
2826 (cris_encode_section_info): Remove.
2827
11467df2
RH
28282003-04-16 Richard Henderson <rth@redhat.com>
2829
2830 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
2831 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
2832
2833 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
2834 flag_inline_trees.
2835
74b66b3c
RH
28362003-04-16 Richard Henderson <rth@redhat.com>
2837
2838 * config/avr/avr.c (avr_encode_section_info): Remove.
2839 (avr_insert_attributes): New.
2840 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
2841 (avr_assemble_integer): Likewise.
2842
8cbd5ce0
RH
28432003-04-16 Richard Henderson <rth@redhat.com>
2844
2845 * arc.c (arc_encode_section_info): Remove.
c6a2438a 2846 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
8cbd5ce0
RH
2847 (arc_print_operand, arc_print_operand_address): Likewise.
2848 * arc.h (EXTRA_CONSTRAINT): Likewise.
2849
96c6931d
RS
28502003-04-16 Roger Sayle <roger@eyesopen.com>
2851
2852 * c-semantics.c (find_reachable_label): New function to find a
2853 potentially reachable label in an expression.
2854 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
2855 assumes the start of the IF_STMT is unreachable (dead) code.
2856 (expand_unreachable_stmt): Similar to expand_stmt but assumes
2857 the start of the statement list is unreachable (dead) code.
2858 (genrtl_if_stmt): If the controlling expression of the IF
2859 is constant, use expand_unreachable_stmt for the THEN or ELSE
2860 clause as appropriate.
2861 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
2862 the body of a SWITCH statement.
2863 (expand_stmt): The code immediately following a "return",
2864 "break", "continue" or "goto" is unreachable.
2865 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
2866
3568b0ef
RH
28672003-04-16 Richard Henderson <rth@redhat.com>
2868
2869 * rtl.h (MEM_ALIAS_SET): Update documentation.
2870 * doc/rtl.texi (Special Accessors): New node.
2871 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
2872
60fa6660
AO
28732003-04-16 Alexandre Oliva <aoliva@redhat.com>
2874
2875 * reload1.c (reload_cse_noop_set_p): Return false if mode of
2876 SET_DEST is not the same as that returned by...
2877 * cselib.h (cselib_reg_set_mode): ... new function.
2878 * cselib.c (cselib_reg_set_mode): Define it.
2879 (REG_VALUES): Document semantics of first element as set mode.
2880 (cselib_subst_to_values): Skip first element if ELT is NULL.
2881 (cselib_lookup): Likewise. Insert past the first element.
2882 (cselib_invalidate_regno): NULLify first element.
2883 (cselib_record_set): Set first element.
2884
15b19a7d
OH
28852003-04-16 Olivier Hainque <hainque@act-europe.fr>
2886
c6a2438a
ZW
2887 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
2888 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
2889 * tree.h: Add prototypes for the two new functions.
2890 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
2891 updates introduced in the previous revision by call to saved_expr_p.
2892 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
a9ecacf6 2893
c6a2438a
ZW
2894 * expr.c (store_field): Force usage of bitfield instructions when
2895 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
2896 (expand_expr, case BIT_FIELD_REF): likewise.
15b19a7d 2897
f2d80e7e
MM
28982003-04-16 Mark Mitchell <mark@codesourcery.com>
2899
2900 PR middle-end/8866
2901 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
2902 jumptables.
2903
1cdbd630
RH
29042003-04-16 Richard Henderson <rth@redhat.com>
2905
2906 * config/ia64/ia64.c (sdata_symbolic_operand): Use
2907 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
2908 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
2909 (function_operand): Use SYMBOL_REF_FUNCTION_P.
2910 (ia64_expand_load_address): Likewise.
2911 (ia64_assemble_integer): Likewise.
2912 (ia64_encode_section_info): Remove.
2913 (ia64_strip_name_encoding): Remove.
2914 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
2915 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
2916
d055668e
RH
29172003-04-16 Richard Henderson <rth@redhat.com>
2918
2919 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
2920 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
2921 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
2922 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
2923 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
2924 (global_symbolic_operand): Similarly.
2925 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
2926 (tls_symbolic_operand_type): Likewise.
2927 (alpha_encode_section_info): Use default_encode_section_info.
2928 (alpha_strip_name_encoding): Remove.
2929 (get_tls_get_addr): Split out from ...
2930 (alpha_legitimize_address): ... here.
2931 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
2932 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
2933 (alpha_initialize_trampoline): Use init_one_libfunc.
2934 (alpha_setup_incoming_varargs): Mark unused parameters.
2935 (alpha_initial_elimination_offset): Likewise.
2936 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
2937 (unicosmk_unique_section): Use default_strip_name_encoding.
2938 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
2939
ffd25996
AH
29402003-04-16 Aldy Hernandez <aldyh@redhat.com>
2941
c6a2438a 2942 * config.gcc: Add t-spe for eabispe.
ffd25996 2943
c6a2438a 2944 * config/rs6000/t-spe: New.
ffd25996 2945
7f0ea82e
R
29462003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
2947
2948 Re-apply this patch:
2949
2950 2002-05-16 Dale Johannesen <dalej@apple.com>
2951 * combine.c (cant_combine_insn_p): Reenable combinations
2952 involving hard regs unless CLASS_LIKELY_SPILLED_P.
2953
c328adfa
JDA
29542003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2955
2956 PR/10271
2957 * pa-protos.h (function_arg): Remove last argument.
2958 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
c6a2438a 2959 * pa.h (struct hppa_args): Add member incoming.
c328adfa
JDA
2960 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
2961 member incoming.
2962 (FUNCTION_ARG): Revise call to function_arg.
2963 (FUNCTION_INCOMING_ARG): Delete.
2964
f9c1196a
ZW
29652003-04-15 Zack Weinberg <zack@codesourcery.com>
2966
2967 * configure.in: Unify the code which creates symlinks to a
2968 just-built as, ld, objdump, and nm with the code that detects
2969 their presence for purposes of feature tests.
2970 * configure: Regenerate.
2971
0b78a9b6
ZW
29722003-04-15 Zack Weinberg <zack@codesourcery.com>
2973
2974 * varasm.c (output_constant_def): Do not consult
2975 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
2976 (after_function_constants, output_after_function_constants): Delete.
2977 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
2978 * config/mips/mips-protos.h, config/mips/mips.c
2979 (mips16_constant_after_function_p): Delete.
2980 * config/mips/mips.h: Delete #if-0-ed definition of
2981 CONSTANT_AFTER_FUNCTION_P.
2982 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
2983 mention of CONSTANT_AFTER_FUNCTION_P in comment.
2984
03907fbd
GK
29852003-04-15 Geoffrey Keating <geoffk@apple.com>
2986
2987 * tree.c (next_decl_uid): Mark with GTY.
2988 (next_type_uid): Likewise.
2989
9959c8c7
R
29902003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
2991
2992 PR target/9594:
2993 * sh.c (barrier_align): Also recognize stuff_delay_slot as
2994 an indicator that a barrier was created by branch splitting.
2995
c8b718ba
MM
29962003-04-15 Mark Mitchell <mark@codesourcery.com>
2997
2998 * c-decl.c (implicitly_declare): Copy declarations that are going
2999 to be placed in a local scope.
3000
f5034c5e
JM
30012003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
3002
3003 * invoke.texi (Spec Files): Wrap if-exists-else example.
3004 (MCore): Remove duplicate @itemx entries and @opindex entries.
3005
7344f3d7
UW
30062003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
3007
3008 * unwind.inc (_Unwind_Backtrace): New function.
3009 * unwind.h (_Unwind_Backtrace): Declare it.
3010 * libgcc-std.ver (_Unwind_Backtrace): Export it.
3011
9547e8fd
JM
30122003-04-14 Jason Merrill <jason@redhat.com>
3013
3014 PR middle-end/10336, c++/10401
0b78a9b6 3015 * jump.c (never_reached_warning): Also stop looking if we reach the
9547e8fd
JM
3016 beginning of the function.
3017
55adc7bd
KG
30182003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3019
3020 PR target/10338
3021 PR bootstrap/10198
3022 PR bootstrap/10140
3023 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
3024
d2b54839
R
30252003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
3026
3027 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
3028
d0ccc658
RK
30292003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3030
3031 * optabs.c (expand_binop): In multi-word add cases, ensure
3032 XTARGET is copied to TARGET if they are different.
3033
29921faf
OH
30342003-04-15 Olivier Hainque <hainque@act-europe.fr>
3035
3036 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
3037 to region, possible after integration of function with unreachable
3038 regions that were optimized away.
3039
ff3867ae
JJ
30402003-04-15 Jakub Jelinek <jakub@redhat.com>
3041
3042 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
3043 instead of TOC_REGISTER in epilogue in
3044 current_function_calls_eh_return functions.
3045
f4e92987
MM
30462003-04-14 Mark Mitchell <mark@codesourcery.com>
3047
db0b376e
MM
3048 * doc/extend.texi (Empty Structures): Correct description of G++'s
3049 handling of these structures.
3050
f4e92987
MM
3051 * c-decl.c (grokdeclarator): Reject extern redeclarations of
3052 static variables.
3053
629f6514
JJ
30542003-04-14 Janis Johnson <janis287@us.ibm.com>
3055
615158e2
JJ
3056 * config/rs6000/rs6000.md (define_constants): Define constants for
3057 all UNSPEC usage, including new values for TLS support.
3058 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
3059 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
3060 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
3061 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
3062 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
3063 eh_set_lr_di): Use them.
3064 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
3065 rs6000_emit_epilogue) Use them.
3066
629f6514
JJ
3067 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
3068
8951a635
NB
30692003-04-14 Neil Booth <neil@daikokuya.co.uk>
3070
3071 * Makefile.in (c-opts.o): Use custom action.
3072
798a3935
DR
30732003-04-14 Douglas B Rupp <rupp@gnat.com>
3074
3075 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
3076
2443af37
RK
30772003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3078
0d3c8800
RK
3079 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
3080 handle "superflat arrays" in Ada.
3081
2443af37
RK
3082 * integrate.c (expand_inline_function): Don't inline if would
3083 lose /u on a BLKmode TARGET.
3084
8cb5fbbf
JB
30852003-04-14 Joel Brobecker <brobecker@gnat.com>
3086
39d658e3
JB
3087 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
3088 extracted from dbxout_type.
3089 (dbxout_range_type): print large bounds in octal format.
3090 (dbxout_type): Replace extracted code by call to
3091 print_int_cst_bounds_in_octal_p.
3092
0b78a9b6
ZW
3093 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
3094 of DW_LANG_Ada83 for Ada units.
8cb5fbbf 3095
9ceca302
OH
30962003-04-14 Olivier Hainque <hainque@act-europe.fr>
3097
41ee3204
OH
3098 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
3099 temporary used to round CONST_INT sizes.
3100
4694840a
OH
3101 * tree.c (int_fits_type_p): Extract generic checks from the case
3102 of constant type bounds. Refine the checks against constant type
3103 bounds to allow for possible decisions against each of these bounds
3104 without requiring both bounds to be constant.
3105 (tree_int_cst_msb): Put back.
3106 * tree.h (tree_int_cst_msb): Likewise.
3107
4147232b
OH
3108 * global.c (global_conflicts): Prevent allocation of call clobbered
3109 hard regs to pseudos live across abnormal edges, as later passes are
3110 not ready to handle them.
3111
0b78a9b6
ZW
3112 * fold-const.c (fold): Reorder tests for conditional expressions.
3113
3114 * expr.c (highest_pow2_factor): Return unsigned.
3115 * expr.h (offset_address): Likewise.
3116 * emit-rtl.c (offset_address): POW2 argument now unsigned.
cbcafd35 3117
712b7a05
RS
31182003-04-14 Roger Sayle <roger@eyesopen.com>
3119
3120 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
3121 string literals at compile-time.
3122
15d4fd98
RS
31232003-04-14 Roger Sayle <roger@eyesopen.com>
3124
3125 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
3126 comparison operation and c1/c2 are floating point constants into
3127 x swap(cmp) (c1 - c2).
3128
2fcb395c
VM
31292003-04-14 Vladimir Makarov <vmakarov@redhat.com>
3130
3131 * genautomata.c (output_translate_vect): Fix a typo in loop
3132 condition.
3133
747a0d9d
HPN
31342003-04-14 Hans-Peter Nilsson <hp@axis.com>
3135
3136 PR target/10377
3137 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
3138 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
3139 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
3140 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
3141 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
3142 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
3143 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
3144 ("*extopqihi_swap_side", "*extopqisi_swap_side")
3145 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
3146 When next to constraint R, replace constraint i with n.
3147
58e6ae30
JH
3148Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
3149
3150 PR opt/10024
3151 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
3152
88657a26
KL
31532003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
3154
3155 * doc/contrib.texi (Contributors): Correct my entry.
3156
7f685e17
RS
31572003-04-13 Roger Sayle <roger@eyesopen.com>
3158
3159 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
3160 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
3161 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
3162 implies DECL_BUILT_IN to simplify logic.
3163 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
3164
1331d16f
RS
31652003-04-13 Roger Sayle <roger@eyesopen.com>
3166
3167 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
3168 (BT_FN_PTR_SIZE_SIZE): Likewise.
3169 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
3170 New built-in functions for malloc, calloc and strdup respectively.
3171 * calls.c (special_function_p): No need to handle malloc-like
3172 functions any longer. ECF_MALLOC is set via built-in attributes.
3173
3174 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
3175
3176 * doc/extend.texi: Document these new built-in functions.
3177
9cb65f92
KG
31782003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3179
3180 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
3181 (expand_builtin_stpcpy): New.
3182 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
3183 * builtins.def: Add mempcpy & stpcpy support.
3184 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
3185
5de601cf
NC
31862003-04-13 Nick Clifton <nickc@redhat.com>
3187
3188 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
3189 "GCC".
3190 * config/rs6000/40x.md, config/rs6000/603.md,
3191 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
3192 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
3193 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
3194 config/rs6000/aix43.h, config/rs6000/aix51.h,
3195 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
3196 config/rs6000/altivec.h, config/rs6000/altivec.md,
3197 config/rs6000/beos.h, config/rs6000/darwin.h,
3198 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
3199 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
3200 config/rs6000/freebsd.h, config/rs6000/gnu.h,
3201 config/rs6000/host-darwin.c, config/rs6000/linux.h,
3202 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
3203 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
3204 config/rs6000/netbsd.h, config/rs6000/power4.md,
3205 config/rs6000/rios1.md, config/rs6000/rios2.md,
3206 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
3207 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
3208 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3209 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
3210 config/rs6000/spe.md, config/rs6000/sysv4.h,
3211 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
0b78a9b6 3212 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
5de601cf 3213
50d440bc
NC
32142003-04-13 Nick Clifton <nickc@redhat.com>
3215
3216 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
3217 support for -mcall-aix switch.
3218 * config/rs6000/eabiaix.h: Delete.
3219 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
3220 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
3221 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
3222 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
3223 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
3224 debug_stack_info, output_function_profiler,
3225 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
3226 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
3227 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
3228 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
3229 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
3230 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
3231 multilibs.
3232 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
3233 (MULTILIB_EXCEPTIONS): Delete.
3234 (MULTILIB_MATCHES): Remove mcall-aix matches.
3235
3236 * doc/fragments.texi: Replace -mcall-aix example with an ARM
3237 one.
3238 * doc/install.texi: Delete powerpc-*-eabiaix target.
3239 * doc/invoke.texi: Remove documentation of mcall-aix switch.
3240 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
3241 * config.gcc: Delete powerpc-*-eabiaix target.
3242
62b9c42c
KH
32432003-04-13 Kazu Hirata <kazu@cs.umass.edu>
3244
3245 * doc/invoke.texi: Fix typos.
3246 * doc/tm.texi: Likewise.
3247
6d0c8bb1
ZW
32482003-04-12 Zack Weinberg <zack@codesourcery.com>
3249
3250 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
3251
dcf92453
ZW
32522003-04-12 Zack Weinberg <zack@codesourcery.com>
3253
3254 * tree.c (build_constructor): New function.
3255 * tree.h: Prototype it.
3256
3257 * c-typeck.c (build_c_cast, pop_init_level)
3258 * profile.c (build_function_info_value, build_gcov_info_value)
3259 (create_profiler):
3260 Use build_constructor.
3261
3262 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
3263
3264 * objc/objc-act.c (build_constructor):
3265 Rename objc_build_constructor. Use build_constructor.
3266 (build_objc_string_object, objc_add_static_instance)
3267 (init_def_list, init_objc_symtab, init_module_descriptor)
3268 (generate_static_references, build_selector_translation_table)
3269 (build_descriptor_table_initializer, generate_descriptor_table)
3270 (build_protocol_initializer, build_ivar_list_initializer)
3271 (generate_ivars_list, build_dispatch_table_initializer)
3272 (generate_dispatch_table, generate_protocol_list)
3273 (build_category_initializer, build_shared_structure_initializer):
3274 Update to match.
3275
c85b28e8
ZW
32762003-04-12 Zack Weinberg <zack@codesourcery.com>
3277
3278 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
3279
cebcfdc8
SC
32802003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3281
dcf92453 3282 * config/m68hc11/m68hc11-protos.h
cebcfdc8
SC
3283 (m68hc11_eq_compare_operator): Declare
3284 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
3285 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
3286 (d_register_operand): Check the operand mode.
3287 (hard_addr_reg_operand): Likewise.
3288
0ae32ec0
SC
32892003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3290
3291 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
3292 pattern for dbcc/ibcc generation for 68HC12.
3293 ("doloop_end"): New pattern.
3294 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
3295 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
3296 ("m68hc12_dbcc_dec_qi"): New pattern.
3297 ("m68hc12_dbcc_inc_qi"): New pattern.
3298 (split): Add split for the above when we can't use dbcc/ibcc due to
3299 reloading.
3300 (peephole2): Add peephole2 to generate the above when possible.
3301
a67bac5f
SC
33022003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3303
3304 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
3305 mode of operand 0.
3306 (peephole2 optimize const load): Likewise for operand 2.
3307 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
3308 clobbers CC_REGNUM.
3309 ("*rotrhi3_with_carry"): Likewise.
3310 (ashift:DI 1 split): Update pattern to create the above rotate.
3311 (lshiftrt:DI 1 split): Likewise.
3312
09214424
SC
33132003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3314
3315 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
3316 ("tstqi_z_used" split): Use it.
3317 ("cmphi_z_used"): Likewise.
3318 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
3319 ("cmpqi_z_used"): Likewise.
3320
355b81d5
MM
33212003-04-12 Mark Mitchell <mark@codesourcery.com>
3322
3323 PR c++/7910
3324 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
3325
2bd02043
ZW
33262003-04-12 Zack Weinberg <zack@codesourcery.com>
3327
3328 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
3329 * configure, config.in: Regenerate.
3330 * intl.c (gcc_gettext_width): New function.
3331 * intl.h: Prototype it.
3332
96cd9069
SC
33332003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3334
3335 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
3336 recognize -mnorelax.
3337 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
3338 (REG_CLASS_NAMES): Add its name.
3339 (REG_CLASS_CONTENTS): Define its content.
3340
c364c3a6
SC
33412003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3342
3343 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
3344 parameters so that offsets are valid for far definition.
3345 (__mulsi3): Likewise and use ret to return.
3346 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
3347
09501938
DE
33482003-04-12 David Edelsohn <edelsohn@gnu.org>
3349
3350 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
3351
ff3d4e83
AO
33522003-04-12 Alexandre Oliva <aoliva@redhat.com>
3353
17a15c67
AO
3354 * mklibgcc.in (libgcc-stage-start): For every multilib directory
3355 containing a libgcc.a, move lib* to the corresponding stage dir.
3356
ff3d4e83
AO
3357 * Makefile.in (stage1-start, stage2-start, stage3-start,
3358 stage4-start): Move $(SPECS) to specs in stage dir.
3359 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
3360 back as $(SPECS).
3361
9e6ccb98
AO
3362 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
3363 object files from the non-libgcc/ multilib directories as well.
3364
ba05abd3
GK
33652003-04-11 Geoffrey Keating <geoffk@apple.com>
3366
0aaafe73
GK
3367 * profile.c (read_counts_file): Initialise 'checksum'.
3368
d5b9108c
GK
3369 * emit-rtl.c (gen_rtx): Really correct typo.
3370
a37db56b
GK
3371 PR c++/9393
3372 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
3373 * configure.in: Check for gettimeofday.
3374 * tree.c (flag_random_seed): Define.
3375 (default_flag_random_seed): New.
3376 (append_random_chars): Use flag_random_seed rather than trying
3377 to acquire randomness here.
3378 * tree.h (default_flag_random_seed): Declare.
3379 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
3380 descriptions.
3381 (decode_f_option): Handle -frandom-seed.
3382 (print_switch_values): Call default_flag_random_seed.
3383 * flags.h (flag_random_seed): Declare.
3384 * configure: Regenerate.
3385 * config.in: Regenerate.
3386 * config/alpha/t-crtfm: Use -frandom-seed.
2bd02043 3387
ba05abd3
GK
3388 * doc/extend.texi (Empty Structures): New.
3389
df026186
GK
3390 * c-pch.c: Include flags.h. Add comments to routines.
3391 (struct c_pch_validity): New.
3392 (get_ident): Update PCH file version number.
3393 (pch_init): Output current debugging type.
3394 (c_common_valid_pch): Check debugging type.
3395 * Makefile.in (c-pch.o): Update dependencies.
3396 * flags.h (debug_type_names): Declare.
3397 * toplev.c (debug_type_names): Move out of decode_g_option.
3398
15c812e3
EC
33992003-04-11 Eric Christopher <echristo@redhat.com>
3400
3401 * emit-rtl.c (gen_rtx): Fix typos.
3402
a73071bc
RH
34032003-04-11 Richard Henderson <rth@redhat.com>
3404
3405 * emit-rtl.c (gen_rtx): Zero '0' fields.
3406
ca06cfe6
RH
34072003-04-11 Richard Henderson <rth@redhat.com>
3408
3409 PR c++/10202
3410 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
3411 not COMPLETE_TYPE_P for re-invoking layout_decl.
3412
d2d42a91
SL
34132003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
3414
3415 * doc/bugreport.texi: Fix paragraph breaking between sections
3416 in preparation for TeXinfo's paragraph indentation fixes.
3417 * doc/extend.texi: Ditto.
3418 * doc/invoke.texi: Ditto.
3419 * doc/objc.texi: Ditto.
3420 * doc/gcov.texi: Wrap 'gcov' in @command{}.
3421 * doc/invoke.texi (Darwin Options): Add a preamble.
3422
2ae5ae57
RH
34232003-04-11 Richard Henderson <rth@redhat.com>
3424
3425 * config/i386/i386.c (tls_model_chars): Remove.
3426 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
3427 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
3428 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
3429 (tls_symbolic_operand_1): Likewise.
3430 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
3431 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
3432 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
3433 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
3434 bits "copied from i386.h" with default_encode_section_info.
3435
52859c77
RH
34362003-04-11 Richard Henderson <rth@redhat.com>
3437
3438 * rtl.def (SYMBOL_REF): Add two 0 fields.
3439 * gengtype.c (adjust_field_rtx_def): Handle them.
3440 * print-rtl.c (print_rtx): Print them.
3441 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
3442 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
3443 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
3444 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
3445 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
3446 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
3447 (SYMBOL_FLAG_MACH_DEP): New.
3448 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
3449 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
3450 (assemble_static_space): Set SYMBOL_REF_FLAGS.
3451 (assemble_trampoline_template): Likewise.
3452 (output_constant_def, force_const_mem): Likewise.
3453 (default_encode_section_info): New.
3454 * output.h: Declare it.
3455 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
3456
68d28100
RH
34572003-04-11 Richard Henderson <rth@redhat.com>
3458
3459 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
3460 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
3461 * optabs.c (init_optabs): Initialize them.
3462 (init_libfuncs): Use init_one_libfunc.
3463 * calls.c (expand_call): Use gcov_flush_libfunc.
3464 * expr.c (store_constructor): Use setbits_libfunc.
3465 * function.c (expand_main_function): Use init_one_libfunc.
3466 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
3467
11fe27a5
MM
34682003-04-11 Mark Mitchell <mark@codesourcery.com>
3469
3470 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
3471 documentation; add DECL_FRIEND_CONTEXT.
3472
f401d0f5
JDA
34732003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3474
3475 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
3476 notes on linker selection and configuration for 64-bit HP-UX port.
3477 * doc/invoke.texi (hppa): Remove hppa text from description for
3478 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
3479 and -threads options.
3480
3481 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
3482 libc.a on libdld.sl when -static is specified and -nolibdld is not
3483 specified.
3484 * pa64-hpux.h (LIB_SPEC): Likewise.
3485 * pa-hpux11.h (LIB_SPEC): Likewise.
3486 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
3487 is not specified.
3488
43451169
ZW
34892003-04-11 Zack Weinberg <zack@codesourcery.com>
3490
3491 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
3492 not IDENTIFIER_LOCAL_VALUE.
3493
a46666a9
RH
34942003-04-11 Richard Henderson <rth@redhat.com>
3495
3496 PR c/10201
3497 * expr.c (expand_expr): Move DECL_RTL frobbing ...
3498 * stor-layout.c (layout_decl): ... here.
3499
6d2f9dd3
JM
35002003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
3501
3502 * doc/invoke.texi: Eliminate extra white-space caused by
3503 @gccoptlist{ on its own line.
3504 * doc/invoke.texi: Ensured there are two spaces between each option.
3505 * doc/invoke.texi: Re-wrapped option lines that were too wide.
3506 Added @gol to options that didn't have them.
3507
94de45d9
NS
35082003-04-11 Nathan Sidwell <nathan@codesourcery.com>
3509
3510 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
3511 gcov-iov.h.
3512
3513 Simplify interface to gcov reading and writing.
3514 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
3515 gcov_alloc, gcov_modified, gcov_errored): Move into ...
3516 (struct gcov_var gcov_var): ... this static structure.
3517 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
3518 Return void.
3519 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
3520 read object.
3521 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
3522 (gcov_reserve_length): Remove.
3523 (gcov_write_tag): New.
3524 (gcov_write_length): Adjust.
3525 (gcov_read_summary, gcov_write_summary): Adjust.
3526 (gcov_eof, gcov_ok): Rename to ...
3527 (gcov_is_eof, gcov_is_error): ... here. Return error code.
3528 (gcov_save_position, gcov_resync): Rename to ...
3529 (gcov_position, gcov_seek): ... here.
3530 (gcov_skip, gcov_skip_string): Remove.
3531 (gcov_error): Remove.
3532 (gcov_open, gcov_close): Adjust.
3533 * gcov.c (find_source): Take const char *, copy it on allocation.
3534 (read_graph_file): Adjust.
3535 (read_count_file): Adjust.
3536 * libgcov.c (gcov_exit): Adjust.
3537 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
3538 tag_arc_counts, tag_summary): Return void. Adjust.
3539 (struct tag_format): Adjust proc member.
3540 (dump_file): Adjust gcov calls.
3541
7a615b25
AO
35422003-04-11 Alexandre Oliva <aoliva@redhat.com>
3543
3544 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
3545 mkfixinc.sh.
3546 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
3547 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
3548 build != host sysrooted builds.
3549 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
3550 TARGET_SYSTEM_ROOT even on sysrooted natives.
3551 * configure: Rebuilt.
3552
339a28b9
ZW
35532003-04-10 Zack Weinberg <zack@codesourcery.com>
3554
3555 * c-decl.c (struct binding_level): Add shadowed_tags and
3556 function_body; remove this_block, tag_transparent, and
3557 subblocks_tag_transparent; update comments.
3558 (clear_binding_level, lookup_tag_reverse): Kill.
3559 (make_binding_level): Use ggc_alloc_cleared or memset.
3560 (lookup_tag): Remove struct binding_level* parameter. All
3561 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
3562 current_binding_level->tags if asked for thislevel_only or if
3563 we might have to diagnose "struct foo; union foo;"
3564 (pushlevel): Ignore argument. Do not push another binding
3565 level on the transition from the parameters to the top level
3566 of the function body; just tweak the flags and proceed.
3567 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
3568 a function body, separate the parameter list from the
3569 top-level local variables.
3570 (set_block): Do nothing.
3571 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
3572 shadowed_tags if necessary.
3573 (warn_if_shadowing): Nuke the special case for local shadowing
3574 parameter.
3575 (pushdecl): Do not create a shadow entry if we are replacing
3576 an older decl in the same binding level.
3577 (pushdecl_function_level): Tweak for new way of indicating
3578 function scope.
3579 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
3580 (start_function): Don't set subblocks_tag_transparent.
3581 (finish_function): Fix up the binding_level stack for totally
3582 empty functions. Otherwise, don't call poplevel.
3583
3584 * c-common.c (shadow_warning): MANDATORY argument is no longer
3585 necessary. Always use plain warning.
3586 * c-common.h: Update to match.
3587
3588 * cfglayout.c (scope_to_insns_initialize): Clear block when we
3589 hit the FUNCTION_DECL.
3590 * function.c: Do not create cyclic tree structure.
3591
35922003-04-10 Zack Weinberg <zack@codesourcery.com>
3593
3594 * c-tree.h (struct lang_identifier): Replace global_value,
3595 local_value members with symbol_value, tag_value. Kill
3596 implicit_decl and limbo_value.
3597 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
3598 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
3599 C_MISSING_PROTOTYPE_WARNED): Kill.
3600 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
3601 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
3602 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
3603 (implicit_decl_warning, lookup_name_current_level,
3604 record_function_scope_shadow): Don't prototype.
3605 (pushdecl_function_level): Prototype.
3606
3607 * c-decl.c (truly_local_externals): New variable.
3608 (struct binding_level): Adjust commentary.
3609 (get_function_binding_level, clear_limbo_values,
3610 record_function_scope_shadow): Kill.
3611 (lookup_name_current_level, implicit_decl_warning): Are now static.
3612 (any_external_decl, record_external_decl): New static functions.
3613 (clone_underlying type): Split out of pushdecl.
3614 (c_print_identifier): Update to match changes to struct
3615 lang_identifier.
3616 (poplevel): Delete #if 0 block. Make externals invisible
3617 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
3618 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
3619 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
3620 (duplicate-decls): For real parm decl after a forward decl,
3621 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
3622 foo(...) { } with only a warning. Say whether a previous
3623 declaration was implicit.
3624 (warn_if_shadowing): Now handles all shadowing, not just
3625 local-over-local. Clarify comments.
3626 (pushdecl): Rewritten. There is no longer a distinction
3627 between global and local symbol values; they're all
3628 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
3629 DECL_EXTERNAL decls, and use any_external_decl to check
3630 against previous externals. Kill #if 0 blocks. Don't
3631 tolerate error_mark_node being NULL.
3632 (pushdecl_top_level): Handle only those cases which
3633 Objective C (the only user) needs.
3634 (pushdecl_function_level): New function.
3635 (implicitly_declare): Create ordinary decls with
3636 C_DECL_IMPLICIT set. Recycle old decls, however they got
3637 created.
3638 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
3639 for C_DECL_INVISIBLE symbols.
3640 (lookup_name_current_level): Likewise. Use chain_member.
3641 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
3642 Use pushdecl_function_level.
3643 (builtin_function): Use C_DECL_INVISIBLE.
3644 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
3645 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
3646 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
3647 (identifier_global_value): Same. Must scan
3648 global_binding_level in extremis.
3649
3650 * c-typeck.c (undeclared_variable): New static function, split
3651 from build_external_ref.
3652 (build_external_ref): Use DECL_CONTEXT, not
3653 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
3654 an instance variable. Restructure for clarity.
3655 * objc/objc-act.c: Use identifier_global_value, not
3656 IDENTIFIER_GLOBAL_VALUE.
3657
6d9c4c83
JW
36582003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
3659
3660 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
3661 not Working Paper.
3662 * doc/invoke.texi (C++ Dialect Options): Same.
3663
06790e5f
ZW
36642003-04-10 Zack Weinberg <zack@codesourcery.com>
3665
3666 * tree.c (tree_operand_check_failed): New function.
3667 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
3668 TREE_RTL_OPERAND_CHECK): New checking macros.
3669 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
3670 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
3671 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
3672 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
3673 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
3674 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
3675 checking macros.
3676
f90e4dea
JH
3677Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
3678
3679 PR inline-asm/8803
3680 * function.c (instantate_virtual_regs): Verify that all ASM statements
3681 match after the virutal regs instantiation.
3682
08744705
SE
36832003-04-10 Steve Ellcey <sje@cup.hp.com>
3684
3685 * ia64-protos.h (addp4_optimize_ok): New.
3686 * ia64.c (addp4_optimize_ok): New.
3687 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
3688 (*ptr_extend_plus_2): Ditto.
3689
267b28bd
SE
36902003-04-10 Steve Ellcey <sje@cup.hp.com>
3691
3692 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
3693 not with convert_memory_address.
3694 (store_constructor): Ditto, and same for copy_size_rtx.
3695 (expand_expr): Ditto.
3696
021bad8e
DR
36972003-04-10 Douglas B Rupp <rupp@gnat.com>
3698
3699 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
3700
1839841c
BW
37012003-04-10 Bob Wilson <bob.wilson@acm.org>
3702
3703 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
3704 even if it is configured to be write-through.
3705
e23795ea
UW
37062003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
3707
3708 * config/s390/s390.c (larl_operand): Do not allow symbols
3709 marked with '@'.
3710 (s390_encode_section_info): Mark symbols with forced 1-byte
3711 alignment with '@'.
3712 (s390_strip_name_encoding): Strip '@'.
3713 (legitimize_pic_address): Handle symbols that are not valid
3714 LARL operands in 64-bit mode.
3715
0bb7378d
AH
37162003-04-10 Andrew Haley <aph@redhat.com>
3717
3718 * tree-inline.c (inlinable_function_p): Disable inlining for
3719 synchronized methods.
3720
009ed910
SB
37212003-04-09 Steven Bosscher <steven@gcc.gnu.org>
3722
3723 * c-common.h (lang_statement_code_p): Remove declaration.
3724 (statement_code_p): Ditto.
3725 (c_common_stmt_codes): Define; list of c-common statement codes.
3726 (statement_code_p): New extern declaration.
3727 (STATEMENT_CODE_P): Define.
3728 (INIT_STATEMENT_CODES): Define.
3729 * c-common.c (statement_code_p): Kill the function, declare
3730 as an array of bools instead.
3731 (lang_statement_code_p): Remove.
3732 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
3733 (c_safe_from_p): Ditto.
3734 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
3735 to initialize the statement_code_p array.
3736 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
3737 statement_code_p.
3738 (copy_tree_r): Ditto.
3739 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
3740 statement tree codes.
3741 * cp/lex.c (cxx_init): Add missing print line break. Use
3742 INIT_STATEMENT_CODES to initialize the statement_code_p array.
3743 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
3744 instead of statement_code_p.
3745 * cp/pt.c (tsubst_expr): Ditto.
3746 * cp/tree.c (verify_stmt_tree_r): Ditto.
3747 (cp_statement_code_p): Remove.
3748 (init_tree): Don't set lang_statement_code_p, it's gone.
3749
496324d0
DN
37502003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
3751 Zack Weinberg <zack@codesourcery.com>
3752
3753 * regrename.c (struct du_chain): Use a bitfield for reg_class.
3754 * cse.c (struct qty_table_elem, struct table_elt, struct set):
3755 Use bitfields for fields holding enum rtx_code or
3756 enum machine_mode values. Add comments explaining size choices.
3757
9c951124
AO
37582003-04-09 Alexandre Oliva <aoliva@redhat.com>
3759
3760 * config/fp-bit.c (unpack_d): Handle pair of doubles with
3761 different signs correctly.
3762
d1c9693e
VM
37632003-04-09 Vladimir Makarov <vmakarov@redhat.com>
3764
3765 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
3766 (reg_pending_barrier): Make it of the enumeration type.
3767 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
3768 TRUE_BARRIER.
3769 (sched_analyze): Ditto.
3770 (sched_analyze_insn): Ditto. Use anti-dependencies for
3771 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
3772 (init_deps_global): Initialize the barrier as NO_BARRIER.
06790e5f 3773
f32360c7
VM
37742003-04-09 Vladimir Makarov <vmakarov@redhat.com>
3775
3776 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
3777 Check that asm insn starts on a new cycle. Add nops after asm
3778 insn to end bundle.
3779 (bundling): Move insn type evaluation from the loop. Call
3780 issue_nops_and_insn with the new parameter. Ignore changing
3781 position for nops after asm insn.
3782
0913e4b4
AO
37832003-04-09 Alexandre Oliva <aoliva@redhat.com>
3784
3785 * optabs.c: Comment that gen_add2_insn and others may actually
3786 return emitted insns, if the gen functions turn out to return
3787 emitted insns.
3788 * reload1.c (reload_cse_move2add): Cope with emitted insns from
3789 gen_add2_insn.
3790
21515593
RH
37912003-04-09 Richard Henderson <rth@redhat.com>
3792
3793 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
3794 but not tls_symbolic_operand.
3795 (ia64_expand_load_address): Remove scratch operand.
3796 (ia64_expand_tls_address): Split out from ia64_expand_move.
3797 (ia64_expand_move): Split symbolics only after reload.
3798 (ia64_emit_cond_move): New.
3799 * config/ia64/ia64-protos.h: Update.
3800 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
3801 (symbolic splitter): Accept SImode operands too.
3802 (cmove splitter): Use ia64_emit_cond_move.
3803
66d6bf1f
NC
38042003-04-09 Nick Clifton <nickc@redhat.com>
3805
3806 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
3807 newer.
3808 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
3809 instead of -mno-fpu.
3810 * config/arm/semi.h (ASM_SPEC): Likewise.
3811 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
3812 but only if -msoft-float is specified pass. Otherwise pass
3813 -mfpu=softvfp.
06790e5f 3814
22659ac9
ZD
38152003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3816
3817 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
3818 free_EXPR_LIST_node.
3819
5fce2c65
RS
38202003-04-08 Roger Sayle <roger@eyesopen.com>
3821
3822 * fold-const.c (fold): Use "fold" following build in more places.
3823 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
3824 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
3825
531878a6
RS
38262003-04-08 Roger Sayle <roger@eyesopen.com>
3827
3828 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
3829 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
3830 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
3831 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
3832 Delete function scope "fcode" variable to avoid shadowing.
3833
c583e7c3
KB
38342003-04-08 Kevin Buettner <kevinb@redhat.com>
3835
3836 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
3837 Take into account DWARF_INITIAL_LENGTH_SIZE.
3838
5a82c0b1
HPN
38392003-04-08 Hans-Peter Nilsson <hp@axis.com>
3840
3841 * reorg.c (fill_slots_from_thread): When considering changing the
3842 insn following a reg-to-reg copy insn to use the source reg of the
3843 copy, bail out if there's overlap between the registers.
3844
8a5275eb
ZD
38452003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3846
3847 * function.c (postponed_insns): New.
3848 (purge_addressof_1): Postpone processing of insns if addressofs
3849 are not put into stack.
06790e5f 3850 (purge_addressof): Process postponed insns.
8a5275eb 3851
ac55736a
R
38522003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
3853
3854 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
3855 this is FP_MODE_DOUBLE .
3856 * sh.c (ra.h): #include.
3857 (push_regs): Add second parameter. Changed all callers.
3858 If necessary, set fpscr before saving floating point registers.
3859 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
3860 do saves / restores with SZ == 1.
3861 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
3862 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
3863 registers are being restored, restore FPSCR only after restoring them.
3864
3fdaa45a
AH
38652003-04-08 Aldy Hernandez <aldyh@redhat.com>
3866
496324d0
DN
3867 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
3868 regardless of architecture.
3869 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
3fdaa45a 3870
490dbac7
R
38712003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
3872
3873 * sh.c (push_regs, calc_live_regs): Return int. Take single
3874 HARD_REG_SET * parameter. Changed all callers.
3875
799b33a0
JH
3876Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
3877
3878 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
3879 GOTOFF operand.
3880 (legitimize_pic_address): Move plus outside the unspec.
3881 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
3882 for validity.
3883
3e71e002
NS
38842003-04-08 Nathan Sidwell <nathan@codesourcery.com>
3885
3886 * gcov-io.h (gcov_save_position): Remove __inline__ from
3887 declaration.
3888
7ba4ca63
MK
38892003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
3890
3891 * doc/install.texi: Use @command and @samp for single- and
3892 multi-word commands respectively.
3893 * doc/makefile.texi: Likewise.
3894 * doc/sourcebuild.texi: Likewise.
3895
f8d4be57 38962003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
496324d0 3897 Richard Henderson <rth@redhat.com>
f8d4be57 3898
496324d0
DN
3899 PR c/9516
3900 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
3901 favour of looping and tail recursion for TREE_LIST and binops.
f8d4be57 3902
760e8e42
ZD
39032003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3904
3905 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
3906 for insns without luid.
3907
b0a3412c
GN
39082003-04-07 Glen Nakamura <glen@imodulo.com>
3909
3910 PR opt/8634
3911 * explow.c (maybe_set_unchanging): Don't flag non-static const
3912 aggregate type initializers with RTX_UNCHANGING_P.
3913
c5a1e3d6
RH
39142003-04-07 Richard Henderson <rth@redhat.com>
3915
496324d0
DN
3916 PR opt/8634
3917 * function.c (purge_addressof_1): Don't try arithmetics for
3918 unchanging memories.
c5a1e3d6 3919
138d4703
JJ
39202003-04-07 Janis Johnson <janis187@us.ibm.com>
3921
3922 * doc/sourcebuild.texi (Test Suites): Document testing support for
3923 gcov and profile-directed optimizations; describe gcc.misc-tests.
3924
1d5b4e0b
JH
3925Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
3926
3927 PR target/10077
3928 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
3929
60ba917e
EB
39302003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3931
3932 * doc/rtl.texi (Comparison operations): Update to
3933 record the allowed comparison modes.
3934
2abe3e28
AH
39352003-04-07 Aldy Hernandez <aldyh@redhat.com>
3936
496324d0
DN
3937 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
3938 V2SI_type_node to opaque_V2SI_type_node. Rename all
3939 V2SF_type_node to opaque_V2SF_type_node.
3940 (rs6000_init_builtins): Define opaque_V2SI_type_node and
3941 opaque_V2SF_type_node.
3942 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
3943 opaque_V2SF_type_node are opaque types.
2abe3e28 3944
9a318d30
R
39452003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
3946
3947 * gcse.c (replace_store_insn): Use single_set.
3948
546d2adb
NS
39492003-04-07 Nathan Sidwell <nathan@codesourcery.com>
3950
3951 Change gcov file interface to single file at a time.
3952 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
3953 Convert to C89 prototypes.
3954 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
3955 gcov_error, gcov_modified): New static variables.
3956 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
3957 functions.
3958 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
3959 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
3960 (gcov_read_summary, gcov_write_summary): Adjust.
3961 (gcov_save_position, gcov_reserve_length, gcov_write_length):
3962 Adjust.
3963 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
3964 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
3965 (da_file_position, da_file_seek, da_file_write, da_file_read):
3966 Remove.
3967 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
3968 * gcov.c (gcov_type): Don't typedef here.
3969 (IN_GCOV): #define
3970 (read_graph_file, read_count_file): Adjust.
3971 * gcov-dump.c (gcov_type): Don't typedef here.
3972 (IN_GCOV): #define.
3973 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
3974 Remove FILE parameter, adjust.
3975 (struct tag_format): Adjust proc member.
3976 (dump_file): Adjust.
3977 * libgcov.c (IN_LIBGCOV): #define.
3978 (gcov_exit): Adjust.
3979 * loop-init.c: Don't #include gcov-io.h
3980 * profile.c (struct counts_entry): New structure to hold counter
3981 values.
3982 (struct section_reference, struct da_index_entry): Remove.
3983 (bbg_file, da_file): Remove.
3984 (htab_counts_index_hash, htab_counts_index_eq,
3985 htab_counts_index_del): Replace with ...
3986 (htab_counts_entry_hash, htab_counts_entry_eq,
3987 htab_counts_entry_del): ... these.
3988 (cleanup_counts_index, index_counts_file): Remove.
3989 (read_counts_file): New function.
3990 (get_exec_counts): Adjust.
3991 (compute_branch_probabilities): Don't free the exec counts here.
3992 (branch_prob): Adjust.
3993 (init_branch_prob): Adjust.
3994 (end_branch_prob): Adjust.
3995
5da702b1
AH
39962003-04-07 Aldy Hernandez <aldyh@redhat.com>
3997
496324d0
DN
3998 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3999 -mfloat-gprs.
5da702b1 4000
496324d0
DN
4001 * config/rs6000/rs6000.c: Delete rs6000_fprs.
4002 Declare rs6000_float_gprs.
4003 Declare rs6000_float_gprs_string.
4004 (rs6000_parse_float_gprs_option): New.
4005 (rs6000_override_options): Genericize rs6000_parse_* calls to use
4006 rs6000_parse_yes_no_option.
4007 Change check for cpu=8540, to use TARGET_E500.
4008 (rs6000_parse_isel_option): Delete.
4009 (rs6000_parse_spe_option): Delete.
4010 (rs6000_parse_vrsave_option): Delete.
5da702b1 4011
496324d0
DN
4012 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
4013 Define rs6000_float_gprs_string.
4014 (TARGET_OPTIONS): Add rs6000_float_gprs option.
5da702b1 4015
496324d0 4016 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
5da702b1 4017
496324d0 4018 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
5da702b1 4019
cde1d5bf
JH
4020Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
4021
4022 PR opt/10024
4023 * cfglayout.c (cfg_layout_redirect_edge):
4024 Redirect any branch edges unified with the fallthru one.
4025 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
4026 case fallthru edges when called via cfglayout.c
4027
d5019ba3
R
40282003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
4029
4030 * c-typeck.c (output_init_element): Check for type == error_mark_node.
4031
093b05b6
KH
40322003-04-07 Kazu Hirata <kazu@cs.umass.edu>
4033
4034 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
4035 split.
4036 (a splitter): Do zero-extension via HImode.
4037
9a94f7f3
JM
40382003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
4039
4040 * doc/invoke.texi: Eliminate extra white-space caused by
4041 @gccoptlist{ on its own line.
4042 * doc/invoke.texi: Ensured there are two spaces between each option.
4043 * doc/invoke.texi: Re-wrapped option lines that were too wide.
4044 Added @gol to options that didn't have them.
4045
85ebf0c6
JM
40462003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
4047
4048 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
4049
d78e771d
ZW
40502003-04-06 Zack Weinberg <zack@codesourcery.com>
4051
4052 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
4053 at the sizes of the relevant structures, rather than relying
4054 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
4055 sizes of any such we don't know about. Use
4056 lang_hooks.identifier_size for IDENTIFIER_NODE.
4057
4058 (initializer_zerop): Use CONSTRUCTOR_ELTS.
4059 * tree.def: Update commentary. Make fourth element of
4060 the definition for all 'c' and 'x' nodes zero.
4061
4062 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
4063 * langhooks-def.h: Update to match.
4064 * langhooks.c: New default, lhd_tree_size.
4065
4066 * c-common.def (SRCLOC): Kill.
4067 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
4068 Remove entirely - was already #if-ed out.
4069
4070
48a79342
ZW
40712003-04-06 Zack Weinberg <zack@codesourcery.com>
4072
4073 * mklibgcc.in: Use a here document to avoid running afoul of
4074 shells that generate control-A from "echo \1".
4075
993f19a8
AH
40762003-04-06 Aldy Hernandez <aldyh@redhat.com>
4077
d78e771d
ZW
4078 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
4079 option.
993f19a8 4080
d78e771d
ZW
4081 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
4082 rs6000_spe.
993f19a8 4083
d78e771d 4084 * config/rs6000/eabi.h (TARGET_E500): Define.
993f19a8 4085
d78e771d
ZW
4086 * config/rs6000/rs6000.h (TARGET_E500): Define.
4087 (TARGET_OPTIONS): Add spe= option.
4088 Declare rs6000_spe and rs6000_spe_string extern.
993f19a8 4089
d78e771d
ZW
4090 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
4091 Change TARGET_SPE to TARGET_E500.
4092 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
4093 !TARGET_FPRS.
4094 (print_operand): Same.
4095 (rs6000_generate_compare): Same.
4096 (output_cbranch): Same.
4097 (rs6000_spe): Declare.
4098 (rs6000_spe_string): Declare.
4099 (rs6000_override_options): Call rs6000_parse_spe_option.
4100 (rs6000_parse_spe_option): New.
993f19a8 4101
95ec27aa
SB
41022003-04-06 Steven Bosscher <steven@gcc.gnu.org>
4103
4104 * hashtable.c (gcc_obstack_init): Delete this function
4105 and everything related to it.
4106 * hashtable.h: Remove prototype.
4107 * bitmap.c (bitmap_element_allocate): Cleanup redundant
4108 defines. Cleanup some unnecessary whitespace.
4109 * defaults.h (obstack_chunk_alloc): Redefine with
4110 appropriate casts for libiberty obstacks.
4111 (obstack_chunk_free): Ditto.
4112 (OBSTACK_CHUNK_SIZE): Define, default to 0.
4113 (gcc_obstack_init): Define as a call to _obstack_begin.
4114 * tree.c (print_obstack_statistics): Delete this unused
4115 function.
4116 * tree.h (obstack): Don't forward-declare.
4117 (print_obstack_statistics): Delete prototype.
4118 (print_obstack_name): Ditto.
4119 (gcc_obstack_init): Ditto.
4120 * rtl.h (gcc_obstack_init): Ditto.
4121 * java/jv-scan.c (gcc_obstack_init): Delete this
4122 function, its prototype and related defines.
4123 * java/jvgenmain.c (gcc_obstack_init): Delete this
4124 function, and related defines.
4125 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
4126 (obstack_chunk_free): Ditto
4127
62e64b0b
GK
41282003-04-06 Geoffrey Keating <geoffk@apple.com>
4129
4130 * dbxout.c (dbxout_handle_pch): Move prototype out from
4131 #if defined DBX_DEBUGGING_INFO.
4132
10b7602f
NS
41332003-04-05 Nathan Sidwell <nathan@codesourcery.com>
4134
4135 * gcov.c (struct arc_info): Replace local_span with cycle.
4136 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
4137 (solve_flow_graph): Set is_call_return.
4138 (add_line_counts): Adjust. In block mode, blocks attach to last line.
4139 (accumulate_line_counts): Find graph cycles, not spanning tree.
4140 (output_branch_count): Adjust.
4141 (output_lines): Adjust.
4142 * doc/gcov.texi: Update.
4143
910c46b5
KH
41442003-04-06 Kazu Hirata <kazu@cs.umass.edu>
4145
4146 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
4147 the second alternative to "#".
4148
ef378bbe
KH
41492003-04-05 Kazu Hirata <kazu@cs.umass.edu>
4150
4151 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
4152 (single_zero_operand): Likewise.
4153
873ceaab
DB
41542003-04-05 Daniel Berlin <dberlin@dberlin.org>
4155
4156 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
4157 * df.c: Include alloc-pool.h, not obstack.h.
4158 (df_ref_obstack): Remove.
4159 (df_ref_pool, df_link_pool): Add pools.
4160 (df_alloc): Init the new pools.
4161 (df_free): And free them.
4162 (df_link_create): Use the pools.
4163 (df_ref_create): Ditto.
4164
5be86fec
KH
41652003-04-05 Kazu Hirata <kazu@cs.umass.edu>
4166
4167 * simplify-rtx.c: Fix formatting.
4168
984e25ac
DE
41692003-04-05 Andrew Pinski <apinski@apple.com>
4170
4171 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
4172 reg with reg1 == reg2 and offset1 = -8.
4173
41742003-04-05 David Edelsohn <edelsohn@gnu.org>
4175
4176 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
4177 multiply costs. Correct Power4 divide costs.
4178 * config/rs6000/power4.md: Restore multiply and FP latency.
4179
94f24ddc
ZD
41802003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4181
4182 * alias.c (find_base_term): Export.
4183 * rtl.h (find_base_term): Declare.
4184 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
4185 instead of flag_exceptions. Move test for parameter passing ...
4186 (store_killed_in_insn): ... here.
4187
92441f83
GP
41882003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4189
4190 PR bootstrap/10267
4191 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
4192 for configuring.
4193
33b49800
GK
41942003-04-04 Geoffrey Keating <geoffk@apple.com>
4195
4196 * dbxout.c (scope_labelno): Add GTY.
4197 (have_used_extensions): Add GTY.
4198 (source_label_number): Add GTY.
4199 (lastfile): Add GTY.
4200 (lastfile_is_base): New.
4201 (base_input_file): New.
4202 (dbxout_handle_pch): New.
4203 (dbx_debug_hooks): Add handle_pch.
4204 (xcoff_debug_hooks): Likewise.
4205 (dbxout_function_end): Remove scope_labelno.
4206 (dbxout_init): Set base_input_file.
4207 (dbxout_handle_pch): New.
4208 (dbxout_source_file): Honour lastfile_is_base.
4209 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
4210 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
4211 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
4212 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
4213 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
4214 * debug.h (struct gcc_debug_hooks): Add handle_pch.
4215 * c-pch.c (pch_init): Don't call start_source_file, but do call
4216 handle_pch.
4217 (c_common_write_pch): Call handle_pch.
4218 (c_common_read_pch): Don't call start_source_file,
06790e5f 4219 or end_source_file.
33b49800 4220
bb056a77
OH
4221Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
4222
d78e771d
ZW
4223 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
4224 use of default attributes to agree MEM_ALIGN macro.
bb056a77 4225
08b0f5f9
JB
4226Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
4227
d78e771d 4228 * dbxout.c (dbxout_type): When printing type index of range type
08b0f5f9
JB
4229 whose bounds are printed in octal format, print type of parent type if
4230 it exists so enumerated type descriptions are not transformed
d78e771d 4231 into unsigned types.
08b0f5f9 4232
45ca2106
KH
42332003-04-04 Kazu Hirata <kazu@cs.umass.edu>
4234
4235 * config/h8300/h8300-protos.h: Add a prototype for
4236 compute_a_shift_cc.
4237 * config/h8300/h8300.c (shift_one): Update the CC status.
4238 (shift_two): Likewise.
4239 (output_a_shift_cc): Set cc_inline and cc_special.
4240 (compute_a_shift_cc): New.
4241 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
4242
7c2aa9d7
RH
42432003-04-04 Richard Henderson <rth@redhat.com>
4244
4245 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
4246
0705a2a2
LR
42472003-04-04 Loren James Rittle <ljrittle@acm.org>
4248
4249 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
4250 * fixinc/fixincl.x: Rebuilt.
4251 * fixinc/tests/base/stdio.h: Regenerated.
4252
1a482881
NS
42532003-04-04 Nathan Sidwell <nathan@codesourcery.com>
4254
4255 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
4256
5d806217
R
4257Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
4258
4259 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
4260 (NORMAL_MODE).
4261 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
4262
0dc5ac92 42632003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
06790e5f 4264
0dc5ac92
GP
4265 * doc/contrib.texi (Contributors): Add entries for Wolfgang
4266 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
4267 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
4268 Danny Smith, and Ulrich Weigand.
4269 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
4270 entry.
4271
5eb7ad07
NC
42722003-04-04 Nick Clifton <nickc@redhat.com>
4273
4274 * config/sparc/sol2-bi.h: Revert previous delta.
4275 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
4276
fdf3bb57
NC
42772003-04-04 Nick Clifton <nickc@redhat.com>
4278
4279 * config/v850/v850.c (expand_prologue): Only use register save
4280 helper functions if long calls are not being used.
4281 Add a clobber of r11 id using long calls.
4282 (pattern_is_ok_for_prologue): Account for the extra clobber.
4283 (construct_save_jarl): Likewise.
4284 * config/v850/v850.md (prolog pattern): Do not use this pattern
4285 for v850e's.
4286
ad3f5759
AS
42872003-04-04 Andreas Schwab <schwab@suse.de>
4288
4289 * stor-layout.c (layout_decl): Avoid syntax error in last change
4290 when PCC_BITFIELD_TYPE_MATTERS is defined but not
4291 EMPTY_FIELD_BOUNDARY.
4292
ed2e5902
JM
42932003-04-03 Jason Merrill <jason@redhat.com>
4294
4295 PR c/10175
4296 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
4297 Look backwards for a line note.
4298
7b43d104
NB
42992003-04-03 Neil Booth <neil@daikokuya.co.uk>
4300
4301 * fix-header.c (read_scan_file): Defer switch processing.
4302
d24ecd21
MA
43032003-04-03 Matt Austern <austern@apple.com>
4304
4305 * cpppch.c (reset_ht): Remove.
4306 (cpp_read_state): Remove loop to reset hashtable identifiers.
4307 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
4308 after pch file is written.
4309 * ggc.h (gt_pch_fixup_stringpool): Declare.
4310 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
4311 hashnode's value to another hashtable, then clear the original.
4312 (saved_ident_hash): Define.
4313 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
4314 store definitions in ident_hash, and clear ident_hash.
4315 (gt_pch_fixup_stringpool): Define. Restore definitions from
4316 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
4317
bcc53e2a
JH
4318Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
4319
4320 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
4321
773eae39
EB
43222003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
4323
4324 PR optimization/10157
4325 * gcse.c (can_copy_p): Rename it to can_copy.
4326 (can_copy_init_p): Remove.
4327 (compute_can_copy): Use can_copy instead of can_copy_p.
4328 (can_copy_p): New exported function. Call compute_can_copy.
4329 (hash_scan_set): Use it.
4330 (gcse_main): Don't call compute_can_copy.
4331 (bypass_jumps): Don't call compute_can_copy.
4332 * rtl.h (can_copy_p): Declare.
4333 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
4334 copy if the mode doesn't support copy operations.
4335
78d55cc8
JM
43362003-04-03 Jason Merrill <jason@redhat.com>
4337
613fa146
JM
4338 * Makefile.in (unstrap): Also remove stage_last.
4339
7bf6b23d
JM
4340 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
4341 (dwarf2out_source_line): Don't do anything if line==0.
4342
78d55cc8 4343 * stor-layout.c (do_type_align): New fn, split out from...
06790e5f 4344 (layout_decl): ...here. Do all alignment calculations for
78d55cc8
JM
4345 FIELD_DECLs here.
4346 (update_alignment_for_field): Not here.
4347 (start_record_layout, debug_rli): Remove unpadded_align.
4348 * tree.h (struct record_layout_info_s): Remove unpadded_align.
4349 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
4350 or DECL_MODE on the CONST_DECLs.
4351 (finish_struct): Don't mess with DECL_ALIGN.
4352
d10f5ecf
JH
4353Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
4354
4355 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
4356
4357Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
8d3b0953 4358
70aadfcc
R
4359 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
4360 function is an interrupt handler.
4361
4362 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
4363 restoring target registers with EH_RETURN_STACKADJ_RTX; use
4364 multiple registers in round-robin fashion.
8d3b0953 4365
de94b46c
KG
43662003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4367
4368 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
4369 * system.h (CHAR_BITFIELD): New.
4370
203dcb74
KH
43712003-04-03 Kazu Hirata <kazu@cs.umass.edu>
4372
4373 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
4374 and LE.
4375 (another peephole2): Likewise.
4376
dc00aebd
NC
43772003-04-03 Nick Clifton <nickc@redhat.com>
4378
4379 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
d78e771d 4380 (DEF_ARCH64_SPEC): Likewise.
dc00aebd 4381
a94f136b
JH
4382Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
4383
4384 * i386.c (constant_address_p): Use legitimate_constant_p.
4385 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
4386
9a2dd2dd
KH
43872003-04-02 Kazu Hirata <kazu@cs.umass.edu>
4388
4389 * config/h8300/h8300-protos.h: Add a prototype for
4390 gtle_operator.
4391 * config/h8300/h8300.c (gtle_operator): New.
4392 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
4393 gtle_operator.
4394 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
4395 and LE.
4396
378683cf
RH
43972003-04-02 Richard Henderson <rth@redhat.com>
4398
4399 * libgcc-std.ver (_Unwind_GetCFA): New.
4400 * unwind-dw2.c (_Unwind_GetCFA): New.
4401 * unwind-libunwind.c (_Unwind_GetCFA): New.
4402 * unwind-sjlj.c (_Unwind_GetCFA): New.
4403 * unwind.h: Declare it.
4404
a67a3220
JH
4405Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
4406
4407 PR inline-asm/8088
4408 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
4409 when MMX/SSE is not available.
4410
11292480
MS
44112003-04-02 Mike Stump <mrs@apple.com>
4412
4413 * doc/install.texi (Specific): Update pointers to apple.com.
4414
a94f136b 4415Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
a5b378d6
JH
4416
4417 * i386.c (override_options): Disable red zone by default on i386.
06790e5f 4418 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
a5b378d6
JH
4419 Do not test TARGET_64BIT together with TARGET_RED_ZONE
4420
8fc9a7ba
KH
44212003-04-02 Kazu Hirata <kazu@cs.umass.edu>
4422
4423 * config/h8300/h8300.md (a peephole2): Tighten the condition.
4424
496e1c4b
RH
44252003-04-02 Richard Henderson <rth@redhat.com>
4426
4427 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
4428
d98cd543
KH
44292003-04-02 Kazu Hirata <kazu@cs.umass.edu>
4430
4431 * config/h8300/h8300.md (a peephole2): New.
4432
b30abdf2
RH
44332003-04-02 Richard Henderson <rth@redhat.com>
4434
4435 * except.c (sjlj_find_directly_reachable_regions): Recognize when
4436 must-not-throw region has been deleted.
4437
ad5eeaa9
RH
44382003-04-02 Richard Henderson <rth@redhat.com>
4439
d78e771d
ZW
4440 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
4441 optimization when flag_exceptions not enabled.
ad5eeaa9 4442
be12c2b0
VM
44432003-04-02 Vladimir Makarov <vmakarov@redhat.com>
4444
4445 * config/rs6000/rs6000.c
4446 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
4447 macros.
4448 (rs6000_issue_rate): Add case for 8540.
4449 (rs6000_use_sched_lookahead): New function.
4450
4451 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
4452 units into MU ones.
4453 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
4454 reservation before retirement.
4455 (ppc8540_multiply, ppc8540_load, ppc8540_store,
4456 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
4457 Remove additional cycle in the reservation before retirement.
4458 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
4459 reservation of ppc8540_issue.
06790e5f 4460
f875310e
AS
44612003-04-02 Andreas Schwab <schwab@suse.de>
4462
4463 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
4464
125ca8fd
RH
44652003-04-01 Richard Henderson <rth@redhat.com>
4466
d78e771d
ZW
4467 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
4468 notes for nothrow calls if flag_forced_unwind_exceptions.
4469 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
4470 (sjlj_find_directly_reachable_regions): Likewise.
4471 (reachable_handlers): Likewise.
4472 (can_throw_external): Likewise.
4473 (collect_one_action_chain): Record cleanups after catch-all and
4474 must-not-throw if flag_forced_unwind_exceptions.
4475 * flags.h (flag_forced_unwind_exceptions): Declare.
4476 * toplev.c (flag_forced_unwind_exceptions): New.
4477 (lang_independent_options): Add it.
125ca8fd
RH
4478 * doc/invoke.text: Add it.
4479
8f744ea9
DM
44802003-04-01 David Mosberger <davidm@hpl.hp.com>
4481
d78e771d
ZW
4482 * config/ia64/crti.asm: Clean up trailing whitespace.
4483 Remove trailing hashes (#) from identifiers.
8f744ea9 4484
d78e771d 4485 * config/ia64/crtn.asm: Ditto.
8f744ea9 4486
d78e771d
ZW
4487 * config/ia64/crtend.asm: Remove trailing hashes (#) from
4488 identifiers.
4489 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
4490 directives. Drop explicit bundling---it just makes the code
4491 harder to read. Don't save/restore gp needlessly.
8f744ea9 4492
d78e771d
ZW
4493 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
4494 identifiers (they're only needed if the identifier would clash
4495 with a register name otherwise).
4496 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
4497 directives. Drop explicit bundling---it just makes the code
4498 harder to read.
4499 (__do_jv_register_classes): Ditto.
4500 (.fini_array): Remove "progbits" (newer
4501 assemblers don't like wrong section-types).
4502 (.init_array): Ditto.
8f744ea9 4503
e129b3f9
RS
45042003-04-01 Roger Sayle <roger@eyesopen.com>
4505
4506 PR fortran/9974
15d4fd98 4507 * gcse.c (reg_killed_on_edge): New function to test whether the
e129b3f9
RS
4508 given reg is overwritten by any instruction queued on an edge.
4509 (bypass_block): Ignore substitutions killed on incoming edges.
4510 Don't bypass outgoing edges that have queued instructions.
4511
fe0002ee
AO
45122003-04-01 Alexandre Oliva <aoliva@redhat.com>
4513
4514 * real.h (EXP_BITS): Make room for...
4515 (struct real_value): ... added canonical bit.
4516 (struct real_format): Added pnan.
4517 (mips_single_format, mips_double_format, mips_extended_format,
4518 mips_quad_format): New.
4519 * real.c: Copy p to pnan in all formats.
4520 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
4521 (real_nan): Use pnan to compute significand's shift.
4522 (real_identical): Disregard significand in canonical
4523 NaNs.
4524 (real_hash): Likewise. Take signalling into account.
4525 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
4526 Disregard significand bits in canonical NaNs. Set all bits of
4527 canonical NaN if !qnan_msb_set.
4528 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
4529 qnan_msb_set to tell the base double format.
4530 (ibm_extended_format): Use 53 as pnan.
4531 (mips_single_format, mips_double_format, mips_extended_format,
4532 mips_quad_format): Copied from the corresponding ieee/ibm
4533 formats, with qnan_msb_set false.
4534 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
4535 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
4536 * config/mips/mips.c (override_options): Use mips_single_format
4537 and mips_double_format. Default TFmode to mips_quad_format.
4538 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
4539 * config/mips/t-irix6: Likewise.
4540 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
4541 * config/fp-bit.c (pack_d, unpack_d): Obey it.
4542
481a8181
GK
45432003-04-01 Geoffrey Keating <geoffk@apple.com>
4544
4545 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
4546 (live_image_destructor): Reset image to initial state.
4547 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
4548
375ffbe6
EB
45492003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
4550
4551 * config/sparc/sparc.c (input_operand): Accept bare
4552 CONSTANT_P_RTX operands.
4553
47a3dae1
ZD
45542003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4555
4556 * gcse.c (struct ls_expr): Added pattern_regs field.
4557 (ldst_entry): Initialize it.
4558 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
4559 (store_ops_ok): Use regs precomputed by them.
4560 (find_loads, store_killed_in_insn, load_kills_store): Change return
4561 type to bool.
4562 (store_killed_before, store_killed_after): Take position of register
4563 set in account.
4564 (reg_set_info): Store position of the setter.
4565 (gcse_main): Enable store motion.
4566 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
4567 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
4568 sharing.
4569 (simple_mem): Enable store motion of non-symbol mems.
4570 (regvec): Type changed.
4571 (LAST_AVAIL_CHECK_FAILURE): New.
4572 (compute_store_table_current_insn): New.
4573 (build_store_vectors): Computation of availability and anticipatability
4574 moved ...
4575 (compute_store_table, find_moveable_store): ... here.
4576 (delete_store): Remove senseless comment.
4577 (store_motion): Reorganize.
4578
77d4f3a4
KB
45792003-04-01 Kevin Buettner <kevinb@redhat.com>
4580
4581 * config/mips/mips.c (override_options): Provide mappings for
4582 HI_REGNUM and LO_REGNUM.
4583 * config/mips/mips.h (MD_DBX_FIRST): Define.
4584
7d4444ea
FS
45852003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4586
4587 * combine.c (merge_outer_ops): Fix typo.
4588
4589 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
4590
9259f3b0
DE
45912003-04-01 David Edelsohn <edelsohn@gnu.org>
4592
4593 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
4594 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
4595 imul_compare. Add lmul_compare.
4596 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
4597 in second pair of dispatch slots. Model stores more accurately.
4598 Tweak multiply model. Add bypasses for CR instructions dependent
4599 on complicated compares.
4600 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
4601 (muldi3): Add lmul_compare patterns.
4602 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
4603 and FPSTORE_UX to split instructions and add COMPARE,
4604 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
4605 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
4606 (rs6000_rtx_costs): Separate POWER4 multiply case.
4607
7fe317e4
UW
46082003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
4609
4610 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
4611 Do nothing if __builtin_return_address was not used.
4612
e1fea6ee
JH
4613Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
4614
4615 * i386.md (test patterns): Allow memory operand in operand1.
4616
d744e06e
AH
46172003-02-31 Aldy Hernandez <aldyh@redhat.com>
4618
d78e771d
ZW
4619 * testsuite/gcc.c-torture/execute/simd-3.c: New.
4620
4621 * expr.c (expand_expr): Handle VECTOR_CST.
4622 (const_vector_from_tree): New.
4623
4624 * varasm.c (output_constant): Handle VECTOR_CST.
4625
4626 * c-typeck.c (digest_init): Build a vector constant from a
4627 VECTOR_TYPE.
4628
4629 * config/rs6000/rs6000.c: Remove prototype for
4630 easy_vector_constant.
4631 (easy_vector_constant): Add mode parameter. Rewrite to handle
4632 more easy constants.
4633 (rs6000_emit_move): Pass mode to easy_vector_constant.
4634 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
4635 (emit_easy_vector_insn): New.
4636 (easy_vector_same): New.
4637 (EASY_VECTOR_15): New macro.
4638 (EASY_VECTOR_15_ADD_SELF): New macro.
4639 (bdesc_2arg): Rename to xorv2si3.
4640 (easy_vector_constant_add_self): New.
4641 (input_operand): Allow vector constants.
4642
4643 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
4644 easy_vector_constant, easy_vector_constant_add_self.
4645 (EXTRA_CONSTRAINT): Add 'W'.
4646
4647 * config/rs6000/rs6000-protos.h: Add prototype for
4648 easy_vector_constant, emit_easy_vector_insn.
4649
4650 * config/rs6000/altivec.md (xorv8hi3): New.
4651 (xorv16qi3): New.
4652 Remove all _const0 patterns.
4653 (movv4si_internal): Rewrite to use code. Add vector constant to
4654 vector alternative. Add splitter.
4655 (movv8hi_internal): Same.
4656 (movv16qi_internal): Same.
4657 (movv4sf_internal): Same.
4658 Change the unspecs for vspltis* to use constants.
4659
4660 * config/rs6000/spe.md ("xorv4hi3"): New.
4661 ("spe_evxor"): Rename to xorv2si3.
4662 ("xorv1di3"): New.
4663 Remove all _const0 patterns.
4664 (movv2si_internal): Rewrite to use code. Add vector constant to
4665 alternatives. Add splitter.
4666 (movv4hi_internal): Add vector constant to alternatives.
4667 (movv1di_internal): Same.
4668 (movv2sf_internal): Same.
d744e06e 4669
46e33d43
MM
46702003-03-31 Mark Mitchell <mark@codesourcery.com>
4671
4672 PR c/9936
4673 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
4674 variably-sized arrays in parameters.
4675 (set_save_expr_context): New function.
4676 (c_expand_body): Use it, via walk_tree.
4677
73a39fc4
EC
46782003-03-31 Eric Christopher <echristo@redhat.com>
4679
4680 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
4681 (combinable_i3pat): Remove call to expand_field_assignment and
4682 #if 0'd code.
4683
6b665219
MM
46842003-03-31 Mark Mitchell <mark@codesourcery.com>
4685
4686 PR c++/10278
4687 * c-common.c (finish_label_address_expr): Handle the
4688 error_mark_node.
4689
6c06208f
RH
46902003-03-31 Richard Henderson <rth@redhat.com>
4691
4692 * real.c (real_identical): Reorg so as to not compare
4693 signalling for normals.
4694
11789584
SC
46952003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4696
4697 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
4698
c25292ce
SC
46992003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4700
4701 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
4702 notes as they are boggus.
4703 (m68hc11_gen_movqi): Likewise.
4704
07faf2d6
SC
47052003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4706
4707 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
4708 save the soft registers after the frame pointer so that gdb can unwind
4709 the frame more easily.
4710 (expand_epilogue): Likewise in opposite order; allow to use X register
4711 as scratch if the return value is by reference.
4712
adff28c3
JM
47132003-03-31 Jason Merrill <jason@redhat.com>
4714
4715 PR java/10145
4716 * stor-layout.c (update_alignment_for_field): Respect
4717 DECL_USER_ALIGN for zero-length bitfields, too.
4718 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
4719 fields.
4720
c419b113
MA
47212003-03-31 Matt Austern <austern@apple.com>
4722
4723 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
4724 (count_defs): Keep track of number of defs as well as total size.
4725 (write_defs): Put every definition in cpp_savedstate's defs array.
4726 (comp_hashnode): Define. Comparison function for qsort.
4727 (cpp_write_pch_deps): Sort definitions before writing them.
4728 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
4729 (collect_ht_nodes): Define.
4730 (cpp_valid_state): When verifying that undefined identifiers in
4731 the pch file are still undefined, read a sorted list of undefined
4732 identifiers, collect all defined identifiers into a sorted list,
4733 and walk through both lists to make sure there's no match.
73a39fc4 4734
ef3a7d56
KH
47352003-03-31 Kazu Hirata <kazu@cs.umass.edu>
4736
4737 * config/h8300/h8300.md (a peephole2): New.
4738
5ccd517a
MM
47392003-03-31 Michael Matz <matz@suse.de>
4740
4741 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
4742
47432003-03-31 Segher Boessenkool <segher@koffie.nl>
c8ae788f
SB
4744
4745 PR target/10177
4746 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
4747 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
4748 all call-clobbered registers as used.
4749
7f1fc38e
MM
47502003-03-31 Michael Matz <matz@suse.de>
4751
4752 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
4753 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
4754
27283c73
NS
47552003-03-31 Nathan Sidwell <nathan@codesourcery.com>
4756
4757 * gcov.c: Add -a & -u options.
4758 (struct arc_info): Add local_span, is_call_non_return,
4759 is_nonlocal_return, is_unconditional flags, remove is_call flag.
4760 (struct block_info): Add flags, is_call_site, is_nonlocal_return
4761 members. Make encodings a union with span member.
4762 (struct function_info): Add blocks_executed, line, src, line_next
4763 members.
4764 (struct coverage_info): Make branches a union with blocks member.
4765 (struct source_info): Add functions member.
4766 (object_summary, program_count): New global variables.
4767 (flag_all_blocks, flag_unconditional): New flags.
4768 (find_source, output_branch_count): New functions.
4769 (print_usage): Adjust.
4770 (options): Adjust.
4771 (process_args): Adjust.
4772 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
4773 <GCOV_TAG_BLOCKS>: Read flags.
4774 <GCOV_TAG_LINES>: Adjust.
4775 (read_count_file): Process SUMMARY tags.
4776 (solve_flow_graph): Set is_unconditional and clear is_call_site
4777 appropriately.
4778 (add_branch_counts): Adjust. Don't count unconditional branches.
4779 (add_line_counts): Deal with all-blocks mode, accumulate block
4780 coverage.
4781 (accumulate_line_counts): Adjust, generate local spanning tree for
4782 all-blocks mode.
4783 (output_lines): Adjust.
4784 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
4785 * doc/gcov.texi: Document.
4786
212d9313
KH
47872003-03-31 Kazu Hirata <kazu@cs.umass.edu>
4788
63855aa6 4789 * config/h8300/h8300.md: Organize peephole2's that transform
212d9313
KH
4790 (compare (reg:HI) (const_int)).
4791
03f2ea93
RS
47922003-03-31 Roger Sayle <roger@eyesopen.com>
4793
4794 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
4795 (init_emit_once): Initialize dconstm2 and dconsthalf here.
4796 * real.h (dconstm2, dconsthalf): Add prototypes here.
4797 * real.c (real_sqrt): Use dconsthalf rather than local copy.
4798 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
4799 exp(x/2.0) remember to fold the division if possible.
4800 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
4801 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
4802 1.0/(x*x) and pow(x,0.5) as sqrt(x).
4803
155de338
KH
48042003-03-31 Kazu Hirata <kazu@cs.umass.edu>
4805
4806 * config/h8300/h8300.md (a new peephole2): New.
4807
98d3d336
RS
48082003-03-31 Richard Sandiford <rsandifo@redhat.com>
4809
4810 * gcse.c (simple_mem): Return false for floating-point accesses
4811 if flag_float_store is true.
4812
6b2d1c9e
RS
48132003-03-30 Roger Sayle <roger@eyesopen.com>
4814
4815 * gcse.c (gcse_constant_p): New function to identify constants
4816 suitable for constant propagation, including COMPARE with two
4817 integer constant arguments.
4818 (hash_scan_set): Use gcse_constant_p.
4819 (find_avail_set): Likewise.
4820 (cprop_insn): Likewise.
4821 (do_local_cprop): Likewise.
4822 (find_implicit_sets): Likewise.
4823 (find_bypass_set): Likewise.
4824
af829441
MK
48252003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
4826
4827 * except.h: Remove definition of varray_type.
4828
3d1f4922
RH
48292003-03-30 Richard Henderson <rth@redhat.com>
4830
4831 PR opt/10011, opt/10252:
d78e771d
ZW
4832 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
4833 before post-gcse cse pass.
3d1f4922 4834
9311f3f6
RS
48352003-03-30 Roger Sayle <roger@eyesopen.com>
4836
4837 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
4838
ececa172
DD
48392003-03-30 DJ Delorie <dj@redhat.com>
4840
4841 * profile.c (instrument_edges): Make sure any newly created
4842 jump insns have correct jump label info.
4843
e1233a7d
RH
48442003-03-30 Richard Henderson <rth@redhat.com>
4845
4846 * cfgbuild.c (make_edges): Use tablejump_p.
4847 * cfgcleanup.c (label_is_jump_target_p): Likewise.
4848 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
4849 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
4850 (try_redirect_by_replacing_jump): Likewise.
4851 (redirect_edge_and_branch): Likewise.
4852 * cse.c (fold_rtx): Likewise.
4853 * jump.c (delete_related_insns): Likewise.
4854 * rtlanal.c (get_jump_table_offset): Likewise.
4855 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
4856
78e68f88
GDR
48572003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4858
d78e771d
ZW
4859 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
4860 (STRICT2_WARN): Likewise.
73a39fc4 4861
15dda4d3
KG
48622003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4863
4864 PR other/6955
4865 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
4866 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
4867
5bf92e20
RH
48682003-03-30 Richard Henderson <rth@redhat.com>
4869
4870 PR c/10083
4871 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
4872 don't zero_extend const inputs.
4873
9a8075a1
KH
48742003-03-30 Kazu Hirata <kazu@cs.umass.edu>
4875
4876 * reload1.c (reload_cse_move2add): Fix a comment typo.
4877
f3926c48
KH
48782003-03-30 Kazu Hirata <kazu@cs.umass.edu>
4879
4880 * config/h8300/h8300.md (a peephole2): Remove useless code.
4881
39ecf301
KH
48822003-03-29 Kazu Hirata <kazu@cs.umass.edu>
4883
4884 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
4885 (*iorsi3_and_lshiftrt): Likewise.
4886 (*iorsi3_zero_extract): Likewise.
4887
d4048ff6
KH
48882003-03-29 Kazu Hirata <kazu@cs.umass.edu>
4889
4890 * config/h8300/h8300.md (*insv_si_8_8): New.
4891 (*insv_si_8_8_lshiftrt_8): Likewise.
4892 (a peephole2): Likewise.
4893
62d08205
GP
48942003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4895
60ef8bdd 4896 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
73a39fc4 4897 Uniformly use bugfix instead of bug fix.
60ef8bdd
GP
4898
48992003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
73a39fc4 4900
62d08205
GP
4901 PR doc/895
4902 * ONEWS: Remove those items that already appear in the EGCS
4903 release notes on our web pages.
4904
e87a88d3
AM
49052003-03-29 Alan Modra <amodra@bigpond.net.au>
4906
4907 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
4908 TARGET_HARD_FLOAT. Reformat.
4909 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
4910
ce4a8f7d
ACY
49112003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
4912
4913 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
4914 work on Solaris 2.5.1.
4915
12f76820
KH
49162003-03-28 Kazu Hirata <kazu@cs.umass.edu>
4917
4918 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
4919 section of h8300.md
4920 (*addsi3_and_nor_r_1): Likewise.
4921
7d798969
UW
49222003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
4923
4924 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
4925 set up before any trapping memory access if flag_non_call_exceptions.
4926
00dcfe80
AM
49272003-03-29 Alan Modra <amodra@bigpond.net.au>
4928
4929 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
4930
4931 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
4932
d869a8c4
NN
49332003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
4934
4935 * configure.in: Clarify comments.
4936 * configure: Regenerate.
4937
5c033b9f
UW
49382003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
4939
73a39fc4 4940 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
5c033b9f
UW
4941 label even if pool empty when generating PIC.
4942 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
4943
d18ad191
KH
49442003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
4945 Dhananjay Deshpande <dhananjayd@kpit.com>
4946
4947 PR target/10205
4948 * config/h8300/h8300.c (h8300_initial_elimination_offset):
4949 Correct the offset computation when TARGET_NORMAL.
4950
0c85dbfd
EB
49512003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
4952
4953 PR target/10067
4954 * config/sparc/sparc.md (jump pattern): Correct order
4955 when issuing the annuling marker.
4956
f7670e7b
EB
49572003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
4958
4959 PR c/8281
4960 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
4961 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
4962
c9280dfe
AM
49632003-03-28 Alan Modra <amodra@bigpond.net.au>
4964
4965 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
4966 globalize_label.
4967 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
73a39fc4 4968 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
c9280dfe
AM
4969 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4970 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4971 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4972 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4973 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
4974
e81eb37f
AM
49752003-03-28 Alan Modra <amodra@bigpond.net.au>
4976
4977 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
4978 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
4979 notes after hoisting.
4980 (load_mems): Adjust replace_loop_mems call.
4981
1ce324c3 49822003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
d78e771d 4983 Richard Henderson <rth@redhat.com>
1ce324c3
EB
4984
4985 PR target/10114 and PR target/10084
4986 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
4987
c6cf19a8
RH
49882003-03-27 Richard Henderson <rth@redhat.com>
4989
4990 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
4991
9ddae796
RS
49922003-03-27 Roger Sayle <roger@eyesopen.com>
4993
4994 * fold-const.c (fold_inf_compare): New function to simplify FP
4995 comparisons against +Infinity or -Infinity.
4996 (fold): Optimize floating point comparisons against Infs and NaNs.
4997
01e60c33
JJ
49982003-03-27 Janis Johnson <janis187@us.ibm.com>
4999
5000 * libgcov.c: Provide only dummy functions if libc is not available.
5001
ad59ba20
RH
50022003-03-27 Richard Henderson <rth@redhat.com>
5003
5004 * real.h (struct real_value): Add signalling.
5005 (EXP_BITS): Decrement.
5006 * real.c (get_canonical_qnan): Don't set MSB-1.
5007 (get_canonical_snan): Likewise. Set signalling.
5008 (real_identical): Compare signalling.
5009 (round_for_format): Remove force-one-bit on code.
5010 (real_nan): Likewise. Set signalling.
5011 (encode_ieee_single): Add force-one-bit code; honor signalling.
5012 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
5013 (decode_ieee_single): Set signalling.
5014 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
5015
940bbb74
OH
50162003-03-27 Olivier Hainque <hainque@act-europe.fr>
5017
5018 PR ada/9953
5019 * ada/Makefile.in (gnatlib configuration for HPUX): Split
5020 the general section for HPUX into specific sections for
5021 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
5022 11 case.
5023
c7d325c8
GN
50242003-03-27 Glen Nakamura <glen@imodulo.com>
5025
5026 PR opt/10087
5027 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
5028 while incrementing giv.
5029 (record_biv): Check for duplicate biv locations and
5030 set (struct induction *) v->same if found.
5031
f18ab437
DM
50322003-03-27 David Mosberger <davidm@hpl.hp.com>
5033
d78e771d
ZW
5034 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
5035 v0.9 API change: replace read of UNW_REG_HANDLER with
5036 unw_get_proc_info().
5037 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
5038 with unw_get_proc_info().
5039 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
5040 unw_get_proc_info().
f18ab437 5041
eaff4b90
VM
50422003-03-27 Vladimir Makarov <vmakarov@redhat.com>
5043
5044 * config/rs6000/8540.md: Use presence_set instead of absence_set.
5045
3684a055
RH
50462003-03-26 Richard Henderson <rth@redhat.com>
5047
5048 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
5049
de132314
RS
50502003-03-26 Roger Sayle <roger@eyesopen.com>
5051
5052 PR bootstrap/10051, PR bootstrap/10169.
5053 * mips-tfile.c (init_file): Don't provide a static initializer.
5054 (initialize_init_file): Initialize the contents of init_file.
5055 (add_file): Call initialize_init_file if not already initialized.
5056
6f84708a
UW
50572003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
5058
5059 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
5060 registers used for global asm variables.
5061 (s390_frame_info, s390_arg_frame_offset): Likewise.
5062 (s390_emit_prologue, s390_emit_epilogue): Likewise.
5063
5e8006fa
VM
50642003-03-26 Vladimir Makarov <vmakarov@redhat.com>
5065
d78e771d 5066 * config/rs6000/8540.md: New file.
73a39fc4 5067
5e8006fa
VM
5068 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
5069 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
5070 reservations for imul.
5071
5072 * config/rs6000/rs6000.md: Include 8540.md. Change
5073 delayed_compare onto mult_compare for insns generating
5074 multiplication.
5075 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
5076 New type attribute values.
5077
5078 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
5079 fpsimple instead of fp.
5080 (*divsf3_gpr): Use type vecfdiv instead of fp.
5081 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
5082 instead of vecfloat.
5083 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
5084 (spe_brinc): Use type brinc instead of veccomplex.
5085 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
5086 veccomplex.
5087 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
5088 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
5089 *movv2sf_internal): Define type attribute values for all
5090 alternatives.
5091 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
5092 of fpcompare.
5093 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
5094 instead of fpcompare.
73a39fc4 5095
29ae9364
DE
50962003-03-26 David Edelsohn <edelsohn@gnu.org>
5097
5098 * config/rs6000/power4.md: Allow delay between dispatch and
5099 function units for simple instructions. Correct store units.
5100 Allow branch to occupy as many dispatch slots as necessary.
5101
be565ad7
JJ
51022003-03-26 Jakub Jelinek <jakub@redhat.com>
5103
5104 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
5105 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
5106 zero extend old to it.
5107 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
5108 operand.
5109
27e484bc
EB
51102003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
5111
5112 PR target/7784
5113 * reload.c (find_reloads_address): Handle
5114 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
5115 all base registers.
5116
b47161ec
MA
51172003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
5118
5119 PR other/10203
5120 * version.c: Reference the GCC web site in the URL.
5121
611f0729
AM
51222003-03-26 Alan Modra <amodra@bigpond.net.au>
5123
5124 * c-incpath.c (add_standard_paths): Add both "translated" and
5125 non-translated header paths.
5126
e4e7d312
LR
51272003-03-25 Loren James Rittle <ljrittle@acm.org>
5128
5129 * doc/install.texi (*-*-freebsd*): Update with known status.
5130
2e2255ff
JM
51312003-03-21 Jason Merrill <jason@redhat.com>
5132
5133 PR optimization/10171
5134 * unroll.c (unroll_loop): Don't delete the jump at the end unless
5135 we also delete a jump at the beginning.
5136
8725a499
SC
51372003-03-25 Stephane Carrez <stcarrez@nerim.fr>
5138
5139 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
5140 contributor.
5141
3504dad3
JH
5142Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
5143
5144 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
5145 constants are not expensive.
5146
cb9a1d9b
JH
5147Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
5148
5149 PR opt/10056
5150 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
5151 jump jumping to the next instruction.
5152 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
5153
d6d05f8d
GP
51542003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5155
5156 * doc/passes.texi (Passes): Properly document that we do not
5157 perform jump2 any longer; remove command-line option -dJ.
5158
d2fc7725
EB
51592003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
5160
5161 PR optimization/8746
5162 * config/i386/i386.md (and promoting splitters): Disable HImode to
5163 SImode promoting when the sign bit matters and is not preserved, or
5164 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
5165 for size.
5166
beb14cfe
KH
51672003-03-24 Kazu Hirata <kazu@cs.umass.edu>
5168
5169 * config/h8300/h8300.md (a peephole2): Extend to support loads
5170 in QImode and HImode.
5171
dbcedbc4
SC
51722003-03-24 Stephane Carrez <stcarrez@nerim.fr>
5173
5174 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
5175 _return_far
5176 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
5177 (MULTILIB_EXCEPTIONS): Likewise.
5178 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
5179 by calling some board support routine.
5180 ("call_value"): Likewise.
5181 ("*return_void"): Likewise for return.
5182 ("*return_16bit"): Likewise.
5183 ("*return_32bit"): Likewise.
5184 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
5185 for 68HC11 too.
73a39fc4 5186 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
dbcedbc4
SC
5187 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
5188 -mlong-calls for 68HC11.
5189 * config/m68hc11/larith.asm (declare_near): New macro.
5190 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
5191 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
5192 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
5193 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
5194 (__mulhi32): Likewise.
5195 (ret): Update macro for 68HC11.
5196 (__far_trampoline): Implement for 68HC11.
5197 (__call_a16, __call_a32, __return_void, __return_16): New support
5198 routines for 68HC11 memory bank switching calling support.
5199 (__return_32): Likewise.
5200
696fe23c
NB
52012003-03-24 Neil Booth <neil@daikokuya.co.uk>
5202
5203 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
5204
05253aed
JJ
52052003-03-24 Janis Johnson <janis187@us.ibm.com>
5206
5207 * doc/install.texi (Testing): Mention test result links from build
5208 status pages.
5209
f8928391
MM
52102003-03-24 Mark Mitchell <mark@codesourcery.com>
5211
5212 * function.c (put_var_into_stack): Change bool parameter to int.
5213 (gen_mem_addressof): Likewise.
5214 * rtl.h (gen_mem_addressof): Likewise.
5215 * tree.h (put_var_into_stack): Likewise.
5216 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
5217 gen_mem_addressof or put_var_into_stack.
5218 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
5219 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
5220
b980d725
KH
52212003-03-24 Kazu Hirata <kazu@cs.umass.edu>
5222
5223 * config/h8300/h8300.md (a peephole2): New.
5224
2ff1fb45
JJ
52252003-03-24 Jakub Jelinek <jakub@redhat.com>
5226
5227 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
5228
8b5777db
GP
52292003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5230
5231 * doc/contrib.texi (Contributors): Update Janis Johnson.
5232
02484af9
EB
52332003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
5234
5235 PR target/10072
5236 * combine.c (simplify_if_then_else): Check that the mode
5237 has MODE_INT class before applying the (OP Z (mult COND C2))
5238 transformation.
5239
941bc659
EB
52402003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
5241
5242 PR optimization/9414
5243 * config/sparc/sparc.md (widening peepholes): Use
5244 widen_memory_access instead of change_address.
5245
f29a2bd1
MM
52462003-03-23 Mark Mitchell <mark@codesourcery.com>
5247
5248 PR c++/7086
5249 * c-typeck.c (c_mark_addressable): Adjust calls to
5250 put_var_into_stack.
5251 * expr.c (expand_expr): Likewise.
5252 * function.c (put_var_into_stack): Add rescan parameter. Do not
5253 call fixup_var_refs when rescan is false.
5254 (gen_mem_addressof): Likewise.
5255 (assign_parms): Adjust calls to put_var_into_stack.
5256 (setjmp_protect): Likewise.
5257 (setjmp_protect_args): Likewise.
5258 * rtl.h (gen_mem_addressof): Change prototype.
5259 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
5260 * tree.h (put_var_into_stack): Change prototype.
5261
fa9b4904
AB
52622003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
5263
b099daeb 5264 PR middle-end/9967
fa9b4904
AB
5265 * builtins.c (expand_builtin_fputs): When optimizing for size,
5266 don't transform fputs into fwrite.
5267
068d2c9d
MM
52682003-03-23 Glen Nakamura <glen@imodulo.com>
5269
5270 PR c/8224
5271 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
5272 when signedness changes for division or modulus.
5273
c967e28c
AM
52742003-03-24 Alan Modra <amodra@bigpond.net.au>
5275
5276 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
5277 globalize_label.
5278
766dec0e
RS
52792003-03-23 Roger Sayle <roger@eyesopen.com>
5280
5281 PR c/10178
5282 * stmt.c (expand_end_case_type): Check for overflow in range when
5283 determining whether to use a bit-test implementation.
5284
ef3e9886
RH
52852003-03-23 Richard Henderson <rth@redhat.com>
5286
5287 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
5288 before flow2.
5289 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
5290
bd2eae18
RH
52912003-03-23 Richard Henderson <rth@redhat.com>
5292
5293 PR opt/10116
5294 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
5295 from then_bb or else_bb after flow2.
5296
62c9aa5f
ZW
52972003-03-23 Zack Weinberg <zack@codesourcery.com>
5298
5299 * configure.in: Check whether it is necessary to link against
5300 libm to use ldexp.
5301 * configure: Regenerate.
5302 * Makefile.in: Add LDEXP_LIB substitution variable.
5303
4d1da12a
KH
53042003-03-23 Kazu Hirata <kazu@cs.umass.edu>
5305
5306 * config/h8300/h8300.md: Fix comment typos.
5307
7772f0a9
JDA
53082003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5309
5310 * pa.c (output_cbranch): Fix typo in comment.
5311
3ce6bef0
RH
53122003-03-22 Richard Henderson <rth@redhat.com>
5313
5314 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
5315 after reload.
5316
7a9cdb10
DD
53172003-03-22 DJ Delorie <dj at redhat dot com>,
5318 Bruce Korb <bkorb at gnu dot org>
5319
5320 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
5321 buggy Solaris 2.6 mutex/cond initializers.
5322 (solaris_mutex_init): Rename to solaris_mutex_init_2.
5323 * fixinc/fixincl.x: Regenerate.
5324 * fixinc/tests/base/pthread.h: Update.
00af168c
BK
5325 * fixinc/fixincl.c(initialize): be explicit about the default case
5326 and indicate verbose level when being very, very verbose.
5327 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
7a9cdb10 5328
8330e2c6
AJ
53292003-03-22 Andreas Jaeger <aj@suse.de>
5330
5331 * config/i386/i386.c (ix86_init_machine_status): Return value.
5332
02a57c73
JDA
53332003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5334
5335 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
5336 conditional branch to the following instruction. Use next_real_insn
5337 instead of next_active_insn.
5338 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
5339 instead of next_active_insn.
5340
97c6f7ad
UW
53412003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
5342
c967e28c
AM
5343 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
5344 instead of 'm' constraint in forced-split alternatives.
97c6f7ad
UW
5345 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
5346 VALIDATE_ADDRESS parameter to operand_subword.
5347
c8fcf20c
KH
53482003-03-22 Kazu Hirata <kazu@cs.umass.edu>
5349
5350 * config/h8300/h8300.c (notice_update_cc): Correctly handle
5351 the case where the set destination is STRICT_LOW_PART.
5352
21c0e624
SS
53532003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
5354
5355 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
5356 c30 instead of a c40 processor.
5357
70e1b8fc
AM
53582003-03-22 Alan Modra <amodra@bigpond.net.au>
5359
5360 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
5361
d9b2742a
ZW
53622003-03-21 Zack Weinberg <zack@codesourcery.com>
5363
5364 * c-common.c: Include intl.h.
5365 (shadow_warning): Rewrite to allow better diagnostic translations.
5366 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
5367 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
5368 use it throughout.
5369 * Makefile.in (c-common.o): Add intl.h.
5370
cbbf876b
NN
53712003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
5372
bea41393
NN
5373 * config.gcc: Remove 'float_format'.
5374
cbbf876b
NN
5375 * fixproto: Define NULL and size_t in generated stdlib.h and
5376 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
5377 Rearrange file generation loop for readability. Generate time.h,
5378 string.h if missing.
5379 * tsystem.h: Include <string.h>, <time.h> unconditionally.
5380 * config.gcc: Blow away POSIX defines.
5381
84fcbe0a
SC
53822003-03-22 Stephane Carrez <stcarrez@nerim.fr>
5383
5384 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
5385
639a8102
SC
53862003-03-22 Stephane Carrez <stcarrez@nerim.fr>
5387
5388 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
5389 writing .interrupt command.
5390 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
5391 if it's a far or near function.
5392 ("call_value"): Likewise.
5393 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
5394 near attributes.
5395 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
5396 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
5397 (m68hc11_initial_elimination_offset): Set current_function_far
5398 according to attributes.
5399 (expand_prologue): Likewise.
5400 (trap_handler_symbol): New global to keep track of trap handlers.
5401 (m68hc11_encode_section_info): Mark symbol as far if needed; set
5402 trap symbol.
5403 (m68hc11_is_far_symbol): New function.
5404 (m68hc11_is_trap_symbol): New function.
5405 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
5406 (m68hc11_is_trap_symbol): Declare.
5407
62c9aa5f 54082003-03-21 Jan Hubicka <jh@suse.cz>
d7394366
JH
5409
5410 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
5411 only when amount of saved regs changed.
5412 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
5413 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
5414
62c9aa5f 54152003-03-21 Jan Hubicka <jh@suse.cz>
5dc96d60
JH
5416
5417 PR inline-asm/7916
5418 * function.c (instantiate_virtual_regs_lossage): New function.
5419 (instantiate_virtual_regs_1): Use it.
5420 (instantiate_virtual_regs): Do not continue in substition when insn has
5421 been deleted.
5422
c5c15353
KH
54232003-03-21 Kazu Hirata <kazu@cs.umass.edu>
5424
5425 * combine.c (make_field_assignment): Fix a warning.
5426
5c1c25f0
KH
54272003-03-21 Kazu Hirata <kazu@cs.umass.edu>
5428
5429 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
5430
6b13641d
DJ
54312003-03-21 Dale Johannesen <dalej@apple.com>
5432
5433 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
5434 priority for R2 on Darwin.
5435 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
5436
6e814b8d
KH
54372003-03-21 Kazu Hirata <kazu@cs.umass.edu>
5438
5439 * combine.c (make_field_assignment): Remove unnecessary AND
5440 when storing into zero_extract.
5441
2d295af5
ZW
54422003-03-21 Zack Weinberg <zack@codesourcery.com>
5443
5444 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
5445 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
5446 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
5447 in comment.
5448
c0510d84
DD
54492003-03-21 DJ Delorie <dj@redhat.com>
5450
5451 * optabs.c (init_integral_libfuncs): Make sure we init at least up
5452 to "long long" size words.
5453
fe86047c
UW
54542003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
5455
5456 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
5457 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
5458 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
5459
526278c9
VR
54602003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5461
5462 PR doc-bug/9813
5463 * doc/extend.texi: Move misplaced paragraph about underscores in
5464 variables in macros.
5465
731458a4 54662003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2d295af5 5467 Richard Henderson <rth@redhat.com>
731458a4
EB
5468
5469 PR optimization/8366
5470 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
5471 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
5472 PIC+SYMBOLIC_CONST in other modes than Pmode.
5473 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
5474 the form PIC+SYMBOLIC_CONST as mode dependent.
5475
f3cd0185
DD
54762003-03-21 DJ Delorie <dj@redhat.com>
5477
5478 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
5479 sure we always emit at least one insn.
5480
70e5e841
CF
54812003-03-21 Christopher Faylor <cgf@redhat.com>
5482
5483 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
5484 stub t-cygming. Use common target header cygming.h. Add extra
5485 c_target_obj and cxx_target_obj file. Default cygwin to posix
5486 threading. Enforce i386 as float format.
5487 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
5488 Remove cygwin.h as target header. Use common target header
5489 cygming.h Enforce i386 as float format. Correct typo.
5490 * config/i386/cygming.h: New file, containing definitions
5491 common to mingw32 and cygwin.
5492 * config/i386/cygwin.h: Remove definitions common to cygwin and
5493 mingw. Simplify special spec logic. Define "wrappers" around
5494 certain include path defines to accommodate -mno-cygwin.
5495 Remove some #if 0'ed code.
2d295af5 5496 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
70e5e841
CF
5497 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
5498 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
5499 * config/i386/mingw32.h: Remove definitions common to cygwin and
5500 mingw.
5501 (EXTRA_OS_CPP_BUILTINS): Adjust.
5502 (TARGET_VERSION): Define.
5503 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
5504 mingw32.h definitions.
5505 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
5506 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
5507 Add compilation rules for cygwin1.o cygwin2.o.
5508 * config/i386/cygwin1.c: New file.
5509 * config/i386/cygwin2.c: New file.
5510 * config/i386/t-cygming: New makefile stub.
5511
4bddea4c
RH
55122003-03-20 Richard Henderson <rth@redhat.com>
5513
5514 * fold-const.c (extract_muldiv_1): Revert changing order of
5515 operands in case MULT_EXPR of 2003-02-16 patch.
5516
b3411d7e 55172003-03-20 Daniel Berlin <dberlin@dberlin.org>
06790e5f 5518 Merge changes from new-regalloc-branch
b3411d7e
DB
5519
5520 From Michael Matz <matz@suse.de>
5521 * df.c (df_ref_record_1): Move init of loc to safe point.
5522 Only recurse on interesting things in parallels.
5523 Handle CLASS_CANNOT_CHANGE_MODE smarter.
5524 (df_uses_record): Ditto.
2d295af5 5525
b3411d7e
DB
5526 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
5527 it's already okay to use memory operands in (IE doesn't require
5528 adding another insn or anything).
5529
05d482b9
RH
55302003-03-20 Richard Henderson <rth@redhat.com>
5531
5532 PR middle-end/6348
5533 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
5534 different from word_mode.
5535
86a36a0e
KH
55362003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5537
5538 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
5539 source operand to those that can be extracted with bld.
5540
228692e2
RE
55412003-03-20 Richard Earnshaw <rearnsha@arm.com>
5542
5543 PR 10066
5544 * arm.md (UNSPEC_PIC_BASE): New constant.
5545 (pic_add_dot_plus_four): Wrap with unspec.
5546 (pic_add_dot_plus_eight): Likewise.
5547
d0940a55
KH
55482003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5549
5550 * config/h8300/h8300.md (*insv_si_1_n): New.
5551 (*insv_si_1_n_lshiftrt): Likewise.
5552
c876997f
RS
55532003-03-20 Roger Sayle <roger@eyesopen.com>
5554
5555 * fold-const.c (fold_mathfn_compare): New function to simplify
5556 comparisons against built-in math functions. Fold comparisons
5557 of sqrt against constants.
5558 (fold): Call fold_mathfn_compare when appropriate.
5559
952a6df7
RE
55602003-03-20 Richard Earnshaw <rearnsha@arm.com>
5561
5562 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
5563 information.
5564
8826ff0f
PB
55652003-03-20 Per Bothner <pbothner@apple.com>
5566
5567 Various cleanups to help compile server.
5568
b4e46cea
PB
5569 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
5570 and pass that to _cpp_init_hashtable.
5571 (cpp_read_main_file): Drop hash_table* argument; don't call
5572 _cpp_init_hashtable.
5573 * cpplib.h: Update declarations to match.
5574 * c-opts.c (c_common_init_options): Pass ident_hash to
5575 cpp_create_reader.
5576 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
5577 * fix-header.c (read_scan_file): Likewise pass NULL table to
5578 cpp_create_reader rather than cpp_read_main_file.
5579
5580 * cppfiles.c (cpp_rename_file): Generalized and renamed
5581 to cpp_change_file.
5582 * cpplib.h: Update declaration to match.
5583 * c-opts.c (push_command_line_line, finish_options): Change
5584 cpp_rename_file calls to cpp_change_file.
2d295af5 5585
8826ff0f 5586 * line-map.c (add_line_map): Allow leaving the outermost file.
2d295af5 5587 Allowing entering an outermost-file after the initial time.
8826ff0f
PB
5588
5589 * toplev.c (pop_srcloc): Allow popping from initial file.
5590
015c3186
KH
55912003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
5592
5593 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
5594
101cb92a
KH
55952003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5596
5597 * config/h8300/h8300.md (a peephole2): New.
5598
f4613a2e
KH
55992003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5600
5601 * config/h8300/h8300.md (*addsi3_and_r_1): New.
5602 (*addsi3_and_not_r_1): Likewise.
5603
31260fb8
LR
56042003-03-19 Loren James Rittle <ljrittle@acm.org>
5605
5606 * Makefile.in (STRICT2_WARN): Add @WERROR@.
5607 (GCC_WARN_CFLAGS): Remove $(WERROR).
5608 (fixinc.sh-warn): New.
5609 * ada/Make-lang.in (ada-warn): Add $(WERROR).
5610 * cp/Make-lang.in (cp-warn): Add $(WERROR).
5611 * f/Make-lang.in (f-warn): Add $(WERROR).
5612 * java/Make-lang.in (java-warn): Add $(WERROR).
5613 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
5614
2bd3ecad
NN
56152003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
5616
5617 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
5618 langhooks-def.h (lhd_tree_dump_dump_tree),
5619 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
5620 Change return type from 'int' to 'bool'. Replace 0 and 1 with
5621 true and false in return statements.
5622
9eb0ef7a
KB
56232003-03-19 Kevin Buettner <kevinb@redhat.com>
5624
5625 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
5626 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
5627 DWARF_INITIAL_LENGTH_SIZE.
5628 (output_compilation_unit_header, output_pubnames, output_aranges)
5629 (output_line_info): Output 0xffffffff escape value for 64-bit
5630 DWARF extension.
5631 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
5632
8b5642e0 56332003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
0796c16a
UW
5634
5635 * config/s390/s390.c (s390_preferred_reload_class): Do not
5636 force constants to the pool unless necessary.
5637 (s390_decompose_address): Prefer to use pointer as base,
5638 not index register.
5639 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
5640 Q alternative.
2d295af5 5641 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
0796c16a
UW
5642 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
5643 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
5644 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
5645 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
5646
62c9aa5f 56472003-03-19 Jan Hubicka <jh@suse.cz>
d9b40e8d
JH
5648
5649 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
5650 * i386.c (use_fast_prologue_epilogue): Remove.
5651 (ix86_frame): New field save_regs-using_mov;
5652 (ix86_compute_frame_layout): Decide on fast prologues;
5653 allocate saved registers in red zone.
5654 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
5655
31488c64
NC
56562003-03-19 Nick Clifton <nickc@redhat.com>
5657
5658 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
5659
685d0e07
JDA
56602003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5661
5662 PR 10062
5663 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
5664 * pa-protos.h (output_lbranch): New prototype.
5665 * pa.c (compute_frame_size): Change size of the frame marker on the
5666 64-bit ports to 48 bytes.
5667 (pa_output_function_prologue): Document why SAVE_SP is set.
5668 (hppa_expand_prologue): Save previous stack pointer into frame marker
5669 on targets which use the hpux unwind library.
5670 (output_cbranch): Use output_lbranch.
5671 (output_lbranch): New function to output long unconditional branches.
5672 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
5673 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
5674 64-bit ports.
5675 * pa.md (jump): Use output_lbranch.
5676 (allocate_stack): New expander for dynamic stack allocation.
5677
6a04f4e0
AM
56782003-03-19 Alan Modra <amodra@bigpond.net.au>
5679
178274da
AM
5680 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
5681 when debugging on XCOFF targets. Delete "abi" temp.
5682
6a04f4e0
AM
5683 PR target/10073
5684 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
5685
6b2300b3
JJ
56862003-03-18 Jakub Jelinek <jakub@redhat.com>
5687
5688 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
5689 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
5690 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
5691
5692 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
5693 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
5694 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
5695
5ba6918e
GK
56962003-03-18 Geoffrey Keating <geoffk@apple.com>
5697
6788f5ca
GK
5698 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
5699 the result of machopic_function_base_name.
5700 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
5701 string rather than a static array.
5702
5ba6918e
GK
5703 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
5704
5705 * gengtype.c: Include rtl.h.
5706 (enum rtx_code): Don't define.
5707 (rtx_format): Make declaration match rtl.h.
5708 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
5709 users.
5710 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
5711 * Makefile.in (gengtype.o): Update dependencies.
5712
e0ec941e
AS
57132003-03-18 Andreas Schwab <schwab@suse.de>
5714
5715 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
5716 martin@blom.org.
5717
8291cc0e
GK
57182003-03-18 Geoffrey Keating <geoffk@apple.com>
5719
f83b236e
GK
5720 * function.c (next_block_index): Mark with GTY.
5721
8291cc0e
GK
5722 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
5723
b39eb2f9
RH
57242003-03-18 Richard Henderson <rth@redhat.com>
5725
5726 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
5727 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
5728 until after reload.
5729
6c537d03
RH
57302003-03-18 Richard Henderson <rth@redhat.com>
5731
5732 * builtins.c (expand_builtin_unop): New target_mode operand;
5733 use it to convert the result to the correct mode.
5734 (expand_builtin): Update all callers.
5735
fe03d631
UW
57362003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
5737
5738 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
5739
62c9aa5f 57402003-03-18 Jan Hubicka <jh@suse.cz>
45183e03 5741
75fbf7d9
JH
5742 * i386.md: Fix previous commit that mistakely applied the patch
5743 twice.
5744
45183e03
JH
5745 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
5746 canonicalized.
5747 (memrefs_conflict_p): Likewise.
5748 (addr_side_effect_eval): Canonicalize the constructed address.
5749
62c9aa5f 57502003-03-18 Jan Hubicka <jh@suse.cz>
8dfa3bb0
JH
5751
5752 * i386.md (cvtts?2si peep2): New.
5753
1e788887
KH
57542003-03-18 Kazu Hirata <kazu@cs.umass.edu>
5755
5756 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
5757
94e001a9
AS
57582003-03-18 Andreas Schwab <schwab@suse.de>
5759
5760 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
5761 for format.
5762
bdaa131b
JM
57632003-03-17 Jason Merrill <jason@redhat.com>
5764
5765 PR c++/10091
5766 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
5767 an unaligned member of TREE_ADDRESSABLE type.
5768
ffcfcb5f
AM
57692003-03-18 Alan Modra <amodra@bigpond.net.au>
5770
5771 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
5772 (TARGET_PROFILE_KERNEL): Define.
5773 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
5774 (PROFILE_BEFORE_PROLOGUE): Don't define.
5775 (PROFILE_KERNEL): Remove hacks.
5776 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
5777 (rs6000_stack_info): No need to save lr if just for profiling when
70e1b8fc
AM
5778 TARGET_PROFILE_KERNEL.
5779 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
ffcfcb5f
AM
5780 (output_function_profiler): Localize label generation. Emit code
5781 for kernel profiling.
5782
9b98dc74
KH
57832003-03-17 Kazu Hirata <kazu@cs.umass.edu>
5784
5785 * config/h8300/h8300-protos.h: Add a prototype for
5786 byte_accesses_mergeable_p.
5787 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
5788 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
5789 (a splitter): Likewise.
5790 (*iorsi3_ashift_16_ashift_24): Likewise.
5791 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
5792
d41c4351
KG
57932003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5794
5795 * dwarf2asm.h: Delete obsolete comment.
5796 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
5797 dw2_asm_output_pcrel, dw2_asm_output_addr,
5798 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
5799 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
5800 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
5801 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
5802
6970c06a
ZW
58032003-03-17 Zack Weinberg <zack@codesourcery.com>
5804
5805 * c-tree.h (struct lang_identifier): Remove error_locus field.
5806 (IDENTIFIER_ERROR_LOCUS): Kill.
5807 (record_function_scope_shadow): New prototype.
5808 * c-typeck.c (build_external_ref): Don't complain if
5809 decl is error_mark_node. When not at file scope, bind the
5810 decl's local value to error_mark_node to suppress further
5811 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
5812
5813 * c-decl.c (get_function_binding_level): New static function.
5814 (record_function_scope_shadow): New exported function.
5815 (c_make_fname_decl): Use get_function_binding_level.
5816
405a98aa
SE
58172003-03-17 Steve Ellcey <sje@cup.hp.com>
5818
5819 * stmt.c (tail_recursion_args): Call promote_mode to set
5820 unsignedp flag correctly before calling convert_move.
5821
df86c7e2
ZD
58222003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5823
5824 * loop-unroll.c (decide_peel_completely,
5825 decide_unroll_constant_iterations, decide_unroll_stupid,
5826 decide_unroll_runtime_iterations, decide_peel_simple): Set
5827 loop->has_desc.
5828
62c9aa5f 58292003-03-17 Jan Hubicka <jh@suse.cz>
dbccdc42
JH
5830
5831 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
5832
b36a8cc2
OH
58332003-03-17 Olivier Hainque <hainque@act-europe.fr>
5834
5835 * function.c (assign_parms): For a struct value address passed as
5836 first argument, delay the function's result RTL setup code until
5837 after the emission of parameter conversions.
6970c06a 5838
94833648
DL
58392003-03-17 Dave Love <fx@gnu.org>
5840 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
aeefc21d
DL
5841
5842 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
5843 __arch64__ to match Compaq cc.
5844
783e2989
NB
58452003-03-17 Neil Booth <neil@daikokuya.co.uk>
5846
5847 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
5848 (c_common_init): Set EBCDIC in cpp options.
5849 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
5850 not conditional compilation.
5851 * cpplib.h (struct cpp_options): New entry EBCDIC.
5852
72ecfc60
NB
58532003-03-17 Neil Booth <neil@daikokuya.co.uk>
5854
5855 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
5856
47009d11
MH
58572003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5858
5859 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
5860 argument to 0 for redirect_jump.
47009d11 5861
bafb714b
MM
58622003-03-16 Mark Mitchell <mark@codesourcery.com>
5863
5864 PR c++/8805
5865 * except.c (eh_region_u_cleanup): Add prev_try.
5866 (expand_eh_region_end_cleanup): Set it.
5867 (reachable_handlers): Use it to skip over cleanup blocks.
5868
30492adf
AJ
58692003-03-17 Andreas Jaeger <aj@suse.de>
5870
5871 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
5872
7b3464ee
AM
58732003-03-17 Alan Modra <amodra@bigpond.net.au>
5874
5875 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
5876 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
5877 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
5878 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
5879
4f5c0f7e
RH
58802003-03-16 Richard Henderson <rth@redhat.com>
5881
6970c06a
ZW
5882 * simplify-rtx (simplify_binary_operation): Don't abort for
5883 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
4f5c0f7e 5884
3c298c88
RH
58852003-03-16 Richard Henderson <rth@redhat.com>
5886
6970c06a
ZW
5887 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
5888 optimize_size as well.
3c298c88 5889
fe91bac5
SC
58902003-03-16 Stephane Carrez <stcarrez@nerim.fr>
5891
5892 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
5893 for D register to specify the low part of it, aka B.
5894 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
5895 the register if we are loading 1 or -1 to it; avoid using temp
5896 register when moving X/Y to Y/X.
5897 (m68hc11_gen_movqi): Likewise.
5898 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
5899
ddc67067
MM
59002003-03-14 Mark Mitchell <mark@codesourcery.com>
5901
5902 PR optimization/9016
5903 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
5904 into the constant pool.
5905
0a71919d
FH
59062003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
5907
5908 PR target/9164
5909 * tree.c (get_narrower): For extensions with unchanged bit number,
5910 return the unsignedness of the outer mode.
5911
46ea50cb
RS
59122003-03-16 Roger Sayle <roger@eyesopen.com>
5913
5914 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
5915 to avoid "may be used uninitialized" warning on ia64-hpux.
5916 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
5917
012c387f
AJ
59182003-03-16 Andreas Jaeger <aj@suse.de>
5919
5920 * configure.in: Improve check for memcheck.h.
5921 * configure: Regenerated.
5922
7d1c4aae
NB
59232003-03-16 Neil Booth <neil@daikokuya.co.uk>
5924
5925 * doc/cppopts.texi: Remove documentation of -A-.
5926
e20798d1
ZW
59272003-03-15 Zack Weinberg <zack@codesourcery.com>
5928
5929 * doc/libgcc.texi: Remove @tie.
5930
4af16369
JZ
59312003-03-15 Josef Zlomek <zlomekj@suse.cz>
5932
5933 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
5934 (rtx_pair): Added new element update_label_nuses, renamed to
5935 replace_label_data.
5936 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
5937 replace_label_data instead of rtx_pair.
5938 * loop.c (load_mems): Likewise.
5939 * rtlanal.c (replace_label): Replace label in pool constants and in
5940 INSN_LIST (in REG_LABEL note).
5941 (subrtx_p): Renamed to rtx_referenced_p.
5942 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
5943 LABEL_REF with CODE_LABEL, traverse constants from pool.
5944
d2184e79
AH
59452003-03-15 Aldy Hernandez <aldyh@redhat.com>
5946 Zack Weinberg <zack@codesourcery.com>
5947
5948 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
5949 * doc/libgcc.texi: New file.
5950 * doc/interface.texi: Delete paragraph about libgcc interface.
5951 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
5952
8cadae7e
JM
59532003-03-15 Jason Merrill <jason@redhat.com>
5954
ae0e5982
JM
5955 PR debug/9039
5956 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
5957
8cadae7e
JM
5958 PR debug/6387
5959 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
5960 function DIEs at toplevel.
5961 (decls_for_scope): At -g1, don't descend into subblocks.
5962
2436a91b
UW
59632003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
5964
5965 * varasm.c (struct rtx_const): Change type of un.addr member
5966 to struct holding an additional 'symbol' member.
5967 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
5968 with equal string addresses as equal.
5969 (simplify_subtraction): Adapt to struct rtx_const change.
5970
151c68c3
NB
59712003-03-15 Neil Booth <neil@daikokuya.co.uk>
5972
5973 * fix-header.c (read_scan_file): Read main file before handling -D.
5974
6a87d634
RS
59752003-03-15 Roger Sayle <roger@eyesopen.com>
5976
5977 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
5978 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
5979 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
5980 (find_sub_basic_blocks): Likewise.
5981 * cgraphunit.c (cgraph_expand_functions): Likewise.
5982 * dwarf2out.c (prune_unused_types): Likewise.
5983 * expr.c (store_field): Likewise.
5984 * genextract.c (print_path): Likewise.
5985 * haifa-sched.c (schedule_insn): Likewise.
5986 * lcm.c (compute_antinout_edge): Likewise.
5987 * loop-unroll.c (decide_peel_once_rolling): Likewise.
5988 * ra-colorize.c (ra_colorize_free_all): Likewise.
5989 * ra-debug.c (dump_igraph): Likewise.
5990 (debug_hard_reg_set): Likewise.
5991 * reg-stack.c (reg_to_stack): Likewise.
5992 * rtlanal.c (refers_to_regno_p): Likewise.
5993 * tracer.c (layout_superblocks): Likewise.
5994
49c46444
NB
59952003-03-15 Neil Booth <neil@daikokuya.co.uk>
5996
5997 * fix-header.c (read_scan_file): Fix thinko.
5998
1fe668e5
GN
59992003-03-15 Glen Nakamura <glen@imodulo.com>
6000
6001 * reload1.c (choose_reload_regs): Use && instead of ||
6002 with REG_CANNOT_CHANGE_MODE_P condition.
6003
c1bad961
NB
60042003-03-15 Neil Booth <neil@daikokuya.co.uk>
6005
6006 * Makefile.in: Update.
6007 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
6008 * c-lex.c (init_c_lex): Register builtins hook is dead.
6009 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
6010 (c_common_decode_option): Don't call cpp_handle_option.
6011 Handle -A, -D and -U.
6012 (handle_deferred_opts): Simplify.
6013 (finish_options): Define builtins and command line macros.
6014 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
6015 * cppinit.c: Don't include intl.h.
6016 (init_builtins): Rename cpp_init_builtins. No hook to call.
6017 (init_library): Don't need to sort options.
6018 (cpp_create_reader): Don't set pending.
6019 (cpp_destroy): Don't free pending.
6020 (struct pending_option, cl_directive_handler, struct cpp_pending,
6021 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
6022 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
6023 cl_options, cpp_handle_option): Remove.
6024 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
6025 cpp_finish_options): Remove.
6026 (cpp_init_builtins): New.
6027 * fix-header.c (read_scan_file): Update to handle -D. Fix
6028 handling of -I. Replace call to cpp_finish_options.
6029
d8eed979
MH
60302003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6031
6032 PR optimization/9387
6033 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
6034 for conditional returns.
6035
af75fb67
JM
60362003-03-14 Jason Merrill <jason@redhat.com>
6037
6038 PR optimization/6871
6039 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
6040
255c10b1
NB
60412003-03-14 Neil Booth <neil@daikokuya.co.uk>
6042
6043 * c-opts.c (finish_options): New.
6044 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
6045 (missing_arg): Handle OPT_include and OPT_imacros.
6046 (c_common_init, c_common_parse_file): Use finish_options.
6047 (handle_deferred_opts): Update.
6048 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
6049 (cpp_finish_options): Don't handle -imacros here.
6050 (no_fil): Remove.
6051 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
6052
027fbf43
JJ
60532003-03-14 Jakub Jelinek <jakub@redhat.com>
6054
6055 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
6056 rs6000_maybe_dead if !fromprolog.
6057
23345bbb
NB
60582003-03-14 Neil Booth <neil@daikokuya.co.uk>
6059
6060 * Makefile.in: Update.
6061 * c-common.h (fe_file_change, pp_file_change): New.
6062 * c-lex.c (init_c_lex): Don't set cb_file_change.
6063 (c_common_parse_file): Move to c-opts.c.
6064 (cb_file_change): Rename fe_file_change.
6065 * c-opts.c: Include debug.h.
6066 (warn_unused_macros, include_cursor): New.
6067 (push_command_line_include, cb_file_change): New.
6068 (COMMAND_LINE_OPTIONS): Handle -include.
6069 (c_common_decode_option): Use local warn_unused_macros.
6070 Handle OPT_include.
6071 (c_common_post_options): Set file change callback.
6072 (handle_deferred_opts): Skip -include. Don't free the array.
6073 (c_common_init): Call cpp_finish_options here, and push an
6074 initial -include file.
6075 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
6076 (preprocess_file): Don't call cpp_finish_options.
6077 (init_pp_output): Don't set the file change callback.
6078 (pp_file_change): Return if no line commands or no output.
6079 * cpphash.h (next_include_file, first_unused_line): Remove.
6080 * cppinit.c (include_head, include_tail): Remove.
6081 (cpp_destroy): Don't free -include chain.
6082 (cpp_finish_options): Don't handle -include, or worry about
6083 -Wunused-macros.
6084 (_cpp_maybe_push_include_file): Remove.
6085 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
6086 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
6087 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
6088 Used flag is set based upon the state of the warn_unused_macros
6089 flag, and so use of first_unused_line is unnecessary.
6090
62c9aa5f 60912003-03-13 Jan Hubicka <jh@suse.cz>
cd648cec
JH
6092
6093 * cselib.c (clear_table): Do not take argument; always clear just
6094 used slots.
6095 (cselib_process_insn): Update call of clear_table
6096 (cselib_init): Do not call clear_table.
6097 (cselib_finish): Clear table.
6098
6099 * cse.c (count_reg_usage): Do not check side_effects_p.
6100 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
6101 like noop.
6102 (find_reg_equal_equiv_note): Do not use find_reg_note.
6103
35d9c403
RH
61042003-03-14 Richard Henderson <rth@redhat.com>
6105
6106 PR target/9700
1fe668e5 6107 * config/alpha/alpha.c (alpha_va_start): Account for
35d9c403
RH
6108 current_function_pretend_args_size in the AP offset.
6109
6110 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
6111 (INITIAL_ELIMINATION_OFFSET): Move out of line.
6112 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
6113 (alpha_initial_elimination_offset) New.
6114 * config/alpha/alpha-protos.h: Update.
6115
f43f4314
JJ
61162003-03-14 Jakub Jelinek <jakub@redhat.com>
6117
6118 * stmt.c (expand_start_case): Call emit_queue ().
6119
35d9c403
RH
61202003-03-14 Chris Demetriou <cgd@broadcom.com>
6121 Alexandre Oliva <aoliva@redhat.com>
a0a89ed0
CD
6122
6123 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
6124 words in new abis.
6125
f650843f
EB
61262003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
6127
6128 PR optimization/8396
6129 * tree-inline.c (initialize_inlined_parameters): Make sure the value
6130 of read-only constant arguments is passed with the right type.
6131
a721a601
SB
61322003-03-14 Steven Bosscher <steven@gcc.gnu.org>
6133
6134 * doc/extend.texi (Function Names): Make the example compilable.
6135
a12f8290
DE
61362003-03-13 David Edelsohn <edelsohn@gnu.org>
6137
6138 * config/rs6000/rs6000.c (processor_target_table): Really allow
6139 GP optional instructions on Power4.
6140
61412003-03-13 Roger Sayle <roger@eyesopen.com>
36dbb93d
RS
6142
6143 * calls.c (flags_from_decl_or_type): Factor and remove redundant
6144 conditional tests.
6145
c4775f82
MS
61462003-03-13 Mike Stump <mrs@apple.com>
6147
6148 * ggc-page.c (struct page_entry): Remove varray.h header.
6149 Add index_by_depth field.
6150 Remove save_in_use_p field.
6151 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
6152 by_depth_max, by_depth, and save_in_use fields.
6153 (INITIAL_PTE_COUNT): Add.
6154 (save_in_use_p_i): Add.
6155 (save_in_use_p): Add.
6156 (adjust_depth): Add.
6157 (move_ptes_to_front): Add.
6158 (push_depth): Add.
6159 (push_by_depth): Add.
6160 (prefetch): Add.
6161 (free_page): Add support for and use faster data structures.
6162 (ggc_alloc): Likewise.
6163 (init_ggc): Likewise.
6164 (ggc_recalculate_in_use_p): Likewise.
6165 (ggc_pop_context): Likewise.
6166 (clear_marks): Likewise.
6167 (ggc_pch_read): Likewise.
6168 * Makefile.in (ggc-page.o): Remove varray.h.
6169
3bed2930
NN
61702003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
6171
7210d5ae
NN
6172 * ChangeLog: Rotated last year's entries to...
6173 * ChangeLog.8: New.
6174
1fe668e5 6175 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
3bed2930
NN
6176 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
6177 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
6178 config/ia64/ia64-protos.h, config/ia64/ia64.c,
6179 config/ia64/ia64.h, config/ia64/ia64.md,
6180 config/ia64/itanium1.md, config/ia64/itanium2.md,
6181 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
6182 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
6183
3bd104d1
AH
61842003-03-13 Aldy Hernandez <aldyh@redhat.com>
6185
d2184e79
AH
6186 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
6187 Differentiate endianness.
6188 (s6000_override_options): Use cpu type instead of TARGET_SPE.
3bd104d1 6189
2ed0b52a
NC
61902003-03-13 Nick Clifton <nickc@redhat.com>
6191
b17fe233 6192 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
d2184e79
AH
6193 LDM instructions with writeback enabled.
6194 (output_return_instruction): Likewise.
b17fe233 6195
2ed0b52a
NC
6196 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
6197 (CALL_USED_REGISTERS): Remove definition.
6198 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
6199
f1384257
AM
62002003-03-13 Alan Modra <amodra@bigpond.net.au>
6201
6202 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
6203 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
6204 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
6205 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
6206 (rs6000_legitimize_address): Formatting.
6207 (rs6000_emit_move): Likewise.
6208 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
6209 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
6210 (rs6000_elf_select_section): Comment reason for shlib being
6211 set for ABI_AIX.
6212 (rs6000_elf_unique_section): Likewise.
6213 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
6214 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
6215 as well as flag_pic.
6216 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
6217 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
6218 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
6219
599aedd9
RH
62202003-03-13 Richard Henderson <rth@redhat.com>
6221
6222 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
6223
6224 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
6225 (ia64_gp_save_reg): Remove.
6226 (struct ia64_frame_info): Move to the beginning of the file;
6227 add reg_save_gp.
6228 (ia64_expand_call): Rearrange for new call patterns.
6229 (ia64_reload_gp): New.
6230 (ia64_split_call): New.
6231 (ia64_compute_frame_size): Allocate reg_save_gp.
6232 (ia64_expand_prologue): Save reg_save_gp.
6233 (ia64_expand_epilogue): Don't restore gp.
6234 (ia64_hard_regno_rename_ok): Remove R4 hack.
6235 (ia64_function_ok_for_sibcall): New.
1fe668e5 6236 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
599aedd9
RH
6237 call try_split on sibcall pattern.
6238 * config/ia64/ia64-protos.h: Update.
6239 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
6240 Rename from nopic versions. Confiscate 2nd argument to call as
6241 a marker.
6242 (call_pic, call_value_pic, sibcall_pic): Remove.
6243 (call_gp, call_value_gp, sibcall_gp): New.
6244 (builtin_setjmp_setup): Remove.
6245 (builtin_setjmp_receiver): Call ia64_reload_gp.
6246
e7d9d16b
NN
62472003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6248
1fe668e5 6249 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2ff8f7ac
NN
6250 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
6251 "GNU CC" with "GCC".
6252
4db9c756
NN
6253 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
6254 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
6255 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
6256 GCC, not GNU CC.
6257
63b025a5
NN
6258 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
6259 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
6260
54a7b573
NN
6261 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
6262 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
6263 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
6264 "GNU CC" with "GCC".
6265
301ee2f3
NN
6266 * config/v850/lib1funcs.asm, config/v850/rtems.h,
6267 config/v850/v850-c.c, config/v850/v850-protos.h,
6268 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
6269 GCC, not GNU CC.
6270
e7d9d16b
NN
6271 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
6272 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
6273 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
6274 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
6275 GNU CC.
6276
93c98498
BK
62772003-03-12 Benjamin Kosnik <bkoz@redhat.com>
6278
6279 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
6280
e531258e
NN
62812003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6282
706ae11c
NN
6283 * fixinc/fixinc.interix: Remove dead code (most of it).
6284 * fixinc/fixinc.dgux: Remove.
6285
e531258e
NN
6286 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
6287 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
6288
eab9e742
JDA
62892003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6290
6291 * pa.c (pa_init_builtins): Fix warning.
6292
03d0dce1
SE
62932003-03-12 Steve Ellcey <sje@cup.hp.com>
6294
6295 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
6296 (ASM_OUTPUT_XDATA_SHORT): Remove.
6297 (ASM_OUTPUT_XDATA_INT): Remove.
6298 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
6299 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
6300 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
6301 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
6302
847311f4
AL
63032003-03-12 Andrew Lewycky <andrew@mxc.ca>
6304
6305 PR c++/7050
6306 * expr.c (store_expr): Don't attempt to store void-typed trees,
6307 just evaluate them for side effects.
6308
c19b12cb
NB
63092003-03-12 Neil Booth <neil@daikokuya.co.uk>
6310
6311 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
6312 * cppinit.c (push_include): Move with changes to cppfiles.c.
6313 (cpp_read_main_file): Mark named operators here...
6314 (cpp_finish_options): ...not here. Update.
6315 (_cpp_maybe_push_include_file): Update.
6316 * cpplib.h (cpp_push_include, cpp_rename_file): New.
6317
ad9c4d9f
NN
63182003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6319
847311f4
AL
6320 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
6321 _gcc_COMPUTE_GAS_VERSION.
6322 * configure.in: Use them.
6323 * configure: Regenerate.
ad9c4d9f 6324
8d49831d
BW
63252003-03-12 Bob Wilson <bob.wilson@acm.org>
6326
d2184e79 6327 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
8d49831d 6328 to detect carry.
d2184e79 6329 (subdi3): Reorder emitted instructions.
8d49831d 6330
bfa2615f
AJ
63312003-03-12 Andreas Jaeger <aj@suse.de>
6332
6333 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
6334 NETBSD_OS_CPP_BUILTINS_LP64.
6335
73458fb7
NN
63362003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6337
6338 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
6339 Rearrange. Reorganize.
6340 * configure.in: Rearrange.
6341 * configure: Regenerate.
6342
00530a21
AJ
63432003-03-12 Andreas Jaeger <aj@suse.de>
6344
d2184e79
AH
6345 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
6346 LP64 targets.
00530a21 6347
d2184e79
AH
6348 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
6349 _LP64.
00530a21 6350
d2184e79
AH
6351 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
6352 _LP64 macros here.
6353 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
00530a21 6354
d2184e79
AH
6355 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
6356 NETBSD_OS_CPP_BUILTINS_LP64.
6357 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
6358 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
00530a21 6359
d2184e79 6360 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
00530a21 6361
62c9aa5f 63622003-03-12 Jan Hubicka <jh@suse.cz>
5474eed5
JH
6363
6364 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
6365
8c35a61a 63662003-03-12 Daniel Jacobowitz <drow@mvista.com>
59a7f9bf
DJ
6367
6368 Fix PR target/9797 and PR c/9853.
6369 * stmt.c (expand_decl_init): Call push_temp_slots () and
6370 pop_temp_slots ().
6371
62c9aa5f 63722003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
1aa03f38
R
6373
6374 * sh.c: Include basic-block.h.
6375 (sh_output_mi_thunk, emit_load_ptr): New functions.
6376 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
6377
6f8c9bd1
NC
63782003-03-12 Nick Clifton <nickc@redhat.com>
6379
6380 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
6381 (CALL_USED_REGISTERS): Likewise.
6382 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
6383 describing how this value is calculated.
6384
b2522d2b
HPN
63852003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
6386
6387 * configure.in (rlim_t): Define to long if no valid definition
6388 found in sys/resource.h.
6389 * config.in, configure: Regenerate.
6390
f7248b51
NB
63912003-03-12 Neil Booth <neil@daikokuya.co.uk>
6392
6393 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
6394 TARGET_OS_CPP_BUILTINS.
6395 * config/mcore/mcore-pe.h: Similarly.
6396 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
6397 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
6398
8a7d6cb3
EB
63992003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
6400
6401 PR c/9928
6402 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
6403 only if it is a VAR_DECL.
6404
db1077d3
EB
64052003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
6406
6407 PR optimization/9888
6408 * config/i386/i386.md (jcc_1): Fix range.
6409 (jcc_2): Likewise.
6410 (jump): LIkewise.
6411 (doloop_end_internal): Likewise.
6412
6ca23bff 64132003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
1fe668e5 6414
6ca23bff
DS
6415 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
6416 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
6417 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
6418 DLL_IMPORT_EXPORT_PREFIX and "i."
6419 (i386_pe_dllexport_name_p): Here.
6420 (i386_pe_dllimport_name_p): Here.
d2184e79 6421 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
6ca23bff
DS
6422 not 9 chars when getting identifier name.
6423 (i386_pe_mark_dllimport): Here.
6424 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
6425 not 9 chars when getting identifier name. Correct comment.
6426 (i386_pe_strip_name_encoding): Here. Add comments for different
6427 cases.
6428 (gen_fastcall_suffix): Break down xmalloc() argument to
6429 components.
6430 (gen_stdcall_suffix): Likewise.
6431 Update copyright year.
6432
9b73c90a
EB
64332003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
6434
6435 PR optimization/9888
6436 * config/i386/i386.md (movsi_1): Remove special alternatives
6437 for %eax register.
6438 (movsi_1_nointernunit): Likewise.
6439 (movhi_1): Likewise.
6440 * config/i386/i386.c (memory_address_length): Do not use
6441 short displacement when there is no base.
6442 (ix86_attr_length_address_default): Handle LEA instructions.
6443
21282b1e
NB
64442003-03-12 Neil Booth <neil@daikokuya.co.uk>
6445
6446 * c-cppbuiltin.c (builtin_define_std): Make non-static.
6447
7358f10d
LR
64482003-03-11 Loren James Rittle <ljrittle@acm.org>
6449
6450 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
6451 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
6452 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
6453 * config/freebsd.h (CPP_PREDEFINES): Remove.
6454 (TARGET_OS_CPP_BUILTINS): New.
6455 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
6456 instead of TARGET_OS_CPP_BUILTINS.
6457 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
6458
d00bc0a2
GK
64592003-03-11 Geoffrey Keating <geoffk@apple.com>
6460
6461 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
6462
9b7b447f
AH
64632003-03-11 Aldy Hernandez <aldyh@redhat.com>
6464
d2184e79
AH
6465 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
6466 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9b7b447f 6467
d2184e79 6468 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9b7b447f 6469
62c9aa5f 64702003-03-11 Alexandre Oliva <aoliva@redhat.com>
18a47d21
AO
6471
6472 * toplev.c (independent_decode_option): Return success for --help,
6473 --target-help and --version.
6474
62c9aa5f 64752003-03-11 Alexandre Oliva <aoliva@redhat.com>
c0a579df
AO
6476
6477 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
6478 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
6479 specified.
6480 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
6481 DRIVER_SELF_SPECS.
6482 (LINK_SPEC): Let endian options affect the linker emulation name.
6483
62c9aa5f 64842003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
ea45c4b0
R
6485
6486 * sh.md (reload_inqi): Fix mode for source in second set.
6487
62c9aa5f 64882003-03-11 Jan Hubicka <jh@suse.cz>
7101fb18
JH
6489
6490 * cselib.c (cselib_invalidate_mem_1): Move too ...
6491 (cselib_invalidate_mem): ... here; use new list
6492 (dummy_val, first_containing_mem): New static variables.
6493 (clear_table): Initialize first_containing_mem.
6494 (discard_useless_values): Compact the containing_mem list.
6495 (add_mem_for_addr): Add to the list.
6496 * cselib.h (cselib_val): Add next_containing_mem.
6497
b5044283
AH
64982003-03-11 Aldy Hernandez <aldyh@redhat.com>
6499
d2184e79
AH
6500 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
6501 instructions for e500.
b5044283 6502
cd6a5007
NB
65032003-03-11 Neil Booth <neil@daikokuya.co.uk>
6504
6505 * Makefile.in: Update.
6506 * c-cppbuiltin.c: Include tm_p.h.
6507
41f3a930
AH
65082003-03-11 Aldy Hernandez <aldyh@redhat.com>
6509
d2184e79 6510 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
41f3a930 6511
d2184e79
AH
6512 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
6513 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
6514 (_Unwind_SetGR): Same.
6515 (_Unwind_GetGRPtr): New.
6516 (_Unwind_SetGRPtr): New.
6517 (uw_update_context_1): Use accesor functions instead of accessing
6518 context->reg[] directly.
6519 (uw_install_context_1): Same.
6520 (execute_cfa_program): Same.
6521 (__frame_state_for): Same.
41f3a930 6522
d2184e79
AH
6523 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
6524 the synthetic register offset.
41f3a930 6525
d2184e79 6526 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
41f3a930 6527
d2f55c5c
HPN
65282003-03-11 Hans-Peter Nilsson <hp@axis.com>
6529
6530 * config/cris/cris.md: Remove lingering EGCS reference.
6531 ("*extopqihi_side_biap"): For HI operation, match
6532 cris_additive_operand_extend_operator, not
6533 cris_operand_extend_operator. Adjust condition.
6534 ("*extopqihi_side", "*extopqihi"): Ditto.
6535 ("*extopqisi_side_biap"): Correct operand numbers in condition.
6536 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
6537 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
6538 ("*extophisi_swap"): Ditto.
6539 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
6540 PLUS, not cris_operand_extend_operator. Adjust condition and
6541 output template.
6542 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
6543 * config/cris/cris.h (PREDICATE_CODES): Add
6544 cris_additive_operand_extend_operator.
6545 * config/cris/cris.c (cris_additive_operand_extend_operator):
6546 New predicate.
6547
37bd08f8
HP
65482003-03-11 Hartmut Penner <hpenner@de.ibm.com>
6549
6550 * df.c (read_modify_subreg_p): Change from static to global.
6551 * df.h (read_modify_subreg_p): Add prototype.
6552 * sched-deps.c (sched_analyze_1): Generate true dependency for
1fe668e5 6553 strict_low_part, certain subregs and zero/sign_extract.
37bd08f8 6554
cb60f38d
NB
65552003-03-11 Neil Booth <neil@daikokuya.co.uk>
6556
6557 * Makefile.in: Update.
6558 * c-common.c: Don't include real.h or except.h.
6559 (REGISTER_PREFIX): Remove.
6560 (builtin_define_std, builtin_define_with_value,
6561 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
6562 builtin_define_type_max, builtin_define_type_precision,
6563 builtin_define_float_constants): Move to c-cppbuiltin.c.
6564 (c_stddef_cpp_builtins): New.
6565 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
6566 * c-cppbuiltin.c: New, extracted from c-common.c.
6567 (define__GNUC__): New.
6568 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
6569 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
6570 (cpp_unique_options): Don't support no-gcc.
6571 (do_spec_1): Remove support of version specs.
6572 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
6573 * doc/passes.texi: Update.
6574 * doc/tm.texi: Update.
6575
31ca3635
AH
65762003-03-10 Aldy Hernandez <aldyh@redhat.com>
6577
d2184e79 6578 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
31ca3635 6579
ab82a49f
AP
65802003-03-10 Andrew Pinski <apinski@apple.com>
6581
6582 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
6583 is on should not get here.
6584 (machopic_indirect_data_reference): If dynamic-no-pic is on just
6585 generate high/low parts of the address.
6586 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
6587 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
6588 symbol and labels with a new reg. Dynamic-no-pic does not have a
6589 pic_offset_table_rtx.
6590 (machopic_select_section): Change references of flag_pic to
1fe668e5 6591 MACHOPIC_INDIRECT.
ab82a49f
AP
6592 (machopic_asm_out_destructor): Likewise.
6593 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
6594 reference of flag_pic to MACHOPIC_INDIRECT.
6595 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
6596 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
6597 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
6598 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
6599 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
6600 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
6601 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
6602 (TARGET_DYNAMIC_NO_PIC): Define.
6603 (SUBTARGET_SWITCHES): Define, have sub-target switches for
1fe668e5 6604 dynamic-no-pic.
ab82a49f
AP
6605 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
6606 rs6000_override_options to here. Dynamic-no-pic overrides
6607 pic.
6608 (CC1_SPEC): Change from not static then pic to not static and not
6609 dynamic-no-pic then pic.
6610 * config/rs6000/rs6000.c (rs6000_override_options): Move the
6611 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
6612 (rs6000_legitimize_reload_address): Add case for loading floating in
6613 dynamic-no-pic.
6614 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
6615 of flag_pic to MACHOPIC_INDIRECT.
6616 (secondary_reload_class): Conditional change the reference of
6617 flag_pic to MACHOPIC_INDIRECT.
6618 (rs6000_output_mi_thunk): Change reference of flag_pic to
6619 MACHOPIC_INDIRECT.
6620 (output_profile_hook): Likewise.
6621 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
6622 * config/rs6000/rs6000.md (movdf_low): Add the case for
6623 MACHO_DYNAMIC_NO_PIC_P.
6624 (call): Change references for flag_pic in TARGET_MACHO to
6625 MACHOPIC_INDIRECT.
6626 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
6627 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
6628 * doc/invoke.texi (-mdynamic-no-pic): Document.
87d7d780
DP
6629
66302003-03-10 Devang Patel <dpatel@apple.com>
1fe668e5 6631
87d7d780
DP
6632 PR c++/9394
6633 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
6634 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
6635 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
6636 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
6637 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
6638 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
1fe668e5 6639
6b856d15
SB
66402003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6641
6642 PR optimization/7189
6643 * toplev.c (rest_of_compilation): Move
6644 check_function_return_warnings up to just after
6645 delete_unreachable_blocks.
6646
2d8d15b7
SC
66472003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6648
6649 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
6650 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
6651 Declare.
6652 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
6653 for reg rename optimization to avoid using Z and Y registers.
6654
0e01d661
SC
66552003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6656
6657 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
6658 when adding to X and Y since leax/leay are fast.
6659 ("*addhi3"): Accept 'I' constraint when adding to address register.
6660 ("rotlhi3"): Operand 1 must be a register_operand.
6661 (peephole2): New peephole to optimize some adds.
6662 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
6663 to represent -2 .. 2 small integer range.
6664
ae5b570e
SC
66652003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6666
6667 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
6668 each 16-bit rotation.
6669
52999738
ZW
66702003-03-10 Zack Weinberg <zack@codesourcery.com>
6671
6672 * c-opts.c (add_prefixed_path): Don't use concat. When
6673 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
6674 cpp_GCC_INCLUDE_DIR_len characters.
6675
5c242421
SB
66762003-03-10 Segher Boessenkool <segher@koffie.nl>
6677
52999738 6678 * testsuite/gcc.dg/altivec-9.c: New file.
5c242421 6679
52999738
ZW
6680 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
6681 (rs6000_emit_prologue): Use rs6000_frame_related instead.
5c242421 6682
b4053702
AH
66832003-03-10 Aldy Hernandez <aldyh@redhat.com>
6684
52999738
ZW
6685 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
6686 vectors.
6687 (__ev_convert_u64): Remove macro. Define as inline.
6688 (__ev_convert_s64): Same.
b4053702 6689
c19de7aa
AH
66902003-03-10 Aldy Hernandez <aldyh@redhat.com>
6691
52999738
ZW
6692 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
6693 (rs6000_stack_t): Add spe_64bit_regs_used.
c19de7aa 6694
52999738
ZW
6695 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
6696 spe_64bit_regs_used, and use it to determine the size of the
6697 frame.
6698 (spe_func_has_64bit_regs_p): New.
6699 (spe_synthesize_frame_save): New.
6700 (rs6000_frame_related): Handle SPE synthetic registers.
6701 (rs6000_emit_prologue): Only save in 64-bits if the function used
6702 any registers in 64-bit mode.
6703 (rs6000_emit_epilogue): Same, but for restore.
c19de7aa 6704
29ad9694
RE
67052003-03-10 Richard Earnshaw <rearnsha@arm.com>
6706
6707 * arm.h (enum floating_point_type): Delete. Replace with...
6708 (enum fputype): ... new.
6709 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
6710 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
6711 * arm.md (attr fpu): Reworked for new underlying enum values.
6712 * arm.c (arm_fpu_arch): Now enum fputype.
6713 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
6714 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
6715 Update uses of arm_fpu_arch and arm_fpu_tune.
6716
39811184
JZ
67172003-03-10 Josef Zlomek <zlomekj@suse.cz>
6718
52999738 6719 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
39811184
JZ
6720 (try_crossjump_to_edge): Replace refereces to one jump table by
6721 references to identical jump table.
6722 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
6723 (replace_label): Moved to rtlanal.c.
6724 (struct rtx_pair): Moved to rtl.h.
52999738 6725 * rtl.h (struct rtx_pair): Moved from loop.c.
39811184
JZ
6726 (replace_label): New extern function.
6727 (subrtx_p): New extern function.
6728 (tablejump_p): New extern function.
52999738 6729 * rtlanal.c (replace_label): Moved from loop.c.
39811184
JZ
6730 (subrtx_p_1): New static function.
6731 (subrtx_p): New function.
6732 (tablejump_p): New function.
6733
62c9aa5f 67342003-03-10 Jan Hubicka <jh@suse.cz>
ec3ae3da 6735
912b79e7
JH
6736 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
6737
ec3ae3da
JH
6738 * cfgcleanup.c (merge_blocks): Return where to iterate next.
6739 (try_optimize_cfg): Use return value of merge_blocks
6740
e0fd3e7a
MM
67412003-03-10 Michael Matz <matz@suse.de>
6742
6743 * cfg.c (unchecked_make_edge): New.
6744 (cached_make_edge): Use it.
6745 * basic-block.h (unchecked_make_edge): Declare.
6746 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
6747
82955615
RE
67482003-03-10 Richard Earnshaw <rearnsha@arm.com>
6749
6750 * fpa.md: New file. Move all patterns relating to FPA co-processor
6751 to here...
6752 * arm.md: ... from here.
6753 (cirrus.md, fpa.md): Include at end of description.
6754 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
6755 (pic_load_addr_based): Remove register constraint from expander.
6756 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
6757 (sordered, sungt, sunle, sunge, sunlt): Likewise.
6758 (eh_epilogue, tablejump): Likewise.
6759
22672fc4
RK
67602003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6761
6762 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
6763 on operands if it has a PLACEHOLDER_EXPR.
6764
f7b3ab8a
DE
67652003-03-09 David Edelsohn <edelsohn@gnu.org>
6766 Mostafa Hagog
6767
6768 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
6769 condition.
6770
cc956ba2
NB
67712003-03-09 Neil Booth <neil@daikokuya.co.uk>
6772
6773 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
6774 * config/ip2k/ip2k.h: Similarly.
6775 * config/m32r/m32r.h: Similarly.
6776 * config/m68hc11/m68hc11.h: Similarly.
6777 * config/mn10200/mn10200.h: Similarly.
6778 * config/mn10300/mn10300.h: Similarly.
6779 * config/pdp11/pdp11.h: Similarly.
6780 * config/v850/v850.h: Similarly.
6781 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
6782 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
6783 * config/mips/iris3.h: Remove #if 0 block.
6784
67852003-03-09 Roger Sayle <roger@eyesopen.com>
6786 Joern Rennecke <joern.rennecke@superh.com>
6787
6788 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
6789 pending argument upon return from handle_braces here.
6790 (do_spec_2): Instead handle it upon return from do_spec_1 here.
6791
6544fbcb
RS
67922003-03-09 Roger Sayle <roger@eyesopen.com>
6793 Joern Rennecke <joern.rennecke@superh.com>
6794
6795 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
6796 pending argument upon return from handle_braces here.
6797 (do_spec_2): Instead handle it upon return from do_spec_1 here.
6798
e1a04212
FS
67992003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6800
6801 * varasm.c (make_decl_one_only): Use declare_weak().
6802
4677862a
JDA
68032003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6804
6805 PR middle-end/9986
6806 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
6807 after the common builtins.
6808 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
6809 * pa.c (TARGET_INIT_BUILTINS): Define.
6810 (pa_init_builtins): New function.
6811
6812 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
6813 space has been allocated for the outgoing arguments, set the arg
6814 pointer for a call emitted after virtuals have been instantiated
6815 using the stack pointer offset, otherwise abort.
6816
2de12bc4
DD
68172003-03-09 DJ Delorie <dj@redhat.com>
6818
6819 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
6820
17136dde
RE
68212003-03-09 Richard Earnshaw <rearnsha@arm.com>
6822
6823 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
6824 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
6825 conversion to integer.
6826 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
6827
f937d5e6
RS
68282003-03-09 Roger Sayle <roger@eyesopen.com>
6829
6830 * builtins.def: Fix typo and improve grammar.
6831 * loop-unroll.c (decide_peel_completely): Tidy log message.
6832
c5979bc6
KH
68332003-03-09 Kazu Hirata <kazu@cs.umass.edu>
6834
6835 * config/h8300/h8300.md (*tstsi_upper_bit): New.
6836 (*iorsi3_e2f): Likewise.
6837
4f4ebda3
KH
68382003-03-08 Kazu Hirata <kazu@cs.umass.edu>
6839
6840 * config/h8300/h8300.c (h8300_and_costs): Return the number of
6841 assembly instructions needed.
6842 (h8300_shift_costs): Likewise.
6843
c366ade5
HPN
68442003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
6845
02af0d9b
HPN
6846 * config/cris/aout.h (ENDFILE_SPEC): Undef.
6847
a3600c71
HPN
6848 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
6849 moves from here ...
6850 * expr.c (emit_move_insn_1): ... to here.
6851
a6e464ae
HPN
6852 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
6853 (TARGET_OS_CPP_BUILTINS): New macro.
6854 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
6855 (TARGET_OS_CPP_BUILTINS): New macro.
6856 (CPP_PREDEFINES): Don't define. Move old definitions and...
6857 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
6858 (TARGET_CPU_CPP_BUILTINS): New macro.
6859 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
6860 definitions and the optional __PIC__, __pic__ and
6861 __NO_UNDERSCORES__ definitions to...
6862 (TARGET_OS_CPP_BUILTINS): New macro.
6863
d8a25128
HPN
6864 * flags.h (flag_leading_underscore): Declare.
6865
c366ade5
HPN
6866 * c-opts.c (c_common_post_options): On fopen failure, return
6867 false, not NULL.
6868
32b0bbaa
HPN
68692003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
6870
6871 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
6872 config.h.
6873 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
6874 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
6875
ad220576
NB
68762003-03-08 Neil Booth <neil@daikokuya.co.uk>
6877
6878 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
6879 CPP_PREDEFINES.
6880 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
6881 CPP_PREDEFINES.
6882
4bfec483
NB
68832003-03-08 Neil Booth <neil@daikokuya.co.uk>
6884
6885 * c-common.h (c_common_init, c_common_post_options): Update.
6886 * c-objc-common.c (c_objc_common_init): Update for new prototype.
6887 * c-opts.c (saved_lineno): New.
6888 (c_common_post_options, c_common_init): Update prototypes,
6889 move call to cpp_read_main_file from latter to former.
6890 * c-tree.h (c_ojbc_common_init): Update.
6891 * langhooks-def.h (lhd_post_options): New.
6892 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
6893 * langhooks.c (lhd_post_options): New.
6894 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
6895 * toplev.c (no_backend): New.
6896 (process_options): Call post_options hook and set main_input_filename
6897 and input_filename here.
6898 (lang_dependent_init, do_compile): post_options hook moved to
6899 process_options.
6900 * objc/objc-act.c (objc_init): Update prototype.
6901 * objc/objc-act.h (objc_init): Update prototype.
6902
9dd04ab5
RS
69032003-03-08 Roger Sayle <roger@eyesopen.com>
6904
6905 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
6906 a complex or vector type, using a load in the original mode.
6907
62c9aa5f 69082003-03-08 Jan Hubicka <jh@suse.cz>
988d1653
JH
6909
6910 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
6911 * gt-cgraph.h: New GC file.
6912 * cgraph.c (known_fns): New static variable.
6913 (cgraph_node): Add the decl into varray.
6914
73ba39fc
HPN
69152003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
6916
6917 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
6918
3b684012
RE
69192003-03-08 Richard Earnshaw <rearnsha@arm.com>
6920
6921 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
6922 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
6923 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
6924 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
6925 All callers changed.
6926 * arm.md, arm.h, arm-protos.h: Updated.
6927
6928 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
6929 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
6930 * arm.c (arm_regno_class, f_register_operand): Updated.
6931
fa5848c7
HPN
69322003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
6933
6934 * config/cris/cris.h: Remove EGCS references.
1fe668e5 6935 (CPP_SPEC): Remove "-$".
fa5848c7
HPN
6936 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
6937
4555be98
NB
69382003-03-08 Neil Booth <neil@daikokuya.co.uk>
6939
6940 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
6941 preference to CPP_PREDEFINES.
6942
39a91264
NB
69432003-03-08 Neil Booth <neil@daikokuya.co.uk>
6944
6945 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
6946
9571a6b9
KH
69472003-03-08 Kazu Hirata <kazu@cs.umass.edu>
6948
6949 * config/h8300/h8300.md (*extzv_16_8): New.
6950
62c9aa5f 69512003-03-08 Jan Hubicka <jh@suse.cz>
18d13f34
JH
6952
6953 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
6954 * cgraph.h: (cgraph_local_info): Add can_inline_once
6955 (cgraph_global_info): Add inline_once.
6956 (cgraph_node): Add previous.
6957 (cgraph_remove_node): New.
6958 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
6959 function.
6960 (cgraph_optimize): Call it.
6961 (cgraph_finalize_function): Set inlinable flags.
6962 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
6963 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
6964 (cgraph_expand_function): Likewise.
52999738 6965 * cgraph.c
18d13f34
JH
6966 (cgraph_node): Put nodes into doubly linked chain.
6967 (cgraph_remove_node): New function.
6968 * flags.h (flag_inline_functions_called_once): Declare.
6969 * tree-inline.c: Include cgraph.h
6970 (inlinable_functions_p): Add extra argument to bypass limits.
6971 (expand_call_inline): Obey cgraph flag.
6972 * tree-inline.h (tree_inlinable_function_p): Update prototype.
6973
72b8d451
ZD
69742003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6975
6976 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
6977 irreducible loops.
6978
6979 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
6980 loops info correctly.
6981
ed97aa66
EB
69822003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
6983
6984 PR middle-end/7796
6985 * unroll.c (calculate_giv_inc): Handle constants being
6986 loaded with LSHIFTRT.
6987
d7b53ca4
DE
69882003-03-07 David Edelsohn <edelsohn@gnu.org>
6989
6990 * config/rs6000/rs6000.c (processor_target_table): Do not disable
6991 GP optional instructions on Power3, Power4, 620, and 630.
6992
3dc575ff
KH
69932003-03-07 Kazu Hirata <kazu@cs.umass.edu>
6994
6995 * calls.c: Fix comment formatting.
6996 * cfgloopanal.c: Likewise.
6997 * cfgloopmanip.c: Likewise.
6998 * combine.c: Likewise.
6999 * dwarf2out.c: Likewise.
7000 * ggc-common.c: Likewise.
7001 * langhooks.c: Likewise.
7002 * loop-unroll.c: Likewise.
7003 * loop.c: Likewise.
7004 * ra-build.c: Likewise.
7005 * sbitmap.c: Likewise.
7006 * toplev.c: Likewise.
7007
9bcd9715
JW
70082003-03-07 James E Wilson <wilson@tuliptree.org>
7009
ed97aa66 7010 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
9bcd9715 7011
6e5c4eaf
GK
70122003-03-07 Geoffrey Keating <geoffk@apple.com>
7013
7014 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
7015 support -no-integrated-cpp.
7016
7017 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
7018 than langhooks.name.
7019
50aac998
MM
70202003-03-07 Michael Matz <matz@suse.de>
7021
7022 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
7023 (DF_FOR_REGALLOC): New.
7024 * df.c (df_ref_record): Set DF_REF_STRIPPED.
7025 (read_modify_subreg_p): Simplify.
7026 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
7027 Use DF_FOR_REGALLOC.
7028 * ra.h (struct web): New member subreg_stripped.
7029 (invalid_mode_change_regs): Declare.
7030 * ra.c (invalid_mode_change_regs): New.
7031 (init_ra): Initialize it.
7032 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
7033 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
7034 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
7035 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
7036 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
7037
37f74dcf
RE
70382003-03-07 Richard Earnshaw <rearnsha@arm.com>
7039
7040 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
7041 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
7042 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
7043 machine description file from ...
7044 * cirrus.md: ... here.
7045
203b3521
KH
70462003-03-06 Kazu Hirata <kazu@cs.umass.edu>
7047
7048 * config/h8300/h8300.md (a peephole2): Don't use
7049 reg_overlap_mentioned_p.
7050
8643e92d
GK
70512003-03-06 Geoffrey Keating <geoffk@apple.com>
7052
7053 * c-pch.c: Include langhooks.h.
7054 (IDENT_LENGTH): New.
7055 (get_ident): New.
7056 (pch_ident): Delete.
7057 (pch_init): Use get_ident, IDENT_LENGTH.
7058 (c_common_valid_pch): Likewise. Also, use actual language
7059 in warning message.
7060 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
7061
7062 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
7063 c-parse.in.
7064 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
7065 gt-objc-objc-act.h.
7066 (gt-objc-objc-act.h): New rule.
7067 * objc/lang-specs.h: Support PCH.
7068 * objc/objc-act.c: Include gt-objc-objc-act.h.
7069 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
7070 (build_selector_reference_decl): Move idx out, mark for PCH.
7071 (build_class_reference_decl): Likewise.
7072 (build_objc_string_decl): Move *_idx out, mark for PCH.
7073 (build_tmp_function_decl): Move xxx out, mark for PCH.
7074
7f3d8013
DJ
70752003-03-06 Dale Johannesen <dalej@apple.com>
7076
7077 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
7078 global functions for inlining on Darwin.
7079
14484a78
VM
70802003-03-06 Vladimir Makarov <vmakarov@redhat.com>
7081
7082 * haifa-sched.c (schedule_block): Don't call reorder when sorting
7083 is prohibited.
7084
9d10c9a9
NB
70852003-03-06 Neil Booth <neil@daikokuya.co.uk>
7086
7087 * Makefile.in (c-ppoutput.o): Update.
7088 * c-common.h (init_pp_output): New.
7089 (preprocess_file): Update.
7090 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
7091 Register builtins.
7092 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
7093 Make call to cpp_read_main_file common to whether preprocessing
7094 or not. Don't register builtins.
7095 * c-ppoutput.c: Include c-pragma.h.
7096 (setup_callbacks): Rename init_pp_output.
7097 (preprocess_file): No longer setup callbacks or call
7098 cpp_read_main_file.
7099 * cpphash.h (_cpp_init_mbchar): New.
7100 * cppinit.c (init_library): Call _cpp_init_mbchar.
7101 * cpplex.c (_cpp_init_mbchar): New.
7102
37f5242b
RS
71032003-03-06 Roger Sayle <roger@eyesopen.com>
7104
7105 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
7106 MEM, try loading the MEM into a register and taking the low-part
7107 of that, to help CSE see the use of the MEM in its true mode.
7108
c876997f 71092003-03-05 Tom Tromey <tromey@redhat.com>
f3922fd2
DD
7110
7111 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
7112 Define.
7113
c876997f 71142003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
f3922fd2
DD
7115
7116 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
7117 operand 2.
7118 ("*ineqbranchsi"): Likewise.
7119
c876997f 71202003-03-05 Andrew Haley <aph@cambridge.redhat.com>
f3922fd2
DD
7121
7122 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
7123 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
7124 register store followed by a stack increment.
7125
c876997f 71262003-03-05 Chris Moller <cmoller@redhat.com>
f3922fd2
DD
7127
7128 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
7129 to inhibit saving CARRY_REGS.
7130
7131 * config/stormy16/stormy16.c (xs_hi_general_operand):
7132 added predicate to detect and error-out on out-of-range
7133 const_ints for movhi.
52999738 7134 * config/stormy16/stormy16.md (movhi): use
f3922fd2
DD
7135 xs_hi_general_operand.
7136
7137 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
7138 added a check for local vbl size overflow.
7139 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
7140 added predicate to detect and error-out on out-of-range
7141 const_ints for addhi and subhi.
52999738 7142 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
f3922fd2
DD
7143 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
7144
7145 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
7146 add a term to accept PRE_MODIFY addresses.
7147 * config/stormy16/stormy16.c (xstormy16_expand_move):
7148 add code to expand PRE_MODIFY addresses to an add followed
7149 by a move.
7150
4c28216d
JM
71512003-03-06 Jason Merrill <jason@redhat.com>
7152
7153 * tree-inline.c (inlinable_function_p): Revert earlier change
7154 pending investigation.
7155
0135f343
KH
71562003-03-06 Kazu Hirata <kazu@cs.umass.edu>
7157
7158 * config/h8300/h8300.md (a new peephole2): New.
7159
62c9aa5f 71602003-03-06 Jan Hubicka <jh@suse.cz>
5c2e00ee
JH
7161
7162 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
7163
323658ea
ZD
71642003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7165
7166 * dwarf2out.c (size_of_die): Compute size of external reference to
7167 die correctly.
7168
2b18b49b
HPN
71692003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
7170
7171 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
7172 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
7173 expanders.
7174
1a71a5b0
RS
71752003-03-05 Roger Sayle <roger@eyesopen.com>
7176
7177 * expr.h (lang_expand_expr): Delete obsolete prototype.
7178
26d249eb
KH
71792003-03-05 Kazu Hirata <kazu@cs.umass.edu>
7180
7181 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
7182
8b41a8da
KH
71832003-03-05 Kazu Hirata <kazu@cs.umass.edu>
7184
7185 * config/h8300/h8300.md (a peephole2): Generalize to
7186 accept a memory operand.
7187
62c9aa5f 71882003-03-05 Olivier Hainque <hainque@act-europe.fr>
39ee7fa9
OH
7189
7190 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
7191 * config/alpha/alpha.c (print_operand, case '+'): New.
7192 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
7193 (call_value_osf_1_noreturn): Likewise.
7194
62c9aa5f 71952003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
cda26058
RK
7196
7197 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
7198 (expand_end_bindings): Likewise.
7199
98857de8
JDA
72002003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7201
7202 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
7203 (epilogue): Don't generate return_external_pic when emitting PA 2.0
7204 code.
7205
96714395
AH
72062003-03-05 Aldy Hernandez <aldyh@redhat.com>
7207
52999738 7208 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
96714395 7209
52999738 7210 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
96714395 7211
52999738 7212 * hooks.c (hook_rtx_rtx_null): New.
96714395 7213
52999738 7214 * hooks.h (hook_rtx_rtx_null): Protoize.
96714395 7215
52999738
ZW
7216 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
7217 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
96714395 7218
52999738 7219 * target.h (struct gcc_target): Add dwarf_register_span.
96714395 7220
52999738
ZW
7221 * dwarf2out.c (multiple_reg_loc_descriptor): New.
7222 (one_reg_loc_descriptor): New.
7223 (reg_loc_descriptor): Add support for values that span more than
7224 one register.
96714395 7225
62c9aa5f 72262003-03-05 Jan Hubicka <jh@suse.cz>
b255a036
JH
7227
7228 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
7229 * alias.c: Include cgraph.h
7230 (mark_constant_function): Use cgraph_rtl_info.
7231 * calls.c: Include cgraph.h
7232 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
7233 calls.
7234 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
7235 * cgraph.c (cgraph_rtl_info): New function.
7236 * cgraph.h (cgraph_rtl_info): Declare
7237 (cgraph_rtl_info): Likewise.
7238 * function.h (struct function): Add recursive_call_emit.
7239 * toplev.c: Include cgraph.h.
7240 (rest_of_compilation): Set preferred_incoming_stack_boundary.
7241
0eb933a0
KH
72422003-03-05 Kazu Hirata <kazu@cs.umass.edu>
7243
7244 * config/h8300/h8300.c (output_simode_bld): Clear the
7245 destination first if possible.
7246 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
7247 alternative.
7248 (extzv_1_r_inv_h8300hs): Likewise.
7249
35b07080
ZD
72502003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7251
7252 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
7253 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
7254 * cfgloop.c (flow_loop_free): Made global.
7255 (establish_preds): New static function.
7256 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
7257 (get_loop_exit_edges): New.
7258 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
7259 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
7260 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
7261 loops.
7262 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
7263 removability of an edge.
7264 (fix_irreducible_loops): New static function.
7265 (find_path, remove_path): Add ability to remove enclosing loops.
7266 (unloop): New.
7267 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
7268 flags.
7269 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
7270 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
7271 not neccessary.
7272 (decide_peel_completely, peel_loops_completely): Allow complete peeling
7273 of non-duplicable once rolling loops.
7274 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
7275
62c9aa5f 72762003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
bb182d23
R
7277
7278 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
7279 for align_jumps is 4.
7280
7281 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
7282 use GENERAL_REGS.
7283
f2d0440f
SC
72842003-03-05 Stephane Carrez <stcarrez@nerim.fr>
7285
7286 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
7287 according to va_arg type.
7288 (EXPAND_BUILTIN_VA_ARG): Remove.
7289 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
7290 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
7291
165b263e
DE
72922003-03-05 David Edelsohn <edelsohn@gnu.org>
7293
7294 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
7295 else clauses.
7296
8c38a24f
MM
72972003-03-05 Michael Matz <matz@suse.de>
7298
7299 * i386/i386.c (ix86_save_reg): Also test
7300 current_function_uses_const_pool.
7301
336d0d96
MM
73022003-03-05 Michael Matz <matz@suse.de>
7303
7304 * unwind.h: Add the GPL exception.
7305 * Makefile.in (USER_H): Add unwind.h.
7306
be2fa211
EB
73072003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
7308
7309 PR c/9799
7310 * c-typeck.c (push_init_level): Add sanity check.
7311
62c9aa5f 73122003-03-05 Jan Hubicka <jh@suse.cz>
dafc5b82
JH
7313
7314 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
7315 RTL inlining is done.
7316
7317 * cgraphunit.c (cgraph_mark_local_functions): New local function.
7318 (cgraph_optimize): Mark local functions.
7319 * i386-protos.h (init_cumulative_args): Update prototype.
7320 * i386.c (init_cumulative_args): Use register passing convention for
7321 local functions.
7322
7323 * cgraph.c (cgraph_global_info_ready): New global variable
7324 (cgraph_local_info, cgraph_global_info): New functions.
7325 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
7326 structures.
7327 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
7328 Declare.
7329 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
7330 (cgraph_mark_functions_to_output): Use inline_many.
7331 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
7332 (cgraph_expand_functions): Expand inline functions last.
7333 (cgraph_optimize): Do not emit uneeded functions.
7334
006c9f4a
SE
73352003-03-04 Steve Ellcey <sje@cup.hp.com>
7336
7337 * expr.c (convert_modes): Check for legal hard register.
7338
65ebbf81
TT
73392003-03-04 Tom Tromey <tromey@redhat.com>
7340
7341 * doc/sourcebuild.texi (Front End Directory): Document tags.
7342 * configure: Rebuilt.
7343 * configure.in (target_list): Added tags.
7344 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
7345 TAGS files by reference.
7346 * objc/Make-lang.in (objc.tags): New target.
7347
ec4a0419
ZD
73482003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7349
7350 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
7351 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
7352 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
7353 gcov_read_string, gcov_write_length): Modified to enable reading/
7354 writing of whole .da file just once.
7355 (da_file_open, da_file_close, da_file_eof, da_file_error,
7356 da_file_position, da_file_seek, da_file_write, da_file_read): New
7357 functions.
7358 (actual_da_file, actual_da_file_position, actual_da_file_length,
7359 actual_da_file_buffer, actual_da_file_buffer_size): New static
7360 functions.
7361 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
7362 just once.
7363
7364
79dbeefc
AS
73652003-03-04 Andreas Schwab <schwab@suse.de>
7366
7367 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
7368 offset without frame pointer.
7369
3ac1a319
SE
73702003-03-04 Steve Ellcey <sje@cup.hp.com>
7371
7372 * expr.c (expand_expr): Call promote_mode to set unsignedp.
7373
db720d9a
DJ
73742003-03-04 Daniel Jacobowitz <drow@mvista.com>
7375
7376 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
7377 * configure: Regenerated.
7378 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
7379
9a79ab7e
AJ
73802003-03-04 Andreas Jaeger <aj@suse.de>
7381
7382 * configure.in: Check for <memcheck.h>.
52999738 7383 * configure: Regenerated.
9a79ab7e
AJ
7384
7385 * config.in: Define HAVE_MEMCHECK_H.
7386
7387 * ggc-common.c: Use <memcheck.h> if available instead of
7388 <valgrind.h>.
7389 * ggc-page.c: Likewise.
7390 * cppfiles.c: Likewise.
7391
a8f0e848
KH
73922003-03-04 Kazu Hirata <kazu@cs.umass.edu>
7393
7394 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
7395
2ad1815d
EB
73962003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
7397
7398 PR c/9262
7399 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
7400 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
7401
62c9aa5f 74022003-03-04 Jan Hubicka <jh@suse.cz>
e2483ef7
JH
7403
7404 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
7405 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
7406 for -O3.
7407
34a86c2b
NN
74082003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
7409
7410 * configure.in: Delete three unused variables. Move a variable
7411 definition closer to its use. Simplify use_collect2 logic. Start to
7412 organize. Simplify tests for in-tree gas and ld.
7413 * configure: Regenerate.
7414
63973df3
NB
74152003-03-04 Neil Booth <neil@daikokuya.co.uk>
7416
7417 * Makefile.in: Update.
7418 * c-common.c (flag_no_line_commands, flag_no_output,
7419 flag_dump_macros, flag_dump_includes): New.
7420 * c-common.h (flag_no_line_commands, flag_no_output,
7421 flag_dump_macros, flag_dump_includes, preprocess_file): New.
7422 (init_c_lex): Update prototype.
7423 * c-lex.c (init_c_lex): Update prototype; move some code to
7424 c_common_init.
7425 * c-opts.c (preprocess_file): Subsume into c_common_init.
7426 (c_common_decode_option): Update flags.
7427 (c_common_init): Move code from preprocess_file and init_c_lex.
7428 (sanitize_cpp_opts): Update.
7429 * c-ppoutput.c: New, cppmain.c almost verbatim.
7430 * cpphash.h (struct printer): Remove.
7431 (struct cpp_reader): Remove print.
7432 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
7433 cpp_preprocess_file): Remove.
7434 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
7435 and dump_includes.
7436 * cppmain.c: Remove.
7437 * doc/passes.texi: Update.
7438
95f3f59e
JDA
74392003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7440
7441 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
7442 (assign_stack_local_1): Perform overall stack alignment only when
7443 STACK_ALIGNMENT_NEEDED is non-zero.
7444 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
7445
7446 * pa.c (compute_frame_size): Rename fsize to size. Account for
7447 alignment to a word boundary before general register save block. Only
7448 account for double-word alignment before floating point register save
7449 block if one or more are saved. Don't allocate space for %r3 when
7450 frame pointer is needed.
7451 (hppa_expand_prologue): Include alignment to word boundary in local
7452 frame size.
7453 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
7454 (STACK_ALIGNMENT_NEEDED): Define.
7455
234c071b
KB
74562003-03-04 Kevin Buettner <kevinb@redhat.com>
7457
7458 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
7459 global register variables.
7460
f12448c8
AO
74612003-03-04 Alexandre Oliva <aoliva@redhat.com>
7462
7463 * reload.c (reload_adjust_reg_for_mode): New function.
7464 (subst_reloads): Call it.
7465 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
7466 * reload.h (reload_adjust_reg_for_mode): Declare.
7467 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
7468 Call it.
7469
f9d36a92
JW
74702003-03-03 James E Wilson <wilson@tuliptree.org>
7471
7472 * optabs.c (add_equal_note): Delete SUBREG_REG use.
7473 Fixes PR c/7872.
7474
8dfb356f
KH
74752003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7476
7477 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
7478 (*ixorsi3_lshiftrt_16): New.
7479 (*iorsi3_ashift_16): Remove.
7480
0d9bf032
KH
74812003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7482
7483 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
7484 pattern.
7485
b89a3806
GK
74862003-03-03 Geoffrey Keating <geoffk@apple.com>
7487
7488 * doc/install.texi (Specific): Update entry for powerpc-darwin.
7489
568d661d
RH
74902003-03-03 Richard Henderson <rth@redhat.com>
7491
7492 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
7493
3317bab1
DE
74942003-03-03 David Edelsohn <edelsohn@gnu.org>
7495
7496 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
7497 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
7498 (rs6000_variable_issue): Do not return negative value.
7499 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
7500 scheduling pass.
7501
03275f81
ZD
75022003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7503
7504 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
7505 prune_unused_types calls.
7506
d1a74aa7
JM
75072003-03-03 Jason Merrill <jason@redhat.com>
7508
7509 * tree-inline.c (find_builtin_longjmp_call): Save and restore
7510 lineno and input_filename.
7511 (find_alloca_call): Likewise.
7512 (inlinable_function_p): Run the langhook earlier.
7513
7514 * calls.c (compute_argument_addresses): Give the new MEMs a
7515 minimum alignment of PARM_BOUNDARY.
7516
62c9aa5f 75172003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
d44cc404
R
7518
7519 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
7520 subtarget_asm_isa_spec.
7521 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
7522 (ASM_SPEC): Define as SH_ASM_SPEC.
7523 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
7524 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
7525 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
7526 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10f4f635
R
7527
7528 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
7529 and align_jumps if not set.
7530 Force align_jumps to be at least 2.
7531 When relaxing, force align_functions to be at least the maximum of
7532 align_loops, align_jumps and 4.
7533 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
7534 (sh_loop_align): Honour align_loops_log.
7535
7536 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
7537 to check for indirect_jump_scratch.
7538 (indirect_jump_scratch): Add second set.
7539 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
7540 when looking for indirect_jump_scratch.
7541 Extract scratch register taking new structure of indirect_jump_scratch
7542 into account.
7543 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
7544
62c9aa5f 75452003-03-03 Jan Hubicka <jh@suse.cz>
f7da1e9a 7546
09e2bf48
JH
7547 * calls.c (rtx_for_function_call): Take the address as an argument
7548 (expand_call): Do not modify the expression.
7549
f7da1e9a
JH
7550 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
7551 optimizing.
7552
426ace7f
KH
75532003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7554
7555 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
7556 TARGET_H8300H and TARGET_H8300S.
7557
6967a126
KH
75582003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7559
7560 * config/h8300/h8300.md (a peephole2): New.
7561
1f7e8790
KH
75622003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7563
7564 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
7565 operands[0] and operands[1] are different.
7566
75672003-03-03 Kazu Hirata <kazu@cs.umass.edu>
2807791e
KH
7568
7569 * reload1.c (reload_cse_move2add): Remove variable success.
7570
a2581175
KG
75712003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7572
7573 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
7574 warnings.
7575
ef1ecf87
RH
75762003-03-02 Richard Henderson <rth@redhat.com>
7577
7578 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
7579 * config.in, configure: Rebuild.
7580 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
9a79ab7e 7581 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
ef1ecf87
RH
7582 paired ldtoffx and ldxmov annotations.
7583 (load_symptr_internal1): Remove.
7584 (load_symptr_high, load_symptr_low): New.
7585
82f6e3eb
NB
75862003-03-02 Neil Booth <neil@daikokuya.co.uk>
7587
7588 * c-incpath.c (add_path): Fix sysp assignment.
7589
bc522472
KG
75902003-03-02 Kurt Garloff <garloff@suse.de>
7591
7592 * params.def: Introduce parameter max-inline-insns-rtl for
7593 a separate limit for the RTL inliner.
7594 * params.h: Likewise.
7595 * integrate.c (function_cannot_inline_p): Use it.
9a79ab7e 7596 * toplev.c (decode_f_option): Set multiple parameters
bc522472
KG
7597 controlling inlining with -finline-limit.
7598 * params.def: Fix orthographic and typographic errors.
7599 * doc/invoke.texi: Document parameters controlling inlining
7600 and the way -finline-limit sets multiple of them.
7601
7602 * tree.h (struct tree_decl): Introduce inlined_function_flag,
7603 recording whether the function became eligible for inlining
7604 by a compiler flag rather than the declaration.
7605 Provide DID_INLINE_FUNC macro to access it.
7606 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
7607 * cp/decl.c (grokfndecl): Likewise.
7608 * toplev.c (rest_of_compilation): Likewise.
7609 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
7610 * print-tree.c (print_node): Report it.
7611 * params.def: Introduce new max-inline-insns-auto limit.
7612 * params.h: Likewise.
7613 * tree-inline.c (inlinable_function_p): Apply it to functions
7614 with DID_INLINE_FUNC set.
7615 * toplev.c (decode_f_option): Initialize it from -finline-limit
7616 value.
7617 * doc/invoke.texi: Document new parameter.
7618
b9f4b20a
GK
76192003-03-02 Geoffrey Keating <geoffk@apple.com>
7620
7621 * fix-header.c (read_scan_file): Don't reference simplify_path.
7622
97d322cc
SC
76232003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7624
7625 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
7626 min/max instructions by default as may result in reload errors.
7627
65fb64fe
SC
76282003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7629
7630 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
7631 avoid reload problems; define split for it.
7632
b45e9837
SC
76332003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7634
7635 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
7636 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
7637 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
9a79ab7e 7638 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
b45e9837
SC
7639 rotatert and rotate.
7640 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
7641 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
7642 ("*rotrhi3_addr"): New split for shift insns on address register.
7643 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
7644 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
7645 (___rotrhi3): Likewise.
7646 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
7647
b1cbe78c
NB
76482003-03-02 Neil Booth <neil@daikokuya.co.uk>
7649
7650 * toplev.c (aux_base_name): Moved from toplev.h.
7651 (filename): Constify.
7652 (lang_dependent_init): Don't duplicate name.
7653 (process_options): Set aux_base_name here, not...
7654 (do_compile): ...here. Change protoype.
7655 (toplev_main): Move some code from do_compile.
7656 * toplev.h: Remove aux_base_name.
7657
b059c02a
KH
76582003-03-02 Kazu Hirata <kazu@cs.umass.edu>
7659
7660 * config/h8300/h8300-protos.h: Add a prototype for
7661 iorxor_operator.
7662 * config/h8300/h8300.c (print_operand): Handle 'c'.
7663 (iorxor_operator): New.
7664 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
7665 * config/h8300/h8300.md (*iorhi3_zext): Remove.
7666 (*iorsi3_zexthi): Likewise.
7667 (*iorsi3_zextsi): Likewise.
7668 (*xorhi3_zextqi): Likewise.
7669 (*xorsi3_zexthi): Likewise.
7670 (*xorsi3_zextsi): Likewise.
7671 (*ixorhi3_zext): New.
7672 (*ixorsi3_zext_qi): Likewise.
7673 (*ixorsi3_zext_hi): Likewise.
7674
986b1f13
NB
76752003-03-02 Neil Booth <neil@daikokuya.co.uk>
7676
7677 * c-incpath.c (remove_component_p, simplify_path): Move back to
7678 cppfiles.c.
7679 (remove_duplicates): Use cpp_simplify_path.
7680 * c-incpath.h (simplify_path): Remove.
7681 * c-lex.c: Don't include c-incpath.h.
7682 (init_c_lex): Remove simplify_path.
7683 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
7684 (find_or_create_entry, validate_pch): Revert.
7685
8a035a6b
AH
76862003-03-02 Ashif Harji <asharji@uwaterloo.ca>
7687
7688 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
7689 an external cpp during compilation.
7690 (option_map): Likewise.
7691 * objc/lang-specs.h (default_compilers): Similarly.
7692 * doc/invoke.texi: Document -no-integrated-cpp flag.
7693
23cdb465
KH
76942003-03-02 Kazu Hirata <kazu@cs.umass.edu>
7695
7696 * config/h8300/h8300.md (zero_extendqisi2): Change to an
7697 expander.
7698 (*zero_extendqisi2_h8300): New.
7699 (*zero_extendqisi2_h8300hs): New.
7700 (two splitters): New.
7701
29efb633
KG
77022003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7703
7704 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
7705
36bf3f1b
KH
77062003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7707
7708 * config/h8300/h8300.md (a peephole2): Remove dead code.
7709
08291658
RS
77102003-03-01 Roger Sayle <roger@eyesopen.com>
7711
7712 PR c++/9367
7713 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
7714 (BT_FN_INT_CONST_STRING_VALIST_ARG,
7715 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
7716 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
7717 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
7718 BT_FN_INT_STRING_CONST_STRING_VAR,
7719 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
7720 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
7721 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
7722 ATTR_NONNULL_3): Also include the nothrow attribute.
7723 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
7724 vsnprintf, vscanf, vsscanf): Don't define attributes here.
7725 * builtins.def (putchar, puts): Make full C89 built-ins.
7726 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
7727 vsscanf, vsnprintf, vsprintf): New built-ins.
7728 * c-common.c (c_common_nodes_and_builtins): Handle new macro
7729 DEF_FUNCTION_TYPE_VAR_3.
7730
7731 * doc/extend.texi: Document these new built-in functions.
7732
e5258f85
KH
77332003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7734
7735 * config/h8300/h8300.md (a peephole2): New.
7736
85bb9c2a
RE
77372003-03-01 Richard Earnshaw <rearnsha@arm.com>
7738
7739 * predict.c (estimate_bb_frequencies): Correctly set
7740 real_values_initialized after initialization.
7741
5793b276
NB
77422003-03-01 Neil Booth <neil@daikokuya.co.uk>
7743
7744 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
7745 cppinit.o, cppdefault.o, fix-header): Update.
7746 * c-incpath.c: New file.
7747 * c-incpath.h: New file.
7748 * c-lex.c: Include c-incpath.h.
7749 (init_c_lex): Register path simplifier.
7750 * c-opts.c: Include cppdefault.h and c-incpath.h.
7751 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
7752 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
7753 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
7754 (missing_arg, c_common_decode_option): Handle them.
7755 (c_common_post_options): Register include chains.
7756 (print_help): Update.
7757 * cppdefault.h (struct default include): Update.
7758 Move some macros to ...
7759 * cppdefault.c: ... here.
7760 (cpp_include_defaults): Add extra field add_sysroot.
7761 * cppfiles.c (include_file, search_from, find_or_create_entry,
7762 cpp_included, find_include_file, remap_filename): Update for
7763 renaming of search_path to cpp_path, and of the chain headers.
7764 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
7765 * cpphash.h (struct search_path): Move to cpplib.h.
7766 (struct cpp_buffer, struct cpp_reader): Update.
7767 (_cpp_simplify_pathname): Remove.
7768 * cppinit.c: Don't include prefix.h and cppdefault.h.
7769 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
7770 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
7771 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
7772 no_pth, cpp_handle_options): Remove.
7773 (struct pending_option): Remove chain members.
7774 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
7775 cpp_handle_option): Update.
7776 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
7777 (struct cpp_options): Remove quote_include, bracket_include,
7778 include_prefix, include_prefix_len, verbose, ignore_srcdir,
7779 no_standard_includes, no_standard_cplusplus_includes.
7780 (struct cpp_callbacks): Add simplify_path.
7781 (cpp_handle_options): Remove.
7782 * fix-header.c: Include c-incpath.h.
7783 (read_scan_file): Update to use c-incpath functionality.
7784 * doc/passes.texi: Update.
7785
6620997b
KH
77862003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7787
7788 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
7789 satisfies EXTRA_CONSTRAINT 'U'.
7790
82b4dc2e
KH
77912003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7792
7793 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
7794 register.
7795 (*tst_extzv_memqi_1_n): Change to a splitter.
7796 (a peephole2): Update.
7797
c4f6b78e
RE
77982003-03-01 Richard Earnshaw <rearnsha@arm.com>
7799
7800 * predict.c (estimate_bb_frequencies): Initialize the sreal
7801 constants once per compilation.
7802
9552a3e3
RH
78032003-02-28 Richard Henderson <rth@redhat.com>
7804
7805 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
7806
73c68f61
SS
78072003-02-28 scott snyder <snyder@fnal.gov>
7808
7809 * flags.h: Add flag_eliminate_unused_debug_types.
7810 * toplev.c: Add flag_eliminate_unused_debug_types.
7811 (f_options): Add -feliminate-unused-debug-types.
7812 * dwarf2out.c (struct file_table): Add emitted member.
7813 (splice_child_die): Fix the parent pointer for the child being
7814 spliced.
7815 (lookup_filename): Maintain file_table.emitted array. Don't
7816 output .file directive here.
7817 (maybe_emit_file): (new)
7818 (init_file_table): Set up file_table.emitted.
7819 (dwarf2out_source_line): Use maybe_emit_file.
7820 (dwarf2out_start_source_file): Use maybe_emit_file.
7821 (dwarf2out_init): Use maybe_emit_file.
7822 (prune_unused_types_walk_attribs): (new)
7823 (prune_unused_types_mark): (new)
7824 (prune_unused_types_walk): (new)
7825 (prune_unused_types_prune): (new)
7826 (prune_unused_types): (new)
7827 (dwarf2out_finish): Call prune_unused_types if
7828 flag_eliminate_unused_debug_types is set.
7829 * doc/invoke.texi (Option Summary): Add
7830 -feliminate-unused-debug-types.
7831 (Debugging Options): Likewise.
7832
d8fad4ea
GK
78332003-02-28 Geoffrey Keating <geoffk@apple.com>
7834
7835 * doc/invoke.texi: Change .pch to .gch.
7836 * cppfiles.c (open_file_pch): Likewise.
7837 * gcc.c (default_compilers): Likewise.
7838
9855905c
AH
78392003-02-28 Aldy Hernandez <aldyh@redhat.com>
7840
52999738 7841 * floatlib.c: Remove.
9855905c 7842
3695c25f
JM
78432003-02-28 Jason Merrill <jason@redhat.com>
7844
7845 * stor-layout.c (variable_size): Leave a "minus 1" outside the
7846 SAVE_EXPR.
7847
f8f0e566
DE
78482003-02-28 David Edelsohn <edelsohn@gnu.org>
7849
7850 * config/rs6000/power4.md: Add compare bypass.
7851
35501efe
JT
78522003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
7853
7854 * config/netbsd.h: Update copyright years.
7855 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
7856 -pthread is specified on the command line.
7857
8f7ee471
DJ
78582003-02-28 Dale Johannesen <dalej@apple.com>
7859
52999738 7860 * loop.c (struct movable): Add insert_temp, shrink savemode.
8f7ee471 7861 (scan_loop): Accept invariants that require copying; mark as
52999738 7862 insert_temp.
8f7ee471
DJ
7863 (combine_movables): Don't combine insert_temp movables.
7864 (move_movables): Insert copies for insert_temp movables.
7865 Don't record the info based on regno for insert_temp's.
7866
67c2b45f
JS
78672003-02-28 Joel Sherrill <joel@OARcorp.com>
7868
7869 PR 9638/other
9a79ab7e 7870 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
67c2b45f
JS
7871 this constant defaults to 1.
7872
066f1538
BW
78732003-02-28 Bob Wilson <bob.wilson@acm.org>
7874
7875 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
7876
b8c53e96
RE
78772003-02-28 Richard Earnshaw <rearnsha@arm.com>
7878
9a79ab7e 7879 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
b8c53e96
RE
7880 ARMv5e processor, not just for XScale. Instructions are predicable.
7881 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
7882
b93828f3
NC
78832003-02-28 Nick Clifton <nickc@redhat.com>
7884
7885 * config/arm/arm.c (note_invalid_constants): Change parameter type
7886 from bool to int.
7887
3c042316
KH
78882003-02-28 Kazu Hirata <kazu@cs.umass.edu>
7889
7890 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
7891 test of bit 7.
7892 (*tst_extzv_memqi_1_n): Likewise.
7893 (a peephole2): New.
7894
c876997f 78952003-02-28 Richard Sandiford <rsandifo@redhat.com>
28727f1f
RS
7896
7897 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
7898 #ifndef __mips16.
7899
62c9aa5f 79002003-02-28 Jan Hubicka <jh@suse.cz>
10a3fdd9
JH
7901
7902 * combine.c (gen_lowpart_for_combine): Update handling of
7903 subregs_of_mode
7904 * flow.c (life_analysis, mark_used_regs): Likewise.
7905 * regclass.c (subregs_of_mode): Turn into single bitmap.
7906 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
7907 dealing with subregs_of_mode
7908 * regs.h (subregs_of_mode): Update prototype.
7909
9d18e06b
JZ
79102003-02-28 Josef Zlomek <zlomekj@suse.cz>
7911
7912 * emit-rtl.c (set_reg_attrs_for_parm): New function.
7913 * rtl.h (set_reg_attrs_for_parm): New exported function.
7914 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
7915 set_reg_attrs_from_mem.
7916
95456d43
RS
79172003-02-27 Roger Sayle <roger@eyesopen.com>
7918 Zack Weinberg <zack@codesourcery.com>
7919
7920 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
7921
28ae9fed
KH
79222003-02-27 Kazu Hirata <kazu@cs.umass.edu>
7923
7924 * reload1.c (sext_for_mode): Remove.
7925 (reload_cse_move2add): Use trunc_int_for_mode instead of
7926 sext_for_mode.
7927 (move2add_note_store): Likewise.
7928 Reset register information if we see a set in non-integer
7929 mode.
7930
d47719fd
DE
79312003-02-27 David Edelsohn <edelsohn@gnu.org>
7932
30e7f17e
DE
7933 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
7934 option.
7935 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
7936 * config/rs6000/aix51.h: Same.
7937 * config/rs6000/aix52.h: Same.
d47719fd
DE
7938 * config/rs6000/power4.md: Additional VMX bypasses.
7939
7a69a172
GB
79402003-02-27 Geert Bosch <bosch@gnat.com>
7941
7942 * toplev.c (print_version): Add indentation for GGC heuristics and
7943 output after printing version information.
7944
678e68fc
JW
79452003-02-27 James E Wilson <wilson@tuliptree.org>
7946
7947 * combine.c (simplify_comparison): Require integral mode when
7948 permuting SUBREG with AND.
7949
986704f1
SE
79502003-02-27 Steve Ellcey <sje@cup.hp.com>
7951
7952 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
7953
1e3af7f6
NC
79542003-02-27 Nick Clifton <nickc@redhat.com>
7955
7956 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
7957 deleted when cirrus instructions were added.
7958
51b7c247
JT
79592003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
7960
7961 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
7962 POSIX thread support by default.
7963
3eae722d
RS
79642003-02-27 Roger Sayle <roger@eyesopen.com>
7965
7966 * config/i386/cygwin.h: Don't include any other files directly.
7967 * config/i386/mingw32.h: Don't include cygwin.h directly.
7968 * config.gcc (cygwin, mingw32, uwin): Instead make these files
7969 explicit in the tm_files variable.
7970
6fc19dc9
AM
79712003-02-27 Alan Modra <amodra@bigpond.net.au>
7972
7973 * config/rs6000/rs6000.md: Add TI constant splitter.
7974
c41536f5
AO
79752003-02-26 Alexandre Oliva <aoliva@redhat.com>
7976
65c04548
AO
7977 * builtins.c (purge_builtin_constant_p): Handle subreg of
7978 constant_p_rtx too.
7979
c41536f5
AO
7980 * function.c (assign_stack_local_1): Truncate constant added to
7981 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
7982
dccd5213
DE
79832003-02-26 David Edelsohn <edelsohn@gnu.org>
7984
7985 * config.gcc: Add power4 to PowerPC with_cpu list.
7986
62c9aa5f 79872003-02-26 Jan Hubicka <jh@suse.cz>
47a5d8e7
JH
7988
7989 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
7990
cb9e4555
ZD
79912003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7992
7993 * gcov-dump.c (print_prefix): Fix signedness warning.
7994 * gcov-io.h (struct counter_section, struct counter_section_data): New.
7995 (struct function_info): n_arc_counts field removed, n_counter_sections,
7996 counter_sections fields added.
7997 (struct gcov_info): arc_counts, n_arc_counts fields removed,
7998 n_counter_sections, counter_sections fields added.
7999 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
8000 profile sections.
8001 * profile.h (MAX_COUNTER_SECTIONS): New.
8002 (struct section_info): New.
8003 (struct profile_info): count_instrumented_edges,
8004 count_edges_instrumented_now fields removed, n_sections, section_info
8005 fields added.
8006 (find_counters_section): Declare.
8007 * profile.c (struct function_list): count_edges field removed,
8008 n_counter_sections, counter_sections fields added.
8009 (set_purpose, label_for_tag, build_counter_section_fields,
8010 build_counter_section_value, build_counter_section_data_fields,
8011 build_counter_section_data_value, build_function_info_fields,
8012 build_function_info_value, build_gcov_info_fields,
8013 build_gcov_info_value): New static functions.
8014 (find_counters_section): New function.
8015 (instrument_edges, get_exec_counts, compute_branch_probabilities,
8016 branch_prob, create_profiler): Modified to support multiple profile
8017 sections.
8018
b0d7ef9a
JDA
80192003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8020
8021 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
8022 is 8 * STACK_BOUNDARY.
8023 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
8024
f6e91562
MM
80252003-02-26 Michael Matz <matz@suse.de>
8026
8027 * ra-colorize.c (merge_moves): Fix list handling.
8028
f0375c66
NC
80292003-02-26 Nick Clifton <nickc@redhat.com>
8030
8031 * config/arm/arm.c (is_load_address): Rename to...
52999738
ZW
8032 (arm_memory_load_p) ... this and make it check for SUBREGs and
8033 constant loads that will be converted into loads from the
8034 minipool.
8035 (is_cirrus_insn): Rename to ...
8036 (arm_cirrus_insn_p): ... this, for consistency. Replace test
8037 of CIRRUS_NO with CIRRUS_NOT.
8038 (cirrus_reorg): Use renamed functions.
8039 (note_invalid_constants): Change from a void function to bool.
8040 Add an extra parameter, saying whether the fixups should be
8041 pushed. Return true if fixups are needed.
8042 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
8043 of CIRRUS_NO with CIRRUS_NOT.
8044 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
8045 other floating point co-processors can also affect this.
8046 * config/arm/arm.md ("type" attribute): Add mav_farith and
8047 mav_dmult. Replace references to "cirrus_type" attribute with
8048 "type".
8049 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
8050 ("cirrus_type" attribute): Delete - use "type" instead.
8051 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
8052 'normal'.
f0375c66 8053
62c9aa5f 80542003-02-25 Jan Hubicka <jh@suse.cz>
0d446150
JH
8055
8056 * objc-act.c: Include cgraph.h
8057 (mark_referenced_methods): New function.
8058 (objc_init): Call it.
8059 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
8060
8061 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
8062 mode.
8063
8064 * optabs.c (expand_fix): Do not widen the input operand.
8065
8066 * expr.c (emit_group_store): Fix crash when converting single
8067 register into complex register.
8068
8069 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
8070 * alias.c: Include timevar.h
8071 (init_alias_analysis): Set timevar
8072 * jump.c: Include timevar.h
8073 (rebuild_jump_labels): Set timevar
8074 * regcalss.c: Include timevar.h
8075 (reg_scan): Set timevar
8076 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
8077
b17d5d7c
ZD
80782003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8079
8080 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
8081
8082 * Makefile.in (loop-unroll.o): New.
8083 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
8084 (unroll_and_peel_loops): Declare.
8085 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
8086 flag_old_unroll_loops.
8087 * loop.c (loop_invariant_p): Ditto.
8088 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
8089 flag_old_unroll_all_loops.
8090 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
8091 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
8092 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
8093 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
8094 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
8095 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
8096 PARAM_MAX_ONCE_PEELED_INSNS): New.
8097 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
8098 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
8099 instead of old one.
8100 (flag_peel_loops): New.
8101 (lang_independent_options): The new flags added.
8102 (rest_of_compilation): Call new unroller.
8103 (process_options): Setup flags for coexistence of old and new unroller.
8104 * doc/invoke.texi: Document new options.
8105 * doc/passes.texi: Document new unroller pass.
8106
244f7aa9
DB
81072003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
8108
8109 * fixinc/fixincl.x: Regenerate
8110
1d14f992
JZ
81112003-02-26 Josef Zlomek <zlomekj@suse.cz>
8112
8113 * function.c (assign_parms): Set reg_attrs for parameters passed in
8114 registers.
8115
8ace9f18
AM
81162003-02-26 Alan Modra <amodra@bigpond.net.au>
8117
38a84391 8118 PR target/9681
8ace9f18
AM
8119 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
8120
9a29ee42
DE
81212003-02-25 David Edelsohn <edelsohn@gnu.org>
8122
8123 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
8124 pseudo-op.
8125
8beccec8
RS
81262003-02-25 Roger Sayle <roger@eyesopen.com>
8127
8128 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
8129 * cse.c (invalidate_skipped_set): Likewise.
8130 * integrate.c (subst_constants): Likewise.
8131 * jump.c (reversed_comparison_code_parts): Likewise.
8132 * loop.c (canonicalize_condition): Likewise.
8133 * simplify-rtx.c (simplify_relational_operation): Likewise.
8134
b052d8ee
RS
81352003-02-25 Roger Sayle <roger@eyesopen.com>
8136
8137 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
8138 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
8139 the appropriate macro to define built-in function.
8140 (fmod,fmodf,fmodl): New built-in functions.
8141
8142 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
8143
8d454008
RH
81442003-02-25 Richard Henderson <rth@redhat.com>
8145
8146 * config/i386/i386.c (function_arg): Pass variable sized
8147 structures correctly on the stack.
8148
fc943f55
KH
81492003-02-25 Kazu Hirata <kazu@cs.umass.edu>
8150
8151 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
8152 does not reduce the cost of SET.
8153
14f00213
FS
81542003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8155
8156 PR target/9732
8157 * config/rs6000/rs6000.c (first_reg_to_save): Handle
8158 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
8159 (rs6000_emit_prologue): Likewise.
8160 (rs6000_emit_epilogue): Likewise.
8161 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
8162 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
8163
8164b171
RH
81642003-02-25 Richard Henderson <rth@redhat.com>
8165
8166 * real.c (real_to_integer2): Force overflow result only for
8167 unsigned overflow.
8168
9e48c409
KH
81692003-02-25 Kazu Hirata <kazu@cs.umass.edu>
8170
8171 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
8172
3044064c 81732003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
52999738 8174 Richard Henderson <rth@redhat.com>
3044064c
VM
8175
8176 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4e21585b 8177 there is no similar load.
3044064c 8178
15aab9c0 81792003-02-25 Vladimir Makarov <vmakarov@redhat.com>
52999738 8180 Richard Henderson <rth@redhat.com>
15aab9c0
VM
8181
8182 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
8183 sched-rgn.c.
8184 (add_forward_dependence): New function prototype.
8185
8186 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
8187 sched-init.h.
8188 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
8189 them to haifa-sched.c.
8190
8191 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
8192 haifa_classify_insn): Move them from sched-rgn.c.
8193
8194 * sched-deps.c (add_dependence): Return flag of creating a new
8195 entry.
8196 (add_forward_dependence): New function.
8197 (compute_forward_dependences): Use the function.
9a79ab7e 8198
15aab9c0
VM
8199 * sched-ebb.c (earliest_block_with_similiar_load): New function.
8200 (add_deps_for_risky_insns): New function.
8201 (schedule_ebb): Call the function.
8202
82032003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9 8204
52999738
ZW
8205 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
8206 TARGET_VECTOR_OPAQUE_P. Document accordingly.
c8e4f0e9 8207
52999738
ZW
8208 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
8209 opaque types fail.
c8e4f0e9 8210
52999738
ZW
8211 * c-typeck.c (comptypes): Change call to vector_types_compatible
8212 to vector_opaque_p.
8213 (convert_for_assignment): Call vector_opaque_p instead of
8214 vector_types_compatible.
8215 (really_start_incremental_init): Disallow initialization of opaque
8216 types.
c8e4f0e9 8217
52999738
ZW
8218 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
8219 Define TARGET_VECTOR_OPAQUE_P.
8220 (TARGET_INITIALIZER): Same.
c8e4f0e9 8221
52999738
ZW
8222 * target.h (struct gcc_target): Remove vector_types_compatible.
8223 Add vector_opaque_p.
c8e4f0e9 8224
52999738
ZW
8225 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
8226 Remove.
8227 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
8228 a vector type. Change return type to bool.
8229 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
8230 (TARGET_VECTOR_OPAQUE_P): Define.
c8e4f0e9 8231
52999738
ZW
8232 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
8233 target hook.
8234 Include target.h.
8235 (cp_parser_init_declarator): Fix typo in function comments.
c8e4f0e9 8236
62c9aa5f 82372003-02-25 Jan Hubicka <jh@suse.cz>
fa1a0d02
JH
8238
8239 * Makefile.in (lcm.o): Add dependency on function.h
8240 * lcm.c (function.h): Include.
8241 * i386.c (machine_function, ix86_stack_locals,
8242 * ix86_save_varrargs_registers) : Move to
8243 ...
8244 * i386.h (machine_function, ix86_stack_locals,
8245 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
8246 (ix86_optimize_mode_switching): New.
8247 * i386.md (fix patterns): Set ix86_optimize_mode_switching
8248
b103bfef
NC
82492003-02-25 Nick Clifton <nickc@redhat.com>
8250
8251 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
8252 of fourth arg is 'fndecl' not 'indirect'. Update comment
8253 describing the function's parameters.
8254
62c9aa5f 82552003-02-24 Jan Hubicka <jh@suse.cz>
2d21f7d6
JH
8256
8257 * combine.c (simplify_shift_const): Fix previous patch.
8258
2bac97f7
JL
82592003-02-24 Jeff Law <law@redhat.com>
8260
8261 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
8262 alternative.
8263 (testsi_1, testhi_1, testqi_1): Likewise.
8264
f8dc212b
RO
82652003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8266
8267 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
8268 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
8269 * doc/extend.texi (Tru64 Pragmas): Reflect this.
8270
8271 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
9a79ab7e 8272 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
f8dc212b
RO
8273 * fixinc/fixincl.x: Regenerate.
8274 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
8275 testcase.
8276 Fixes PR c/5059, c/6126, other/9671.
9a79ab7e 8277
44ee6e9e
RS
82782003-02-24 Roger Sayle <roger@eyesopen.com>
8279
8280 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
8281 from handle_braces in "%{...}".
8282
463f02cd
KK
82832003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
8284
8285 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
8286 (prepare_move_operands): Handle TLS operands.
8287 (tls_symbolic_operand): New.
8288 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
8289 (legitimize_pic_address): Do nothing for the TLS symbol.
8290 (sh_encode_section_info): Handle TLS case.
8291 (sh_strip_name_encoding): Drop TLS encoding.
8292 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
8293 * config/sh/sh.h (SH_TLS_ENCODING): Define.
8294 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
8295 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
8296 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
8297 * config/sh/sh.md: Define TLS UNSPEC constants.
8298 (type): Add tls_load.
8299 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
8300 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
8301 ("tls_initial_exec"): New insn.
8302 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
8303 ("load_gbr"): New insn.
8304
8305 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
52999738 8306 * configure: Regenerate.
463f02cd 8307
8403445a
AM
83082003-02-24 Alan Modra <amodra@bigpond.net.au>
8309
6fc19dc9 8310 PR 9297, PR 9722
8403445a
AM
8311 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
8312 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
8313 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
8314 (enum block_op_methods): Reorder for better store_expr optimization.
8315 * expr.c (store_expr): Test bit 1 of "want_value" for call param
8316 stores, test bit 0 for original want_value meaning. Pass
8317 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
8318 recursive calls, and calls to expand_param.
8319 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
8320 expected, set target to 0 rather than to subtarget. Formatting.
8321
ef906381
KH
83222003-02-23 Kazu Hirata <kazu@cs.umass.edu>
8323
8324 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
8325
16226f1e
KG
83262003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8327
8328 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
8329 new default behavior.
8330 * ggc-common.c: Include sys/resource.h.
8331 (ggc_rlimit_bound): New function.
8332 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
8333 defaults to account for rlimits.
8334
9e555526
RH
83352003-02-22 Richard Henderson <rth@redhat.com>
8336
8337 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
8338
83392003-02-22 Kelley Cook <kelley@dwhoops.info>
8340
52999738 8341 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
9e555526
RH
8342 (ix86_tune_string): Rename from ix86_cpu_string.
8343
9d913bbf
KC
83442003-02-22 Kelley Cook <kelleycook@comcast.net>
8345
52999738
ZW
8346 * config/i386/i386.c: Replace "mcpu" with "mtune".
8347 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
8348 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
8349 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
8350 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
9d913bbf 8351
d2c172bf
AS
83522003-02-23 Andreas Schwab <schwab@suse.de>
8353
8354 * config.gcc: Delete references to m68k/t-linux and
8355 m68k/t-linux-aout.
8356 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
8357
62c9aa5f 83582003-02-22 Jan Hubicka <jh@suse.cz>
b3de7382
JH
8359
8360 * toplev.c (rest_of_compilation): Apply fotgotten hunk
8361 of track scheduling patch.
8362
62c9aa5f 83632003-02-22 Jan Hubicka <jh@suse.cz>
90b8be73
JH
8364
8365 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
8366 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
8367
62c9aa5f 83682003-02-22 Jan Hubicka <jh@suse.cz>
764c4414
JH
8369
8370 * c-decl.c (c_expand_body_1): Fix.
8371
62c9aa5f 83722003-02-22 Jan Hubicka <jh@suse.cz>
1c4a429a
JH
8373
8374 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
8375
8376 * cfgcleanup.c (try_forward_edges): Don't check loop structures
8377 when not optimizing.
8378 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
8379 when not expensive.
8380 * toplev.c (rest_of_compilation): Duplicate loop headers only when
8381 optimizing; Delete trivially dead insns early; fix optimize check.
8382
8383 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
8384 dependency on cgraph.h
8385 * c-decl.c: Include cgraph.h
8386 (finish_function): Update call of tree_inlinable_function_p.
8387 * c-objc-common.c: Include cgraph.h
8388 * cgraph.h: New file.
8389 * cgraphunit.c: New file.
8390 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
8391 (cgraph_nodes, cgraph_n_nodes): Globalize.
8392 (cgraph_finalize_function, cgraph_finalize_compilation_unit
8393 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
8394 Move into cgraphunit.c
8395 * tree-inline.c: Include cgraph.h
8396 * tree-inline.c: Include cgraph.h
8397
1e2115dc
JZ
83982003-02-22 Josef Zlomek <zlomekj@suse.cz>
8399
8400 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
8401 for copying a register.
8402
26182e15
SB
84032003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
8404
8405 PR other/3782
8406 * toplev.c (process_options): If flag_detailed_statistics is set,
8407 then set time_report as well.
8408
b6553814
SB
8409 PR c/8828
8410 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
8411 insns. Update comments to reflect what the function really does.
8412
c0a47a61
RS
84132003-02-21 Roger Sayle <roger@eyesopen.com>
8414
8415 * fold-const.c (omit_one_operand): No longer static.
8416 * tree.h (omit_one_operand): Prototype here.
8417 (div_and_round_double): Keep fold-const.c prototypes together.
8418 * builtins.c (builtin_mathfn_code): Handle binary built-in
8419 funtions, such as "pow" and "atan2".
8420 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
8421 Simplify optimizations using "type" the builtin's return type.
8422
51928907
HPN
84232003-02-22 Hans-Peter Nilsson <hp@axis.com>
8424
5b296d93
HPN
8425 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
8426 Fix functionalization typo.
8427
51928907
HPN
8428 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
8429 in an asm.
8430
9ac121af
KG
84312003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8432
8433 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
8434 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
8435 documentation.
8436 * ggc-common.c: Include params.h
8437 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
8438 init_ggc_heuristics): New functions.
8439 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
8440 init_ggc_heuristics): Prototype.
8441 * toplev.c (print_version): Output GGC heuristics.
8442 (parse_options_and_default_flags): Call init_ggc_heuristics.
8443
62c9aa5f 84442003-02-22 Jan Hubicka <jh@suse.cz>
453ee231
JH
8445
8446 * i386.c (def_builtin): Special case 64bit builtins.
8447 (MASK_SSE164, MASK_SSE264): New constants.
8448 (builtin_description): Add 64bit builtins.
8449 (ix86_init_mmx_sse_builtins): Likewise.
8450 * i386.h (enum ix86_builtins): Likewise.
8451 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
8452 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
8453 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
8454 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
8455 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
8456 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
8457 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
8458
62c9aa5f 84592003-02-22 Jan Hubicka <jh@suse.cz>
d50672ef
JH
8460
8461 * i386.c (builtin_description): Add __builtin_ia32_paddq and
8462 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
8463 and __builtin_ia32_psubq128.
8464 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
8465 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
8466 (mmx_adddi3, mmx_subdi3): New.
8467 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
8468 * xmmintrin.h (_mm_movepi64_pi64): New.
8469 (_mm_add_epi64, _mm_sub_epi64): fix.
8470 (_mm_mul_pu16): Rename to...
8471 (_mm_mul_su32): ... this one.
8472
8473 * builtins.c (expand_builtin_expect): Do not predict
8474 flag_guess_branch_prob is not set.
8475 * c-semantics.c (expand_stmt): Likewise.
8476 * predict.c (predict_insn): Likewise.
8477 * stmt.c (expand_continue_loop): Likewise.
8478 * toplev.c (rest_of_compilation): Do not call
8479 note_prediction_to_br_prob and note_prediction_to_br_prob
8480 when not optimizing.
8481
62c9aa5f 84822003-02-21 Jan Hubicka <jh@suse.cz>
9809a362
JH
8483
8484 * cfgrtl.c (commit_edge_insertions): Call
8485 find_many_sub_basic_block only when some code has been emitted.
8486 (commit_edge_insertions_watch_calls): Bring into sync with
8487 commit_edge_insertions
8488
62c9aa5f 84892003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
a93d1ba2
R
8490
8491 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
8492
8493 * sh.md (binary_sf_op): Use extra constant operand instead of
8494 negating constant operand 4.
8495 * sh.c (sh_expand_binop_v2sf): Supply it.
8496
a8d0ddaf
ZW
84972003-02-21 Zack Weinberg <zack@codesourcery.com>
8498
8499 * cpphash.h (struct lexer_state): Add directive_wants_padding.
8500 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
8501 for directives of type INCL.
8502 (glue_header_name, parse_include): Use get_token_no_padding.
8503 * cppmacro.c (replace_args): If directive_wants_padding,
8504 provide padding tokens.
8505
902ac719
KH
85062003-02-21 Kazu Hirata <kazu@cs.umass.edu>
8507
8508 * config/h8300/h8300.md (a peephole2): New.
8509
62c9aa5f 85102003-02-21 Jan Hubicka <jh@suse.cz>
9dca2ad5
JH
8511
8512 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
8513 (commit_edge_insertions): Call find_many_sub_basic_blocks
8514
8515 * reg-stack.c (convert_regs): Cleax aux for blocks.
8516
62c9aa5f 85172003-02-21 Jan Hubicka <jh@suse.cz>
64465d27
JH
8518
8519 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
8520
9e7d0b92
GN
85212003-02-21 Glen Nakamura <glen@imodulo.com>
8522
8523 PR optimization/8613
8524 * builtins.c (expand_builtin): Emit postincrements before expanding
8525 builtin functions.
8526
a7582c8c
BE
85272003-02-21 Ben Elliston <bje@redhat.com>
8528
8529 PR other/5634
8530 * doc/install.texi (Configuration): Explain using $HOME instead of
8531 the ~ metacharacter when referring to home directories.
8532
91710e62
AO
85332003-02-20 Alexandre Oliva <aoliva@redhat.com>
8534
8535 * configure.in (TARGET_SYSTEM_ROOT): Set default to
8536 ${exec_prefix}/${target_alias}/sys-root. Match explicit
8537 '${exec_prefix}' (in addition to the expansion thereof) as
8538 relocatable.
8539 * configure: Rebuilt.
8540
d64f6f86
KH
85412003-02-20 Kazu Hirata <kazu@cs.umass.edu>
8542
8543 * config/h8300/h8300.md (addhi3_incdec): Change the name to
8544 *addhi3_incdec.
8545 (addsi3_incdec): Change the name to *addsi3_incdec.
8546
fd7acc30
RS
85472003-02-20 Roger Sayle <roger@eyesopen.com>
8548
8549 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
8550
1c2de642
TM
85512003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
8552
8553 PR fortran/9038
8554 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
8555 options to be ignored.
8556 (c_common_decode_option): Ignore them when preprocessing.
8557
62c9aa5f 85582003-02-20 Jan Hubicka <jh@suse.cz>
b9422b69 8559
fd7acc30
RS
8560 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
8561 global variables.
8562 (lang_independent_options): Add -fsched2-use-superblocks
8563 -fsced2-use-traces.
b9422b69
JH
8564 (rest_of_compilation): Deal with it.
8565 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
8566 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
8567 Declare.
b9422b69
JH
8568 * rtl.h (reg_to_stack): Update prototype.
8569 * reg-stack.c (reg_to_stack): Return when something has changed;
8570 update liveness when executing after superblock scheduling.
8571
8572 * combine.c (simplify_shift_const): Simplify few special cases
8573 into constants.
8574
a62bfff2
DE
85752003-02-20 David Edelsohn <edelsohn@gnu.org>
8576
8577 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
8578 (add.,subf.,neg.): Change attribute to fast_compare.
8579 All DFA descriptions updated.
8580
dbbf88d1
NS
85812003-02-20 Nathan Sidwell <nathan@codesourcery.com>
8582
8583 Change base class access representation.
8584 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
8585 TREE_VIA_PRIVATE): Remove.
8586 (BINFO_BASEACCESSES): New binfo elt.
8587 (BINFO_BASEACCESS): New accessor.
8588 (BINFO_ELTS): Increase.
8589 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
8590 (access_public_node, access_protected_node,
8591 access_private_node): New global nodes.
8592 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
8593 * dbxout.c (dbxout_type): Adjust.
8594 * dwarf2out.c (gen_inheritance_die): Add access parameter.
8595 (gen_member_die): Adjust.
8596 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
8597 (output_type): Adjust.
8598 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
8599
8600 Change base class access representation. Share virtual base
8601 binfos.
8602 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
8603 call.
8604 * cp/class.c (build_base_path): Likewise.
8605 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
8606 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
8607 (make_new_vtable): Adjust.
8608 (force_canonical_binfo_r): Delete.
8609 (force_canonical_binfo): Delete.
8610 (mark_primary_virtual_base): Delete.
8611 (dfs_unshared_virtual_bases): Delete.
8612 (mark_primary_bases): Adjust.
8613 (maybe_warn_about_overly_private_class): Adjust.
8614 (dfs_base_derived_from): Delete.
8615 (base_derived_from): Follow the inheritance chain.
8616 (struct find_final_overrider_data): Add vpath member.
8617 (dfs_find_final_overrider): Adjust.
8618 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
8619 (find_final_overrider): Adjust.
8620 (update_vtable_entry_for_fn): Adjust.
8621 (modify_all_vtables): Adjust.
8622 (walk_subobject_offsets): Adjust.
8623 (layout_nonempty_base_or_field): Adjust.
8624 (layout_empty_base): Remove last parameter. Adjust.
8625 (build_base_field): Adjust.
8626 (build_base_fields): Adjust.
8627 (propagate_binfo_offsets): Remove last parameter. Adjust.
8628 (dfs_set_offset_for_unshared_vbases): Delete.
8629 (layout_virtual_bases): Adjust.
8630 (finish_struct_1): Adjust.
8631 (init_class_processing): Don't init access nodes.
8632 (dfs_get_primary_binfo): Delete.
8633 (get_primary_binfo): Adjust.
8634 (dump_class_hierarchy_r): Remove most derived arg, add IGO
8635 parameter. Adjust.
8636 (dump_class_hierarchy): Adjust.
8637 (finish_vtbls): Adjust.
8638 (get_original_base): Delete.
8639 (build_vtt_inits): Adjust.
8640 (dfs_build_secondary_vptr_vtt_inits): Adjust.
8641 (dfs_ctor_vtable_bases_queue_p): Adjust.
8642 (build_ctor_vtbl_group): Adjust.
8643 (dfs_accumulate_vtbl_inits): Adjust.
8644 (build_vtbl_initializer): Adjust.
8645 (build_vbase_offset_vtbl_entries): Adjust.
8646 (add_vcall_offset_vtbl_entries_1): Adjust.
8647 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
8648 (access_*_node): Remove.
8649 (CANONICAL_BINFO): Delete.
8650 (BINFO_UNSHARED_MARKED): Remove.
8651 (BINFO_MARKED): Set LANG_FLAG_0 directly.
8652 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
8653 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
8654 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
8655 Delete.
8656 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
8657 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
8658 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
8659 Delete.
8660 (BINFO_DEPENDENT_BASE_P): New.
8661 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
8662 index.
8663 (markedp, unmarkedp): Adjust.
8664 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
8665 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
8666 find_vbase_instance, binfo_for_vbase): Delete.
8667 (copied_binfo, original_binfo): Declare.
8668 (finish_base_specifier): Add virtual_p arg.
8669 (unshare_base_binfos): Delete.
8670 (copy_base_binfos): Declare.
8671 (reverse_path): Delete.
8672 * cp/decl.c (xref_basetypes): Access and virtuality passed
8673 differently. Don't copy direct base binfos here. Call
8674 copy_base_binfos.
8675 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
8676 (initialize_vtbl_ptrs): Adjust.
8677 (expand_member_init): Adjust.
8678 * cp/parser.c (cp_parser_base_specifier): Adjust.
8679 * cp/pt.c (instantiate_class_template): Adjust.
8680 (get_template_base_recursive): Adjust.
8681 * cp/rtti.c (get_pseudo_ti_init): Adjust.
8682 (get_pseudo_ti_desc): Adjust.
8683 * cp/tree.c (unshare_base_binfos): Rename to ...
8684 (copy_base_binfos): ... here, reimplement.
8685 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
8686 (reverse_path): Remove.
8687 * cp/typeck.c (get_delta_difference): Adjust error messages.
8688 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
8689 * cp/search.c (lookup_base_r): Adjust.
8690 (dynamic_cast_base_recurse): Adjust.
8691 (canonical_binfo): Remove.
8692 (dfs_canonical_queue): Remove.
8693 (dfs_assert_unmarked_p): Remove.
8694 (assert_canonical_unmarked): Remove.
8695 (shared_marked_p, shared_unmarked_p): Remove.
8696 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
8697 (dfs_access_in_type): Adjust.
8698 (access_in_type): Adjust.
8699 (dfs_accessible_queue_p): Adjust.
8700 (dfs_accessible_p): Adjust.
8701 (is_subobject_of_p_1, is_subobject_of_p): Remove.
8702 (struct lookup_field_info): Remove from_dep_base_p field.
8703 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
8704 (lookup_field_r): Remove dependent base code.
8705 (lookup_member): Likewise.
8706 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
8707 (dfs_unmarked_real_bases_queue_p): Remove.
8708 (dfs_marked_real_bases_queue_p): Remove.
8709 (dfs_skip_vbases): Remove.
8710 (dfs_get_pure_virtuals): Adjust.
8711 (markedp, unmarkedp): Adjust.
8712 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
8713 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
8714 (dfs_unmark): Adjust.
8715 (dfs_get_vbase_types):Remove.
8716 (dfs_build_inheritance_graph_order): Remove.
8717 (get_vbase_types): Remove
8718 (dfs_find_vbase_instance): Remove.
8719 (find_vbase_instance): Remove.
8720 (dfs_debug_unmarkedp): Adjust.
8721 (dependent_base_p): Remove.
8722 (dfs_push_type_decls): Adjust.
8723 (dfs_push_decls): Adjust.
8724 (dfs_no_overlap_yet): Adjust.
8725 (copied_binfo): New function.
8726 (original_binfo): New function.
8727 (binfo_for_vbase): Remove.
8728
8729 Change base class access representation.
8730 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
8731 (add_interface_do): Likewise.
8732
6d6ab190
DE
87332003-02-20 David Edelsohn <edelsohn@gnu.org>
8734
a8d0ddaf
ZW
8735 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
8736 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
8737 insn reservations.
8738 (power4-fpstore): Compact.
8739
2dd5df7c
KH
87402003-02-20 Kazu Hirata <kazu@cs.umass.edu>
8741
8742 * config/h8300/h8300.md (*iorsi3_w): New.
8743
8fa08316
JZ
87442003-02-20 Josef Zlomek <zlomekj@suse.cz>
8745
8746 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
8747 * rtl.c (reg_note_name): Likewise.
8748 * rtl.h (enum reg_note): Likewise.
8749 * doc/invoke.texi: Likewise.
8750 * doc/rtl.texi: Likewise.
8751
c8717368
JZ
87522003-02-20 Josef Zlomek <zlomekj@suse.cz>
8753
8754 * bb-reorder.c (find_traces_1_round): Fix comment typo.
8755
3bc400cd
RS
87562003-02-19 Roger Sayle <roger@eyesopen.com>
8757
8758 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
8759 addition in the presence of signaling NaNs.
8760
b5a49c0b
KW
87612003-02-19 Krister Walfridsson <cato@df.lth.se>
8762
8763 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
8764
472f2723
KH
87652003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8766
8767 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
8768 ORing with 0xffff??00 with the highest bit of the ?? part set.
8769 (compute_logical_op_length): Update.
8770 (compute_logical_op_cc): Likewise.
8771
6d9cc15b
JZ
87722003-02-19 Josef Zlomek <zlomekj@suse.cz>
8773
8774 * bb-reorder.c (find_traces_1_round): Fixed condition for small
8775 destination block with multiple predecessors.
8776 (connect_traces): Check whether the block is a start of trace.
8777
62c9aa5f 87782003-02-19 Jan Hubicka <jh@suse.cz>
563a317a
JH
8779
8780 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
8781 * function.c (assign_params): Likewise.
8782 * arm-protos.h (arm_init_cumulative_args): Update prototype.
8783 * arm.c (arm_init_cumulative_args): Update function.
8784 * arm.h (INIT_CUMULATIVE_ARGS): Update.
8785 * avr-protos.h (init_cumulative_args): Update prototype.
8786 * avr.c (init_cumulative_args): Update function.
8787 * avr.h (INIT_CUMULATIVE_ARGS): Update.
8788 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
8789 * d30v.c (d30v_init_cumulative_args): Update function.
8790 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
8791 * frv-protos.h (frv_init_cumulative_args): Update prototype.
8792 * frv.c (frv_init_cumulative_args): Update function.
8793 * frv.h (INIT_CUMULATIVE_ARGS): Update.
8794 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
8795 * pa.h (INIT_CUMULATIVE_ARGS): Update.
8796 * sparc-protos.h (init_cumulative_args): Update prototype.
8797 * sparc.c (init_cumulative_args): Update function.
8798 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
8799 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
8800
be9d08c2
KH
88012003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8802
8803 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
8804 (*ashiftsi_sextqi_7): Likewise.
8805
f23147fe
RO
88062003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8807
8808 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
8809 ISO C99 and C++.
8810
8811 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
8812 for C++ on IRIX 6.5.1[89].
8813 * fixinc/tests/base/internal/sgimacros.h: New file.
8814
8815 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
8816 * fixinc/tests/base/internal/wchar_core.h: New file.
a8d0ddaf 8817
f23147fe
RO
8818 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
8819 socklen_t definition.
8820 * fixinc/fixincl.x: Regenerate.
8821 * fixinc/tests/base/sys/socket.h: New file.
8822 Fixes PR libgcj/9652.
8823
62c9aa5f 88242003-02-19 Jan Hubicka <jh@suse.cz>
30e4d9d4
JH
8825
8826 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
8827
2792d578
DE
88282003-02-19 David Edelsohn <edelsohn@gnu.org>
8829
8830 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
8831 align_jumps_max_skip and align_loops_max_skip.
8832
88332003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
8834
8835 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
8836 test size if named section.
8837
48a5f2fa
DJ
88382003-02-19 Daniel Jacobowitz <drow@mvista.com>
8839
8840 * expr.c (expand_expr): Use gen_int_mode for the argument
8841 to gen_rtx_MULT.
8842
62c9aa5f 88432003-02-19 Jan Hubicka <jh@suse.cz>
9e889775
JH
8844
8845 * i386.md (cosxf2): Fix conditional.
8846
f4c07fbf
KH
88472003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8848
8849 * config/h8300/h8300.md (extendqisi2): Change to an expander.
8850 (*extendqisi2_h8300): New.
8851 (*extendqisi2_h8300hs): Likewise.
8852
590734b6
KH
88532003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8854
8855 * config/h8300/h8300-protos.h: Update the prototype for
8856 split_adds_subs. Remove the prototypes for
8857 const_int_le_2_operand and const_int_le_6_operand.
8858 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
8859 (const_int_le_2_operand): Remove.
8860 (const_int_le_6_operand): Likewise.
8861 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
8862 for const_int_le_2_operand and const_int_le_6_operand.
8863 * config/h8300/h8300.md: Update all uses of split_adds_subs.
8864 (a peephole2): New.
8865
62c9aa5f 88662003-02-18 Jan Hubicka <jh@suse.cz>
c001c39b
JH
8867
8868 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
8869 (cgraph_expand_function): Rewrite.
8870
2f51bb1d 88712003-02-18 Matt Austern <austern@apple.com>
3bc400cd 8872
2f51bb1d 8873 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 8874 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 8875
ff6e1a2f
KH
88762003-02-18 Kazu Hirata <kazu@cs.umass.edu>
8877
8878 * config/h8300/h8300.c (general_operand_src): Always check
8879 MODE.
8880 (general_operand_dst): Likewise.
8881
78bd5210
RS
88822003-02-18 Roger Sayle <roger@eyesopen.com>
8883
8884 * convert.c (convert_to_real): Also optimize (float)log(x) into
8885 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
8886
9f3a9a08
KK
88872003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
8888
a8d0ddaf 8889 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 8890 (sh_cannot_copy_insn_p): New.
a8d0ddaf 8891 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 8892
d7ddbe24
RH
88932003-02-18 Richard Henderson <rth@redhat.com>
8894
8895 * c-common.c (handle_used_attribute): Accept static data too.
8896
88972003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 8898 Aldy Hernandez <aldyh@redhat.com>
22d324c1 8899
a8d0ddaf 8900 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 8901
a8d0ddaf 8902 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 8903
a8d0ddaf
ZW
8904 * target-def.h (TARGET_INITIALIZER): Add
8905 TARGET_VECTOR_TYPES_COMPATIBLE.
8906 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 8907
a8d0ddaf 8908 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 8909
a8d0ddaf
ZW
8910 * c-typeck.c (comptypes): Take into account
8911 TARGET_VECTOR_TYPES_COMPATIBLE.
8912 (convert_for_assignment): Same.
22d324c1 8913
a8d0ddaf
ZW
8914 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
8915 (rs6000_spe_vector_types_compatible): New.
8916 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 8917
e5378e8d
AS
89182003-02-19 Andreas Schwab <schwab@suse.de>
8919
8920 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
8921 * toplev.c: Include langhooks-def.h.
8922
fcc11c35
CD
89232003-02-18 Chris Demetriou <cgd@broadcom.com>
8924
8925 * config/mips/mips.h (enum processor_type): Sort entries
8926 alphabetically.
8927 * config/mips/mips.md (define_attr cpu): Sync with processor_type
8928 enum values, including adding entries that were missing.
8929
62c9aa5f 89302003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
29db2a1e 8931
3bc400cd
RS
8932 * sh.c (calc_live_regs): Also check GET_CODE when checking if
8933 initial value for PR_REG is still the PR_REG register.
29db2a1e 8934
582d11e6
JW
89352003-02-18 Jim Wilson <wilson@redhat.com>
8936
8937 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
8938 instruction in output template.
8939 (bsp_value): Change output template from string to C code, add %,
8940 before actual instruction.
8941 (flushrs): Mark as not predicable.
8942
3edc4b23
KW
89432003-02-18 Krister Walfridsson <cato@df.lth.se>
8944
8945 * inclhack.def (netbsd_bogus_semicolon): New fix.
8946 * fixincl.x: Rebuilt.
8947 * tests/base/ctype.h: Update.
8948
080ea642
RS
89492003-02-18 Roger Sayle <roger@eyesopen.com>
8950
8951 * fold-const.c (negate_expr_p): New function to determine whether
8952 an expression can be negated cheaply.
8953 (fold) [MINUS_EXPR]: Use it to determine whether to transform
8954 -A - B into -B - A for floating point types.
8955
e360ab39
RS
89562003-02-18 Roger Sayle <roger@eyesopen.com>
8957
8958 * sbitmap.c (sbitmap_resize): New function.
8959 * sbitmap.h (sbitmap_resize): Prototype here.
8960 * recog.c (split_all_insns): Use sbitmap_resize.
8961
6b00cbc7
KH
89622003-02-18 Kazu Hirata <kazu@cs.umass.edu>
8963
8964 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
8965 insn length.
8966 (extendqisi2): Likewise.
8967 (*extendhisi2_h8300): Likewise.
8968
2b59501b 89692003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 8970
2b59501b
MA
8971 * langhooks.h, langhooks-def.h: introduce new langhook,
8972 final_write_globals, with write_global_declarations as default.
8973 * toplev.c: Move invocation of wrapup_global_declarations from
8974 compile_file to new function, write_global_declarations. Change
8975 compile_file to use final_write_globals hook. Change
8976 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
a8d0ddaf
ZW
8977 conditional.
8978
131efcd8
JDA
89792003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8980
8981 * pa.md: Correct and enhance comment.
8982
e17aafd1
GK
89832003-02-18 Geoffrey Keating <geoffk@apple.com>
8984
8985 * gcc.c (validate_switches): Don't scan past closing '}'.
8986
f57a2e3a
BE
89872003-02-18 Ben Elliston <bje@redhat.com>
8988
8989 PR c++/1607
8990 * doc/extend.texi (Function Attributes): Document the effect of
8991 the C++ "this" parameter on the counting of arguments for the
8992 "format" and "format_arg" attributes.
8993
9b0c0e9f
AH
89942003-02-17 Aldy Hernandez <aldyh@redhat.com>
8995
a8d0ddaf
ZW
8996 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
8997 (__ev_stdw): Same.
8998 (__ev_stdh): Same.
9b0c0e9f 8999
62c9aa5f 90002003-02-17 Jan Hubicka <jh@suse.cz>
35a3fa09
JH
9001
9002 * recog.c (split_all_insns): Fix memory overflow.
9003
6dc50366
KH
90042003-02-17 Kazu Hirata <kazu@cs.umass.edu>
9005
9006 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
9007 (cmphi): Likewise.
9008 (*cmphi_h8300): Likewise.
9009 (*cmphi_h8300hs): Likewise.
9010 (cmpsi): Likewise.
9011 (7 peephole2): Likewise.
9012
62c9aa5f 90132003-02-16 Jan Hubicka <jh@suse.cz>
096daf41
JH
9014
9015 * c-typeck.c (build_c_cast): Fold constant variables into
9016 initial values.
9017
35113fde
GP
90182003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9019
9020 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
9021 (Binaries): Ditto for Sinix/Reliant Unix.
9022
3a1944a6
RE
90232003-02-16 Richard Earnshaw <rearnsha@arm.com>
9024
9025 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
9026 not overlap the final result register.
9027
cdd4b0d4
AB
90282003-02-16 Arend Bayer <arend.bayer@web.de>
9029 Richard Henderson <rth@redhat.com>
9030
ddb9eedd 9031 PR c/8068
cdd4b0d4
AB
9032 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
9033 rearrange mult arguments for less recursion.
9034 (extract_muldiv): New. Prevent runaway recursion.
9035
616f273a
DS
90362003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
9037
9038 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
9039 MASK_ALIGN_DOUBLE.
9040
881b2a96
RS
90412003-02-15 Roger Sayle <roger@eyesopen.com>
9042
9043 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
9044 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
9045 (ext_80387_constants_table): Global table of 80387 special constants
9046 guarded by ext_80387_constants_init flag when not initialized.
9047 (init_ext_80387_constants): New function to initialize this table.
9048 (standard_80387_constant_p): Extend to recognize extra 80387
9049 constants, in XFmode, on processors where this is a win.
9050 (standard_80387_constant_opcode): New function to return the
9051 opcode associated with standard_80387_constant_p.
9052 (standard_80387_constant_rtx): New function to return the XFmode
9053 CONST_DOUBLE associated with standard_80387_constant_p.
9054 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
9055
9056 * config/i386/i386-protos.h (standard_80387_constant_opcode):
9057 Prototype here.
9058 (standard_80387_constant_rtx): Likewise.
9059
9060 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
9061 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
9062 *movtf_integer): Simplify using new standard_80387_constant_opcode.
9063
d203738b
GK
90642003-02-15 Geoffrey Keating <geoffk@apple.com>
9065
9066 * doc/invoke.texi (Optimize Options): Correct @option syntax.
9067
0b077eac
RH
90682003-02-15 Richard Henderson <rth@redhat.com>
9069
9070 * Makefile.in (cfglayout.o): Depend on TARGET_H.
9071 * cfglayout.c: Include target.h.
9072 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
9073 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
9074 * target.h (struct gcc_target): Add cannot_copy_insn_p.
9075
9076 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
9077 (TARGET_CANNOT_COPY_INSN_P): New.
9078 (override_options): Revert 2003-02-08 hack.
9079
9a71ece1
RH
90802003-02-15 Richard Henderson <rth@redhat.com>
9081
9082 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
9083 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
9084
b54cf83a
DE
90852003-02-15 David Edelsohn <edelsohn@gnu.org>
9086
9087 * config/rs6000/rs6000.h (processor_type): Add PPC440.
9088 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
9089 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
9090 TARGET_SCHED_VARIABLE_ISSUE): Define.
9091 (rs6000_use_dfa_pipeline_interface): New function.
9092 (rs6000_multipass_dfa_lookahead): New Function.
9093 (rs6000_variable_issue): New function.
9094 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
9095 (rs6000_issue_rate): Add PPC440.
9096 * config/rs6000/rs6000.md (unspec list): Correct typo.
9097 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
9098 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
9099 cmp, delayed_cr, mfcr, mtcr.
9100 (automata_option): Set "ndfa".
9101 (extendMMNN2): Update attributes.
9102 (movcc_internal1): Discourage move to non-cr0. Update
9103 attributes.
9104 (movMM_update): Update attributes.
9105 (cmpMM_internal): Update attributes.
9106 (sCC CR materialization): Update attributes.
9107 (branch patterns): Do not discourage non-cr0.
9108 (cr logical patterns): Prefer destructive register allocation.
9109 Update attributes.
9110 (movesi_from_cr): Update attribute.
9111 (mtcrf_operation): Update attribute.
9112 (mtcrfsi): Update attribute.
9113 * config/rs6000/40x.md: New file.
9114 * config/rs6000/603.md: New file.
9115 * config/rs6000/6xx.md: New file.
9116 * config/rs6000/7450.md: New file.
9117 * config/rs6000/7xx.md: New file.
9118 * config/rs6000/mpc.md: New file.
9119 * config/rs6000/power4.md: New file.
9120 * config/rs6000/rios1.md: New file.
9121 * config/rs6000/rios2.md: New file.
9122 * config/rs6000/rs64.md: New file.
9123 [Some DFA descriptions based on work by Michael Hayes]
9124
99dc7277
RH
91252003-02-15 Richard Henderson <rth@redhat.com>
9126
9127 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
9128 successors with multiple predecessors.
9129 (connect_traces): Try harder to copy traces of length 1.
9130
9131 * function.h (struct function): Add computed_goto_common_label,
9132 computed_goto_common_reg.
9133 * function.c (free_after_compilation): Zap them.
a8d0ddaf 9134 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
9135 indirect branch per function.
9136
5f24e0dc
RH
91372003-02-15 Richard Henderson <rth@redhat.com>
9138
9139 * cfgcleanup.c: Include params.h.
9140 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
9141 too many outgoing edges from a block.
9142 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
9143 * params.def (max-crossjump-edges): New.
9144 * doc/invoke.texi: Document it.
9145
9381bbc9
RH
91462003-02-15 Richard Henderson <rth@redhat.com>
9147
a8d0ddaf
ZW
9148 * recog.c (split_all_insns): Include new blocks in life update;
9149 do a global life update.
9381bbc9 9150
e898926c
DS
91512003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
9152
9153 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
9154 Update copyright.
9155 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
9156 -mno-cygwin case.
9157
ce65116b
FH
91582003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9159
9160 PR optimization/7702
9161 * reload1.c (reload_cse_simplify_set): Honor
9162 CANNOT_CHANGE_MODE_CLASS.
9163
fe7496dd
AO
91642003-02-14 Alexandre Oliva <aoliva@redhat.com>
9165
9166 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
9167 function.
9168 * config/mn10300/mn10300-protos.h: Declare it.
9169 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
9170 attribute cc of instructions that may use clr.
9171
6017c719
KH
91722003-02-14 Kazu Hirata <kazu@cs.umass.edu>
9173
9174 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
9175 (x - (x & y)) is found.
9176
9fb28a67
RO
91772003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9178
9179 * configure.in: Fix typo.
9180 * configure: Regenerate.
9181
60f469fa
KH
91822003-02-14 Kazu Hirata <kazu@cs.umass.edu>
9183
9184 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
9185
8fd73754 91862003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 9187
a8d0ddaf 9188 PR opt/2391
ce65116b
FH
9189 * combine.c: Fix spelling in comment.
9190 (cached_nonzero_bits): New function.
9191 (cached_num_sign_bit_copies): New function.
8fd73754
AN
9192 (nonzero_bits_with_known): New macro.
9193 (num_sign_bit_copies_with_known): New macro.
ce65116b 9194 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
9195 arguments. Change calls from nonzero_bits to
9196 nonzero_bits_with_known.
ce65116b 9197 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
9198 three new arguments. Change calls from num_sign_bit_copies to
9199 num_sign_bit_copies_with_known.
ce65116b
FH
9200 (nonzero_bits): New macro.
9201 (num_sign_bit_copies): New macro.
9202 (update_table_tick): Don't traverse identical subexpression more
8fd73754 9203 than once.
ce65116b 9204 (get_last_value_validate): Likewise.
8fd73754 9205
ddb0ae00
ZW
92062003-02-13 Zack Weinberg <zack@codesourcery.com>
9207
9208 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
9209 * function.h (struct emit_status): Length of regno_pointer_align
9210 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
9211 not regno_pointer_align_length (i.e. length actually used, not
9212 length as allocated)
9213
9214 * config/i386/i386.c (struct stack_local_entry): New.
9215 (struct machine_function): Replace huge array with alist.
9216 (assign_386_stack_local): Change to match.
9217
c20b55c0
JDA
92182003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
9219
9220 * inclhack.def (hpux_long_double): Tighten select and add bypass
9221 regexp.
9222 * fixincl.x: Rebuilt.
9223
ffc8f11e
JZ
92242003-02-13 Josef Zlomek <zlomekj@suse.cz>
9225
9226 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
9227 edge and block ends with a jump insn it must be simple jump.
9228
047d636f
DJ
92292003-02-13 Daniel Jacobowitz <drow@mvista.com>
9230
9231 * Makefile.in (PREPROCESSOR_DEFINES): Add
9232 @TARGET_SYSTEM_ROOT_DEFINE@.
9233 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
9234 is specified or if building a cross compiler.
9235 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
9236 if the sysroot is under $exec_prefix.
9237 * configure: Regenerated.
9238 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
9239 defined.
9240 (struct default_include): Add add_sysroot field.
9241 (cpp_SYSROOT): Declare.
9242 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
9243 field.
9244 (cpp_SYSROOT): New variable.
9245 * cppinit.c (cpp_create_reader): Initialize
9246 CPP_OPTION (pfile, sysroot).
9247 (init_standard_includes): Handle add_sysroot. Do not
9248 add unrelocated copies of relocated directories.
9249 (COMMAND_LINE_OPTIONS): Add -isysroot.
9250 (cpp_handle_option): Handle -isysroot.
9251 * cpplib.h (struct cpp_options): Add sysroot member.
9252 * gcc.c (The Specs Language): Update description of %I.
9253 (target_system_root_changed): New variable.
9254 (process_command): Conditionalize make_relative_prefix call
9255 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
9256 target_system_root_changed.
9257 (do_spec_1): Add -isysroot to %I.
9258 * doc/invoke.texi (Spec Files): Update description of %I.
9259 * doc/install.texi (--with-sysroot): Update comment about
9260 relocation.
9261
4302db79
KH
92622003-02-13 Kazu Hirata <kazu@cs.umass.edu>
9263
9264 * config/h8300/h8300.md (a peephole2): New.
9265
e0d9cc77 92662003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 9267 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
9268
9269 * doc/install.texi (Specific): Update three SCO-related URLs.
9270
9fb93b00
AS
92712003-02-13 Andreas Schwab <schwab@suse.de>
9272
9273 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
9274 Parenthesize properly.
9275 (NPREDECESORS): Parenthesize properly.
9276
22ffcc6f
GDR
92772003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
9278
9279 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
9280
1fb54135
RS
92812003-02-12 Roger Sayle <roger@eyesopen.com>
9282
9283 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
9284 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
9285
9286 * reg-stack.c (subst_stack_regs_pat): Add support for binary
9287 UNSPEC instructions (e.g. "fpatan").
9288
19a7414e
MS
92892003-02-12 Mike Stump <mrs@apple.com>
9290
9291 * varray.c (element_size): Remove.
9292 (uses_ggc): Remove.
9293 (element): Add.
9294 (varray_init): Use new interface.
9295 (varray_grow): Use new interface.
9296 (varray_clear): Use new interface.
9297
e589cc6e
AH
92982003-02-12 Aldy Hernandez <aldyh@redhat.com>
9299
ddb0ae00
ZW
9300 * config/rs6000/spe.h: Add casts to the arguments of the following
9301 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
9302 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
9303 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
9304 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
9305 __ev_get_u16, __ev_get_s16.
e589cc6e 9306
2bbfc542
KH
93072003-02-12 Kazu Hirata <kazu@cs.umass.edu>
9308
9309 * config/h8300/h8300.md (a peephole2): New.
9310
62c9aa5f 93112003-02-12 Jan Hubicka <jh@suse.cz>
e72fcfe8
JH
9312
9313 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
9314 (OBJS): Add callgraph.o
9315 (callgraph.o): New.
9316 * c-decl.c (expand_body_1): Break out from ...
9317 (expand_body): This one; change calling convention
9318 (finish_function): Move some of expand_body logic here.
9319 (c_expand_deferred_function): Update call of expand_body
9320 (c_expand_stmt): Use c_expand_body_1.
9321 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
9322 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
9323 * c-tree.h (c_expand_body): Declare.
9324 * callgraph.c: New file.
9325 * flags.h (flag_unit_at_a_time): Declare.
9326 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
9327 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
9328 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
9329 * langhooks.h (struct lang_hooks_for_callgraph): New.
9330 (struct lang_hooks): Add callgraph field.
9331 * toplev.c (flag_unit_at_a_time): New.
9332 (lang_independent_options): Add flag_unit_at_a_time.
9333 (process_options): Disable unit-at-a-time mode for frontends not
9334 supporting callgraph.
9335 * tree-inline.c (typedef struct inline_data): Add "decl"
9336 (expand_call_inline): Update callgraph.
9337 (optimize_inline_calls): Set id.decl.
9338 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
9339 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
9340 cgraph_calls_p): Declare.
9341 * invoke.texi (-funit-at-a-time): Document
9342
9037b0c7
AH
93432003-02-12 Aldy Hernandez <aldyh@redhat.com>
9344
ddb0ae00
ZW
9345 * config/rs6000/spe.h: Fix misc formatting.
9346 (__ev_create_ufix32_fs): Cast ev argument.
9347 (__ev_create_sfix32_fs): Same.
9348 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
9349 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 9350
55ae46b1
RM
93512003-02-12 Ranjit Mathew <rmathew@hotmail.com>
9352
9353 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
9354 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
9355
3963c2e0
ZW
93562003-02-12 Zack Weinberg <zack@codesourcery.com>
9357
9358 * cpplib.c (do_include_common): Move warnings for
9359 #include_next and #import out to callers. Use early-return
9360 instead of nested ifs. Don't do check_eol here.
9361 (parse_include): Do check_eol here with the rest of the
9362 parsing stuff.
9363 (do_include_next, do_import): Now handle warnings.
9364
d1a86812
GP
93652003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9366
9367 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
9368
62c9aa5f 93692003-02-12 Jan Hubicka <jh@suse.cz>
6efcd268
JH
9370
9371 * predict.c (estimate_probability): Fix roundoff error.
9372
9083b5da
KH
93732003-02-12 Kazu Hirata <kazu@cs.umass.edu>
9374
9375 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
9376 (two peephole2): New.
9377
86bc9b19
KH
93782003-02-12 Kazu Hirata <kazu@cs.umass.edu>
9379
9380 * config/h8300/h8300.md (several peephole2): Replace
9381 find_regno_note with peep2_reg_dead_p.
9382
ceda50e9
RH
93832003-02-11 Richard Henderson <rth@redhat.com>
9384
9385 * gcse.c (lookup_set): Remove unused argument PAT. Update
9386 both callers.
9387
886e0865
GK
93882003-02-11 Geoffrey Keating <geoffk@apple.com>
9389
9390 * diagnostic.c (real_abort): New.
9391 (diagnostic_report_diagnostic): Call real_abort on error.
9392 * diagnostic.h (diagnostic_abort_on_error): New.
9393 (struct diagnostic_context): Add abort_on_error field.
9394 * toplev.c (setup_core_dumping): New.
9395 (decode_d_option): Handle 'H' case.
9396 * doc/invoke.texi (Debugging Options): Document -dH.
9397
76438597
NN
93982003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
9399
9400 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
9401 which refers to obsolete directories.
9402
09b568fc
RH
94032003-02-11 Richard Henderson <rth@redhat.com>
9404
9405 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
9406
62c9aa5f 94072002-10-21 Jan Hubicka <jh@suse.cz>
8b978a57
JH
9408
9409 * i386.c (contains_128bit_aligned_vector_p): New function.
9410 (ix86_function_arg_boundary): Properly align vector modes.
9411
a3259be8
BW
94122003-02-11 Bob Wilson <bob.wilson@acm.org>
9413
9414 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
9415 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
9416 as a SET pattern.
9417
da52a069
RS
94182003-02-11 Roger Sayle <roger@eyesopen.com>
9419
9420 * builtins.c: Fix failure caused by commiting wrong patch.
9421
d58f6584
DJ
94222003-02-11 Dale Johannesen <dalej@apple.com>
9423 * ra-build.c (compare_and_free_webs): Relax checking.
9424 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
9425 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
9426
22fd5743
FH
94272003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9428
9429 PR optimization/9651
9430 * rtlanal.c (may_trap_p): Handle FIX.
9431
3462df62
DJ
94322003-02-11 Dave Jones <davej@codemonkey.org.uk>
9433
9434 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
9435 * doc/invoke.texi: Extra alias.
9436
a693fbb9
GK
94372003-02-11 Geoffrey Keating <geoffk@apple.com>
9438
9439 * config/rs6000/host-darwin.c: Fix comment.
9440
bb157ff4
DE
94412003-02-11 David Edelsohn <edelsohn@gnu.org>
9442
9443 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
9444 predicate for mod result.
9445
16ddb599
JDA
94462003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9447
9448 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
9449 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
9450 * fixincl.x: Rebuilt.
9451 * tests/base/stdlib.h: Update.
9452 * tests/base/ctype.h: New file.
9453
62c9aa5f 94542003-02-11 Jan Hubicka <jh@suse.cz>
6f0d3566
JH
9455
9456 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
9457
d0a5295a
RH
94582003-02-11 Richard Henderson <rth@redhat.com>
9459
9460 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
9461 appropriated as globals.
9462 (ix86_expand_clrstr): Similarly.
9463 * config/i386/i386.md (cmpstrsi): Similarly.
9464
9672132f
KH
94652003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9466
9467 * config/h8300/h8300.md (a peephole2): Add a case of 255.
9468
b5e01d4b
RS
94692003-02-11 Roger Sayle <roger@eyesopen.com>
9470
9471 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
9472 (pow_optab, atan2_optab): Define corresponding macros.
9473 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
9474 * genopinit.c (optabs): Implement pow_optab and atan2_optab
9475 using pow?f3 and atan2?f3 patterns.
9476 * builtins.c (expand_errno_check): New function to update errno
9477 if necessary, split out from expand_builtin_mathfn.
9478 (expand_builtin_mathfn): Use expand_errno_check.
9479 (expand_builtin_mathfn_2): New function to handle expanding binary
9480 math functions, reusing the code in expand_errno_check.
9481 (expand_builtin): Handle the pow and atan2 math built-ins,
9482 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
9483 expand_builtin_mathfn_2.
9484
9485 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
9486
62c9aa5f 94872003-02-11 Jan Hubicka <jh@suse.cz>
cb119f82
JH
9488
9489 * combine.c (combine_simplify_rtx): Fix folding of
9490 nested float_truncates.
9491
a05566a3
KH
94922003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9493
9494 * config/h8300/h8300.md (a peephole2): Fix a typo.
9495
20ae4500
RE
94962003-02-11 Richard Earnshaw <rearnsha@arm.com>
9497
9498 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
9499 register number.
9500
717d8b71
KH
95012003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9502
9503 * config/h8300/h8300-protos.h: Add a prototype for
9504 gtuleu_operator.
9505 * config/h8300/h8300.c (gtuleu_operator): New.
9506 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
9507 * config/h8300/h8300.md (a peephole2): New.
9508
62c9aa5f 95092003-02-11 Jan Hubicka <jh@suse.cz>
e36e8f52
JH
9510
9511 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
9512
62c9aa5f 95132003-02-11 Jan Hubicka <jh@suse.cz>
c728da61
JH
9514
9515 * predict.c (choose_function_section): Choose sections correctly.
9516
4cc0fdd2
JDA
95172003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9518
9519 * reload1.c (first_label_num): New.
9520 (reload): Index offsets_known_at and offsets_at using difference of
9521 label number and first label number. Don't use offset pointers.
9522 (set_label_offsets, set_initial_label_offsets): Likewise.
9523
44b1fa11
RS
95242003-02-10 Roger Sayle <roger@eyesopen.com>
9525
9526 * mips-tfile.c (init_file): Add missing initializers in the
9527 "#ifdef __alpha" case.
9528 (file_offset, max_file_offset): Declare as unsigned long.
9529 (write_varray): Cast to "unsigned long" in comparisons against
9530 either file_offset or max_file_offset.
9531 (write_object): Likewise.
9532 (read_seek): Likewise.
9533 (copy_object): Likewise. Declare "ifd" as int to match its use
9534 in add_ext_symbol, and avoid signed/unsigned conditional warning.
9535
2948ade7 95362003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 9537 Aldy Hernandez <aldyh@redhat.com>
2948ade7 9538
3963c2e0
ZW
9539 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
9540 override options which have been specified on the command line.
2948ade7 9541
2a4e6df4
KH
95422003-02-10 Kazu Hirata <kazu@cs.umass.edu>
9543
9544 * config/h8300/h8300.md (abssf2): New.
9545 (*abssf2_h8300): Likewise.
9546 (*abssf2_h8300hs): Likewise.
9547
411e2759
PE
95482003-02-10 Phil Edwards <pme@gcc.gnu.org>
9549
9550 * tree.c (build_tree_list): Fix parameter names in comment.
9551
2b24fc41
JJ
95522003-02-10 Janis Johnson <janis187@us.ibm.com>
9553
9554 * config/rs6000/ppc64-fp.c: New file.
9555 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
9556
aa634f11
JZ
95572003-02-10 Josef Zlomek <zlomekj@suse.cz>
9558
9559 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 9560 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
9561 (make_reorder_chain_1): Deleted.
9562 (find_traces): New function.
9563 (rotate_loop): New function.
9564 (mark_bb_visited): New function.
9565 (find_traces_1_round): New function.
9566 (copy_bb): New function.
9567 (bb_to_key): New function.
9568 (better_edge_p): New function.
9569 (connect_traces): New function.
9570 (copy_bb_p): New function.
9571 (get_uncond_jump_length): New function.
9572 (reorder_basic_blocks): Use new functions (Software Trace Cache).
9573 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
9574 boundaries.
9575
17edbda5
AH
95762003-02-10 Aldy Hernandez <aldyh@redhat.com>
9577
9578 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
9579
57116c34
DN
95802003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9581
9582 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 9583 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 9584
4f448245
NC
95852003-02-10 Nick Clifton <nickc@redhat.com>
9586
9587 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
9588 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
9589 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
9590 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
9591 config/arm/freebsd.h, config/arm/linux-elf.h,
9592 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
9593 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
9594 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
9595 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
9596 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
9597 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
9598 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
9599 and reformat as appropriate.
9600
19190d27
KH
96012003-02-10 Kazu Hirata <kazu@cs.umass.edu>
9602
9603 * config/h8300/clzsi2.c: Remove.
9604 * config/h8300/ctzsi2.c: Likewise.
9605 * config/h8300/paritysi2.c: Likewise.
9606 * config/h8300/popcountsi2.c: Likewise.
9607 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
9608 ctzsi2, paritysi2, and popcountsi2.
9609
ecf92f82 96102003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 9611 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
9612
9613 PR c/7741
9614 * c-decl.c (duplicate_decls): Discard the initializer of the
9615 new decl when the types are conflicting.
9616
ac5e69da
JZ
96172003-02-10 Josef Zlomek <zlomekj@suse.cz>
9618
9619 * Makefile.in (sreal.o): Added.
9620 (predict.o): Depends on sreal.h instead of real.h.
9621 * sreal.c: New file.
9622 * sreal.h: New file.
9623 * predict.c: Use sreal.c instead of real.c.
9624
9b6b54e2
NC
96252003-02-10 Nick Clifton <nickc@redhat.com>
9626
9627 * Contributed support for the Cirrus EP9312 "Maverick"
9628 floating point co-processor. Written by Aldy Hernandez
3963c2e0 9629 <aldyh@redhat.com>.
9b6b54e2
NC
9630 (config/arm/arm.c): Add Cirrus support.
9631 (config/arm/arm.h): Likewise.
9632 (config/arm/aout.h): Likewise.
9633 (config/arm/arm.md): Likewise.
9634 (config/arm/arm-protos.h): Likewise.
9635 (config.gcc): Likewise.
9636 (doc/invoke.texi): Describe new -mcpu value and new
9637 -mcirrus-fix-invalid-insns switch,
9638 (cirrus.md): New file.
9639
62c9aa5f 96402003-02-10 Jan Hubicka <jh@suse.cz>
949824fe
JH
9641
9642 * combine.c (combine_simplify_rtx): Simplify using
9643 (float_truncate (float x)) is (float x)
9644 (float_extend (float_extend x)) is (float_extend x).
9645
546ff777
AM
96462003-02-10 Alan Modra <amodra@bigpond.net.au>
9647
9648 * calls.c (try_to_integrate): Tidy stack_usage_map access.
9649 (emit_library_call_value_1): Likewise. Formatting.
9650 (store_one_arg): Likewise.
9651
626098f9 96522003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 9653 Aldy Hernandez <aldyh@redhat.com>
626098f9 9654
3963c2e0
ZW
9655 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
9656 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
9657 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
9658 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
9659 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
9660 docs. Add range test for immediate value.
626098f9
AH
9661
96622003-02-09 Aldy Hernandez <aldyh@redhat.com>
9663
3963c2e0
ZW
9664 Rename spe_evxor to xorv2si3.
9665 (xorv4hi3): New.
9666 (xorv1di3): New.
626098f9 9667
8d23a2c8 96682003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 9669
8d23a2c8
GN
9670 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
9671 tag.
9672
62c9aa5f 96732003-02-10 Jan Hubicka <jh@suse.cz>
fdc4b40b
JH
9674
9675 * i386.c (vector_move_operand): New predicate.
9676 (ix86_expand_vector_move): Be happy about 0.
9677 * i386.h (PREDICATE_CODES): Add sse-move_operand.
9678 * i386.md (mov*_internal): Add 'C' alternative.
9679
62c9aa5f 96802003-02-09 Jan Hubicka <jh@suse.cz>
35c28a13
JH
9681
9682 * i386.md (floathi*): Deal with SSE.
9683
62c9aa5f 96842003-02-09 Jan Hubicka <jh@suse.cz>
852c8ba1
JH
9685
9686 * simplify-rtx.c (simplify_unary_operation,
9687 simplify_binary_operation): Deal with vector modes
9688 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
9689
c876997f 96902003-02-09 Richard Sandiford <rsandifo@redhat.com>
2382b79f
RS
9691
9692 * toplev.c (rest_of_compilation): Recompute register usage after
9693 split_all_insns.
9694
8275b011
RH
96952003-02-09 Richard Henderson <rth@redhat.com>
9696
9697 * libgcc-std.ver (__clztf2): New.
9698 (__ctztf2, __popcounttf2, __paritytf2): New.
9699 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
9700 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
9701 adjust code to match the different type sizes.
9702 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
9703 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
9704
9705 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
9706 TImode; select word_mode and twice that.
9707 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
9708 select the modes from float, double, and long double.
9709 (init_optabs): Remove duplicate initializations.
9710
794aca5d
WB
97112003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
9712
9713 * doc/install.texi: Squeeze and streamline section on
9714 testing and regression checking.
9715
62c9aa5f 97162003-02-09 Jan Hubicka <jh@suse.cz>
d9deed68
JH
9717
9718 * i386.md (ahi?v*3): Set third operand type to TImode.
9719 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
9720
9721 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
9722 integer mode.
9723
9724 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
9725 Change code so they are arithmetic expressions now.
9726 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
9727 simplify_ternary_operation): Deal with VEC_* expressions.
9728
9729 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
9730
62c9aa5f 97312003-02-08 Jan Hubicka <jh@suse.cz>
83fd323c
JH
9732
9733 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
9734 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
9735 possibly got duplicated.
9736
4ee7aa60
RH
97372003-02-08 Richard Henderson <rth@redhat.com>
9738
9739 * config/alpha/alpha.c (override_options): Turn off explicit
9740 relocs until post-peep2 code duplication resolved.
9741
c117dddc
KH
97422003-02-08 Kazu Hirata <kazu@cs.umass.edu>
9743
9744 * optabs.c (expand_unop): Widen clz properly when clz is done
9745 via libcall.
9746
8aa063fb
KH
97472003-02-08 Kazu Hirata <kazu@cs.umass.edu>
9748
9749 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
9750 * config/h8300/crti.asm: Likewise.
9751 * config/h8300/crtn.asm: Likewise.
9752 * config/h8300/ctzsi2.c: Likewise.
9753 * config/h8300/fixunssfsi.c: Likewise.
9754 * config/h8300/h8300-protos.h: Likewise.
9755 * config/h8300/h8300.c: Likewise.
9756 * config/h8300/h8300.h: Likewise.
9757 * config/h8300/h8300.md: Likewise.
9758 * config/h8300/paritysi2.c: Likewise.
9759 * config/h8300/popcountsi2.c: Likewise.
9760 * config/h8300/rtems.h: Likewise.
9761
01a132bb
ZD
97622003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9763
9764 * doc/invoke.texi: Documentation for my previous commit.
9765 * doc/passes.texi: Ditto.
9766
617b465c
ZD
97672003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9768
9769 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
9770 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
9771 Declare.
9772 (DLTHE_FLAG_UPDATE_FREQ): New.
9773 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
9774 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
9775 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
9776 fix_bb_placement, fix_bb_placements, place_new_loop,
9777 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
9778 New static functions.
9779 (fix_loop_placement, can_duplicate_loop_p,
9780 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
9781 New functions.
9782
9783 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
9784 unswitch_loops): Declare.
9785 * loop-init.c: New file.
9786 * loop-unswitch.c: New file.
9787 * Makefile.in (loop-init.o, loop-unswitch.o): New.
9788 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
9789 * toplev.c (DFI_loop2): New dump.
9790 (flag_unswitch_loops): New.
9791 (lang_independent_options): Add it.
9792 (rest_of_compilation): Call new loop optimizer.
9793 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
9794
3bd03194
KH
97952003-02-08 Kazu Hirata <kazu@cs.umass.edu>
9796
9797 * config/h8300/clzsi2.c: New.
9798 * config/h8300/ctzsi2.c: Likewise.
9799 * config/h8300/paritysi2.c: Likewise.
9800 * config/h8300/popcountsi2.c: Likewise.
9801 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
9802
d865b122
DE
98032003-02-07 David Edelsohn <edelsohn@gnu.org>
9804
9805 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
9806 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 9807 (ctzsi2): New pattern.
d865b122
DE
9808 (ffssi2): Use clz instead of unspec.
9809 (clzdi2): Rename from cntlzd2.
94993909 9810 (ctzdi2): New pattern.
d865b122
DE
9811 (ffsdi2): Use clz instead of unspec.
9812
8f37dd98
LR
98132003-02-07 Loren James Rittle <ljrittle@acm.org>
9814
9815 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
9816 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
9817 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
9818 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
9819
83205b9b
WB
98202003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
9821
9822 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
9823
710ee3ed
RH
98242003-02-07 Richard Henderson <rth@redhat.com>
9825
9826 PR 9226
3963c2e0
ZW
9827 * gcse.c (local_cprop_find_used_regs): New.
9828 (local_cprop_pass): Use it.
710ee3ed 9829
3ef879d2
FF
98302003-02-07 Fred Fish <fnf@intrinsity.com>
9831
9832 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 9833 precedence bugs.
3ef879d2 9834
a0f0e963 98352003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 9836
3963c2e0 9837 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 9838
46847aa6
RS
98392003-02-07 Roger Sayle <roger@eyesopen.com>
9840
9841 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
9842 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
9843 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
9844 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
9845 builtin functions (and their __builtin_* variants).
9846 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
9847 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
9848 when not optimizing.
9849
9850 * doc/extend.texi: Document new pow and atan2 builtins, and
9851 their float and long double variants. Realphabetize builtins.
9852
62c9aa5f 98532003-02-07 Jan Hubicka <jh@suse.cz>
c48d6750
JH
9854
9855 * i386.md (sse2_nandv2di3): Fix.
9856
5e062767
DS
98572003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
9858
9859 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
9860 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
9861 definition.
9862 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
9863 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
9864
62c9aa5f 98652003-02-07 Jan Hubicka <jh@suse.cz>
3f755ed0
JH
9866
9867 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
9868
0816bcd2
DB
98692003-02-07 Daniel Berlin <dberlin@dberlin.org>
9870
9871 * cfg.c (dump_flow_info): Add back accidently deleted line.
9872
7bf0a593
AP
98732003-02-07 Andrey Petrov <petrov@netbsd.org>
9874
9875 * optabs.c (expand_float): Search wider integer modes first.
9876
01e4596e
BW
98772003-02-07 Bob Wilson <bob.wilson@acm.org>
9878
9879 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
9880 based on preprocessor flag.
9881
fbef91d8
RS
98822003-02-07 Roger Sayle <roger@eyesopen.com>
9883 Richard Henderson <rth@redhat.com>
9884
9885 * gcse.c (implicit_sets): New.
9886 (compute_hash_table_work): Include them in hash table.
9887 (find_implicit_sets, fis_get_condition): New.
9888 (one_cprop_pass): Allocate and free implicit_sets; call
9889 find_implicit_sets before building hash table.
9890
6713831e
JT
98912003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
9892
9893 * config/t-netbsd (USER_H): Revert previous change.
9894
10d2dbe2
GG
98952003-02-07 Gabor Greif <ggreif@lucent.com>
9896
9897 * doc/c-tree.texi (Namespaces): Fix typo.
9898
62c9aa5f 98992003-02-07 Jan Hubicka <jh@suse.cz>
d1d3c9a6
JH
9900
9901 * regrename.c (do_replace, find_oldest_value_reg,
9902 copyprop_hardreg_forward_1): Update register attributes.
9903
1b1f249d
VM
99042003-02-06 Vladimir Makarov <vmakarov@redhat.com>
9905
9906 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
9907 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
9908 variables starting with underscore.
9909 (struct unit_usage): New structure.
9910 (unit_usages, cycle_alt_unit_usages): New global variables.
9911 (check_unit_distribution_in_reserv): Remove it.
9912 (store_alt_unit_usage): New function.
9913 (check_regexp_units_distribution): Rewrite it.
9914
90330d31
JDA
99152003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9916
9917 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
9918 target_cpu_default.
9919 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
9920 if not MASK_NO_SPACE_REGS.
9921 (output_call): Adjust return pointer, don't load new space register
9922 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
9923 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
9924 TARGET_NO_SPACE_REGS is true.
9925 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
9926 conditions.
9927 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
9928 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
9929 true. Use bve when TARGET_64BIT is true.
9930
d1164330
RH
99312003-02-06 Richard Henderson <rth@redhat.com>
9932
9933 * combine.c (nonzero_bits): Fix double break.
9934
5fbf0217 99352003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 9936 Richard Henderson <rth@redhat.com>
5fbf0217
EB
9937
9938 PR c/9530
9939 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
9940 from functions that return a float to functions that don't.
9941
62c9aa5f 99422003-02-06 Jan Hubicka <jh@suse.cz>
8f62128d
JH
9943
9944 * i386.c (x86_inter_unit_moves): New variable.
9945 (ix86_secondary_memory_needed): Fix 64bit case, honor
9946 TARGET_INTER_UNIT_MOVES
9947 * i386.h (x86_inter_unit_moves): Declare.
9948 (TARGET_INTER_UNIT_MOVES): New macro.
9949 * i386.md (movsi_1): Cleanup constraints; disable
9950 when not doing inter-unit moves.
9951 (movsi_1_nointernunit): New.
9952 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
9953 (movdi_1_rex64_nointerunit): New.
9954 (mivsf_1): disable when not doing inter-unit moves.
9955 (movsf_1_nointerunit): New.
9956
9957 * basic-block.h (inside_basic_block_p): Declare.
9958 * cfgbuild.c (inside_basic_block_p): Make global.
9959 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
9960 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
9961 update CFG.
9962 (fix_basic_block_boundaries, add_missing_bbs): New.
9963 (rank): Use profile.
9964 (scheudle_ebbs): Rely on CFG; update coments.
9965
476d9098
GK
99662003-02-05 Geoffrey Keating <geoffk@apple.com>
9967
9968 * Makefile.in (host_hook_obj): New.
9969 (OBJS): Add $(host_hook_obj).
9970 (host_default.o): New rule.
9971 * config.gcc (host_hook_obj): New, default to host-default.o.
9972 (powerpc-*-darwin*): Use host-darwin.o.
9973 (out_host_hook_obj): New.
9974 * configure: Regenerate.
9975 * configure.in: Print information about out_host_hook_obj, substitute
9976 into output files.
9977 * host-default.c: New file.
9978 * hosthooks.h: New file.
9979 * toplev.c (general_init): Call host_hooks.extra_signals.
9980 * config/rs6000/host-darwin.c: New file.
9981 * config/rs6000/x-darwin: New file.
9982 * doc/hostconfig.texi: Add documentation for new host hook.
9983 Rearrange existing documentation.
9984
69bd9368
RS
99852003-02-05 Roger Sayle <roger@eyesopen.com>
9986
9987 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
9988 with *targetm.delegitimize_address.
9989 (rtl_for_decl_location): Likewise.
9990 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
9991 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
9992
9993 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
9994 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
9995 prototype.
9996 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
9997 i386_simplify_dwarf_addr. Made static. Prototyped.
9998 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
9999 i386_simplify_dwarf_addr to ix86_delegitimize_address.
10000 (ix86_find_base_term): Likewise.
10001 (maybe_get_pool_constant): Likewise.
10002
10003 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
10004 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
10005 prototype.
10006 * config/s390/s390.c (s390_delegitimize_address): Renamed from
10007 s390_simplify_dwarf_addr. Made static. Prototyped.
10008 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
10009
7127fd58
RH
100102003-02-05 Richard Henderson <rth@redhat.com>
10011
8dde7a2c 10012 PR c/8602
3963c2e0
ZW
10013 * integrate.c (output_inline_function): Reset input_filename
10014 and lineno from the decl before rest_of_compilation.
7127fd58 10015
7dba8395
RH
100162003-02-05 Richard Henderson <rth@redhat.com>
10017
10018 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
10019 (CTZ_DEFINED_VALUE_AT_ZERO): New.
10020 * doc/rtl.texi, doc/tm.texi: Document them.
10021
10022 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
10023 of the value at zero properly.
10024 * fold-const.c (tree_expr_nonnegative_p): Likewise.
10025 * simplify-rtx.c (simplify_unary_operation): Likewise.
10026
10027 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
10028 (CTZ_DEFINED_VALUE_AT_ZERO): New.
10029
10030 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
10031 (TARGET_EXPAND_BUILTIN): Remove.
10032 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
10033 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
10034 (enum arm_builtins): Remove.
10035 * config/arm/arm.md (UNSPEC_CLZ): Remove.
10036 (clzsi2): Rename from clz; use clz instead of unspec.
10037 (ctzsi2): New.
10038 * config/arm/arm-protos.h: Update.
10039
62c9aa5f 100402003-02-05 Jan Hubicka <jh@suse.cz>
8d705469
JH
10041
10042 * i386-protos.h (x86_emit_floatuns): Declare.
10043 * i386.c (x86_emit_floatuns): New global function.
10044 * i386.md (floatunssisf2, floatunsdisf2,
10045 floatunsdidf2): New patterns.
10046
bc810602
ZD
100472003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10048
10049 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
10050
07938cec
HB
100512003-02-05 Hans Boehm <Hans.Boehm@hp.com>
10052
10053 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
10054 config/ia64/linux.h
10055
c876997f 100562003-02-05 Roger Sayle <roger@eyesopen.com>
ca9398d1
RS
10057
10058 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
10059
4f6ae35d
JJ
100602003-02-05 Jakub Jelinek <jakub@redhat.com>
10061
10062 PR optimization/8555
10063 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
10064 instead of aborting.
10065
8acfdd43
RH
100662003-02-04 Richard Henderson <rth@redhat.com>
10067
10068 * config/i386/i386.md (UNSPEC_BSF): Remove.
10069 (ffssi2): Split into cmove and no_cmove insns and splitters;
10070 lose pentium float trick for now.
10071 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
10072 (ctzsi2, clzsi2, bsr): New.
10073
c407570a
RH
100742003-02-04 Richard Henderson <rth@redhat.com>
10075
10076 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
10077 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
10078 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
10079 (ffsdi2): Use popcount instead of unspec.
10080 (popcountdi2): Rename from *popcnt.
10081 (ctzdi2, clzdi2, getf_exp_tf): New.
10082
4b3cf522
KH
100832003-02-04 Kazu Hirata <kazu@cs.umass.edu>
10084
10085 * genconfig.c (main): Generate CC0_P.
10086 * rtl.h (CC0_P): Remove.
10087
dfff898c
RH
100882003-02-04 Richard Henderson <rth@redhat.com>
10089
10090 * libgcc2.h, libgcc2.c (__ffsSI2): New.
10091 (__ffsDI2): Rename from __ffsdi2.
10092 * mklibgcc.in (lib2funcs): Add _ffssi2.
10093
0c9ed856
RH
100942003-02-04 Richard Henderson <rth@redhat.com>
10095
10096 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
10097 rounds with a "bit table" lookup.
10098
9537511b
UW
100992003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10100
10101 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 10102 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
10103 reloads for operands where a mandatory reload was already pushed.
10104
1efd0b97
RH
101052003-02-04 Richard Henderson <rth@redhat.com>
10106
10107 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
10108 builtins instead of inline assembly.
10109
087fc75a 101102003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 10111
087fc75a
FH
10112 PR c/9376
10113 * libgcc2.c (__subvdi3): Fix typo.
10114
62c9aa5f 101152003-02-04 Jan Hubicka <jh@suse.cz>
f0f0d98e
JH
10116
10117 * i386.md (movti_rex64): Fix constraint.
10118
62c9aa5f 101192003-02-04 Jan Hubicka <jh@suse.cz>
09f26fb5
JH
10120
10121 * i386.md (vector push splitters): Fix typo in resolving conflict.
10122
ff6e2d3e
RB
101232003-02-04 Rodney Brown <rbrown64@csc.com.au>
10124
10125 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
10126
9e80ada7
PE
101272003-02-04 Phil Edwards <pme@gcc.gnu.org>
10128
10129 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
10130 for recent libstdc++. Remove formatting cruft.
10131
79c758fb
JJ
101322003-02-04 Jakub Jelinek <jakub@redhat.com>
10133
10134 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
10135 attribute even if input file name is absolute, but one of the
10136 includes is relative.
10137
b3a8389d
JM
101382003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
10139
10140 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
10141 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
10142 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
10143
dabb3f04
RH
101442003-02-03 Richard Henderson <rth@redhat.com>
10145
10146 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
10147 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
10148 return type to "int". Shuffle declarations and undef int trap.
10149 * libgcc2.h: Remove their declarations.
10150 * optabs.c (expand_unop): Force outmode to int for bitops.
10151
985d0d50
BW
101522003-02-03 Bob Wilson <bob.wilson@acm.org>
10153
10154 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
10155 coprocessor registers before floating-point registers.
10156 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
10157 to account for a previously removed register.
10158 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
10159 Delete unused macros.
10160
62c9aa5f 101612003-02-03 Jan Hubicka <jh@suse.cz>
7f0e57bd
JH
10162
10163 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
10164 (mov*_internal): Fix predicates; require one of operands to not be
10165 memory.
10166 (SSE?MMX move expanders): Fix predicates; force one of operands to
10167 register.
10168 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
10169 (movups/movupd/movdqu patterns): Force one of operands to not be
10170 memory.
10171
c876997f 101722003-02-03 Roger Sayle <roger@eyesopen.com>
7daebb7a
RS
10173
10174 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
10175 takes a single rtx and returns it unmodified.
10176 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 10177 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
10178 field to target structure.
10179 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
10180 for delegitimize_address target using hook_rtx_rtx_identity.
10181 (TARGET_INITIALIZER): Initialize delegitimize_address field
10182 using TARGET_DELEGITIMIZE_ADDRESS macro.
10183 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
10184 extensions of constant pool references. Use delegitimize_address
10185 to undo the obfuscation of "-fpic".
10186 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
10187
10188 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
10189 i386_simplify_dwarf_addr.
10190 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
26182e15 10191 (maybe_get_pool_constant): Likewise.
7daebb7a 10192
62c9aa5f 101932003-02-03 Jan Hubicka <jh@suse.cz>
84520a20
JH
10194
10195 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
10196
62c9aa5f 101972003-02-03 Jan Hubicka <jh@suse.cz>
035b2a34
JH
10198
10199 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
10200
1f143d5a
KG
102012003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10202
10203 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
10204 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
10205
4b550d9f
AS
102062003-02-02 Andreas Schwab <schwab@suse.de>
10207
10208 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
10209
0732a089
RE
102102003-02-02 Richard Earnshaw <rearnsha@arm.com>
10211
10212 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
10213 (epilogue_insns): Likewise.
10214
f269f54f
JDA
102152003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10216
10217 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
10218
611ad29e
JDA
102192003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10220
10221 * pa-protos.h (attr_length_millicode_call): Remove second argument.
10222 (attr_length_indirect_call, attr_length_indirect_call,
10223 attr_length_save_restore_dltp): New prototypes.
10224 * pa.c (attr_length_millicode_call): Remove second argument. Check
10225 INSN_ADDRESSES_SET_P in distance calculation.
10226 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
10227 INSN_ADDRESSES.
10228 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
10229 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
10230 Call attr_length_call directly.
10231 (attr_length_indirect_call, output_indirect_call,
10232 attr_length_save_restore_dltp): New functions.
10233 * pa.md (attr_length_millicode_call): Drop second argument from all
10234 patterns.
10235 (return_internal_pic): Delete.
10236 (return_external_pic): Remove use of PIC register and pic operand and
10237 flag checks.
10238 (epilogue): Use return_internal for both normal and pic code.
10239 (call, call_value): Emit new 32-bit pic patterns for symref and
10240 indirect calls. Remove uses for arg pointer and pic register.
10241 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
10242 call_reg_pic_post_reload, call_val_symref_pic,
10243 call_val_symref_pic_post_reload, call_val_reg_pic,
10244 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
10245 Implement define_split and define_peephole2 patterns for pre reload
10246 patterns.
10247 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
10248 call_value_internal_reg_64bit): Shorten names.
10249 (all call patterns): Explicitly indicate registers used and clobbered.
10250 Use attr_length_indirect_call and attr_length_save_restore_dltp for
10251 attribute length calculation. Move code generation for indirect calls
10252 to output_indirect_call.
10253 (sibcall, sibcall_value): Don't restore PIC register.
10254 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
10255 register retore.
10256
8cacda7c
GP
102572003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10258
10259 * doc/install.texi (Testing): Simplify and compress instructions
10260 concerning Dejagnu.
10261
cbc158bb
JDA
102622003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10263
10264 * collect2.c (pexecute_pid): Rename to pid.
10265 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
10266 pid.
10267
dcef1843
GK
102682003-02-01 Geoffrey Keating <geoffk@apple.com>
10269
10270 * doc/extend.texi (Function Attributes): Remove documentation
10271 for PowerPC Windows NT function attributes..
10272
5d7bed9d
DJ
102732003-02-01 Daniel Jacobowitz <drow@mvista.com>
10274
10275 * dwarf2out.c (gen_type_die): Check for typedefs before calling
10276 for TYPE_MAIN_VARIANT.
10277
53585c36
RH
102782003-02-01 Richard Henderson <rth@redhat.com>
10279
10280 * libgcc2.c: Include auto-host.h.
10281 (ATTRIBUTE_HIDDEN): New.
10282 (__clz_tab): Don't declare here for clz and ctz.
10283 (__clzsi2, __clzdi2): Use count_leading_zeros.
10284 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
10285 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
10286 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
10287 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
10288
bc8a6d63
RH
102892003-02-01 Richard Henderson <rth@redhat.com>
10290
10291 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
10292 to the conditional.
10293 (ashlsi3_1_zext splitter): Likewise.
10294
2928cd7a
RH
102952003-02-01 Richard Henderson <rth@redhat.com>
10296
10297 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
10298 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
10299 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
10300 return type to Wtype.
10301
10302 * libgcc-std.ver (GCC_3.4): Fix inheritance.
10303
10304 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
10305 expander input constraint.
10306
103072003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10308
ff6e2d3e
RB
10309 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
10310 OTI_parity.
10311 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
10312 * optabs.c (widen_clz, expand_parity): New.
10313 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
10314 for libcalls to clz, ctz, popcount, and parity.
10315 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
10316 parity_optab, and set up libfunc handlers.
10317 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
10318 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
10319 __popcount_tab): New.
10320 * libgcc2.h: Declare them.
10321 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
10322 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
10323 and parity_optab.
10324 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
10325 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
10326 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
10327 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
10328 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
10329 BUILT_IN_PARITYLL): New.
10330 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
10331 and add optab argument.
10332 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
10333 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
10334 * expr.c (expand_expr): Handle them.
10335 * fold-const.c (tree_expr_nonnegative_p): Likewise.
10336 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
10337 * reload1.c (eliminate_regs): Handle them.
10338 (elimination_effects): Likewise.
10339 * function.c (instantiate_virtual_regs_1): Likewise
10340 * genattrtab.c (check_attr_value): Likewise.
10341 * simplify-rtx.c (simplify_unary_operation): Likewise.
10342 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
10343 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
10344 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
10345 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
10346 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
10347 __builtin_arm_clz.
10348 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
10349 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
10350 * doc/extend.texi (Other Builtins): Add new builtins.
10351 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 10352
112f7223
UW
103532003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
10354
10355 * reload.c: Revert 2003-01-31 change.
10356
62c9aa5f 103572003-02-01 Jan Hubicka <jh@suse.cz>
434c87d4
JH
10358
10359 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
10360
271bd540
RS
103612003-02-01 Richard Sandiford <rsandifo@redhat.com>
10362
10363 * flags.h (flag_volatile): Remove declaration.
10364 (flag_volatile_global, flag_volatile_static): Likewise.
10365 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
10366 * toplev.c (flag_volatile): Remove definition.
10367 (flag_volatile_global, flag_volatile_static): Likewise.
10368 (f_options): Remove corresponding entries here.
10369 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
10370 or flag_volatile_static.
10371 * doc/invoke.texi: Remove documentation of -fvolatile,
10372 -fvolatile-global and -fvolatile-static.
10373
17e6098e
JDA
103742003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10375
10376 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
10377 updating of total_code_bytes from prologue to epilogue.
10378
2f278625
UW
103792003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
10380
10381 * reload.c (find_reloads): Do not use the mode specified in the insn
10382 pattern as reload mode for address operands. Do not generate optional
10383 reloads for operands where a mandatory reload was already pushed.
10384 Generate optional reloads only in the final pass though find_reloads.
10385 (have_replacement_p): New function.
10386
05c425a9
GP
103872003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10388
10389 * doc/install.texi (Testing): Remove a reference to our obsolete
10390 /testresults web pages and strip redundant information concerning
10391 test results.
10392 (Binaries): Refer to Microsoft Windows instead of listing all
10393 possible variants.
10394
62c9aa5f 103952003-02-01 Jan Hubicka <jh@suse.cz>
b0c42aed
JH
10396
10397 * loop.c (emit_prefetch_instructions): Do conversion at right place in
10398 RTL chain.
10399
10400 * combine.c (simplify_set): Reverse order of ragumetns to
10401 REG_CANNOT_CHANGE_MODE_P
10402 * df.c (df_def_record_1): Likewise.
10403 * recog.c (register_operand): Likewise.
10404 * simplify-rtx.c (simplify_subreg): Likewise.
10405 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
10406 CANNOT_CHANGE_MODE_CLASS.
10407 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
10408 Likewise.
10409 * reload.c (push_reload): Likewise.
10410 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10411 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10412 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10413 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
10414 * mips.c (mips_cannot_change_mode_class): Update.
10415 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10416 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10417 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10418 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10419 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
10420 * sh.c (sh_cannot_change_mode_class): Update.
10421 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
10422 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
10423
1f61a15d
GK
104242003-01-31 Geoffrey Keating <geoffk@apple.com>
10425
10426 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
10427 change to LINK_COMMAND_SPEC in gcc.c.
10428
7c712dcc
LR
104292003-01-31 Jan Hubicka <jh@suse.cz>
10430
10431 PR c/9506
10432 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
10433
e137391e
JDA
104342003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10435
10436 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
10437 duplicated code.
10438
1824b90d
NS
104392003-01-31 Nathan Sidwell <nathan@codesourcery.com>
10440
10441 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
10442 (BINFO_ELTS): New #define.
10443 * stor-layout.c (finalize_record_size): Don't set them.
10444 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
10445 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
10446 (BINFO_LANG_ELTS): New #define.
10447 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
10448 * java/class.c (make_class): Use BINFO_ELTS.
10449 (set_super_info): Likewse.
10450 (add_interface_do): Likewise.
10451 * objc/objc-act.c (start_class): Use BINFO_ELTS.
10452
8f9a402c
DS
104532003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
10454
10455 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
10456 (times): Don't ever declare if not HAVE_TIMES.
10457 (clock): Don't ever declare if not HAVE_CLOCK.
10458
cdd1f01b
RH
104592003-01-30 Richard Henderson <rth@redhat.com>
10460
10461 * flow.c (update_life_info): Zap life info after cleanup_cfg.
10462 (regno_uninitialized): Use correct live at function entry set.
10463 (regno_clobbered_at_setjmp): Likewise.
10464
10465 * expr.c (store_expr): Promote all MEM intermediates to regs.
10466
6bc82793
KH
104672003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10468
10469 * config/arm/arm.c: Fix comment typos.
10470 * config/arm/arm.h: Likewise.
10471 * config/arm/netbsd-elf.h: Likewise.
10472 * config/arm/netbsd.h: Likewise.
10473
f099d360
GK
104742003-01-30 Geoffrey Keating <geoffk@apple.com>
10475
10476 * gengtype.c (struct walk_type_data): Add needs_cast_p.
10477 (walk_type): Set needs_cast_p in walk_type_data.
10478 (write_types_process_field): Supply casts when required to suppress
10479 warnings.
10480 (write_root): Cast gt_pch_n_S to suppress warning.
10481 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
10482 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
10483 when they might exist.
10484 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
10485 insn-conditions.o, and rs6000.o.
10486
52895e1a
RH
104872003-01-30 Richard Henderson <rth@redhat.com>
10488
10489 * ggc-page.c (G.context_depth_allocations): New.
10490 (G.context_depth_collections): New.
10491 (alloc_page): Set G.context_depth_allocations.
10492 (ggc_collect): Set G.context_depth_collections.
10493 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
10494 (ggc_pop_context): Early exit for no allocations or collections.
10495
c35c7e52
RH
104962003-01-30 Richard Henderson <rth@redhat.com>
10497
10498 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
10499
e43dd89d
RE
105002003-01-30 Richard Earnshaw <rearnsha@arm.com>
10501
10502 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
10503 size, the link register is always saved if any other register is
10504 saved.
10505
87a902e4
KH
105062003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10507
10508 * config/h8300/h8300-protos.h: Update the prototype for
10509 compute_plussi_cc.
10510 (cpp_reader): Declare before it is used.
10511 * config/h8300/h8300.c (compute_plussi_cc): Change the return
10512 type to int.
10513 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
10514 see an unknown H8 variant.
10515
105162003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 10517
ff6e2d3e 10518 PR target/9316
0186a143
RC
10519 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
10520 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
10521 * config/rs6000/t-rtems: New file. multilib variants to match OS.
10522 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
10523 rs6000/t-ppcgas so we get the desired multilibs.
10524
f55d7103
NC
105252003-01-30 Nick Clifton <nickc@redhat.com>
10526
10527 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
10528 when popping saved IP register off the stack.
10529
b6d08ca1
KH
105302003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10531
10532 * config/rs6000/aix43.h: Fix comment typos.
10533 * config/rs6000/aix51.h: Likewise.
10534 * config/rs6000/aix52.h: Likewise.
10535 * config/rs6000/altivec.h: Likewise.
10536 * config/rs6000/rs6000.c: Likewise.
10537 * config/rs6000/rs6000.h: Likewise.
10538 * config/rs6000/rs6000.md: Likewise.
10539 * config/rs6000/spe.md: Likewise.
10540
14d22dd6
MM
105412003-01-29 Mark Mitchell <mark@codesourcery.com>
10542
10543 * c-common.c (builtin_define_float_constants): Define
10544 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
10545
825db093
KH
105462003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10547
10548 * config/sh/lib1funcs.asm: Fix comment typos.
10549 * config/sh/linux.h: Likewise.
10550 * config/sh/sh.c: Likewise.
10551 * config/sh/sh.md: Likewise.
10552
f1d5271a
LR
105532003-01-30 Loren James Rittle <ljrittle@acm.org>
10554
10555 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
10556
266a9ef1
AO
105572003-01-30 Alexandre Oliva <aoliva@redhat.com>
10558
10559 * config/fp-bit.h (__make_dp): Declare if TMODES.
10560
0889116d
KH
105612003-01-29 Kazu Hirata <kazu@cs.umass.edu>
10562
10563 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
10564 general_operand_src and general_operand_dst.
10565
c8c99a68
DE
105662003-01-29 David Edelsohn <edelsohn@gnu.org>
10567
10568 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
10569 Return true for variable sized types.
10570 (rs6000_va_arg): Handle variable sized types passed by reference
10571 on non-SVR4 ABI.
10572
ccf4d512
RE
105732003-01-29 Richard Earnshaw <rearnsha@arm.com>
10574
10575 * arm.c (arm_legtimize_address): New function.
10576 * arm-protos.h (arm_legtimize_address): Add prototype.
10577 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
10578 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
10579 do ... while (0)
10580
0889116d 105812003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 10582
7429b411 10583 PR bootstrap/9296
0680c8fb 10584 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 10585 depended on it being defined until now.
0680c8fb 10586
7429b411 105872003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 10588
7429b411 10589 PR target/9295
c934274a
JS
10590 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
10591 RTEMS code knows which C++ initialization style the toolset
7429b411 10592 configuration is using.
c934274a 10593
0889116d 105942003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 10595
7429b411 10596 PR bootstrap/9293
ff6e2d3e 10597 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 10598 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 10599
0889116d 106002003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 10601
7429b411 10602 PR bootstrap/9292
64abe03e
JS
10603 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
10604 RTEMS threads.
10605 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 10606
2f12fb2b
NC
106072003-01-29 Nick Clifton <nickc@redhat.com>
10608
10609 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
10610 not $(srcdir).
10611
cf0150b9
AH
106122003-01-29 Andrew Haley <aph@redhat.com>
10613
10614 * tree-inline.c (walk_tree): Add CHAR_TYPE.
10615
62c9aa5f 106162003-01-29 Jan Hubicka <jh@suse.cz>
9b74f3ea
JH
10617
10618 * i386.md (subdi3_carry_rex64): Fix typo.
10619
e150159c
SS
106202003-01-28 Stan Shebs <shebs@apple.com>
10621
10622 * coretypes.h (cpp_reader): Forward declare struct.
10623 * c-pragma.h (cpp_reader): Remove forward declaration.
10624 * hashtable.h (cpp_reader): Likewise.
10625 * scan.h (cpp_reader): Likewise.
10626 * tree.h (cpp_reader): Likewise.
10627 * config/darwin-protos.h (cpp_reader): Likewise.
10628 * config/arm/arm-protos.h (cpp_reader): Likewise.
10629 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
10630 struct cpp_reader in prototypes.
10631
53b50ac1
CC
106322003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
10633
10634 * doc/install.texi: Add documentation for installation into
10635 tooldirs and with DESTDIR.
10636
021aa6ed
RH
106372003-01-28 Richard Henderson <rth@redhat.com>
10638
10639 * config.gcc (ia64*-*-aix*): Remove.
10640 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
10641 * config/ia64/unwind-aix.c: Remove file.
10642
c1c1d123
AS
106432003-01-28 Andreas Schwab <schwab@suse.de>
10644
ff6e2d3e
RB
10645 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
10646 register.
10647 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
10648 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
10649 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
10650 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
10651 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
10652 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
10653 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 10654
6d09ef27
RS
106552003-01-28 Richard Sandiford <rsandifo@redhat.com>
10656
10657 * combine.c (nonzero_bits): Fix check for negative divide operands.
10658
1e1bd14e
RH
106592003-01-28 Richard Henderson <rth@redhat.com>
10660
10661 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
10662 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
10663
e37135f7
RH
106642003-01-28 Richard Henderson <rth@redhat.com>
10665
10666 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
10667
75642f32
RH
10668 * config/cris/cris.c (cris_address_cost): Make static.
10669 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
10670 * config/cris/cris.h (ADDRESS_COST): Remove.
10671 * config/cris/cris-protos.h: Update.
10672
e37135f7 106732003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
10674
10675 * regclass.c (init_reg_autoinc): New function.
10676 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 10677 here...
1f80c9ef 10678 (init_regs): to here. Avoids reinitialization for each function,
26182e15 10679 saving compilation time.
1f80c9ef 10680
9fbd3e41
JM
106812003-01-28 Jason Merrill <jason@redhat.com>
10682
10683 * cpplib.h (struct cpp_options): Add warn_deprecated field.
10684 * cppinit.c (cpp_create_reader): Turn it on by default.
10685 * c-opts.c (c_common_decode_option): Set it.
10686 * cpplib.c (do_pragma_once): Only complain about #pragma once
10687 if warn_deprecated is set.
10688
fe352c29 106892003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 10690
1e1bd14e
RH
10691 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
10692 * loop.c (scan_loop): Move movables on -Os rich-register targets.
10693 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 10694
dcefdf67
RH
106952003-01-28 Richard Henderson <rth@redhat.com>
10696
10697 * target.h (targetm.address_cost): New.
10698 * target-def.h (TARGET_ADDRESS_COST): New.
10699 (TARGET_RTX_COSTS): Uncomment. Oops.
10700 * cse.c (address_cost): Use new target hook.
10701 (default_address_cost): New.
10702 * output.h (default_address_cost): Declare.
10703 * hooks.c (hook_int_rtx_0): New.
10704 * hooks.h (hook_int_rtx_0): Declare.
10705 * loop.c (combine_givs_p): Remove if 0 code.
10706 * system.h (ADDRESS_COST): Poison.
10707
10708 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
10709 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
10710 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
10711 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
10712 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
10713 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
10714 config/xtensa/xtensa.c, config/xtensa/xtensa.h
10715 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
10716 (ADDRESS_COST): Remove.
10717
10718 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
10719 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
10720 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
10721 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
10722 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
10723 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
10724 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
10725 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 10726 config/mips/mips.c, config/mips/mips.h,
dcefdf67 10727 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 10728 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
10729 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
10730 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
10731 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
10732 config/vax/vax.c, config/vax/vax.h
10733 (foo_address_cost): Make static.
10734 (TARGET_ADDRESS_COST): New.
10735 (ADDRESS_COST): Remove.
10736
10737 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
10738 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
10739 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
10740 config/stormy16/stormy16.h
10741 (ADDRESS_COST): Move code ...
10742 (foo_address_cost): ... here.
10743 (TARGET_ADDRESS_COST): New.
10744
10745 * config/m32r/m32r.c (m32r_address_cost): Remove.
10746 * config/m32r/m32r-protos.h: Update.
10747
10748 * config/mmix/mmix.c (mmix_address_cost): Remove.
10749 * config/mmix/mmix-protos.h: Update.
10750
10751 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
10752 mn10300_address_cost; move unsig allocation ...
10753 (mn10300_address_cost): ... here.
10754 (TARGET_ADDRESS_COST): New.
10755 * config/mn10300/mn10300-protos.h: Update.
10756 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
10757
75642f32
RH
10758 * doc/tm.texi: Update.
10759
58fb7809
VM
107602003-01-28 Vladimir Makarov <vmakarov@redhat.com>
10761
10762 * haifa-sched.c (schedule_insn): Return necessary cycle advance
10763 after issuing the insn.
10764 (rank_for_schedule): Make a insn with /S the highest priority
10765 insn.
10766 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
10767 (choose_ready): Check SCHED_GROUP_P.
10768 (schedule_block): Advance cycle after issuing insn if it is
10769 necessary. Don't reorder insns if there is an insn with /S.
10770 (set_priorities): Ignore schedule groups.
10771
10772 * sched-deps.c (remove_dependence, group_leader): Remove the
10773 functions.
10774 (add_dependence): Ignore schedule groups.
10775 (set_sched_group_p): Don't make copy of dependencies from previous
10776 insn of the schedule group. Add anti-dependency to the previous
10777 insn of the schedule group.
10778 (compute_forward_dependences): Ignore schedule groups.
10779
10780 * sched-ebb.c (init_ready_list): Ignore schedule groups.
10781
10782 * sched-rgn.c (init_ready_list): Ditto.
10783 (can_schedule_ready_p): Ditto.
ff6e2d3e 10784
371c988b
VM
107852003-01-28 Vladimir Makarov <vmakarov@redhat.com>
10786
10787 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
10788 register to another one.
10789
40cdfd5a
RH
107902003-01-28 Richard Henderson <rth@redhat.com>
10791
10792 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
10793
a77b7e32
RS
107942003-01-28 Roger Sayle <roger@eyesopen.com>
10795
10796 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
10797
3620944c
RS
107982003-01-28 Richard Sandiford <rsandifo@redhat.com>
10799
10800 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
10801 class contains a floating-point register, return the size of the
10802 mode in half words.
10803
62c9aa5f 108042003-01-28 Jan Hubicka <jh@suse.cz>
e6e81735 10805
26182e15
SB
10806 * i386.c (ix86_carry_flag_operator): New predicate.
10807 (fcmov_operator): Fix whitespace.
10808 (ix86_expand_carry_flag_compare): Deal with floating point.
10809 (ix86_expand_int_movcc): Deal with fp; update insn expansion
10810 (ix86_expand_int_addcc): Likewise.
10811 (ix86_expand_strlensi_unroll_1): likewsie.
10812 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
10813 * i386.md (add?i_carry_rex64): Use new predicate.
10814 (sub?i3_carry_rex64): Likewise.
10815 (x86_mov?icc_0_m1*): Likewise.
e6e81735 10816
43196589
AS
108172003-01-28 Andreas Schwab <schwab@suse.de>
10818
32214c32
AS
10819 * cfgloopmanip.c (create_preheader): Initialize src to avoid
10820 warning.
10821
10822 * expmed.c (emit_store_flag): Fix cast to avoid sign
10823 comparison warning.
10824
43196589
AS
10825 * combine.c (force_to_mode): Add cast to fix warning when
10826 STORE_FLAG_VALUE is negative.
10827
3c50106f
RH
108282003-01-27 Richard Henderson <rth@redhat.com>
10829
10830 * Makefile.in (cse.o): Depend on TARGET_H.
10831 * cse.c (rtx_cost): Use targetm.rtx_costs.
10832 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
10833 * doc/tm.texi: Update.
ff6e2d3e 10834
3c50106f
RH
10835 * target.h (targetm.rtx_costs): New.
10836 * target-def.h (TARGET_RTX_COSTS): New.
10837 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
10838 * hooks.h: Update.
10839
10840 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
10841 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
10842 * config/alpha/alpha.h (PROCESSOR_MAX): New.
10843 (CONST_COSTS, RTX_COSTS): Remove.
10844
10845 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
10846 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
10847 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
10848 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
10849 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
10850 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
10851 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
10852 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
10853 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
10854 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
10855 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
10856 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
10857 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
10858 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
10859 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
10860 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
10861 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
10862 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
10863 config/v850/v850.c, config/v850/v850.h,
10864 config/xtensa/xtensa.c, config/xtensa/xtensa.h
10865 (CONST_COSTS, RTX_COSTS): Move code ...
10866 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
10867
10868 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
10869 (arm_rtx_costs, TARGET_RTX_COSTS): New.
10870 * config/arm/arm-protos.h: Update.
10871 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
10872
10873 * config/avr/avr.h (CONST_COSTS): Move code ...
10874 * config/avr/avr.c (avr_rtx_costs): ... here.
10875 (default_rtx_costs): Make static.
10876 * config/avr/avr-protos.h: Update.
10877
10878 * config/h8300/h8300.c (const_costs): Make static.
10879 (h8300_and_costs, h8300_shift_costs): Likewise.
10880 * config/h8300/h8300-protos.h: Update.
10881
10882 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
10883 (CONST_COSTS): Move code ...
10884 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
10885 default_rtx_costs; update for signature change.
10886 * config/ip2k/ip2k-protos.h: Update.
10887
10888 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
10889 (CONST_COSTS): Move code ...
10890 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
10891 (TARGET_RTX_COSTS): New.
10892 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
10893 * config/m68hc11/m68hc11-protos.h: Update.
10894
10895 * config/m68k/m68k.c (const_int_cost): Make static.
10896 * config/m68k/m68k-protos.h: Update.
10897
10898 * config/mcore/mcore.c (mcore_const_costs): Make static.
10899 (mcore_and_cost, mcore_ior_cost): Likewise.
10900 * config/mcore/mcore-protos.h: Update.
10901
10902 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
10903 (mmix_rtx_cost_recalculated): Remove.
10904 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
10905 * config/mmix/mmix-protos.h: Update.
10906
10907 * config/sh/sh.c (shiftcosts): Make static.
10908 (addsubcosts, andcosts, multcosts): Likewise.
10909 * config/sh/sh-protos.h: Update.
10910
10911 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
10912 (sparc_rtx_costs): Make static; update for change in signature.
10913 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
10914 * config/sparc/sparc-protos.h: Update.
10915
10916 * config/v850/v850.c (const_costs): Make static.
10917 * config/v850/v850-protos.h: Update.
10918
10919 * config/vax/vax.h (RTX_COSTS): Remove.
10920 (CONST_COSTS): Move code ...
10921 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
10922 from vax_rtx_cost.
10923 (vax_rtx_costs, TARGET_RTX_COSTS): New.
10924
b9962e0a
RH
109252003-01-27 Richard Henderson <rth@redhat.com>
10926
10927 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 10928 * config/vax/vax-protos.h: Update. Really.
b9962e0a 10929
8a381273
AO
109302003-01-28 Alexandre Oliva <aoliva@redhat.com>
10931
10932 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
10933 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
10934 zero if no hardware floating point.
10935 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
10936 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
10937 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
10938 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
10939 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
10940 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
10941 even FP registers on N32 and N64.
10942 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
10943 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
10944 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
10945 even-register-like alignment to 128-bit arguments.
10946 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
10947 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
10948 on N32 or N64.
10949 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
10950 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
10951 (TPBIT): Set to tp-bit.c.
10952 (tp-bit.c): Create out of fp-bit.c.
10953
820e01be
GDR
109542003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
10955
10956 * c-parse.in: Remove '%expect 32' directive in objc mode.
10957
23af32e6
NS
109582003-01-27 Nathan Sidwell <nathan@codesourcery.com>
10959
10960 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
10961 (LIBGCOV): New variable.
10962 (libgcc.mk): Add LIBGCOV.
10963 (LIBGCC_DEPS): Add libgcov.c.
10964 (libgcov.a): New target.
10965 (clean): Remove libgcov.a.
10966 (install-libgcc): Do libgcov too.
10967 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
10968 with libgcov.a.
10969 * libgcc2.c (L_gcov): Move into ...
10970 * libgcov.c: ... here. New file.
10971 * mklibgcc.in: Add libgcov rules.
10972 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
10973
10974 * doc/invoke.texi (profile-arcs, test-coverage): Update and
10975 clarify.
ff6e2d3e 10976
23af32e6
NS
10977 * profile.c (index_counts_file): Remove duplicate check for open file.
10978
9fe42917 109792003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
10980
10981 * gcc/doc/invoke.texi (Optimization Options): Group together
10982 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 10983 out of this section. Group floating point flags together.
d4463dfc
JQ
10984 (Code Gen Options): Move trapv and bounds-check to here.
10985
244d05fb
JZ
109862003-01-27 Josef Zlomek <zlomekj@suse.cz>
10987
10988 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
10989
c552c146
RE
109902003-01-27 Richard Earnshaw <rearnsha@arm.com>
10991
10992 PR optimization/9090
10993 * function.c (purge_addressof_1): After pushing an addressed register
10994 onto the stack, simplify the result.
10995
90a21764
VR
109962003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10997
10998 * doc/extend.texi: Fix typo.
10999
9a376494
VR
110002003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11001
11002 * doc/cppopts.texi: Fix typo.
11003 * doc/objc.texi: Likewise.
11004 * doc/passes.texi: Likewise.
11005
f004e5f3
AO
110062003-01-27 Alexandre Oliva <aoliva@redhat.com>
11007
11008 * real.c (ibm_extended_format): Add 53 to minimum exponent.
11009 (encode_ibm_extended): Adjust.
11010
58c60e52
GDR
110112003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
11012
11013 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
11014 timevar_id enumerations.
11015
e869aa39
KH
110162003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11017
11018 * combine.c: Fix formatting.
11019
74fb4811
KH
110202003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11021
11022 * doc/gccint.texi: Update the copyright.
11023
3bcf1b13
KH
110242003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11025
11026 * doc/cpp.texi: Fix typos.
11027 * doc/extend.texi: Likewise.
11028 * doc/gty.texi: Likewise.
11029 * doc/install.texi: Likewise.
11030 * doc/passes.texi: Likewise.
11031 * doc/rtl.texi: Likewise.
11032 * doc/tm.texi: Likewise.
11033
9e4f94de
KH
110342003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11035
11036 * config/ia64/fde-glibc.c: Fix comment typos.
11037 * config/ia64/hpux.h: Likewise.
11038 * config/ia64/ia64.c: Likewise.
11039 * config/ia64/ia64.h: Likewise.
11040 * config/ia64/unwind-ia64.c: Likewise.
11041
4aae8a9a
KH
110422003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11043
11044 * config/i386/i386-modes.def: Fix comment typos.
11045 * config/i386/i386.c: Likewise.
11046 * config/i386/i386.md: Likewise.
11047
35d8c8e2
SB
110482003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
11049
11050 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
11051 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
11052 ASM_FINISH_DECLARE_OBJECT before defining it.
11053 * toplev.c (rest_of_decl_compilation): Don't define
11054 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
11055 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
11056 parameters for DWARF2 targets because they _are_ used.
11057
ea976606
AO
110582003-01-26 Alexandre Oliva <aoliva@redhat.com>
11059
b44cf3d9
AO
11060 * fp-bit.h: Define macros for TFmode floating-point constants
11061 in IBM-extended TFmode types.
11062 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
11063 widths.
11064 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
11065 TFmode type.
11066
ea976606
AO
11067 * config/fp-bit.h: Define macros for TFmode floating-point
11068 constants in IEEE quad TFmode type. Declare functions according
11069 to L_ macros.
11070 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
11071 (TFtype, TItype, UTItype): Define if TMODES is defined.
11072 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
11073 (F_T_BITOFF, D_T_BITOFF): Define.
11074 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
11075 guaranteed to be wide enough.
11076 * config/fp-bit.c: Check for L_ macros for tf functions.
11077 (__thenan_tf): New.
11078 (nan): Adjust.
11079 (pack_d, unpack_d): Support IEEE 854 quad type.
11080 (_fpmul_parts): Support TFmode. Compute exponent adjustment
11081 from FRAC_NBITS, FRAC_BITS and NGARDS.
11082 (usi_to_float): Cast constants to be shifted to fractype
11083 instead of assuming long long is wide enough.
11084 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
11085
fd7fd61e
AJ
110862003-01-26 Andreas Jaeger <aj@suse.de>
11087
11088 * df.c: Remove prototype of unused function df_regno_rtl_debug.
11089
8ae91fc0
AO
110902003-01-26 Alexandre Oliva <aoliva@redhat.com>
11091
88e83acb
AO
11092 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
11093 (DBBIT_FUNCS): Added _df_to_tf.
11094 (TPBIT_FUNCS): New.
11095 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
11096 (LIBGCC_DEPS): Added TPBIT.
11097 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
11098
2cd622c3
AO
11099 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
11100 been able to move the result to target.
11101
8ae91fc0
AO
11102 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
11103 for the appropriate mode.
11104
c3297561
AO
11105 * calls.c (emit_library_call_value_1): Handle return values
11106 in a PARALLEL.
11107
187515f5
AO
11108 * rtl.c (get_mode_alignment): Moved to...
11109 * stor-layout.c: ... here.
11110
6ebd2ef4
AO
11111 * print-rtl.c (print_rtx): Don't print MEM details in
11112 GENERATOR_FILEs.
11113
7890e8f3
MH
111142003-01-26 Michael Hayes <mph@paradise.net.nz>
11115
11116 * df.h: Update comments, tidy formatting.
11117 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
11118 REVERSE, UNION, INTERSECTION. All uses updated.
11119 (OLD_DF_INTERFACE): Remove.
11120 (struct insn_info): Remove commented out insn field.
11121 * df.c: Update comments, tidy formatting.
11122 (df_def_table_realloc): Remove.
11123
11124
b820d2b8
AM
111252003-01-26 Alan Modra <amodra@bigpond.net.au>
11126
11127 * calls.c (save_fixed_argument_area): Tidy.
11128 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
11129 (expand_call): Comment typo fixes. Don't init low_to_save. Start
11130 call chain loop at 1 if !try_tail_call. Formatting.
11131 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
11132 Use save_fixed_argument_area and restore_fixed_argument_area.
11133
42510de4
MH
111342003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11135
11136 * df.c (df_uses_record): Handle CC0.
11137
acf9fa5f
UW
111382003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
11139
1e1bd14e
RH
11140 * reload.c (maybe_memory_address_p): New function.
11141 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 11142
5a09edba
KK
111432003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
11144
11145 * final.c (shorten_branches): Align the address of code label
1e1bd14e 11146 when computing initial lengths and addresses.
5a09edba 11147
f5818c0c
KH
111482003-01-25 Kazu Hirata <kazu@cs.umass.edu>
11149
11150 * config/m68hc11/m68hc11.md: Fix a comment typo.
11151
21ff35fb
AJ
111522003-01-25 Andreas Jaeger <aj@suse.de>
11153
11154 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
11155 TARGET_MACHO.
11156
7821bfc7
RS
111572003-01-25 Roger Sayle <roger@eyesopen.com>
11158
11159 * gcse.c (bypass_last_basic_block): New global variable.
11160 (bypass_block): Use redirect_edge_and_branch_force to redirect
11161 fall-through edges. Use bypass_last_basic_block to determine
11162 which blocks have valid PRE information.
11163 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
11164
62c9aa5f 111652003-01-25 Jan Hubicka <jh@suse.cz>
5f0bea72
JH
11166
11167 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
11168
62c9aa5f 111692003-01-25 Jan Hubicka <jh@suse.cz>
1649d92f
JH
11170 Eric Botcazou <ebotcazou@libertysurf.fr>
11171 PR opt/8492
11172 * gcse.c (one_cprop_pass): Delete unreachable blocks.
11173
6ca86a1a
RH
111742003-01-25 Richard Henderson <rth@redhat.com>
11175
11176 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
11177 from ia64_aix_select_rtx_section.
11178 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
11179 instead of saving and restoring flag_pic.
11180 (ia64_rwreloc_unique_section): Similarly.
11181 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
11182 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
11183 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
11184 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
11185
aa2fb4dd
KH
111862003-01-25 Kazu Hirata <kazu@cs.umass.edu>
11187
11188 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
11189 comment.
11190
c876997f 111912003-01-25 Richard Henderson <rth@redhat.com>
1125849a
RH
11192
11193 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
11194
c876997f 111952003-01-25 Kelley Cook <kelleycook@comcast.net>
3900a23b
KC
11196
11197 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
11198
72e42e26
SB
111992003-01-25 Segher Boessenkool <segher@koffie.nl>
11200
11201 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
11202 type for bitmaps. Use unsigned long.
11203 (nBITMAP_WORD_BITS): New macro.
11204 (BITMAP_WORD_BITS): New macro.
11205 (rest of file): Use it.
11206 * bitmap.c: Use it.
11207
8324663f
RH
112082003-01-25 Richard Henderson <rth@redhat.com>
11209
11210 2002-02-19 Robert Lipe <robertlipe@usa.net>
11211 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
11212
c876997f 112132003-01-25 Roger Sayle <roger@eyesopen.com>
2adc9b0f
RS
11214
11215 * builtins.c (purge_builtin_constant_p): Scan insn stream
11216 sequentially rather than by basic block.
11217 * function.c (purge_addressof): Simplify test with INSN_P.
11218
ad487c38
KH
112192003-01-25 Kazu Hirata <kazu@cs.umass.edu>
11220
8324663f 11221 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 11222
c876997f 112232003-01-25 Roger Sayle <roger@eyesopen.com>
07d9b20d
RS
11224
11225 * function.h (struct function): New field calls_constant_p.
11226 (current_function_calls_constant_p): New macro for above.
11227 * function.c (prepare_function_start): Initialize calls_eh_return
11228 and calls_constant_p.
11229 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
11230 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
11231 when the current_function_calls_constant_p.
11232 * integrate.c (expand_inline_function): Set calls_constant_p if
11233 the function being inlined has calls_constant_p set.
11234
c876997f 112352003-01-25 Roger Sayle <roger@eyesopen.com>
41559112
RS
11236
11237 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
11238 optimizing, even if flag_gcse is true.
11239 * toplev.c (rest_of_compilation): purge_builtin_constant_p
11240 only needs to be called when "optimize > 0 && flag_gcse".
11241
9bb231fd
RS
112422003-01-25 Roger Sayle <roger@eyesopen.com>
11243
11244 * stmt.c (emit_case_bit_tests): New routine to implement suitable
11245 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
11246 (case_bit_test_cmp): New comparison function for "qsort" to order
11247 case_bit_tests by decreasing number of destination nodes.
11248 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
11249 (expand_end_case_type): Use emit_case_bit_tests to implement
11250 suitable switch statments.
11251 (CASE_USE_BIT_TESTS): New target macro to disable the above.
11252 * Makefile.in (stmt.o): Add dependency on optab.h.
11253 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
11254
a073323c
AS
112552003-01-23 Andreas Schwab <schwab@suse.de>
11256
11257 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
11258 __do_global_ctors_aux hidden global and don't put it in
11259 .init_array.
11260 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
11261 instead so that it comes first.
11262
62c9aa5f 112632003-01-25 Jan Hubicka <jh@suse.cz>
36ddc6b0
JH
11264
11265 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
11266 subreg is read/modify.
11267
62c9aa5f 112682003-01-25 Jan Hubicka <jh@suse.cz>
26771da7
JH
11269
11270 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
11271 do libcall for large blocks.
11272 * i386.md (comi patterns): Set type to ssecomi.
11273 (sse2_unpck?pd): Fix mode of vec_select.
11274
11275 * cse.c: Include except.h
11276 (cse_set_around_loop): Do not create new basic blocks.
11277 * Makefile.in (cse.o): Add dependnecy on except.h
11278
62c9aa5f 112792003-01-25 Jan Hubicka <jh@suse.cz>
27a6aa72
JH
11280
11281 * builtins.c (fold_trunc_transparent_mathfn): New function.
11282 (fold_builtin): Use it.
11283 * convert.c (convert_to_real): Re-enable code to convert
11284 math functions; add support for floor familly functions.
11285
cd68f4e4
ZD
112862003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11287
11288 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
11289 dependencies on coretypes.h and $(TM_H).
11290
62c9aa5f 112912003-01-25 Jan Hubicka <jh@suse.cz>
67945f2e
JH
11292
11293 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
11294
c876997f 112952003-01-24 Stuart Hastings <stuart@apple.com>
095fa594 11296
08f0414b 11297 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 11298
1e4c04e0
MH
112992003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11300
11301 * config/c4x/c4x.md (UNSPEC_BU): New constants.
11302 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
11303 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
11304 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
11305 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
11306 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
11307 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
11308 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
11309
62c9aa5f 113102003-01-24 Jan Hubicka <jh@suse.cz>
a560d4d4 11311
08f0414b 11312 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
11313 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
11314 functions.
11315 (reg_rtx): Do not maintain regno_decl.
11316 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
11317 set_mem_attrs_from_reg): New global function.
11318 (init_emit): Do not initialize regno_decl.
11319 (init_emit_once): initialize reg_attrs_htab.
11320 * final.c (alter_subreg): Do not replace REG by SUBREG.
11321 (gen_mem_expr_from_op): Improve output.
11322 (output_asm_operands): Likewise.
11323 * function.c (assign_params): Do not set REGNO_DECL.
11324 * function.h (struct function): Kill regno_decl.
11325 (REGNO_DECL): Kill.
11326 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
11327 * print_rtl.c (print_rtx): Output REG information.
11328 * regclass.c (reg_scan_mark_refs): Update attrs.
11329 * reload1.c (alter_reg): Likewise.
11330 * simplify_rtx.c (simplify_subreg): Likewise.
11331 * stmt.c (expand_decl): Likewise.
11332 * rtl.def (REG): Add new field.
11333 * rtl.h (struct reg_attrs): New.
11334 (rtunion_def): At rtreg.
11335 (X0MEMATTR): Add checking.
11336 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
11337 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
11338 Declare.
11339 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
11340
1d0ea52e
BW
113412003-01-24 Bob Wilson <bob.wilson@acm.org>
11342
11343 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
11344 (xtensa_emit_call, print_operand): Fix printf format strings
11345 to avoid compile warnings.
11346 (xtensa_function_prologue, xtensa_function_epilogue): Change type
11347 of "size" argument to HOST_WIDE_INT to fix compile warnings.
11348 * config/xtensa/xtensa-protos.h
11349 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
11350
62c9aa5f 113512003-01-24 Jan Hubicka <jh@suse.cz>
272f51a3
JH
11352
11353 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
11354 (implicit_built_in_decls): New global array.
11355 (mathfn_built_in): New global function.
11356 (fold_trunc_transparent_mathfn): New static function
11357 (expand_builtin_strstr, expand_bultin_strchr,
11358 expand_builtin_strpbrk, expand_builtin_strcpy,
11359 expand_builtin_strncpy, expand_bultin_strcmp,
11360 expand_bultin_strncat, expand_builtin_fputs): Use
11361 implicint_built_in_decls.
11362 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
11363 * builtins.def: Fix comments.
11364 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
11365 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
11366 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
11367 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
11368 (DEF_C99_C90RES_BULTIN): New.
11369 (*f, *l builtins): Update.
11370 * c-common.c (DEF_BUILTIN): Initialize implicit array.
11371 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
11372 * convert.c (strip_float_extensions): New global function.
11373 * tree.h (DEF_BUILTIN): Accept 10 arguments.
11374 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
11375 Declare.
11376 * java/builtins.c (define_builtin): Handle implicit.
11377 (DEF_BUILTIN): Update.
11378 * tm.texi (TARGET_C99_FUNCTIONS): Document.
11379 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
11380 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
11381 when using glibc2.
11382
1f37a5b2
BW
113832003-01-24 Bob Wilson <bob.wilson@acm.org>
11384
11385 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
11386 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
11387 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
11388 * config/xtensa/crti.asm: New file.
11389 * config/xtensa/crtn.asm: New file.
11390 * config/xtensa/t-elf: New file.
11391 * config/xtensa/t-linux: New file.
11392 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
11393 Move various CFLAGS settings to new t-elf file.
11394
84f5e1b1
RH
113952003-01-24 Richard Henderson <rth@redhat.com>
11396
11397 PR optimization/4382
11398 * tree-inline.c (find_builtin_longjmp_call_1): New.
11399 (find_builtin_longjmp_call): New.
11400 (inlinable_function_p): Use it.
11401
09b2e78d
ZD
114022003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11403
11404 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
11405 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
11406 * config/i386/i386.c (function_arg_pass_by_reference): New.
11407 (ix86_va_arg): Support arguments passed by reference.
11408
3d436d2a
ZD
114092003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11410
11411 * cfgloopanal.c: New file.
11412 * cfgloopmanip.c: New file.
11413 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
11414 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
11415 cfglayout.o): Add dependency on cfgloop.h.
11416 (cfgloop.o): Add flags.h dependency.
11417 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
11418 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
11419 (struct loop, struct loops, flow_loops_find, flow_loops_update,
11420 flow_loops_free, flow_loops_dump, flow_loop_dump,
11421 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
11422 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
11423 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
11424 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
11425 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
11426 find_common_loop, verify_loop_structure): Declarations moved to ...
11427 * cfgloop.h: New file.
11428 * bb-reorder.c (reorder_basic_blocks): Modified.
11429 * cfglayout.c: Include cfgloop.h.
11430 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
11431 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
11432 (break_superblocks): New static function.
11433 (cfg_layout_finalize): Use it.
11434 (cfg_layout_split_block): New function.
11435 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
11436 fields.
11437 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
11438 changed.
11439 (cfg_layout_split_block): Declare.
11440 * cfgloop.c: Include cfgloop.h and flags.h.
11441 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
11442 get_loop_body): Avoid signed versus unsigned comparison warnings.
11443 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
11444 loop_latch_edge): Modified.
11445 (verify_loop_structure): Modified to use flags stored in loop structure;
11446 check irreducible loops.
11447 (cancel_loop, cancel_loop_tree): New functions.
11448 (estimate_probability): Use loop analysis code for predictions.
11449 (estimate_loops_at_level): Avoid signed versus unsigned comparison
11450 warnings.
11451 * doloop.c: Include cfgloop.h.
11452 * loop.c: Include cfgloop.h.
11453 * predict.c: Include cfgloop.h.
11454 * toplev.c: Include cfgloop.h.
11455 * unroll.c: Include cfgloop.h.
11456 * tracer.c (tracer): Modified.
11457
a38b3eea
KH
114582003-01-24 Kazu Hirata <kazu@cs.umass.edu>
11459
11460 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
11461
fd3cd001
UW
114622003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
11463
11464 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
11465 * configure: Regenerate.
11466
11467 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
11468 (tls_symbolic_reference_mentioned_p): Add prototype.
11469 (s390_tls_get_offset): Add prototype.
11470 (emit_pic_move): Remove prototype, replace by ...
11471 (emit_symbolic_move): .. this new prototype.
11472
11473 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
11474 (tls_model_chars): New global variable.
11475 (s390_encode_section_info): Encode TLS model.
11476 Use targetm.binds_local_p to check for local symbols.
11477 (s390_strip_name_encoding): New function.
11478 (TARGET_STRIP_NAME_ENCODING): Define.
11479
11480 (get_thread_pointer): New function.
21ff35fb 11481 (legitimize_tls_address): New function.
fd3cd001
UW
11482 (legitimize_address): Call it.
11483 (emit_pic_move): Remove, replace by ...
11484 (emit_symbolic_move): ... this new function.
11485
11486 (larl_operand): Handle TLS operands.
11487 (legitimate_constant_p): Likewise.
11488 (s390_decompose_address): Likewise.
11489 (s390_cannot_force_const_mem): New function.
11490 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
11491
11492 (s390_output_symbolic_const): Handle TLS unspecs.
11493 (print_operand): New code 'J'.
11494 (machine_function): Add struct member 'some_ld_name'.
11495 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
11496
11497 (enum s390_builtin): New type.
11498 (code_for_builtin_64, code_for_builtin_31): New global variables.
11499 (s390_init_builtins, s390_expand_builtin): New functions.
11500 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
11501
11502 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
11503 (ASM_OUTPUT_LABELREF): Define.
11504 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
11505
11506 * config/s390/s390.md: Define TLS UNSPEC constants.
11507 ("movdi", "movsi"): Handle TLS operands.
11508 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
11509 ("*tls_load_64", "*tls_load_31"): New insns.
11510 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 11511 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
11512 "bas_tls_64", "bas_tls_31"): New insns.
11513
01f4962d
NS
115142003-01-24 Nathan Sidwell <nathan@codesourcery.com>
11515
11516 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
11517 spe ABI is configured, if requested.
11518
70b91854
VR
115192003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11520
11521 * doc/passes.texi: Fix typo.
11522
b8089d8d
AS
115232003-01-24 Andreas Schwab <schwab@suse.de>
11524
11525 * stor-layout.c (excess_unit_span): Only define if used.
11526
38df970e
JQ
115272003-01-24 Jerry Quinn <jlquinn@optonline.net>
11528
11529 * gcc/doc/invoke.texi (Optimization Options): List -O levels
11530 for each optimization flag.
11531
dff23a65
KH
115322003-01-24 Kazu Hirata <kazu@cs.umass.edu>
11533
11534 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
11535
05739753
VR
115362003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11537
11538 * doc/bugreport.texi: Use @command instead of @code for commands.
11539 * doc/collect2.texi: Likewise.
11540 * doc/headerdirs.texi: Likewise.
11541 * doc/invoke.texi: Likewise.
11542 * doc/standards.texi: Likewise.
11543 * doc/tm.texi: Likewise.
11544 * doc/trouble.texi: Likewise.
11545
06bea5aa
NC
115462003-01-24 Nick Clifton <nickc@redhat.com>
11547
11548 * config/arm/arm.c (use_return_insn): Do not use a single return
11549 instruction for interrupt handelrs which have to create a stack
11550 frame.
11551 (arm_expand_prologue): Do not pre-bias the return address of
11552 interrupt handlers which create a stack frame.
11553
115542003-01-24 Nick Clifton <nickc@redhat.com>
11555
11556 * Add sh2e support:
11557
11558 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
11559
11560 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
11561 med_cbranches. Fix logic in short_cbranches.
11562
11563 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
11564
11565 * config/sh/sh.md (delay for cbranch): Don't annul delay
11566 slots on SH2e.
11567 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
11568 cbranch with unfilled delay slot on SH2e.
11569 (output_branch): Fill with a nop the delay slot of a
11570 branch that required a delay slot but didn't get one.
11571
11572 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
11573
11574 * doc/invoke.texi (SH options): Document -m2e.
11575 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
11576 * config/sh/lib1funcs.asm: Likewise.
11577 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
11578 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
11579 not __sh1__.
11580 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
11581 SH2E up.
11582 (SH3E_BIT): Renamed to...
11583 (SH_E_BIT): ... this. Replace all uses.
11584 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
11585 Replace all uses of TARGET_SH3E with TARGET_SH2E.
11586 (TARGET_SWITCHES): Added 2e.
11587 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
11588 (processor_type): Added PROCESSOR_SH2E.
11589 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
11590 TARGET_SH2E, except in sqrtsf2_i.
11591 (attribute cpu): Added sh2e.
11592 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
11593 (MULTILIB_MATCHES): Use m2e multilib for m3e.
11594 * config.gcc: Add sh2e target support.
11595
65ca2d60
PE
115962003-01-24 Phil Edwards <pme@gcc.gnu.org>
11597
11598 Rename -W to -Wextra.
11599 * c-decl.c: Update comments.
11600 * c-typeck.c: Likewise.
11601 * flags.h: Likewise.
11602 * function.c: Likewise.
11603 * stmt.c: Likewise.
11604 * toplev.c: Update comments.
11605 (W_options): Add 'extra'.
11606 (display_help): Remove '-W'.
11607 (decode_W_option): Special warn_uninitialized treatment in the case
11608 of -Wextra.
11609 * doc/invoke.texi: Update with new entries.
11610
3de9c088
RH
116112003-01-23 Richard Henderson <rth@redhat.com>
11612
8324663f
RH
11613 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
11614 in no-else-block case. Add commentary.
3de9c088 11615
49691411
KG
116162003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11617
b4862477
KG
11618 * configure.in: Revert last change.
11619
116202003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11621
11622 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
11623 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
11624 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
11625 ATTRIBUTE_UNUSED.
11626
11627 * configure: Regenerate.
11628
c4db7ecb
FS
116292003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11630
11631 PR java/6748
11632 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
11633 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
11634 kernels.
11635
fc69c47c
KG
116362003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11637
11638 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
11639
adbe6dfd
UW
116402003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
11641
11642 * genattrtab.c (write_attr_get): Mark 'insn' paramter
11643 as ATTRIBUTE_UNUSED.
11644
76a318e9
RE
116452003-01-23 Richard Earnshaw <rearnsha@arm.com>
11646
11647 * arm.c (thumb_base_register_rtx_p): New function.
11648 (thumb_index_register_rtx_p): New function.
11649 (thumb_legitimate_address_p): New function.
11650 (thumb_legitimate_offset_p): New function.
11651 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 11652 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
11653 definitions.
11654 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
11655 (THUMB_LEGITIMATE_OFFSET): Delte.
11656 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
11657 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
11658 (thumb_legitimate_offset_p): Likewise.
11659
9a600d0c
AS
116602003-01-23 Andreas Schwab <schwab@suse.de>
11661
11662 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
11663
2d110c0a
KG
116642003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11665
11666 * fixinc/Makefile.in (FL_LIST): Revert last change.
11667
2d1d9215
VR
116682003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11669
11670 PR other/7341
11671 * invoke.texi (ftest-coverage): Fix broken cross-reference.
11672 Change @code to @command for gcov command.
11673
11674 * gcc.texi: Adjust title of gcov section.
11675 Adjust copyright.
11676 * gcov.texi: Likewise.
11677
34ee7f82
RS
116782003-01-22 Roger Sayle <roger@eyesopen.com>
11679
11680 PR optimization/8423
11681 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
11682 its argument is constant, or 0 if !flag_gcse.
11683 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
11684 if it's argument is constant.
11685 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
11686 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
11687 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
11688 * builtins.c (purge_builtin_constant_p): New function to force
11689 instantiation of any remaining CONSTANT_P_RTX nodes.
11690 * rtl.h (purge_builtin_constant_p): Prototype here.
11691 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
11692 pass after GCSE and before loop.
11693 (flag_gcse): No longer static.
11694 * flags.h (flag_gcse): Prototype here.
11695
bab0b43b
UW
116962003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
11697
11698 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
11699 introduced by last change.
11700
7e657a61
AS
117012003-01-22 Andreas Schwab <schwab@suse.de>
11702
11703 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
11704
75a3503b
KH
117052003-01-22 Kazu Hirata <kazu@cs.umass.edu>
11706
11707 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
11708 request a scratch reg on H8S when the shift count is 8.
11709
4888ec5d
UW
117102003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
11711
11712 * config/s390/s390-protos.h (preferred_la_operand_p):
11713 Remove second parameter.
11714 * config/s390/s390.c (preferred_la_operand_p): Likewise.
11715 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
11716 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
11717 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
11718 Add peepholes to transform ADD to LOAD ADDRESS.
11719
6b990f6b
RE
117202003-01-22 Richard Earnshaw <rearnsha@arm.com>
11721
11722 * arm.c (arm_address_register_rtx_p): New function.
11723 (arm_legitimate_address_p): New function.
11724 (arm_legitimate_index_p): New function.
11725 (legitimize_pic_address): Use arm_legitimate_index_p.
11726 * arm-protos.h (arm_legtimate_address_p): Add prototype.
11727 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
11728 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
11729
f0bf1270
HP
117302003-01-22 Hartmut Penner <hpenner@de.ibm.com>
11731
11732 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
11733 * config/s390/2064.md (define_bypass): Correct 'Load' and
11734 'Load-address' bypass values.
21ff35fb 11735
fcb6a0f5
AS
117362003-01-22 Andreas Schwab <schwab@suse.de>
11737
11738 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
11739
c24b8026
ZW
117402003-01-21 Zack Weinberg <zack@codesourcery.com>
11741
11742 * genautomata.c (output_internal_insn_latency_func,
11743 output_print_reservation_func): Short circuit when there is no
11744 automaton to generate code for.
11745
38afe605
KG
117462003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11747
11748 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
11749 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
11750
d24652ee
GK
117512003-01-21 Geoffrey Keating <geoffk@apple.com>
11752
11753 * config/rs6000/rs6000.md: Remove warning.
11754 (builtin_setjmp_receiver): Likewise.
11755 * config/darwin.c (update_stubs): Slightly improve terrible hack
11756 with identifiers. Add comment pointing out problems with it.
11757 (update_non_lazy_ptrs): Likewise.
11758
1c99d804
RH
117592003-01-21 Richard Henderson <rth@redhat.com>
11760
11761 * dwarf2out.c (lookup_filename): Fix printf format warning.
11762 * system.h (fread_unlocked, fwrite_unlocked): Undef.
11763
11764 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
11765 (fixincl.o-warn, gnu-regex.o-warn): New.
11766 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
11767 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
11768 * fixinc/fixincl.c (process): Fix printf format warning.
11769
f0b886ab
UW
117702003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
11771
11772 * dwarf2out (output_file_names): Don't crash if called
11773 with empty file_table.
11774
490c57bb
ZW
117752003-01-21 Zack Weinberg <zack@codesourcery.com>
11776
11777 * genautomata.c (output_internal_insn_latency_func): Add
11778 missing break statement to generated code.
11779
100e3acb
RS
117802003-01-21 Roger Sayle <roger@eyesopen.com>
11781
11782 * stmt.c (same_case_target_p): New function to determine whether
11783 two case labels branch to the same target. Split out from...
11784 (group_case_nodes): ... here. Use same_case_target_p instead.
11785 (strip_default_case_nodes): Remove explicit case nodes
11786 that branch to the default destination.
11787 (expand_end_case_type): Call strip_default_case_nodes after
11788 group_case_nodes, to simplify the case-list before we count it.
11789 Only generate table_label RTX when actually needed. Try to share
11790 thiscase->exit_label and thiscase->data.case_stmt.default_label
11791 when a switch has no explicit default case. Simplify test for
11792 constant index.
11793
e8e8c1e5
KH
117942003-01-21 Kazu Hirata <kazu@cs.umass.edu>
11795
11796 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
11797 \t.
11798 (*negsf2_h8300hs): Likewise.
11799 (*addsi3_lshiftrt_16_zexthi): Likewise.
11800 (*iorhi3_lshiftrt_8): Likewise.
11801
044b4de3
UW
118022003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
11803
11804 * dwarf2out.c (fde_table_in_use): Mark GTY.
11805 (dwarf2out_cfi_label_num): New variable, marked GTY.
11806 (dwarf2out_cfi_label): Use it instead of static label_num.
11807 * emit-rtl.c (label_num): Mark GTY.
11808
cfedf91b
KH
118092003-01-21 Kazu Hirata <kazu@cs.umass.edu>
11810
11811 * config/h8300/h8300.c (output_plussi): Support H8/300.
11812 (compute_plussi_length): Likewise.
11813 (compute_plussi_cc): Likewise.
11814 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
11815 output assembly instructions.
11816
dd859b8a
KG
118172003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11818
1f5b3282
KG
11819 * calls.c (fix_unsafe_tree): Prototype.
11820
dd859b8a
KG
11821 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
11822 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
11823 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
11824 c-parse.o-warn): Add -Wno-error.
11825 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
11826
11827 * configure.in (--enable-werror): Add new flag.
11828 * doc/install.texi (--enable-werror): Document.
11829 * configure: Regenerate.
11830
11831 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
11832
4f9365e2
AS
118332003-01-21 Andreas Schwab <schwab@suse.de>
11834
11835 * genautomata.c (output_internal_insn_latency_func): Fix missing
11836 close paren in output.
11837
a543eb5e
ZW
118382003-01-21 Zack Weinberg <zack@codesourcery.com>
11839
11840 * genautomata.c: Space savings in generated code:
11841 (output_dfa_insn_code_func): Split out the table-enlargement
11842 path to an out-of-line static function, dfa_insn_code_enlarge.
11843 (output_internal_insn_latency_func): Use a lookup table for the
11844 default latencies.
11845 (output_print_reservation_func): Use a lookup table for the
11846 strings.
11847
292e35a3
CE
118482003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
11849
11850 PR opt/7507
11851 * calls.c (fix_unsafe_tree): Split out from ...
11852 (expand_call): ... here. Use it on the function address too.
11853
d8d0f5af
RH
118542003-01-20 Richard Henderson <rth@redhat.com>
11855
11856 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
11857
5b50aa9d
RH
118582003-01-20 Richard Henderson <rth@redhat.com>
11859
515e1c9f 11860 PR opt/7154
5b50aa9d
RH
11861 * stmt.c (expand_asm_operands): Validize memory operands.
11862
7a174a15
RH
118632003-01-20 Richard Henderson <rth@redhat.com>
11864
11865 PR opt/8848
11866 * ifcvt.c (noce_process_if_block): Correct arguments to
11867 modified_between_p for no-else-block case.
11868
9ac7ebba
KH
118692003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11870
11871 * config/h8300/h8300.c (const_costs): Remove a warning.
11872 (output_plussi): Likewise.
11873 (compute_plussi_length): Likewise.
11874 (compute_plussi_cc): Likewise.
11875
309c52b5
KH
118762003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11877
11878 * config/h8300/h8300.md (addsi_h8300): Remove the last
11879 alternative.
11880
b30686ec
KH
118812003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11882
11883 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
11884
87608693
KG
118852003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11886
11887 * system.h (__NO_STRING_INLINES): Define.
11888
475c8250
JDA
118892003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11890
11891 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
11892 is not a scalar int mode.
11893
dbaff908
RS
118942003-01-20 Roger Sayle <roger@eyesopen.com>
11895
11896 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
11897 insn's notes following a substitution inside a libcall.
11898
da8a6064
ZW
118992003-01-20 Zack Weinberg <zack@codesourcery.com>
11900
11901 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 11902 * configure, config.in: Regenerate.
da8a6064
ZW
11903 * cpphash.h: Only typedef 'uchar' if the system doesn't.
11904
a4b1b92a
RH
119052003-01-20 Richard Henderson <rth@redhat.com>
11906
11907 * expr.h (MUST_PASS_IN_STACK): Move implementation...
11908 * calls.c (default_must_pass_in_stack): ... here.
11909
d530b07f
VM
119102003-01-20 Vladimir Makarov <vmakarov@redhat.com>
11911
da8a6064
ZW
11912 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
11913
d530b07f
VM
11914 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
11915
11916 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
11917 Wrap up definition of `insn_alts'.
11918
11919 * genattrtab.c (main): Wrap up `insn_alts'.
11920
351df804
KG
119212003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11922
11923 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
11924 prototyping.
11925 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 11926
351df804
KG
11927 * config.in, configure: Regenerate.
11928
e3289412
NC
119292003-01-20 Nick Clifton <nickc@redhat.com>
11930
11931 * config/arm/arm.md (sibcall_epilogue): Add an
11932 UNSPEC_PROLOGUE_USE to prevent the link register from being
11933 considered dead.
11934
62c9aa5f 119352003-01-20 Jan Hubicka <jh@suse.cz>
5794139a
JH
11936
11937 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
11938
0a18ddf9
AS
119392003-01-20 Andreas Schwab <schwab@suse.de>
11940
11941 * system.h: Don't declare strsignal if the decl test hasn't been
11942 run yet.
11943
d99c740f
KH
119442003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11945
11946 * config/h8300/h8300.c (notice_update_cc): Don't assume that
11947 recog_data.operands[0] is always associated with cc0.
11948
825c5408
DE
119492003-01-19 David Edelsohn <edelsohn@gnu.org>
11950
11951 * collect2.c (ldgetname): Expand declaration to prototype.
11952 * read-rtl.c (atoll): Add prototype.
da3e0142 11953 * system.h (strsignal): Also declare if no declaration found.
825c5408 11954
3bd6d4c4
AO
119552003-01-19 Alexandre Oliva <aoliva@redhat.com>
11956
11957 * config.gcc (mips64*-*-linux*): Added.
11958 * config/mips/linux64.h, config/mips/t-linux64: New file.
11959 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
11960 * config/mips/mips.c (override_options): Use it.
11961 * config/mips/mips.h (TARGET_SWITCHES): Added...
11962 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
11963 * Makefile.in (SPECS): New.
11964 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
11965 * gcc.c (process_command): Move self-spec processing past spec
11966 file loading.
11967 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
11968 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
11969 CRTSTUFF_T_CFLAGS.
11970 (SPECS): Document.
11971 * doc/invoke.texi (-mabi-fake-default): Document.
11972
e9f13564
SC
119732003-01-19 Stephane Carrez <stcarrez@nerim.fr>
11974
11975 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
11976 z_reg, z_reg_qi): Declare static and GTY().
11977 (da_reg): Remove.
11978 (create_regs_rtx): Don't create da_reg.
11979 ("gt-m68hc11.h"): Include for GTY roots.
11980 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
11981 and GTY() here.
11982 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
11983 (m68hc11_soft_tmp_reg): Likewise.
11984 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
11985
32dd366d
KH
119862003-01-18 Kazu Hirata <kazu@cs.umass.edu>
11987
11988 * basic-block.h: Fix comment formatting.
11989 * calls.c: Likewise.
11990 * combine.c: Likewise.
11991 * convert.c: Likewise.
11992 * gcov.c: Likewise.
11993 * haifa-sched.c: Likewise.
11994 * libgcc2.c: Likewise.
11995 * loop.c: Likewise.
11996 * profile.c: Likewise.
11997 * system.h: Likewise.
11998
bc3cb712
RS
119992003-01-18 Roger Sayle <roger@eyesopen.com>
12000
12001 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
12002
25e42e9d
KG
120032003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12004
12005 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
12006
6f9c81f5
DJ
120072003-01-17 Dale Johannesen <dalej@apple.com>
12008
da8a6064 12009 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
12010 (*floatunssidf2_internal): Ditto.
12011
95bd1dd7
KH
120122003-01-17 Kazu Hirata <kazu@cs.umass.edu>
12013
12014 * alias.c: Fix comment typos.
12015 * basic-block.h: Likewise.
12016 * c-common.c: Likewise.
12017 * c-common.h: Likewise.
12018 * c-decl.c: Likewise.
12019 * c-opts.c: Likewise.
12020 * c-pragma.c: Likewise.
12021 * c-pretty-print.h: Likewise.
12022 * cfg.c: Likewise.
12023 * cfganal.c: Likewise.
12024 * cfgbuild.c: Likewise.
12025 * cfgcleanup.c: Likewise.
12026 * cfglayout.c: Likewise.
12027 * cfgrtl.c: Likewise.
12028 * convert.c: Likewise.
12029 * cpphash.h: Likewise.
12030 * cpplex.c: Likewise.
12031 * cpplib.h: Likewise.
12032 * df.h: Likewise.
12033 * diagnostic.c: Likewise.
12034 * diagnostic.h: Likewise.
12035 * dwarf2.h: Likewise.
12036
d5840e09
SS
120372003-01-17 Stan Shebs <shebs@apple.com>
12038
12039 * config/darwin-protos.h: Forward-declare struct cpp_reader.
12040
e607534b
DR
120412003-01-17 Douglas B Rupp <rupp@gnat.com>
12042
12043 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
12044 mistake in last checkin.
12045
fbe5a4a6
KH
120462003-01-17 Kazu Hirata <kazu@cs.umass.edu>
12047
12048 * et-forest.c: Fix comment typos.
12049 * et-forest.h: Likewise.
12050 * except.c: Likewise.
12051 * expr.c: Likewise.
12052 * flags.h: Likewise.
12053 * flow.c: Likewise.
12054 * gcc.c: Likewise.
12055 * gcse.c: Likewise.
12056 * genattrtab.c: Likewise.
12057 * genautomata.c: Likewise.
12058 * gengtype.c: Likewise.
12059 * genrecog.c: Likewise.
12060 * global.c: Likewise.
12061 * gthr-rtems.h: Likewise.
12062
095f9093
KG
120632003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12064
12065 * i386.c (x86_function_profiler): Fix format specifier.
12066
084087e1
RH
120672003-01-17 Richard Henderson <rth@redhat.com>
12068
12069 * gengtype.c (walk_type): Allow paramN_is.
12070
4a13592e
NC
120712003-01-17 Nick Clifton <nickc@redhat.com>
12072
12073 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
12074
01193617
RH
120752003-01-16 Richard Henderson <rth@redhat.com>
12076
12077 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
12078
f030826a
RH
120792003-01-16 Richard Henderson <rth@redhat.com>
12080
12081 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
12082 (alpha_next_sequence_number): Likewise.
12083 (alpha_this_literal_sequence_number): Likewise.
12084 (alpha_this_gpdisp_sequence_number): Likewise.
12085 (struct alpha_funcs, alpha_funcs_num): Likewise.
12086 (struct alpha_links): Fix branch merge error.
12087 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
12088
e1551d47
AO
120892003-01-17 Alexandre Oliva <aoliva@redhat.com>
12090
12091 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
12092 R. Ghazi.
12093
3d042e77
KH
120942003-01-16 Kazu Hirata <kazu@cs.umass.edu>
12095
12096 * ifcvt.c: Fix comment typos.
12097 * lcm.c: Likewise.
12098 * libgcc2.c: Likewise.
12099 * local-alloc.c: Likewise.
12100 * loop.c: Likewise.
12101 * predict.c: Likewise.
12102 * ra-build.c: Likewise.
12103 * ra.c: Likewise.
12104 * ra-colorize.c: Likewise.
12105 * ra.h: Likewise.
12106 * ra-rewrite.c: Likewise.
12107 * regmove.c: Likewise.
12108 * reload.h: Likewise.
12109 * rtlanal.c: Likewise.
12110 * toplev.c: Likewise.
12111 * tree.h: Likewise.
12112 * unwind-dw2-fde-glibc.c: Likewise.
12113 * vmsdbgout.c: Likewise.
12114
c4274b22
RH
121152003-01-16 Richard Henderson <rth@redhat.com>
12116
12117 * dwarf2out.c (struct file_table): Remove.
12118 (FILE_TABLE_INCREMENT): Remove.
12119 (file_table): Make a varray; mark for GC. Update all users.
12120 (file_table_last_lookup_index): Extract from struct file_table.
12121 (output_file_names): Fix unsigned compare warnings.
12122 (add_name_attribute): Remove inline marker.
12123 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
12124 (lookup_filename): Don't manage size of file_table.
12125 (init_file_table): Allocate file_table with GC.
12126 (dwarf2out_init): Don't record main_input_filename here.
12127 (dwarf2out_finish): Do it here instead.
12128
19162d0e
BK
121292003-01-16 Bruce Korb <bkorb@gnu.org>
12130
12131 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
12132
f1e2239f
KK
121332003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
12134
da8a6064
ZW
12135 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
12136 instead of rotldi3_mextr.
f1e2239f 12137
cda1f765
VM
121382003-01-16 Vladimir Makarov <vmakarov@redhat.com>
12139
12140 * haifa-sched.c (move_insn): Restore moving all schedule group.
12141 (set_priorities): Restore taking SCHED_GROUP_P into account.
12142
12143 * sched-deps.c (add_dependence): Restore processing the last group
12144 insn.
12145 (remove_dependence, group_leader): Restore the functions.
12146 (set_sched_group_p): Restore adding dependencies from previous insn
12147 in the group.
12148 (compute_forward_dependences): Restore usage of group_leader.
12149
12150 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
12151 account.
12152
12153 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
12154 account.
12155 (can_schedule_ready_p): Ditto.
12156 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 12157
200097cc
SC
121582003-01-16 Stephane Carrez <stcarrez@nerim.fr>
12159
12160 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
12161 68HC12 pre/post inc/dec side effects.
12162
f411c739
SC
121632003-01-16 Stephane Carrez <stcarrez@nerim.fr>
12164
12165 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
12166
62c9aa5f 121672003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
08c43ea7
R
12168
12169 * sh.md (mshflo_w_x): Fix description of operation.
12170
07488f32
ZW
121712003-01-16 Zack Weinberg <zack@codesourcery.com>
12172
12173 * config/rs6000/rs6000.h: Mention Altivec registers in
12174 commentary. Fix typo.
12175
27dc0551
DE
121762003-01-16 David Edelsohn <edelsohn@gnu.org>
12177
12178 * config/rs6000/rs6000.md (movti_string): Remove clobber.
12179 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
12180 generate PARALLEL with clobber for TARGET_POWER.
12181
0334ef47
KG
121822003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12183
12184 * ra-colorize.c (colorize_one_web): Initialize variable.
12185 * regmove.c (fixup_match_1): Likewise.
12186 * reload1.c (reload_as_needed): Likewise.
12187 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
12188
16f2b86a
ZD
121892003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12190
12191 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
12192
fc555370
KG
121932003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12194
93d8c755
KG
12195 * dbxout.c (lastfile, cwd): Fix `unused' warning.
12196 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
12197 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
12198 is_main_source, file_table, decl_die_table_in_use,
12199 abbrev_die_table_in_use, line_info_table_in_use,
12200 separate_line_info_table_in_use, pubname_table_in_use,
12201 arange_table_in_use, ranges_table_in_use,
12202 current_function_has_inlines): Likewise.
12203 * flow.c (life_analysis): Likewise.
12204 * genemit.c (gen_insn): Likewise.
12205 * protoize.c (cplus_suffix): Likewise.
12206
0c2ca901
KG
12207 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
12208 * arm.h (ROUND_UP_WORD): Likewise.
12209
fc555370
KG
12210 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
12211 warning.
12212 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
12213 init_emit_once): Likewise.
12214 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
12215 Likewise.
12216 * function.c (assign_stack_temp_for_type): Likewise.
12217 * loop.c (loop_invariant_p): Likewise.
12218 * recog.c (push_operand): Likewise.
12219 * regclass.c (init_reg_sets_1): Likewise.
12220 * reload.c (update_auto_inc_notes): Likewise.
12221 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
12222 * stmt.c (expand_asm_operands): Likewise.
12223 * stor-layout.c (start_record_layout): Likewise.
12224
64510a4f
HB
122252003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
12226
07488f32 12227 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 12228
77480b0b
RH
122292003-01-15 Richard Henderson <rth@redhat.com>
12230
12231 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
12232 also check that GP is being used.
12233 (alpha_find_lo_sum_using_gp): New.
12234 (alpha_does_function_need_gp): Use get_attr_usegp.
12235 * config/alpha/alpha-protos.h: Update.
12236 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
12237 as needed.
12238
a0134312
RS
122392003-01-15 Roger Sayle <roger@eyesopen.com>
12240
12241 * gcse.c (one_cprop_pass): Change function arguments to take both
12242 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
12243 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
12244 (bypass_jumps): New function to perform separate jump bypassing pass.
12245 * rtl.h (bypass_jumps): Add function prototype.
12246 * timevar.def (TV_BYPASS): New timing variable.
12247 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
12248 (dump_file): New entry for the bypass RTL dump file.
12249 (rest_of_compilation): Insert new jump bypassing optimization
12250 pass after loop.
12251 * doc/passes.texi: Document new pass.
12252
4af6a063
JDA
122532003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
12254
12255 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
12256 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
12257 * pa.h (TARGET_SOM_SDEF): Define.
12258 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
12259
51e13b71
SC
122602003-01-16 Stephane Carrez <stcarrez@nerim.fr>
12261
07488f32 12262 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
12263 allocate 4-bytes of locals on 68HC11.
12264 (expand_epilogue): Likewise.
12265 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
12266
f077f169
SC
122672003-01-15 Stephane Carrez <stcarrez@nerim.fr>
12268
12269 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
12270 and -mshort-double to the assembler to specify the ABI.
12271 (LINK_SPEC): Likewise.
12272 (CPP_SPEC): Pass HCS12 specific define.
12273 (MASK_M68S12): New define.
12274 (TARGET_M68S12): Likewise.
12275 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
12276 (TARGET_VERSION): Update.
12277 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
12278 (LINK_SPEC): Update.
12279 (ASM_SPEC): Update.
12280 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
12281 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
12282
c0f684dc
SC
122832003-01-15 Stephane Carrez <stcarrez@nerim.fr>
12284
12285 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
12286 the return code.
12287
6982ae15
JZ
122882003-01-15 Josef Zlomek <zlomekj@suse.cz>
12289
12290 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
12291 flag before setting it.
12292
8cadeff1
RS
122932003-01-15 Roger Sayle <roger@eyesopen.com>
12294
12295 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
12296 when loop condition is known true, i.e. "while (1) { ... }".
12297 (genrtl_for_stmt): Similarly for "for" statements.
12298
03cd8aba
RS
122992003-01-15 Roger Sayle <roger@eyesopen.com>
12300
12301 * real.c (real_sqrt): Return a bool result indicating whether
12302 a floating point exception or trap should be raised.
12303 * real.h (real_sqrt): Update function prototype.
12304 * builtins.c (fold_builtin): Only fold non-trapping square
12305 roots unless we're ignoring errno and trapping math.
12306
4da78214
JDA
123072003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
12308
12309 * expr.h (emit_conditional_add): Add PARAMS to declaration.
12310 * gengtype-lex.l (malloc, realloc): Move defines after include of
12311 system.h. Remove duplicate include of system.h.
12312
9ee0a442
RS
123132003-01-15 Roger Sayle <roger@eyesopen.com>
12314
12315 PR middle-end/9009
12316 * optabs.c (expand_unop): When manipulating the FP sign bit
12317 using integer operations, account for targets with different
12318 integer and FP word orders.
12319 (expand_abs): Likewise.
12320
e3981aab
DE
123212003-01-15 David Edelsohn <edelsohn@gnu.org>
12322
12323 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
12324 file extension in section name.
12325
89c4b810
RE
123262003-01-15 Richard Earnshaw <rearnsha@arm.com>
12327
12328 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
12329 constant offset.
12330
3cd45774
RE
123312003-01-15 Richard Earnshaw <rearnsha@arm.com>
12332
12333 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
12334 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
12335 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
12336 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
12337
62c9aa5f 123382003-01-15 Jan Hubicka <jh@suse.cz>
b1a6f8db
JH
12339
12340 PR f/9258
07488f32 12341 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
12342 (global_conflicts): Set no_stack_reg.
12343 (find_reg): Use it.
12344
12345 * convert.c (convert_to_real): Fold - and abs only when profitable.
12346 * fold-const.c (fold): Fold truncates in - and abs.
12347
d18c7e59
JZ
123482003-01-15 Josef Zlomek <zlomekj@suse.cz>
12349
12350 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
12351
12352 * predict.c (real_inv_br_prob_base): New variable.
12353 (propagate_freq): Use multiply by reciprocal instead of
12354 division. Don't divide by 1.0 at all.
12355 (estimate_bb_frequencies): Similar.
12356
027faee7
AO
123572003-01-15 Alexandre Oliva <aoliva@redhat.com>
12358
12359 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
12360 * configure: Rebuilt.
12361
077dab3b 123622003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 12363
077dab3b
HP
12364 * config/s390/s390.c (s390_safe_attr_type): New function.
12365 (s390_use_dfa_pipeline_interface): New function, return true for z900.
12366 (s390_issue_rate): New function.
12367 (s390_agen_dep_p): New function.
12368 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
12369 (s390_adjust_cost): Return 'cost' if new DFA is used.
12370 (s390_adjust_priority): Delete function.
12371 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
12372 * config/s390/s390.md (atype attribute): Attribute 'atype' default
12373 determined by 'op_type'.
12374 (type attribute): Added more type attributes.
12375 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 12376
077dab3b 123772003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 12378
acfa9d9f
AO
12379 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
12380 forced to memory. Fixes PR bootstrap/9036.
12381
3c0121e4
AO
12382 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
12383 to set $gp before the call.
12384
553eb139
RH
123852003-01-14 Richard Henderson <rth@redhat.com>
12386
12387 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
12388 for force_const_mem.
12389
dd1b7476
KG
123902003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12391
12392 * genattr.c (main): Rearrange output to avoid prototype warning.
12393 * genautomata.c (transform_3): Fix ambiguous-else warning.
12394 * local-alloc.c (requires_inout): Add parentheses around
12395 assignment used as truth-value.
12396 * timevar.c: Move system includes above local includes. Include
12397 toplev.h
12398 * Makefile.in (timevar.o): Depend on toplev.h.
12399
6028880a
DC
124002003-01-14 Denis Chertykov <denisc@overta.ru>
12401
12402 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
12403 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
12404
12405 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 12406 attributes.
6028880a
DC
12407 (TARGET_ATTRIBUTE_TABLE): New macro.
12408 (valid_machine_type_attribute): Remove.
12409 (valid_machine_decl_attribute): Remove.
12410 (ip2k_handle_progmem_attribute): New function.
12411 (ip2k_handle_fndecl_attribute): New function.
12412
4a2953e4 124132003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
12414
12415 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
12416 registers to be in correct order. Add rip.
12417
4d77fda2
KH
124182003-01-14 Kazu Hirata <kazu@cs.umass.edu>
12419
12420 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
12421 (*iorsi3_and_lshiftrt_9_sb): Likewise.
12422
62c9aa5f 124232003-01-14 Jan Hubicka <jh@suse.cz>
77f9af81
JH
12424
12425 * convert.c (strip_float_extensions): Look for narrowest type handling
12426 FP constants.
12427
12428 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
12429 float1 CMP float2.
12430 * convert.c (strip_float_extensions): Make global.
12431 * tree.h (strip_float_extensions): Declare.
12432
fd371a93
GDR
124332003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
12434
12435 * timevar.def: define TV_NAME_LOOKUP.
12436 * timevar.c (timevar_pop): Be verbose when aborting.
12437
dcd1c2b8
AS
124382003-01-13 Andreas Schwab <schwab@suse.de>
12439
12440 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
12441 $(parsedir), just move the temporary file at the end.
12442 ($(parsedir)/gengtype-yacc.c): Likewise.
12443
eb4b5f93
AO
124442003-01-13 Alexandre Oliva <aoliva@redhat.com>
12445
12446 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
12447 ${ac_tool_prefix} to ADAC or CC. Protect them from word
12448 splitting.
12449 * configure: Rebuilt.
12450
f7835768
KG
124512003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12452
12453 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
12454 internal_mcount): Don't use PARAMS.
12455 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
12456 ISO C style.
12457 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
12458
38a3dbbb
AS
124592003-01-13 Andreas Schwab <schwab@suse.de>
12460
12461 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
12462 directive.
12463
98dc53e3
KH
124642003-01-13 Kazu Hirata <kazu@cs.umass.edu>
12465
12466 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
12467 (*iorsi3_and_lshiftrt_n_sb): Likewise.
12468
e8f2b18d
MM
124692003-01-12 Mark Mitchell <mark@codesourcery.com>
12470
12471 PR c++/9264
12472 * c-lex.c (c_lex): Set the token value to error_mark_node for
12473 invalid numeric constants.
12474
70f8b89f
KG
124752003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12476
12477 * c-pch.c (asm_file_startpos): Change to `long'.
12478 (pch_init): Use ftell, not ftello.
12479 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
12480 Use `long' instead of `off_t'.
12481 (c_common_read_pch): Likewise.
12482 * ggc-common.c (gt_pch_save): Use long/ftell instead of
12483 off_t/ftello.
12484
8e37cba8
AM
124852003-01-12 Alan Modra <amodra@bigpond.net.au>
12486
12487 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
12488
04f08c8e
RE
124892003-01-11 Richard Earnshaw (rearnsha@arm.com)
12490
12491 * arm-protos.h (struct cpp_reader): Add declaration.
12492
62c9aa5f 124932003-01-11 Jan Hubicka <jh@suse.cz>
a5cf80f0
JH
12494
12495 PR target/9068
12496 * i386.c (output_fp_compare): Fix typo.
12497
bbfb86aa
DE
124982003-01-10 David Edelsohn <edelsohn@gnu.org>
12499
12500 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
12501
223b87b6
GK
125022003-01-10 Geoffrey Keating <geoffk@apple.com>
12503
3859c32a
GK
12504 * Makefile.in (parsedir): New variable.
12505 (docobjdir): New variable.
07488f32 12506 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
12507 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
12508 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
12509 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 12510 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
12511 Use docobjdir.
12512 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
12513 objc.maintainer-clean): Use parsedir.
12514
63af3bd1
GK
12515 * varasm.c (struct constant_descriptor_rtx): Remove unused
12516 `label' field.
12517
223b87b6
GK
12518 * toplev.c (documented_lang_options): Document -Winvalid-pch.
12519
fbadafbc
RH
125202003-01-10 Richard Henderson <rth@redhat.com>
12521
12522 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
12523 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
12524
ab5ecb01
RH
125252003-01-10 Richard Henderson <rth@redhat.com>
12526
12527 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
12528 not INTEGRAL_MODE_P when widening extensions.
12529
7f24e7c5
RH
125302003-01-10 Richard Henderson <rth@redhat.com>
12531
12532 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
12533
6dd05d08
GK
125342003-01-10 Geoffrey Keating <geoffk@apple.com>
12535
19cc0dd4
GK
12536 * ggc-page.c (ggc_collect): Avoid overflow computing
12537 min_expand.
12538
6dd05d08
GK
12539 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
12540 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
12541 Remove calls.
12542 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
12543
62c9aa5f 125442003-01-10 Jan Hubicka <jh@suse.cz>
5f1355ef
JH
12545
12546 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
12547 with weird operands.
12548
0cdca92b 125492003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
12550
12551 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
12552 parameters. Call check_sibcall_argument_overlap if indicated.
12553 (check_sibcall_argument_overlap): Add mark_stored_args_map
12554 parameter. Don't mark parameter area as clobbered if not set.
12555 (expand_call): Adjust calls to above.
12556
125572003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
12558
12559 * configure.in (linker read-only and read-write section mixing):
12560 Squelch some assembler warnings.
12561 * configure: Likewise.
12562
be2c2a4b
HP
125632003-01-10 Hartmut Penner <hpenner@de.ibm.com>
12564
21ff35fb 12565 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
12566 option for S/390 and zSeries.
12567 * config/s390/s390.c (s390_tune_string) New variable.
12568 (s390_cpu_string) Delete variable.
12569 (override_options): Use s390_tune_string instead of
12570 s390_cpu_string.
12571 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
12572
1f450138
KH
125732003-01-10 Kazu Hirata <kazu@cs.umass.edu>
12574
12575 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
12576
d330ce15
JZ
125772003-01-10 Josef Zlomek <zlomekj@suse.cz>
12578
12579 * jump.c (next_nonnote_insn_in_loop): New function.
12580 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
12581 next_nonnote_insn.
12582 (duplicate_loop_exit_test). Likewise.
12583
17211ab5
GK
125842003-01-09 Geoffrey Keating <geoffk@apple.com>
12585
12586 Merge from pch-branch:
12587
12588 2003-01-06 Geoffrey Keating <geoffk@apple.com>
12589
12590 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
12591 load.
12592
12593 2002-12-24 Geoffrey Keating <geoffk@apple.com>
12594
12595 * cpplib.c (count_registered_pragmas): New function.
12596 (save_registered_pragmas): New function.
12597 (_cpp_save_pragma_names): New function.
12598 (restore_registered_pragmas): New function.
12599 (_cpp_restore_pragma_names): New function.
12600 * cpphash.h (_cpp_save_pragma_names): Prototype.
12601 (_cpp_restore_pragma_names): Likewise.
12602 * cpppch.c (struct save_macro_item): Split from save_macro_data.
12603 (struct save_macro_data): New field 'saved_pragmas'.
12604 (save_macros): Update for changes to struct save_macro_data.
12605 (cpp_prepare_state): Call _cpp_save_pragma_names, update
12606 for changes to struct save_macro_data.
12607 (cpp_read_state): Call _cpp_restore_pragma_names, update
12608 for changes to struct save_macro_data.
12609
12610 * cpppch.c (cpp_read_state): Restore the hashtable references
12611 in the cpp_reader.
07488f32 12612
17211ab5
GK
12613 * tree.h (built_in_decls): Mark for PCH.
12614
12615 * dbxout.c (lastfile): Don't mark for PCH.
12616
12617 * ggc.h: Document PCH calls into memory managers.
12618
12619 2002-12-18 Geoffrey Keating <geoffk@apple.com>
12620
12621 * doc/invoke.texi (Precompiled Headers): Document the
12622 directory form of PCH.
12623 * cppfiles.c (validate_pch): New function.
12624 (open_file_pch): Search suitably-named directories for PCH files.
12625
12626 2002-12-14 Geoffrey Keating <geoffk@apple.com>
12627
12628 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
12629 reorder options.
12630 (Type Information): Mention that the information is also
12631 used to implement PCH.
12632 * doc/passes.texi (Passes): Improve documentation of
12633 language-specific files.
12634
12635 2002-12-11 Geoffrey Keating <geoffk@apple.com>
12636
12637 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
12638 (struct walk_type_data): Add reorder_fn field.
12639 (walk_type): Process 'reorder' option.
12640 (write_types_process_field): Reorder parameters to gt_pch_note_object,
12641 call reorder_note_routine.
12642 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
12643 (ggc_wtd): Update for change to struct write_types_data.
12644 (pch_wtd): Likewise.
12645 * ggc.h (gt_pch_note_object): Reorder parameters.
12646 (gt_handle_reorder): New definition.
12647 (gt_pch_note_reorder): New prototype.
12648 * ggc-common.c (struct ptr_data): Add reorder_fn.
12649 (gt_pch_note_object): Reorder parameters.
12650 (gt_pch_note_reorder): New.
12651 (gt_pch_save): Call reorder_fn.
12652 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
12653
12654 * dbxout.c (cwd): Don't mark for PCH.
12655
12656 2002-12-09 Geoffrey Keating <geoffk@apple.com>
12657
12658 * gengtype.c (finish_root_table): Fix some warnings.
12659 (write_root): Handle TYPE_STRING.
12660 * ggc.h (gt_ggc_m_S): Add prototype.
12661 * stringpool.c (gt_ggc_m_S): New function.
12662
12663 2002-11-30 Geoffrey Keating <geoffk@apple.com>
12664
12665 * dwarf2out.c (dw2_string_counter): New.
12666 (AT_string_form): Use it.
12667 (same_dw_val_p): Update for removal of hashtable.h hash tables.
12668
12669 2002-11-22 Geoffrey Keating <geoffk@apple.com>
12670
12671 * dbxout.c: Include gt-dbxout.h.
12672 (lastfile): Mark for PCH/GGC.
12673 (cwd): Likewise.
12674 (struct typeinfo): Likewise.
12675 (typevec): Likewise.
12676 (typevec_len): Likewise.
12677 (next_type_number): Likewise.
12678 (struct dbx_file): Likewise.
12679 (current_file): Likewise.
12680 (next_file_number): Likewise.
12681 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
12682 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
12683 (dbxout_end_source_file): Don't free struct dbx_file.
12684 (dbxout_type): Use GGC to allocate typevec.
12685 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
12686 (GTFILES): Add dbxout.c.
12687 (gt-dbxout.h): New rule.
07488f32 12688
17211ab5
GK
12689 * Makefile.in (c-pch.o): Add debug.h as dependency.
12690 * c-pch.c: Include debug.h.
12691 (pch_init): Call start_source_file to keep nesting right.
12692 (c_common_read_pch): Add orig_name parameter. Call
12693 start_source_file debug hook. Call end_source_file debug hook.
12694 * c-common.h (c_common_read_pch): Update prototype.
12695 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
12696 callback.
12697 * cppfiles.c (struct include_file): Add new field `header_name'.
12698 (find_or_create_entry): Default it to `name'.
12699 (open_file_pch): Set it to the original header file searched for.
12700 (stack_include_file): Don't stack an empty buffer, just handle
12701 PCH files immediately. Pass header_name field to read_pch callback.
12702
12703 2002-11-19 Geoffrey Keating <geoffk@apple.com>
12704
12705 * function.c (funcdef_no): Mark to be saved in a PCH.
12706
12707 2002-11-15 Geoffrey Keating <geoffk@apple.com>
12708
12709 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
12710
12711 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
12712
12713 2002-11-14 Geoffrey Keating <geoffk@apple.com>
12714
12715 * optabs.h (code_to_optab): Add GTY marker.
12716
12717 2002-11-13 Geoffrey Keating <geoffk@apple.com>
12718
12719 * Makefile.in (GTFILES): Add cpplib.h.
12720 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
12721 * c-decl.c (build_compound_literal): Don't use var_labelno.
12722 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
12723 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
12724 * varasm.c (const_labelno): Use gengtype to mark.
12725 (var_labelno): Likewise.
12726 (in_section): Likewise.
12727 (in_named_name): Likewise.
12728 (struct in_named_entry): Likewise.
12729 (in_named_htab): Likewise.
12730 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
12731 (init_varasm_once): Use GGC to allocate in_named_htab.
12732 * config/darwin.c (current_pic_label_num): Mark for PCH.
12733
12734 2002-11-11 Geoffrey Keating <geoffk@apple.com>
12735
12736 * ggc-simple.c (init_ggc_pch): New stub procedure.
12737 (ggc_pch_count_object): Likewise.
12738 (ggc_pch_total_size): Likewise.
12739 (ggc_pch_this_base): Likewise.
12740 (ggc_pch_alloc_object): Likewise.
12741 (ggc_pch_prepare_write): Likewise.
12742 (ggc_pch_write_object): Likewise
12743 (ggc_pch_finish): Likewise.
12744 (ggc_pch_read): Likewise.
12745
12746 2002-11-08 Geoffrey Keating <geoffk@apple.com>
12747
12748 * c-pch.c (c_common_write_pch): Write the macro definitions after
12749 the GCed data.
12750 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
12751 definitions after the GCed data.
12752 * cpplib.c (save_macros): New.
12753 (reset_ht): New.
12754 (cpp_write_pch_deps): Split out of cpp_write_pch.
12755 (cpp_write_pch_state): Split out of cpp_write_pch.
12756 (cpp_write_pch): Delete.
12757 (struct save_macro_data): Delete.
12758 (cpp_prepare_state): New.
12759 (cpp_read_state): Erase and restore initial macro definitions.
12760 * cpplib.h (struct save_macro_data): Forward-declare.
12761 (cpp_write_pch_deps): Prototype.
12762 (cpp_write_pch_state): Prototype.
12763 (cpp_write_pch): Delete prototype.
12764 (cpp_prepare_state): Prototype.
12765 (cpp_read_state): Add fourth argument.
12766
12767 2002-11-04 Geoffrey Keating <geoffk@apple.com>
12768
12769 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
12770 (write_array): Remove warning.
12771
12772 * gengtype.c (contains_scalar_p): New.
12773 (finish_root_table): Add the table to all languages, even if it's
12774 empty.
12775 (write_roots): Output gt_pch_scalar_rtab.
12776 * ggc-common.c (gt_pch_save): Write out scalars.
12777 (gt_pch_restore): Read scalars back.
12778
12779 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
12780 (struct page_entry): Delete pch_page field.
12781 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
12782 (clear_marks): Likewise.
12783 (sweep_pages): Likewise.
12784 (poison_pages): Likewise.
12785 (ggc_print_statistics): Likewise.
12786 (ggc_pch_read): Don't free objects read from a PCH.
12787 Properly set up in_use_p and page_tails.
12788
12789 2002-10-25 Geoffrey Keating <geoffk@apple.com>
12790
12791 * gengtype.c (struct write_types_data): New.
12792 (struct walk_type_data): Make `cookie' const; add extra
12793 prev_val item; add `orig_s' field.
12794 (walk_type): Update prev_val[3].
12795 (write_types_process_field): New.
12796 (write_func_for_structure): Take write_types_data structure.
12797 (write_types): New.
12798 (ggc_wtd): New.
12799 (pch_wtd): New.
12800 (write_types_local_process_field): New.
12801 (gc_mark_process_field): Delete.
12802 (write_local_func_for_structure): New.
12803 (gc_mark_func_name): Delete.
12804 (write_gc_types): Delete.
12805 (write_local): New.
12806 (finish_root_table): Don't include 'ggc_' in PFX.
12807 (write_root): Rename from write_root. Fill pchw field of structures.
12808 (write_array): New.
12809 (write_roots): Rename from write_gc_roots. Split out to write_array.
12810 Update to changes to other routines. Write gt_pch_cache_rtab table.
12811 (main): Write PCH walking routines.
12812 * ggc-common.c: Include toplev.h, sys/mman.h.
12813 (ggc_mark_roots): For cache hashtables, also mark the hash table
12814 and the array of entries.
12815 (saving_htab): New.
12816 (struct ptr_data): New.
12817 (POINTER_HASH): New.
12818 (gt_pch_note_object): New.
12819 (saving_htab_hash): New.
12820 (saving_htab_eq): New.
12821 (struct traversal_state): New.
12822 (call_count): New.
12823 (call_alloc): New.
12824 (compare_ptr_data): New.
12825 (relocate_ptrs): New.
12826 (write_pch_globals): New.
12827 (struct mmap_info): New.
12828 (gt_pch_save): New.
12829 (gt_pch_restore): New.
12830 * ggc-page.c (ROUND_UP_VALUE): New.
12831 (ROUND_UP): New.
12832 (struct page_entry): Add field `pch_page'.
12833 (init_ggc): Use ROUND_UP.
12834 (struct ggc_pch_data): Declare.
12835 (init_ggc_pch): New.
12836 (ggc_pch_count_object): New.
12837 (ggc_pch_total_size): New.
12838 (ggc_pch_this_base): New.
12839 (ggc_pch_alloc_object): New.
12840 (ggc_pch_prepare_write): New.
12841 (ggc_pch_write_object): New.
12842 (ggc_pch_finish): New.
12843 (ggc_pch_read): New.
12844 * ggc.h (gt_pointer_operator): New.
12845 (gt_note_pointers): New.
12846 (gt_pch_note_object): New prototype.
12847 (gt_pointer_walker): New.
12848 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
12849 (LAST_GGC_ROOT_TAB): Update.
12850 (gt_pch_cache_rtab): Declare.
12851 (gt_pch_scalar_rtab): Declare.
12852 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
12853 (LAST_GGC_CACHE_TAB): Update.
12854 (gt_pch_save_stringpool): Declare.
12855 (gt_pch_restore_stringpool): Declare.
12856 (gt_pch_p_S): Declare.
12857 (gt_pch_n_S): Declare.
12858 (struct ggc_pch_data): Forward-declare.
12859 (init_ggc_pch): Declare.
12860 (ggc_pch_count_object): Declare.
12861 (ggc_pch_total_size): Declare.
12862 (ggc_pch_this_base): Declare.
12863 (ggc_pch_alloc_object): Declare.
12864 (ggc_pch_prepare_write): Declare.
12865 (ggc_pch_write_object): Declare.
12866 (ggc_pch_finish): Declare.
12867 (ggc_pch_read): Declare.
12868 (gt_pch_save): Declare.
12869 (gt_pch_restore): Declare.
12870 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
12871 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
12872 const_double_htab, mem_attrs_htab using GGC.
12873 * c-pch.c: Include ggc.h.
12874 (pch_init): Allow reading PCH file back.
12875 (c_common_write_pch): Call gt_pch_save.
12876 (c_common_read_pch): Call gt_pch_restore.
12877 * c-parse.in (init_reswords): Delete now-untrue comment.
12878 Allocate ridpointers using GGC.
12879 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
12880 calling expand_deferred_fns.
12881 * c-common.h (ridpointers): Mark for GTY machinery.
12882 * Makefile.in (stringpool.o): Update dependencies.
12883 (c-pch.o): Update dependencies.
12884 (ggc-common.o): Update dependencies.
12885 * stringpool.c: Include gt-stringpool.h.
12886 (gt_pch_p_S): New.
12887 (gt_pch_n_S): New.
12888 (struct string_pool_data): New.
12889 (spd): New.
12890 (gt_pch_save_stringpool): New.
12891 (gt_pch_restore_stringpool): New.
12892 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 12893
17211ab5
GK
12894 2002-10-04 Geoffrey Keating <geoffk@apple.com>
12895
12896 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
12897 (output_mangled_typename): Don't pass size_t to printf.
12898
12899 * tree.h (union tree_type_symtab): Add tag to `address' field.
12900 (union tree_decl_u2): Add tag to 'i' field.
12901 * varasm.c (union rtx_const_un): Add tags to all fields.
12902 * gengtype.c (struct walk_type_data): New.
12903 (output_escaped_param): Take struct walk_type_data parameter.
12904 (write_gc_structure_fields): Delete.
12905 (walk_type): New.
12906 (write_gc_marker_routine_for_structure): Delete.
12907 (write_func_for_structure): New.
12908 (gc_mark_process_field): New.
12909 (gc_mark_func_name): New.
12910 (gc_counter): Delete.
12911 (write_gc_types): Use write_func_for_structure.
12912 (write_gc_roots): Use walk_type.
12913
12914 2002-10-02 Geoffrey Keating <geoffk@apple.com>
12915
12916 * ggc-common.c (ggc_mark_roots): Delete 'x'.
12917 (ggc_splay_dont_free): Fix warning about unused 'x'.
12918 (ggc_print_common_statistics): Remove warnings.
12919
12920 2002-10-01 Mike Stump <mrs@apple.com>
12921
07488f32
ZW
12922 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
12923 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
12924
12925 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
12926 Catherine Moore <clm@redhat.com>
12927
12928 * Makefile (c-pch.o): Update dependencies.
12929 (LIBCPP_OBJS): Add cpppch.o.
12930 (cpppch.o): New.
12931 * c-common.c (c_common_init): Don't call pch_init here.
12932 * c-common.h (c_common_read_pch): Update prototype.
12933 * c-lex.c (c_common_parse_file): Call pch_init here.
12934 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
12935 (c_common_decode_option): Handle them.
12936 * c-pch.c: Include c-pragma.h.
12937 (save_asm_offset): Delete.
12938 (pch_init): Move contents of save_asm_offset into here, call
12939 cpp_save_state.
12940 (c_common_write_pch): Call cpp_write_pch.
12941 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
12942 cpp_valid_state.
12943 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 12944 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
12945 parameters of cb.read_pch.
12946 * cpphash.h (struct cpp_reader): Add `savedstate' field.
12947 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
12948 `restore_pch_deps' fields.
12949 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
12950 (cpp_save_state): Prototype.
12951 (cpp_write_pch): Prototype.
12952 (cpp_valid_state): Prototype.
12953 (cpp_read_state): Prototype.
12954 * cpppch.c: New file.
12955 * flags.h (version_flag): Remove prototype.
12956 * mkdeps.c (deps_save): New.
12957 (deps_restore): New.
12958 * mkdeps.h (deps_save): Prototype.
12959 (deps_restore): Prototype.
12960 * toplev.c (late_init_hook): Delete.
12961 (version_flag): Make static again.
12962 (compile_file): Don't call late_init_hook.
12963 * toplev.h (late_init_hook): Delete.
12964 * doc/cppopts.texi: Document -fpch-deps.
12965 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
12966
12967 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
12968
12969 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
12970 callers.
12971 (c_common_valid_pch): Rename from c_valid_pch, change callers.
12972 (c_common_read_pch): Rename from c_read_pch, change callers.
12973
12974 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
12975 a space between it and its argument.
12976
12977 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
12978
12979 * c-pch.c: New file.
12980 * toplev.h (late_init_hook): Declare.
12981 * toplev.c (late_init_hook): Define.
12982 (version_flag): Make globally visible.
12983 (compile_file): Call late_init_hook.
12984 (init_asm_output): Make output file seekable.
12985 * gcc.c (default_compilers): Update c-header rule.
12986 * flags.h (version_flag): Declare.
12987 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
12988 fields.
12989 * cppfiles.c (struct include_file): Add 'pch' field.
12990 (INCLUDE_PCH_P): New.
12991 (open_file_pch): New.
12992 (stack_include_file): Handle PCH files specially.
12993 (find_include_file): Call open_file_pch instead of open_file.
12994 (_cpp_read_file): Explain why open_file is used instead of
12995 open_file_pch.
12996 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
12997 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
12998 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
12999 in cpplib callbacks.
13000 * c-common.c (pch_file): Correct comment.
13001 (allow_pch): Define.
13002 (c_common_init): Call pch_init.
13003 * c-common.h (allow_pch): Declare.
13004 (pch_init): Declare.
13005 (c_valid_pch): Declare.
13006 (c_read_pch): Declare.
13007 (c_write_pch): Declare.
13008 * Makefile.in (c-pch.o): New.
13009 (C_AND_OBJC_OBJS): Add c-pch.o.
13010 * doc/invoke.texi (Precompiled Headers): Add index entries,
13011 complete truncated paragraph.
13012
13013 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
13014
13015 * c-common.c: (pch_file): Define.
13016 * c-common.h (pch_file): Declare.
13017 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
13018 (missing_arg): Require --output-pch= to have an argument.
13019 (c_common_decode_option): Handle --output-pch=.
13020 * gcc.c: Document new %V.
13021 (default_compilers): Handle compiling C header files.
13022 (do_spec_1): Implement %V.
13023 (main): Handle "gcc foo.h" without trying to run linker.
13024 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
13025 (Overall Options): Document what the driver does with header files,
13026 document new -x option possibilities.
13027 (Invoking G++): More documentation for PCH.
13028 (Precompiled Headers): New.
13029
13030 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
13031
13032 * ggc.h: Don't include varray.h. Rearrange functions to be more
13033 organized.
13034 (ggc_add_root): Delete.
13035 (ggc_mark_rtx): Delete.
13036 (ggc_mark_tree): Delete.
13037 (struct ggc_statistics): Remove contents.
13038 * ggc-common.c: Remove unneeded includes.
13039 (struct ggc_root): Delete.
13040 (roots): Delete.
13041 (ggc_add_root): Delete.
13042 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
13043 (ggc_print_common_statistics): Remove most of the contents.
13044 * Makefile.in (GGC_H): No longer uses varray.h.
13045 (ggc-common.o): Update dependencies.
13046 (c-parse.o): Add varray.h to dependencies.
13047 (c-common.o): Add varray.h.
13048 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
13049 (mark_ident_hash): Rename to ggc_mark_stringpool.
13050 (init_stringpool): Don't use ggc_add_root.
13051 * c-parse.in: Include varray.h.
13052 * c-common.c: Include varray.h.
13053 * objc/Make-lang.in (objc-act.o): Add varray.h.
13054 * objc/objc-act.c: Include varray.h.
13055
13056 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
13057
13058 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
13059 (dw_cfi_oprnd1_desc): Likewise.
13060
13061 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
13062
13063 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
13064 move out of ifdef.
13065 (alpha_links): Use gengtype to mark; move out of ifdef.
13066 (mark_alpha_links_node): Delete.
13067 (mark_alpha_links): Delete.
13068 (alpha_need_linkage): Use GGC to allocate splay tree, struct
13069 alpha_links, strings. Don't use ggc_add_root.
13070 * ggc-common.c (ggc_splay_alloc): New.
13071 (ggc_splay_dont_free): New.
13072 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13073 (ggc_mark_tree): Likewise.
13074 (splay_tree_new_ggc): New.
13075 (ggc_splay_alloc): Declare.
13076 (ggc_splay_dont_free): Declare.
13077 * dwarf2asm.c: Include gt-dwarf2asm.h.
13078 (mark_indirect_pool_entry): Delete.
13079 (mark_indirect_pool): Delete.
13080 (indirect_pool): Use gengtype to mark.
13081 (dw2_force_const_mem): Don't use ggc_add_root.
13082 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
13083 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
13084 (gt-dwarf2asm.h): Depend on s-gtype.
13085
13086 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
13087
13088 * tree.h (union tree_type_symtab): Mark `die' field.
13089 * Makefile.in (dwarf2out.o): Update dependencies.
13090 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
13091 hash tables.
13092 (dw_cfi_oprnd1_desc): New function.
13093 (dw_cfi_oprnd2_desc): New function.
13094 (indirect_string_alloc): Delete.
13095 (debug_str_do_hash): New function.
13096 (debug_str_eq): New function.
13097 (mark_limbo_die_list): Delete.
13098 (dwarf2out_init): Don't call ggc_add_root.
13099
30028c85
VM
131002003-01-09 Vladimir Makarov <vmakarov@redhat.com>
13101
13102 The following changes are merged from itanium-sched-branch:
13103
13104 2003-01-08 David Edelsohn <edelsohn@gnu.org>
13105
13106 * doc/md.texi: Clarify assignment of units to automata description.
13107
13108 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
13109
13110 * genautomata.c (unit_decl): Remove members
13111 `the_same_automaton_unit' and
13112 `the_same_automaton_message_reported_p'.
13113 (process_unit_to_form_the_same_automaton_unit_lists,
13114 form_the_same_automaton_unit_lists_from_regexp,
13115 form_the_same_automaton_unit_lists, the_same_automaton_lists):
13116 Remove them.
13117 (annotation_message_reported_p): New global variable.
13118 (check_unit_distribution_in_reserv,
13119 check_regexp_units_distribution): New functions.
13120 (check_unit_distributions_to_automata): Rewrite it.
13121
13122 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
13123
13124 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
13125 Use continue instead of break if cycle is too big.
13126
13127 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
13128
13129 * genautomata.c (check_unit_distributions_to_automata): Output at
13130 most one message for a unit.
13131 (process_unit_to_form_the_same_automaton_unit_lists): Check
13132 automaton of units instead of units themself.
13133
13134 * doc/md.texi: Describe the constraint about assigning unit to
13135 automata.
13136
13137 2002-12-20 Jan Hubicka <jH@suse.cz>
13138 Vladimir Makarov <vmakarov@redhat.com>
13139
13140 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
13141 and `in_set_p'.
13142 (gen_cpu_unit): Initialize the new members.
13143 (process_regexp_cycles): Calculate minimal finish cycle too. Set
13144 up `min_occ_cycle_num'.
13145 (evaluate_max_reserv_cycles): Change the function call.
13146 (CLEAR_BIT): New macro.
13147 (states_union, state_shift): Use the mask.
13148 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
13149 (form_reservs_matter): New function.
13150 (make_automaton): Call the function and use the mask.
13151 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
13152 account.
07488f32 13153
30028c85
VM
13154 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13155
13156 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
13157
13158 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13159
13160 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
13161 for Itanium.
13162
13163 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13164
13165 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
13166 default cpu.
13167
13168 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13169 2002-10-31 Dale Johannesen <dalej@apple.com>
13170
13171 * haifa-sched.c (find_set_reg_weight): New function.
13172 (find_insn_reg_weight): Use the new function.
13173 (schedule_block): Do sorting ready queue always
13174 after insn issue.
13175
13176 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
13177
13178 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
13179
13180 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
13181
13182 * haifa-sched.c (choice_entry): New structure.
13183 (choice_stack, cycle_issued_insns): New variables.
13184 (max_issue): Rewrite it.
13185 (choose_ready): Set up ready_try for unknown insns too.
13186 (schedule_block): Allocate and free choice_stack. Set up
13187 and modify cycle_issued_insns.
13188
13189 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
13190 with and without filling the bundle.
13191 (bundling): Combine calls of issue_nops_and_insn.
07488f32 13192
30028c85
VM
13193 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
13194
13195 * config/ia64/itanium1.md: New file.
13196
13197 * config/ia64/itanium2.md: New file.
13198
13199 * config/ia64/ia64.md: Move DFA descriptions into the new files.
13200 Remove the old pipeline description.
07488f32 13201
30028c85
VM
13202 * config/ia64/ia64.c (ia64_override_options): Add aliases of
13203 itanium processor names.
07488f32 13204
30028c85
VM
13205 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
13206
13207 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
13208 (ia64_reorg): Set up queried unit codes for Itanium2 too.
13209
13210 * config/ia64/ia64.md: Add descriptions for Itanium2.
13211
13212 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
13213
13214 * config/ia64/ia64.h (processor_type): New enumeration.
13215 (ia64_tune, ia64_tune_string): New external declarations.
13216 (TARGET_OPTIONS): Add option `tune='.
13217
13218 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
13219 variables.
13220 (ia64_override_options): Set up `ia64_tune'.
13221 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
13222 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
13223 (bundling): Add nops for MM-insns only for Itanium.
13224 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
13225 Itanium.
13226
13227 * config/ia64/ia64.md (cpu): New attribute.
13228 (DFA description): Enable it only for Itanium.
07488f32 13229
30028c85
VM
13230 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
13231 Richard Henderson <rth@redhat.com>
13232
13233 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
13234 MASK_EARLY_STOP_BITS.
13235 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
13236 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
13237 `early-stop-bits'.
07488f32 13238
30028c85
VM
13239 * config/ia64/ia64.c (ia64_dfa_new_cycle,
13240 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
13241 instead of TARGET_TUNE_STOP_BITS.
07488f32 13242
30028c85
VM
13243 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
13244 `-mearly-stop-bits'.
13245
13246 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 13247
30028c85
VM
13248 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
13249
07488f32 13250 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
13251 New macros.
13252 (TARGET_SWITCHES): Add entries for the new option.
07488f32 13253
30028c85
VM
13254 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
13255 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
13256 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
13257 global variables.
13258 (ia64_sched_reorder2): Set up `clocks'.
13259 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
13260 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
13261 queue when TARGET_TUNE_STOP_BITS.
13262 (bundling): Insert additional nops for MM-insns.
13263 (final_emit_insn_group_barriers): Add insertion of stop bits
13264 according `stops_p'.
13265 (ia64_reorg): Initiate the new varibales.
13266
13267 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 13268
30028c85
VM
13269 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
13270
13271 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
13272 insns at the end of block insn scheduling.
13273
13274 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
13275
13276 * sched-deps.c (remove_dependence, group_leader): Remove it.
13277 (add_dependence): Add dependence to group leader to.
13278 (set_sched_group_p): Add dependence to the first insn of the
13279 schedule group too.
13280 (sched_analyze_insn): Make dependence to jump as anti-dependence.
13281 Change true dependence by anti-dependence when
13282 `reg_pending_barrier'.
13283
13284 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
13285 add_branch_dependences): Ignore schedule groups.
13286
13287 * sched-ebb.c (init_ready_list): Ditto.
13288
13289 * (move_insn, set_priorities): Ditto.
13290
13291 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
13292 flag is clear after reload.
13293 (adjust_cost): Change cost only for output dependencies.
07488f32 13294
30028c85 13295 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 13296
30028c85
VM
13297 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
13298
13299 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
13300
13301 * target.h (gcc_target): Add member
13302 `dependencies_evaluation_hook'.
13303
13304 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
13305 macro.
13306 (TARGET_SCHED): Add initiatialization of the new member.
13307
13308 * sched-ebb.c: Include `target.h'.
13309 (schedule_ebb): Call `dependencies_evaluation_hook'.
13310
13311 * sched-rgn.c (schedule_region): Call
13312 `dependencies_evaluation_hook'.
13313
13314 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
13315 New macro.
13316 (ia64_dependencies_evaluation_hook): New function.
13317
13318 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
13319 Describe the new hook.
07488f32 13320
30028c85
VM
13321 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
13322
13323 * target.h (gcc_target): Add members
13324 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
13325
13326 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
13327 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
13328 macros.
13329 (TARGET_SCHED): Add initiatialization of the new members.
13330
13331 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
13332 insn scheduling too.
13333 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
13334 initialize `ready_try'.
13335 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
13336 `dfa_new_cycle' says not to do it.
07488f32 13337
30028c85
VM
13338 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
13339 bundling.
13340
13341 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
13342
13343 * config/ia64/ia64.c: Include `hashtab.h'.
13344 (ia64_first_cycle_multipass_dfa_lookahead_guard,
13345 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
13346 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
13347 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
13348 bundle_state_eq_p, insert_bundle_state,
13349 initiate_bundle_state_table, finish_bundle_state_table,
13350 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
13351 get_template, get_next_important_insn, bundling): New functions.
13352 (ia64_internal_sched_reorder): Remove it.
13353 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
13354 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
13355 (ia64_safe_itanium_requires_unit0): Remove it.
13356 (group_barrier_needed_p): Place group barrier right before a real
13357 insn.
13358 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
13359 Remove them.
13360 (bundle_name): New variable.
13361 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
13362 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
13363 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
13364 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
13365 temp_dfa_state, prev_cycle_state): New global variables.
13366 (insn_matches_slot, maybe_rotate, finish_last_head,
13367 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
13368 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
13369 find_best_packet, itanium_reorder, dump_current_packet,
13370 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
13371 (sched_data, sched_ready, sched_types): Remove them.
13372 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
13373 `init_insn_group_barriers'.
13374 (ia64_sched_reorder, ia64_sched_reorder2): Call
13375 ia64_dfa_sched_reorder.
13376 (ia64_variable_issue): Rewrite it.
13377 (bundle_state): New structure.
13378 (index_to_bundle_states, bundle_states_num,
13379 allocated_bundle_states_chain, free_bundle_state_chain): New
13380 global variables.
13381 (ia64_sched_finish): Add stop bits and call `bundling' after the
13382 2nd insn scheduling.
13383 (ia64_use_dfa_pipeline_interface): Return zero always.
13384 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
13385 insn scheduling.
13386 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
13387 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
13388 (ia64_reorg): Add bundling insns.
13389
13390 * doc/tm.texi
13391 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
13392 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 13393
30028c85
VM
13394 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
13395
13396 * config/ia64/ia64.md: Add Itanium1 DFA description.
13397 (itanium_class): Add `nop' and `pre_cycle'. Add
13398 define_function_unit for `nop'.
13399 (nop): Change attribute `itanium_class'.
13400 (pre_cycle): New define_insn.
13401
13402 * config/ia64/ia64-protos.h (bundling_p): New external variable.
13403 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
13404 ia64_produce_address_p): New function prototypes.
13405
13406 * config/ia64/ia64.c (bundling_p): New global variable.
13407 (ia64_use_dfa_pipeline_interface,
13408 ia64_first_cycle_multipass_dfa_lookahead,
13409 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
13410 functions.
13411 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13412 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13413 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13414 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
13415 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
13416 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
13417 (dfa_pre_cycle_insn): New variable.
07488f32 13418
30028c85
VM
13419 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
13420
13421 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
13422 constructions.
13423
13424 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
13425 New function prototypes.
13426
13427 * genattrtab.c (main): Process the new constructions.
13428
13429 * genautomata.c (gen_presence_absence_set,
13430 process_presence_absence_names, process_presence_absence_patterns,
13431 add_presence_absence, check_absence_pattern_sets): Add parameter
13432 `final_p'.
13433 (unit_decl): Add new members `final_presence_list' and
13434 `final_absence_list'.
13435 (unit_pattern_rel_decl): Add new member `final_p'.
13436 (gen_final_presence_set, gen_final_absence_set): New functions.
13437 (process_decls): Use member `final_p'.
13438 (temp_reserv): New global variable.
13439 (reserv_sets_are_intersected): Add processing `final_presence_set'
13440 and `final_absence_set'.
13441 (initiate_states): Allocate `temp_reserv'.
13442 (unit_final_presence_set_table, unit_final_absence_set_table): New
13443 gloabal variables.
13444 (initiate_presence_absence_pattern_sets): Initiate them.
13445 (NDFA_to_DFA): Fix typo.
13446 (output_description): Output `final_presence_set' and
13447 `final_absence_set'.
13448
13449 * doc/md.texi (final_presence_set, final_absence_set): Describe
13450 them.
07488f32 13451
30028c85
VM
13452 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
13453
13454 * genautomata.c (transform_3): Process a missing case (nothing on
13455 unit place).
13456
13457 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
13458
13459 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
13460 comments about queried units and the minimization.
07488f32 13461
30028c85 13462 * doc/md.texi: Ditto.
07488f32 13463
30028c85
VM
13464 * genautomata.c (create_composed_state): Return nonzero if the new
13465 state has been created.
13466 (first_cycle_unit_presence): New function.
13467 (state_is_differed): Add new parameter. Use the new function.
13468 Take queried units into account.
13469 (partition_equiv_class): Pass additional parameter to
13470 `state_is_differed'.
13471 (merge_states): Process composed states too.
13472 (build_automaton, create_automata, output_min_issue_delay_table,
13473 output_tables, output_statistics): Output more information.
13474 (output_reserved_units_table): Use function
13475 `first_cycle_unit_presence'.
13476 (output_tables): Output table of queried units even if the
13477 minimization is switched on.
13478 (write_automata): Output code for querying units even if the
13479 minimization is switched on.
07488f32 13480
30028c85
VM
13481 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
13482
13483 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
13484 syntax of the constructions.
07488f32 13485
30028c85
VM
13486 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
13487 extended syntax of the constructions.
07488f32 13488
30028c85
VM
13489 * genautomata.c (unit_rel_decl): Rename it to
13490 `unit_pattern_rel_decl'.
13491 (pattern_set_el, pattern_reserv): New structures.
13492 (pattern_set_el_t, pattern_reserv_t): New types.
13493 (gen_presence_absence_set): New function.
13494 (process_presence_absence): Remove it.
13495 (process_presence_absence_names,
13496 process_presence_absence_patterns): New functions.
13497 (get_presence_absence_set): Remove it.
13498 (initiate_presence_absence_sets): Rename it on
13499 `initiate_presence_absence_pattern_sets'. Use new function
13500 `form_reserv_sets_list'.
13501 (form_reserv_sets_list, check_presence_pattern_sets,
13502 check_absence_pattern_sets, output_pattern_set_el_list): New
13503 functions.
13504 (unit_decl): Change types of members `presence_list' and
13505 `absence_list'.
13506 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
13507 (decl): Change types of members `excl', `presence', and `absence'.
13508 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
13509 at the end of the vector.
13510 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
13511 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
13512 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
13513 (gen_presence_set, gen_absence_set): Use new function
13514 `gen_presence_absence_set'.
13515 (add_presence_absence): Process `pattern_list' instead of
13516 `source_list'.
13517 (process_decls): USe new functions
13518 `process_presence_absence_names' and
13519 `process_presence_absence_patterns'.
13520 (reserv_sets_are_intersected): Use new function
13521 `check_presence_pattern_sets'.
13522 (presence_set, absence_set): Remove them.
13523 (unit_presence_set_table, unit_absence_set_table): New global
13524 variables.
13525 (output_description): Use new function
13526 `output_pattern_set_el_list'.
13527 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 13528
30028c85
VM
13529 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
13530
13531 * genattr.c (main): Add output of prototype of new interface
13532 function `dfa_clean_insn_cache'.
13533
13534 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
13535 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
13536 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
13537 the generated code.
13538 (write_automata): Call the new function.
07488f32 13539
62c9aa5f 135402003-01-09 Jan Hubicka <jh@suse.cz>
cb297538 13541
17211ab5
GK
13542 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
13543 correctly.
cb297538 13544
3a6e2189
PC
135452003-01-09 Paolo Carlini <pcarlini@unitus.it>
13546
13547 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
13548
62c9aa5f 135492003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
97488870
R
13550
13551 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
13552 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13553 (CONSTRAINT_LEN): Provide default definition.
13554 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
13555 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
13556 (EXTRA_CONSTRAINT_STR): Likewise.
13557 (REG_CLASS_FROM_CONSTRAINT): Define.
13558 * genoutput.c (check_constraint_len, constraint_len): New functions.
13559 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
13560 constraint / modifier.
13561 (gen_insn): Call check_constraint_len.
13562 * local-alloc.c (block_alloc): Update to use new macros / pass
13563 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
13564 * ra-build.c (handle_asm_insn): Likewise.
13565 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
13566 (constrain_operands, peep2_find_free_register): Likewise.
13567 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13568 * regmove.c (find_matches): Likewise.
13569 * reload.c (push_secondary_reload, find_reloads): Likewise.
13570 (alternative_allows_memconst): Likewise.
13571 * reload1.c (maybe_fix_stack_asms): Likewise.
13572 (reload_cse_simplify_operands): Likewise.
13573 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13574 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
13575 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
13576 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
13577 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
13578 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
13579
13580 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
13581
fc182093
KH
135822003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13583
13584 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
13585 length.
13586 (*extzv_1_r_h8300hs): Likewise.
13587 (*extzv_1_r_inv_h8300): Likewise.
13588 (*extzv_1_r_inv_h8300hs): Likewise.
13589
3b1c9927
KH
135902003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13591
13592 * config/h8300/h8300.h (PREDICATE_CODES): New.
13593
867504e6
KH
135942003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13595
13596 * config/h8300/h8300.md (*addsi3_upper): New.
13597 (*iorsi3_shift): Likewise.
13598 (two splitters): Likewise.
13599 (*addsi3_shift): Likewise.
13600 (two splitters): Likewise.
13601
4a69cf79
JZ
136022003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
13603
13604 * Makefile.in (optabs.o): Add dependency on basic-block.h.
13605 * basic-block.h (control_flow_insn_p): Fuction was exported.
13606 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
13607 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
13608 notes only when the region is contained in a single basic block.
13609
4c46ea23
EB
136102003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
13611
13612 PR inline-asm/8832
13613 * tree.h (expand_asm): New prototype.
13614 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
13615 to do so.
13616 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
13617 down to expand_asm.
13618 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
13619 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
13620 (volatile_refs_p) [ASM_INPUT]: Likewise.
13621 (side_effects_p) [ASM_INPUT]: Likewise.
13622
62c9aa5f 136232003-01-09 Jan Hubicka <jh@suse.cz>
f56e86bd
JH
13624
13625 * i386.md (*mul*): FIx constraints; remove confused comment; fix
13626 athlon_decode attributes
13627 (imul/k8 optimization peep2s): New.
13628
13629 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
13630 * i386.md (type attribute): Add ssecomi.
13631 (unit, memory, prefix attributes): Handle ssecomi.
13632 (cvt?2? patterns): Fix athlon_decode attribute
13633 (comi patterns): Set attribute to ssecomi.
13634
13635 PR target/8343
13636 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
13637
98c29f71
RS
136382003-01-09 Richard Sandiford <rsandifo@redhat.com>
13639
13640 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
13641 that match register_operands.
13642 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
13643 register_operand the default case.
13644
bbb818c6
EB
136452003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
13646
13647 PR c/8032
13648 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
13649 an empty element, do not advance the pointer to unfilled
13650 fields if there are pending initializers.
13651
90961eff
AJ
136522003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
13653
13654 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
13655 (install-gcc-tooldir, install-cpp, installdirs,
13656 install-common, install-driver, install-info, install-man,
13657 install-headers, install-include-dir, install-headers-tar,
13658 install-headers-cpio, install-headers-cp, install-mkheaders,
13659 install-collect2, uninstall): Prepend $(DESTDIR) to
13660 destination paths in all (un)installation commands.
13661 (install-driver): Rewrite $(LN) commands to support DESTDIR
13662 with "ln" as well as with "ln -s".
13663 (installdirs): Simply use mkinstalldirs.
13664 (install-libgcc, install-multilib): Also pass DESTDIR.
13665 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
13666 installation destination variable ldir.
13667 * config/alpha/t-osf4, config/arm/t-netbsd,
13668 config/ia64/t-hpux, config/mips/t-iris5-6,
13669 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
13670 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
13671 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
13672 in the definition of SHLIB_INSTALL.
13673 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
13674 $(libsubdir) in the installation commands.
13675
8b26829f
KK
136762003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
13677
13678 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
13679 non-optimizing compile.
13680 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
13681 compile.
13682
fe77449a
DR
136832003-01-08 Douglas B Rupp <rupp@gnat.com>
13684
13685 * config/i386/i386.c (ix86_attribute_table): Add new attributes
13686 ms_struct and gcc_struct.
13687 (ix86_handle_struct_attribute): New function.
13688 (ix86_ms_bitfield_layout_p): Update to take new attributes
13689 into account.
13690 * doc/extend.texi: Document new attributes.
13691 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
13692
98417968
DS
136932003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
13694
07488f32
ZW
13695 PR optimization/8750
13696 * config/i386/i386.c (ix86_expand_prologue): Don't allow
13697 scheduling pass to move insns across __alloca call.
98417968 13698
e46e3130
DJ
136992003-01-08 Dale Johannesen <dalej@apple.com>
13700
07488f32
ZW
13701 * config/rs6000/rs6000.md: Replace *store_multiple_string
13702 with *stmsi[3-8].
e46e3130 13703
c40e5172
JS
137042003-01-08 Jeff Sturm <jsturm@one-point.com>
13705
13706 PR target/9210
13707 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
13708 Set SYMBOL_REF_FLAG on local data sym_ref.
13709
de62b72c 137102003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
13711
13712 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 13713 REG_PARM_STACK_SPACE.
07488f32 13714 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
13715 pretend_args_size.
13716
25839c41
NN
137172003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
13718
13719 * gcc.hlp: Delete.
13720
62c9aa5f 137212003-01-09 Jan Hubicka <jh@suse.cz>
4bdc8610
JH
13722
13723 * i386.c (ix86_expand_int_addcc): Fix thinko.
13724
5b71a4e7
DE
137252003-01-08 David Edelsohn <edelsohn@gnu.org>
13726
13727 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
13728 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
13729 as hook_bool_tree_hwi_hwi_tree_true.
13730 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
13731 (rs6000_emit_epilogue): Same.
13732 (rs6000_output_mi_thunk): Re-implement as RTL.
13733 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
13734 xcoffout_declare_function if any debugging enabled.
13735
2d2a50c3
CD
137362003-01-08 Chris Demetriou <cgd@broadcom.com>
13737
13738 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
13739 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
13740 * config/mips/mips.h (enum processor_type): Rename
13741 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
13742 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
13743 Add PROCESSOR_M4K.
13744 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
13745 (ISA_MIPS32R2): New define.
13746 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
13747 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
13748 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
13749 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
13750 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
13751 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
13752 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
13753 compiling MIPS16 code.
13754 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
13755 comment.
13756 (ISA_HAS_SEB_SEH): New define.
13757 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
13758 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
13759 processor_type value renaming. Add support for MIPS32R2.
13760 Clean up comments, and move "sb1" entry with other MIPS64 CPU
13761 entries.
13762 (override_options): Reimplement -mipsN option handling so that
13763 it will work correctly for -mips32r2. Avoid branch-likely
13764 instructions on MIPS32R2.
13765 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
13766 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
13767 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
13768 (extendhisi2_hw, extendqisi2_hw): New.
13769 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
13770 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
13771 MIPS32R2, and MIPS64.
13772 (LINK_SPEC): Pass -mips32r2 to linker.
13773 * config/mips/t-isa3264: Built -mips32r2 multilibs.
13774 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
13775 for mips32r2 in the -march description. Alphabetically sort
13776 CPU names in the -march description. Add long-missed -mips32
13777 and -mips64 to MIPS option summary.
13778
13779 * config.gcc: Update copyright years to include 2003.
13780 * config/mips/mips.c: Likewise.
13781 * config/mips/mips.h: Likewise.
13782 * config/mips/mips.md: Likewise.
13783 * config/mips/netbsd.h: Likewise.
13784 * doc/invoke.texi: Likewise.
13785
918c4fe4
AS
137862003-01-08 Andreas Schwab <schwab@suse.de>
13787
13788 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
13789 variable.
13790 * configure: Regenerated.
13791
c5e7ce43
KH
137922003-01-08 Kazu Hirata <kazu@cs.umass.edu>
13793
13794 * config/h8300/h8300.c (output_logical_op): Replace byte/word
13795 extraction of det with b0, b1, w0, w2, etc.
13796 (compute_logical_op_length): Likewise.
13797 (compute_logical_op_cc): Likewise.
13798
eb8a8ec4
KH
137992003-01-08 Kazu Hirata <kazu@cs.umass.edu>
13800
13801 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
13802 HIGH on all variants.
13803
62c9aa5f 138042003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 13805
56f15830
JZ
13806 * Makefile.in (PARTITION_H): New.
13807 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
13808 * basic-block.h: Include hard-reg-set.h.
13809
ab57893b
RE
138102003-01-08 Richard Earnshaw <rearnsha@arm.com>
13811
13812 * arm.h (ENABLE_XF_PATTERNS): Delete.
13813 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
13814 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
13815 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
13816 (cmpxf_trap): Delete.
13817 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
13818
62c9aa5f 138192003-01-08 Jan Hubicka <jh@suse.cz>
7b52eede
JH
13820
13821 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
13822 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
13823 (add??cc): New expanders.
13824 * i386.c (expand_int_addcc): New function.
13825 * i386-protos.h (expand_int_addcc): Declare.
13826
13827 * alias.c (memory_modified_1): New static function.
13828 (memory_modified): New static varaible.
13829 (memory_modified_in_insn_p): New global function.
13830 * rtl.h (memory_modified_in_insn_p): Declare.
13831 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
13832 references.
13833
13834 * expr.h (emit_conditional_add): Declare.
13835
74049755
JJ
138362003-01-07 Janis Johnson <janis187@us.ibm.com>
13837
13838 PR other/8947
13839 * doc/invoke.texi (-malign-double): Explain that the option breaks
13840 binary compatibility.
13841
e7edc5a0
AS
138422003-01-08 Andreas Schwab <schwab@suse.de>
13843
13844 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
13845 should come from the generic *-*-linux* entry.
13846
62c9aa5f 138472003-01-07 Jan Hubicka <jh@suse.cz>
9635cfad
JH
13848
13849 * cselib.c (cselib_current_insn_in_libcall): New static variable.
13850 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
13851 we are inside libcall.
13852 * cselib.h (elt_loc_list): Add in_libcall.
13853 * gcse.c (do_local_cprop): Do not copy propagate using insns
13854 in libcalls.
13855
3ee04299
DE
138562003-01-07 David Edelsohn <edelsohn@gnu.org>
13857
13858 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
13859 not normally affect to issue rate.
13860
62c9aa5f 138612003-01-07 Jan Hubicka <jh@suse.cz>
068f5dea
JH
13862
13863 * genopinit.c (optabs): Add addc_optab.
13864 * ifcvt.c (noce_try_store_flag): Rename to ...
13865 (noce_try_addcc): ... this one; handle generic conditional increment.
13866 (noce_process_if_block): Update noce_try_addcc call.
13867 * optabs.c (emit_conditional_add): New.
13868 (init_obtabs): Initialize addc_optab.
13869 * optabs.h (optab_index): Add OTI_addcc.
13870 (addcc_optab): New macro.
13871 * md.texi: Document addMcc
13872
13873 PR target/8322
13874 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
13875 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
13876 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
13877
13878 * reload1.c (delete_output_reload): Avoid repeated attempts
13879 to delete insn.
13880
eb70d86d
AS
138812003-01-07 Andreas Schwab <schwab@suse.de>
13882
e7edc5a0
AS
13883 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
13884 Move --enable-initfini-array check ...
13885 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
13886 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
13887 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
13888 * configure: Rebuild.
eb70d86d 13889
1afdf91c
RH
138902003-01-07 Richard Henderson <rth@redhat.com>
13891
e7edc5a0
AS
13892 * alias.c (find_base_value): Only use new_reg_base_value shortcut
13893 if the register is set once.
1afdf91c 13894
36210500 138952003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 13896
36210500
SP
13897 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
13898 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
13899 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
13900
cb25b0ce
BK
139012003-01-07 Benjamin Kosnik <bkoz@redhat.com>
13902 Sunil Davasam <sunil.k.davasam@intel.com>
13903
07488f32 13904 PR libstdc++/9076
cb25b0ce
BK
13905 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
13906 DW_CFA_same_value, read next and ignore.
13907
94c040bd
RH
139082003-01-07 Richard Henderson <rth@redhat.com>
13909
13910 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
13911
f6cb56fa
DB
139122003-01-07 Daniel Berlin <dberlin@dberlin.org>
13913
13914 * cfg.c: Include alloc-pool.h
13915 (edge_pool): New pool.
13916 (bb_pool): New pool.
13917 (first_deleted_edge): Remove.
13918 (first_deleted_block): Remove.
13919 (init_flow): Alloc/free the pools.
13920 (free_edge): Use pools.
13921 (alloc_block): Ditto.
13922 (expunge_block): Ditto.
13923 (cached_make_edge): Ditto.
13924
13925 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
13926
139272003-01-07 Daniel Berlin <dberlin@dberlin.org>
13928
13929 * et-forest.c: Include alloc-pool.h.
13930 (struct et_forest): Add node_pool and occur_pool.
13931 (et_forest_create): Create the new pools.
13932 (et_forest_delete): Delete them.
13933 (et_forest_add_node): Allocate and free using pools.
13934 (et_forest_add_edge): Ditto.
13935 (et_forest_remove_node): Ditto.
13936 (et_forest_remove_edge): Ditto.
13937
13938 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
13939
f9ac2f95
KH
139402003-01-07 Kazu Hirata <kazu@cs.umass.edu>
13941
13942 * config/h8300/h8300.c (output_logical_op): Simplify and
13943 optimize the handling of SImode.
13944 * config/h8300/h8300.c (compute_logical_op_length): Update
13945 accordingly.
13946 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
13947
83282119
RS
139482003-01-07 Richard Sandiford <rsandifo@redhat.com>
13949
13950 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
13951 big-endian correction to indirect arguments too.
13952
59a4c851
AH
139532003-01-06 Aldy Hernandez <aldyh@redhat.com>
13954
13955 Segher Boessenkool <segher@koffie.nl>
13956
36210500
SP
13957 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
13958 (alt_reg_names): Ditto, fix formatting.
13959 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 13960
7798db98
KH
139612003-01-06 Kazu Hirata <kazu@cs.umass.edu>
13962
13963 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
13964 (output_logical_op): Constify intval and det.
13965 (compute_logical_length): Likewise.
13966 (compute_logical_cc): Likewise.
13967 (output_a_shift): Constify mask.
13968 (h8300_encode_label): Constify len.
13969
4705d102
KH
139702003-01-06 Kazu Hirata <kazu@cs.umass.edu>
13971
13972 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
13973 (h8300_expand_epilogue): Likewise.
13974
98c9a8e8
AH
139752003-01-06 Aldy Hernandez <aldyh@redhat.com>
13976
13977 Segher Boessenkool <segher@koffie.nl>
13978
36210500
SP
13979 * config/rs6000/altivec.md: Remove spaces from assembler
13980 instruction argument lists.
07488f32 13981
86143814
MH
139822003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13983
13984 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
13985 c4x_assembler_function_p.
13986 (c4x_null_epilogue_p): Complement return value, all uses updated.
13987 (c4x_insert_attributes): Add naked.
13988 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
13989 * doc/extend.texi: Update C4x function attributes.
13990
52fd80fb
RH
139912003-01-06 Richard Henderson <rth@redhat.com>
13992
13993 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
13994 properly when changing "local-ness".
13995 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
13996
a16b43c5
DJ
139972003-01-06 Dale Johannesen <dalej@apple.com>
13998
13999 * config/darwin-protos.h: Add prototypes for new section functions.
14000
ef8dfae6
CD
140012003-01-06 Chris Demetriou <cgd@broadcom.com>
14002
14003 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
14004 to EABI.
14005
44f9a8e4
ZW
140062003-01-06 Zack Weinberg <zack@codesourcery.com>
14007
14008 * hwint.h: If the current compiler has no 64-bit type at all,
14009 make HOST_WIDEST_INT 32 bits.
14010
2610198a
EC
140112003-01-06 Eric Christopher <echristo@redhat.com>
14012
14013 * config/mips/mips.md (movdf_internal2): Fix constraints.
14014
efbd757f
KH
140152003-01-06 Kazu Hirata <kazu@cs.umass.edu>
14016
14017 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
14018
727b9b8c
RS
140192003-01-06 Richard Sandiford <rsandifo@redhat.com>
14020
14021 * config/mips/mips.md (leadi): Use dla rather than la.
14022
4705d102 140232003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
14024
14025 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
14026 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
14027
4705d102 140282003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 14029
44f9a8e4 14030 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
14031 redefinition.
14032
dff0ea43
KH
140332003-01-05 Kazu Hirata <kazu@cs.umass.edu>
14034
14035 * config/h8300/h8300.md (*extzv_8_23): New.
14036
94e6fd3e
JDA
140372003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
14038
14039 * pa64-hpux.h (JCR_SECTION_NAME): Define.
14040 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
14041 USE_EH_FRAME_REGISTRY when defining.
14042
cd9b5ca8
KH
140432003-01-05 Kazu Hirata <kazu@cs.umass.edu>
14044
14045 * config/h8300/h8300.c (output_a_shift): Do not output a
14046 variable shift.
14047 * config/h8300/h8300.md (two splitters): New.
14048
1ba8a9c4
RS
140492003-01-05 Richard Sandiford <rsandifo@redhat.com>
14050
14051 * config/mips/mips.md: Disable the movstrsi define_split.
14052
c7c50494
KG
140532003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14054
14055 * alloc-pool.c: Don't include "libiberty.h".
14056 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
14057 * convert.c (convert_to_real): Hide unused variable.
14058
83fa8d7a
KG
140592003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14060
14061 * Makefile.in (gtyp-gen.h): Const-ify.
14062 * gcov-dump.c (tag_table): Likewise.
14063
871dab3e
BK
140642003-01-04 Bruce Korb <bkorb@gnu.org>
14065
14066 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
14067 of *both* the file name and the fix name.
14068
90961eff 140692003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
14070
14071 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
14072 collect2.
14073 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
14074 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
14075 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
14076 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
14077 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
14078 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
14079 elfos.h.
14080 (EH_FRAME_IN_DATA_SECTION): Delete define.
14081 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
14082 (STARTFILE_SPEC): Use crtbegin.o.
14083 (ENDFILE_SPEC): Use crtend.o.
14084 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
14085 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
14086 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
14087 DTOR_LIST_BEGIN): Define.
14088 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
14089 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
14090 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
14091
b0588013
BK
140922002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
14093
14094 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
14095 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
14096 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
14097 Cleanup handling of replacement text.
14098 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
14099
141002003-01-04 Bruce Korb <bkorb@gnu.org>
14101
14102 * fixinc/tests/base/math.h: removed obsolete results
14103 * fixinc/tests/base/stdlib.h: ditto
14104 * fixinc/tests/base/sys/param.h: ditto
14105 * fixinc/tests/base/sys/stat.h: ditto
14106 * fixinc/tests/base/time.h: ditto
14107 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
14108 * fixinc/tests/base/sys/byteorder.h: ditto
14109 * fixinc/inclhack.def: Remove superfluous backslashes
14110
68ee6df6
KH
141112003-01-04 Kazu Hirata <kazu@cs.umass.edu>
14112
14113 * config/h8300/h8300-protos.h: Add prototypes for
14114 the new functions defined below.
14115 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
14116 define.
14117 (dosize): Emit RTL instead of assembly code.
14118 (push): Likewise.
14119 (pop): Likewise.
14120 (h8300_output_function_prologue): Remove.
14121 (h8300_expand_prologue): New.
14122 (h8300_expand_epilogue): New.
14123 (h8300_output_function_epilogue): Do only the reset of
14124 pragma_saveall.
14125 * config/h8300/h8300.md (push_h8300): New.
14126 (push_h8300hs): Likewise.
14127 (pop_h8300): Likewise.
14128 (pop_h8300hs): Likewise.
14129 (*stm_h8300s_2): Change the name to stm_h8300s_2.
14130 (*stm_h8300s_3): Change the name to stm_h8300s_3.
14131 (*stm_h8300s_4): Change the name to stm_h8300s_4.
14132 (*ldm_h8300s_2): New.
14133 (*ldm_h8300s_3): Likewise.
14134 (*ldm_h8300s_4): Likewise.
14135 (return): Likewise.
14136 (*return_1): Likewise.
14137 (prologue): Likewise.
14138 (epilogue): Likewise.
14139 (monitor_prologue): Likewise.
14140
d3c300d2
DJ
141412003-01-03 Dale Johannesen <dalej@apple.com>
14142
14143 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
14144 machopic_picsymbol_stub1.
14145 (EXTRA_SECTION_FUNCTIONS): Ditto.
14146 * rs6000/rs6000.c: Update copyright.
14147 (machopic_output_stub): Use them. Remove an insn from stub code.
14148
6cce57b0
JM
141492003-01-02 Jason Merrill <jason@redhat.com>
14150
4e8dca1c
JM
14151 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
14152
14153 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
14154 static/external decls.
2610198a 14155
6cce57b0
JM
14156 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
14157 outermost scope.
14158 * c-decl.c (c_make_fname_decl): Push the decls there, too.
14159
e392d367
KH
141602003-01-03 Kazu Hirata <kazu@cs.umass.edu>
14161
14162 * config/h8300/h8300-protos.h: Add a prototype for
14163 h8300_current_function_interrupt_function_p.
14164 * config/h8300/h8300.c (interrupt_handler): Remove.
14165 (os_task): Likewise.
14166 (monitor): Likewise.
14167 (pragma_interrupt): New.
14168 (WORD_REG_USED): Use
14169 h8300_current_function_interrupt_function_p.
14170 (dosize): Likewise.
14171 (h8300_output_function_prologue): Likewise.
14172 Do not set interrupt_handler, os_task, monitor.
14173 (h8300_output_function_prologue): Use
14174 h8300_current_function_interrupt_function_p.
14175 Do not set interrupt_handler, os_task, monitor.
14176 (h8300_current_function_interrupt_function_p): New.
14177 (h8300_pr_interrupt): Set pragma_interrupt.
14178 (h8300_insert_attributes): Reset pragma_interrupt.
14179
b15da5b7
GP
141802003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14181
14182 * doc/install.texi (Configuration): Fix markup for reference to
14183 gcc/config.gcc.
14184
bf16e745
KH
141852003-01-02 Kazu Hirata <kazu@cs.umass.edu>
14186
14187 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
14188 (*iorhi3_two_qi): Likewise.
14189 (*iorsi3_zexthi): Likewise.
14190 (*xorhi3_zextqi): Likewise.
14191 (*xorsi3_zexthi): Likewise.
14192 (*xorsi3_zextqi): Likewise.
14193
8ccf5d5f
KH
141942003-01-02 Kazu Hirata <kazu@cs.umass.edu>
14195
14196 * config/h8300/h8300.c (stack_pointer_operand): New.
14197 (const_int_gt_2_operand): Likewise.
14198 (const_int_ge_8_operand): Likewise.
14199 * config/h8300/h8300.md (a splitter): Likewise.
14200 (a peephole2): Likewise.
14201 * config/h8300/h8300-protos.h: Add prototypes for the new
14202 functions above.
14203
43c6a96a
SB
142042003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
14205
14206 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
14207 objc/objc-act.h: Fix copyright years.
14208
96c4e780
SB
142092003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
14210
14211 * doc/passes.texi: Fix documentation for -fssa-ccp
14212
8ed0a104
NB
142132003-01-02 Neil Booth <neil@daikokuya.co.uk>
14214
14215 * gccbug.in: Update for new categories.
14216
1b9f0361
KH
142172003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14218
14219 * config/h8300/h8300.md: Reorder some patterns.
14220
dc5f17ec
KH
142212003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14222
14223 * config/h8300/h8300.c (output_logical_op): Fix a warning.
14224
cd2801fb
NB
142252003-01-01 Neil Booth <neil@daikokuya.co.uk>
14226
14227 * config/darwin-protos.h, config/c4x/c4x-protos.h,
14228 config/cris/cris-protos.h, config/i370/i370-protos.h,
14229 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
14230 config/v850/v850-protos.h: Use struct, and don't conditionally
14231 compile on GCC_C_PRAGMA_H.
14232
378b1b8e
KH
142332003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14234
14235 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
14236 * config/h8300/h8300-protos.h: Likewise.
14237 * config/sh/sh-protos.h: Likewise.
14238
7106a5bc
KH
142392003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14240
14241 * config/arm/arm-protos.h: Use struct cpp_reader instead of
14242 cpp_reader.
14243 * config/h8300/h8300-protos.h: Likewise.
14244 * config/sh/sh-protos.h: Likewise.
14245
231b51a1
NB
142462003-01-01 Neil Booth <neil@daikokuya.co.uk>
14247
14248 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
14249 arm_pr_long_calls_off): Use struct.
14250 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
14251 : Similarly.
14252 Don't include cpplib.h.
14253 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
14254 sh_pr_nosave_low_regs): Similarly.
14255
0f18b2b0
KH
142562003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14257
14258 * config/h8300/h8300.c: Include cpplib.h.
14259
b9593599
SB
142602003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
14261
14262 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
14263 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
14264 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
14265 "GCC" in the copyright header.
14266
c58b209a
NB
142672003-01-01 Neil Booth <neil@daikokuya.co.uk>
14268
14269 * c-pragma.c (c_register_pragma): New.
14270 (init_pragma): Use it.
14271 * c-pragma.h (cpp_register_pragma): Don't declare.
14272 (c_register_pragma): New.
14273 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
14274 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
14275 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
14276 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
14277 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
14278 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
14279 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
14280 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
14281 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
14282 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
14283 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
14284 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
14285
7210d5ae 14286See ChangeLog.8 for earlier changes.
This page took 2.068017 seconds and 5 git commands to generate.