]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
rs6000-protos.h (rs6000_initial_elimination_offset): Add.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
d1d0c603
JJ
12003-11-12 Janis Johnson <janis187@us.ibm.com>
2
3 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
4 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
5 (rs6000_emit_eh_reg_restore): Add
6 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
7 of vars_size and total_size to HOST_WIDE_INT.
8 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
9 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
10 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
11 values.
12 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
13 (rs6000_initial_elimination_offset): New, with code formerly in
14 INITIAL_ELIMINATION_OFFSET.
15 * rs6000.h (rs6000_stack_t): Remove.
16 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
17 rs6000_initial_elimination_offset.
18 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
19 rs6000_emit_eh_reg_restore.
20
d5123bae
MS
212003-11-12 Mike Stump <mrs@apple.com>
22
23 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
24 is the argumnt we are processing so that warnings and errors
25 will have that information.
26 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
27 * lang-hooks-def.h
28 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
29 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
30 * langhooks.h (convert_parm_for_inlining): Likewise.
31 * tree-inline.c (initialize_inlined_parameters): Compute and
32 pass argnum down.
33
3197c4fd
AS
342003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
35 Roger Sayle <roger@eyesopen.com>
36
37 PR optimization/12953
38 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
39 before switch by FUNCTION_CODE.
40
c9389e79
RE
412003-11-12 Richard Earnshaw <rearnsha@arm.com>
42
43 * arm.md (storehi): Avoid use of explicit subreg.
44 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
45
88f08cca
R
462003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
47
48 * config/sh/sh.md (prefetch): New pattern.
49
bbbbbbe7
EC
502003-11-11 Eric Christopher <echristo@redhat.com>
51
52 * reload1.c (reload): Verify that addresses for
53 reg_equiv_* are valid for the architecture.
54
729bf8ab
EC
552003-11-11 Eric Christopher <echristo@redhat.com>
56
57 * function.c (purge_addressof_1): Add libcall check.
58 Remove test for cached replacements on fallback case.
59 Simplify mode comparisons. Add libcall test for
60 paradoxical subregs.
61
f24f5831
KH
622003-11-11 Kazu Hirata <kazu@cs.umass.edu>
63
64 * config/h8300/t-h8300: Fix an obsolete comment.
65
0b69c29f
JW
662003-11-11 James E Wilson <wilson@specifixinc.com>
67
68 * expmed.c (store_bit_field, extract_bit_field): Revert last two
69 changes.
70
3849e3a6
KH
712003-11-11 Kazu Hirata <kazu@cs.umass.edu>
72
73 * config/h8300/lib1funcs.asm: Replace DenHighZero with
74 DenHighNonZero.
75
cc515291
JH
762003-11-11 Jan Hubicka <jh@suse.cz>
77
78 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
79 really_no_inline.
80
4d595e43
JDA
812003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
82
83 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
84 generating 64-bit code.
85
f921c9c9
DE
862003-11-10 David Edelsohn <edelsohn@gnu.org>
87
88 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
89 accidental commit in previous change.
90
ceba9fcb 912003-11-10 Fariborz Jahanian <fjahanian@apple.com>
ceba9fcb 92
f921c9c9 93 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
ceba9fcb
FJ
94 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
95 address recognition.
96 (macho_lo_sum_memory_operand): Routine to recognize macho-style
97 address recognition.
98
d0585b99
RH
992003-11-10 Richard Henderson <rth@redhat.com>
100
101 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
102
6ce4806b
MA
1032003-11-10 Matt Austern <austern@apple.com>
104
105 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
106 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
107 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
108 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
109 darwin_assemble_visibility instead of default.
729bf8ab 110
1ec0c607
WH
1112003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
112
113 PR target/12865
114 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
115 __enable_execute_stack only after writing onto the stack.
116 (sparc64_initialize_trampoline): Likewise.
117
ce4191ee
RS
1182003-11-09 Roger Sayle <roger@eyesopen.com>
119
120 * loop.c (check_dbra_loop): Try swapping the comparison operands
121 of the loop condition to identify a suitable induction variable.
122 * unroll.c (loop_iterations): Likewise.
123
8b93ca2d
KG
1242003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
125
126 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
127 sparc64 #cpu and #machine assertions.
128
757dc040
RH
1292003-11-09 Richard Henderson <rth@redhat.com>
130
131 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
132
f7a01847
JH
1332003-11-09 Jan Hubicka <jh@suse.cz>
134
ec89843e
JH
135 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
136
f7a01847
JH
137 * cgraphunit.c (cgraph_expand_function): Use
138 cgraph_possibly_inlined_p.
139 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
140
141 * opts.c (common_handle_option): Do not set max-inline-insns.
142 * params.def: Update comments.
143 (PARAM_MAX_INLINE_INSNS): Kill.
144 * invoke.texi (max-inline-insns): Kill.
145
c76f4e8e
JM
1462003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
147
148 PR c/3190
149 PR c/8714
150 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
151 * invoke.texi: Update.
152
cdc9103c
JDA
1532003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
154
155 PR optimization/12630
156 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
157 Handle length computation 64-bit moves.
158 (compute_clrstr_length, output_block_clear): Implement block clear.
159 (output_block_move): Handle 64-bit moves.
160 (pa_adjust_insn_length): Use compute_movstr_length and
161 compute_clrstr_length.
162 * pa.md (movstrsi): Revise operand order and comments. Don't use
163 match_scratch.
164 (movstrsi_internal): Delete.
165 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
166 and peephole2 patterns to transform prereload to postreload form.
167 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
168 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
169 clrstrdi_postreload): New patterns for 64-bit block move, and block
170 clear.
171 * pa-protos.h (output_block_clear): New prototype.
172
e139ff5b
AS
1732003-11-08 Andreas Schwab <schwab@suse.de>
174
175 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
176 XCOFF_DEBUGGING_INFO.
177
a37336cf
KG
1782003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
179
180 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
181
3d67ba1e
GK
1822003-11-07 Geoffrey Keating <geoffk@apple.com>
183
8a1977f3
GK
184 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
185 redundant parens.
186
3d67ba1e
GK
187 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
188 (find_file_in_dir): Likewise.
189 (_cpp_find_file): Print message if no header file is found
190 but an invalid PCH file was.
191
30321c39
JM
1922003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
193
194 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
195 expressions as lvalues.
196 (internal_build_compound_expr): Remove special handling for
197 non-pedantic case.
198 * doc/extend.texi: Document that all extended lvalues are now
199 deprecated.
200
047c6eac
GK
2012003-11-07 Geoffrey Keating <geoffk@apple.com>
202
203 PR 11654
204 * dbxout.c (struct dbx_file): Do not save for PCH.
205 (current_file): Likewise.
206 (dbxout_init): Don't allocate struct dbx_file using GC.
207 (dbxout_start_source_file): Likewise.
208
1cd93a2a
FH
2092003-11-07 Falk Hueffner <falk@debian.org>
210
211 * config/alpha/elf.h, config/alpha/unicosmk.h,
212 config/alpha/vms.h: Convert to ISO C90.
213
4241d312
NN
2142003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
215
216 * config/arm/pe.h: Convert to ISO C90.
217
bcc8cc82
R
2182003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
219
220 * sh-protos.h (sh_pch_valid_p): Declare.
221 * sh.c ("intl.h"): Include.
222 (TARGET_PCH_VALID_P): Override.
223 (sh_target_switches): New variable.
224 (target_switches): Define.
225 (sh_pch_valid_p): New function.
226
227 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
228
d7222e38
JH
2292003-11-07 Jan Hubicka <jh@suse.cz>
230
231 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
232 (x86_64_zero_extended_value): likewise.
233
235d0d66
RS
2342003-11-07 Richard Sandiford <rsandifo@redhat.com>
235
236 * config/mips/mips.md (loadgp): Take $25 as a second operand.
237 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
238
968b41a1
MA
2392003-11-06 Matt Austern <austern@apple.com>
240
241 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
242 field instead of hanging an attribute object off the decl.
243 * tree.h (DECL_VISIBLITY): New accessor macro for
244 symbol_visibility field in struct tree_decl.
245 (enum symbol_visibility): Move definition to before tree_decl.
246 (struct tree_decl): Define new two-bit field, symbol_visibility.
247 (decl_visibility): Remove declaration.
248 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
249 instead of decl_visibility.
729bf8ab 250 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
968b41a1
MA
251 decl_visibility.
252 (decl_visibility): Remove.
729bf8ab 253
63e292b7
UW
2542003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
255
256 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
257 where register 14 will be saved.
258
2858f73a
GK
2592003-11-06 Geoffrey Keating <geoffk@apple.com>
260
261 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
262 (USE_ALTIVEC_FOR_ARG_P): Likewise.
263 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
264 Take a pointer as the CUM parameter. Update callers.
265 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
266 32-bit ABIs.
267 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
268 of vector parameters as named arguments of stdarg function.
269 (function_arg): Likewise.
270
271 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
272 -maltivec is specified, not the non-existent -faltivec.
273
8c17530e
UW
2742003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
275
276 * config/s390/s390-protos.h (s390_function_value): Declare.
277 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
278 (s390_return_in_memory): New function.
279 (s390_function_value): New function.
280 (s390_function_arg_float): Return false for all arguments larger
281 than 8 bytes.
282 (s390_function_arg_pass_by_reference): Likewise. Return true for
283 all vector arguments.
284 (s390_function_arg_integer): New function.
285 (s390_function_arg_advance): Call it. Add sanity checks.
286 (s390_function_arg): Likewise.
287 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
288 (LIBCALL_VALUE): Likewise.
289 (RET_REG): Remove.
290 (RETURN_IN_MEMORY): Remove.
291
e88fb323
RS
2922003-11-06 Richard Sandiford <rsandifo@redhat.com>
293
294 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
295 return type to HOST_WIDE_INT.
296 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
297 Make initialized a bool. Make register masks unsigned ints.
298 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
299 where appropriate.
300 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
301 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
302
88d6a75f
RS
3032003-11-06 Richard Sandiford <rsandifo@redhat.com>
304
305 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
306 negation.
307
def49dc4
RS
3082003-11-06 Richard Sandiford <rsandifo@redhat.com>
309
310 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
311
c8e26ef4
MV
3122003-11-06 Momchil Velikov <velco@fadata.bg>
313
95757874
MV
314 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
315 for VR4111 too.
c8e26ef4 316
668f73d4
JH
3172003-11-06 Jan Hubicka <jh@suse.cz>
318
319 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
320 missing casts.
321
37783865
ZW
3222003-11-06 Zack Weinberg <zack@codesourcery.com>
323
324 * genmodes.c: Change the word "bitsize" to "precision" throughout.
325 * machmode.def: Likewise.
326 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
327 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
328 (GET_MODE_PRECISION): New macro.
329 (mode_bitsize): Renamed mode_precision.
330 * stor-layout.c (mode_for_size, smallest_mode_for_size):
331 Use GET_MODE_PRECISION; clarify comments.
332
01e97976
JM
3332003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
334
335 * doc/install-old.texi: Remove old documentation of building
336 cross-compilers.
337 * doc/install.texi: Move some of it to here.
338
9b49a0aa
PB
3392003-11-05 Per Bothner <pbothner@apple.com>
340
f6d90f82 341 PR preprocessor/12891
9b49a0aa
PB
342 * c-opts.c (finish_options): Set include_cursor to disable premature
343 calls to push_command_line_include from cpp_scan_nooutput.
344 Fixes bug reported by DJ Delorie.
345
2cf520bf
GK
3462003-11-05 Geoffrey Keating <geoffk@apple.com>
347
f31bf321
GK
348 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
349 code supporting old-style varargs.
350
2cf520bf
GK
351 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
352 an intermediate register for better optimisation.
353
142d1f57
ZD
3542003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
355
f4dcab14 356 PR optimization/10080
142d1f57
ZD
357 * cfgloopanal.c (variable_initial_value, variable_initial_values,
358 simple_loop_exit_p): Record the fact that initial value is extended
359 from inner mode.
360 (count_strange_loop_iterations, count_loop_iterations): Handle
361 ivs that iterate in a narrower mode. Fix handling of overflows.
362 Improve handling of NE conditions.
363 (inverse, fits_in_mode_p): New static functions.
364 (simple_increment): Detect variables that iterate in a narrower mode.
365 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
366
af09332e
GK
3672003-11-05 Geoffrey Keating <geoffk@apple.com>
368
a6cf80f2
GK
369 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
370 error.
371
af09332e
GK
372 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
373 needs VRSAVE.
374
0a49d02c
JM
3752003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
376
377 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
378 conditional expressions as lvalues.
379
488c98d8
KH
3802003-11-05 Kazu Hirata <kazu@cs.umass.edu>
381
382 * tsystem.h: Add the prototype of strlen.
383 * unwind-pe.h (read_encoded_value_with_base): Add an
384 appropriate cast to handle a case where the pointer size is
385 smaller than sizeof (int).
386
108b61d5
RS
3872003-11-04 Richard Sandiford <rsandifo@redhat.com>
388
389 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
390 (mips_delegitimize_address): Delete.
391 (mips_gotoff_global, mips_load_got_page): Declare.
392 (mips_load_got_global, mips_rewrite_small_data): Declare.
393
394 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
395 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
396 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
397 small_data_pattern. Remove CONST from const_arith_operand's entry.
398
399 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
400 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
401 (mips_constant_type): Delete.
402 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
403 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
404 (NUM_SYMBOL_TYPES): New macro.
405 (mips_address_type): Remove ADDRESS_INVALID.
406 (machine_function): Add has_gp_insn_p.
407 (mips_constant_info): Delete.
408 (mips_address_info): Add the address type as an extra field. Replace
409 the c field with symbol_type.
410 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
411 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
412 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
413 (mips_split_const, mips_symbolic_constant_p): New functions.
414 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
415 (mips_classify_address): Return true if the address is valid, storing
416 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
417 to test whether a LO_SUM address is allowed.
418 (mips_symbol_insns): Return 0 for general mips16 symbols.
419 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
420 Handle the new SYMBOL_GOTOFF_*s.
421 (mips_address_insns): Update call to mips_classify_address.
422 (mips_const_insns): Be more fussy about HIGH constants. Remove use
423 of mips_classify_constant. Be more accurate about CONSTs.
424 (mips_global_pic_constant_p): Delete.
425 (const_arith_operand): Only accept CONST_INTs.
426 (call_insn_operand): Remove call to mips_classify_constant.
427 Let mips_symbolic_constant_p check for invalid offsets.
428 (move_operand): Check for general_operands first. Only accept symbolic
429 constants if they satisfy mips_symbolic_constant_p and cannot be split.
430 (symbolic_constant): Use mips_symbolic_constant_p.
431 (global_got_operand, local_got_operand): New predicates.
432 (stack_operand): Update call to mips_classify_address.
433 (mips_legitimate_address_p): Likewise.
434 (mips_reloc, mips_lui_reloc): Delete.
435 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
436 Use emit_move_insn.
437 (mips_split_symbol, mips_unspec_address): New functions.
438 (mips_unspec_offset_high): New function.
439 (mips_load_got): Replace reloc argument with a symbol_type.
440 Use mips_unspec_address to create the address and put it in a
441 LO_SUM with the base register.
442 (mips_load_got16, mips_load_got32): Delete.
443 (mips_emit_high, mips_legitimize_symbol): Delete.
444 (mips_gotoff_global): New function.
445 (mips_load_got_page, mips_load_got_global): New functions.
446 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
447 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
448 Inline code to handle constants plus invalid offsets. Use
449 mips_split_symbol to legitimize constant pool addresses.
450 (mips_delegitimize_address): Delete.
451 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
452 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
453 (mips_subword): Pass memrefs through mips_rewrite_small_data.
454 (mips_output_move): Remove use of mips_classify_constant.
455 (mips_expand_call): Use mips_unspec_offset_high to calculate the
456 high part of the GOT address for calls to global functions.
457 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
458 and mips_hi_relocs[].
459 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
460 Remove use of mips_classify_constant.
461 (mips_reloc_string): Delete.
462 (print_operand_reloc): New function.
463 (print_operand_address): Update call to mips_classify_address.
464 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
465 (small_data_pattern): New predicate.
466 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
467 (mips_function_has_gp_insn): New function.
468 (mips_global_pointer): Use it.
469 (mips_gp_insn): Delete.
470 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
471 single loadgp pattern to initialize $gp. Pass it the offset of _gp
472 from the start of the current function.
473 (mips16_gp_pseudo_reg): Revert last patch.
474
475 * config/mips/mips.md (RELOC_*): Delete.
476 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
477 (got): New insn attribute.
478 (type): Set to "load" if got == load.
479 (length): Set to 4 if got == load, 8 if got == xgot_high.
480 (lui[sd]i): Delete.
481 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
482 (*got_disp[sd]i, *got_page[sd]i): Likewise.
483 (*low[sd]i): Change constraints to "d". Add a new define_split to
484 rewrite small data constants into LO_SUMs.
485 (loadgp): New insns.
486
bdc960c8
RO
4872003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
488
489 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
490
15bb534e
DD
4912003-11-04 DJ Delorie <dj@redhat.com>
492
493 * config/v850/v850.md (mulhisi3): Expand the const_int case
494 separately to avoid trying to sign extend the const.
495
21e9fc47
RS
4962003-11-04 Richard Sandiford <rsandifo@redhat.com>
497
498 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
499 addresses to be shared.
500 (force_const_mem): Return a copy of the pool entry.
501
7807fcd9
AJ
5022003-11-03 Andreas Jaeger <aj@suse.de>
503
504 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
505
63069342
KC
5062003-11-03 Kelley Cook <kcook@gcc.gnu.org>
507
508 * Makefile.in (cpp.dvi): New target split from cpp.info.
509 (gcc.dvi): New target split from gcc.info.
510 (gccint.dvi): New target split from gccint.info.
511 (cppinternals.dvi): New target split from cppinternals.info
512 (gccinstall.info): New specific rule.
513 (gccinstall.dvi): Likewise.
514 (dvi): Move targets to $(docobjdir).
515 ($(docobjdir)/%.dvi): New implicit rule.
516
aef6a624
RK
5172003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
518
519 * doc/gty.texi (tag, desc): Say more about role of desc values in
520 selecting between tags.
521
930177d9
AK
5222003-11-03 Alexander Kabaev <ak03@gte.com>
523
524 * real.c (encode_ieee_single): Ensure proper promotion.
525
2b2de389
VR
5262003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
527
528 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
529 and Andrew Pinski.
530
49ffe578
SP
5312003-11-03 Syd Polk <spolk@apple.com>
532
533 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
534 marketing names to the list of supported processors.
535 * config/rs6000/rs6000.h: Ditto.
536 * doc/invoke.texi: Ditto.
537 * config.gcc: Ditto.
538
871a3122
RO
5392003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
540
541 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
542 Merge two substitutions.
543 * fixinc/fixincl.x: Regenerate.
544 Fixes PR bootstrap/12666.
545
0968e7fa
JM
5462003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
547
548 * doc/install-old.texi: Remove VMS documentation.
549
73c37dab
JH
5502003-11-03 Jan Hubicka <jh@suse.cz>
551
552 * i386.c (override_options): Remove hack enabling 128bit long double
553 commited by accident.
554
d8ccee1e
PB
5552003-11-02 Per Bothner <per@bothner.com>
556
557 * c-opts.c (needValue): Do cpp_find_main_file before processing
558 any imacros flags, so pfile->main_file is set for the latter.
559
ee208a59
AJ
5602003-11-03 Andreas Jaeger <aj@suse.de>
561 Zack Weinberg <zack@codesourcery.com>
562
563 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
564 (SYSCALLS.c.X-warn): Suppress warnings.
565
ae2ea719
JDA
5662003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
567
568 PR optimization/12845
569 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
570
9a623a65
ZW
5712003-11-02 Zack Weinberg <zack@codesourcery.com>
572
573 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
574 * config/i386/i386.c (print_reg): Abort on a virtual register
575 if code != -1; not if file == asm_out_file.
576 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
577 (DEBUG_PRINT_REG): Delete, unused.
578
634879c8
AS
5792003-11-02 Andreas Schwab <schwab@suse.de>
580
581 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
582 empty to avoid conflict with the definition from configure.
583
31f0f571
RS
5842003-11-02 Roger Sayle <roger@eyesopen.com>
585
586 PR optimization/10817
587 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
588 (noce_try_move): New function to optimize an if-the-else into an
589 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
590 (noce_process_if_block): Attempt simplification with noce_try_move.
591
592 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
593 and improvements to the optimizations of IF_THEN_ELSE expressions.
594 (simplify_subreg): Silence signed/unsigned comparison warning.
595
0938c9e8
RS
5962003-11-02 Richard Sandiford <rsandifo@redhat.com>
597
598 * Makefile.in (targhooks.o, reload.o): Update dependencies.
599 (GTFILES): Add targhooks.c.
600 (gt-targhooks.h): New rule; depend on s-gtype.
601 * target.h (direct_pool_load_p): New hook.
602 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
603 (TARGET_INITIALIZER): Include it.
604 * targhooks.h (default_direct_pool_load_p): Declare.
605 (hook_bool_machine_mode_true): Declare.
606 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
607 gt-targhooks.h.
608 (pool_symbol): New variable.
609 (default_direct_pool_load_p): New function.
610 (hook_bool_machine_mode_true): New function.
611 * reload.c: Include target.h.
612 (find_reloads): If an alternative will force a constant into memory,
613 count an extra reload if constant pool symbols are not valid
614 addresses. If an alternative uses memory to move values between
615 registers, count the move as two reloads rather than one.
616 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
617 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
618
e69cdc12
EB
6192003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
620
621 PR optimization/12799
622 * postreload.c (reload_cse_move2add): Generate the add2
623 patterns manually.
624
0a9e65f9
EB
6252003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
626
627 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
628 Return 0 for all complex modes whose size is lesser or equal to
629 a word. Add a ??? comment for the condition used with 16-byte
630 aligned modes.
631
d6665c33
KC
6322003-11-01 Kelley Cook <kcook@gcc.gnu.org>
633
634 * .cvsignore: Remove c-parse* and tradcif.c.
635 * objc/.cvsignore: Delete.
636
d234bf61
RS
6372003-11-01 Roger Sayle <roger@eyesopen.com>
638
639 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
640 of NULL.
641
0527bc4e
JDA
6422003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
643
f25b1930
JDA
644 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
645
4043d9c1
JDA
646 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
647
94d54276
JDA
648 * collect2.c (scan_libraries): Fix typos.
649
0527bc4e
JDA
650 PR preprocessor/12847
651 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
652 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
653 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
654 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
655 "CPP_".
656
2f7b62ef
FJ
6572003-11-01 Fariborz Jahanian <fjahanian@apple.com>
658
659 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
660 no_units calculation.
661
ab08fce5
AJ
6622003-11-01 Andreas Jaeger <aj@suse.de>
663
664 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
665 enumeration list.
666
63482449
AS
6672003-11-01 Andreas Schwab <schwab@suse.de>
668
669 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
670 prototypes.
671 (SBSS_SECTION_FUNCTION): Likewise.
672
7807fcd9 6732003-11-01 Andreas Jaeger <aj@suse.de>
6377248c
AJ
674
675 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
676
97603db3
AT
6772003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
678
679 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
680 prototypes.
681
f1518966
AJ
6822003-11-01 Andreas Jaeger <aj@suse.de>
683
684 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
685 (uw_frame_state_for): Constify variables.
686 (extract_cie_info): Constify first argument.
687
688 * unwind-dw2-fde-darwin.c: Adjust prototype of
689 _Unwind_Find_registered_FDE for recent changes.
690 (examine_objects): Constify return value and local variable result.
691 (_Unwind_Find_FDE): Constify return value and local variable ret.
692
8e974c0e
PB
6932003-10-31 Per Bothner <pbothner@apple.com>
694
695 * c-opts.c (finish_options): Change to returns boolean - false iff
696 the call to cpp_find_main_file fails.
697 (c_common_init): Skip preprocess_file if finish_options failed.
698 (c_common_parse_file): Break if finish_options failed.
8ecde51f 699 Fixes PR preprocessor/12545.
8e974c0e 700
72f03fde
JDA
7012003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
702
e31f8eda
JDA
703 * aclocal.m4: Blacklist ultrix* for mmap file.
704 * configure: Rebuilt.
705
2b256a46
JDA
706 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
707 reg_parm_stack_space.
708 * toplev.c (default_get_pch_validity): Fix warning.
709
72f03fde
JDA
710 * vax.c: Include toplev.h.
711 (vax_init_libfuncs): Fix typo (umod).
712 * vax.h (ASM_COMMENT_START): Define.
713 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
714
41ba7ed7
RS
7152003-10-31 Roger Sayle <roger@eyesopen.com>
716
717 PR middle-end/11968
718 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
719 confusing comment; distributivity isn't handled in expand_expr.
720 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
721 in distributivity, if wrap-around semantics are specified with
722 -fwrapv.
723
3d63de24
AM
7242003-11-01 Alan Modra <amodra@bigpond.net.au>
725
726 PR 12315
727 * final.c (profile_function): Allow for NULL svrtx.
728
24a52160
JDA
7292003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
730
731 * pa.c (pa_select_section): Use new style declaration.
732 * som.h (readonly_data): Likewise.
733
38f391a5
KC
7342003-10-31 Kelley Cook <kcook@gcc.gnu.org>
735
736 * config/rs6000/rs6000.c: Update to C90 prototypes.
737
fb14bc89
RE
7382003-10-31 Richard Earnshaw <rearnsha@arm.com>
739
4a3a957b 740 PR target/7513
fb14bc89
RE
741 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
742 code.
743
6377248c 7442003-10-31 Andreas Jaeger <aj@suse.de>,
9a623a65
ZW
745 Zack Weinberg <zack@codesourcery.com>
746
747
748 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
749 (__deregister_frame_info, __deregister_frame_info_bases):
750 Constify void * argument.
751 * unwind-dw2-fde.h (struct fde_vector):
752 Constify 'orig_data' and 'array' fields.
753 (__register_frame_info, __register_frame_info_bases)
754 (__deregister_frame_info, __deregister_frame_info_bases):
755 Constify void * argument.
756 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
757 return values, and casts of type fde *, struct dwarf_fde *,
758 and struct dwarf_cie *.
759 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
760 (__deregister_frame_info, __deregister_frame_info_bases):
761 Constify void * argument.
762 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
763 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
764 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
765 fde_split, SWAP, frame_downheap, frame_heapsort)
766 (classify_object_over_fdes, add_fdes, linear_search_fdes,
767 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
768 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
769 Constify arguments, local variables, return values, and casts
770 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
771 Use const pointer types in sizeof expressions, for clarity.
772 * unwind-dw2-fde-glibc.c
773 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
774 (struct unw_eh_callback_data): Constify 'ret' field.
a30794da 775
b78d48dd
FJ
7762003-10-31 Fariborz Jahanian <fjahanian@apple.com>
777 David Edelsohn <edelsohn@gnu.org>
778
779 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
780 (function_arg): Call it.
781 (rs6000_function_value): Widen integral return value to mode based
782 on TARGET_32BIT, not word_mode.
783 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
8159dc20
FJ
784 (UNITS_PER_ARG): New.
785 (RS6000_ARG_SIZE): Use it.
b78d48dd 786
3dc5f34a
GP
7872003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
788
789 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
790 and gengtype-yacc.h.
791
71c1543c
RE
7922003-10-31 Richard Earnshaw <rearnsha@arm.com>
793
79b53543 794 PR optimization/8896
71c1543c
RE
795 * postreload.c (reload_combine): Check that REGY doesn't die in an
796 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
797
9295a326
JZ
7982003-10-31 Josef Zlomek <zlomekj@suse.cz>
799
800 PR/10239
801 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
802
5d693491
JZ
8032003-10-31 Josef Zlomek <zlomekj@suse.cz>
804
805 PR/11640
806 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
807 immediatelly before BARRIER.
808
a2ae4a3d
KC
8092003-10-31 Kelley Cook <kcook@gcc.gnu.org>
810
811 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
812
b1f9e314
RE
8132003-10-31 Richard Earnshaw <rearnsha@arm.com>
814
815 PR target/11271
816 * reload.c (find_reloads_address): Handle any register in
817 (PLUS (PLUS (REG) (REG)) (CONST_INT).
818
c5d6d04a
RE
8192003-10-31 Richard Earnshaw <rearnsha@arm.com>
820
6377248c 821 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
c5d6d04a
RE
822 ENABLE_GC_CHECKING not in GGC_POISON.
823
b2c62c45
NN
8242003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
825
2c4902b9
NN
826 PR bootstrap/9863
827 * configure.in: Bail out if awk is missing.
828 * configure: Regenerate.
829
b2c62c45
NN
830 PR ada/12761
831 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
832 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
833
c157f85c
RH
8342003-10-30 Richard Henderson <rth@redhat.com>
835
836 * c-objc-common.c (c_tree_printer): Handle types correctly.
837 Factor code a bit.
838
9373164a
KC
8392003-10-30 Kelley Cook <kcook@gcc.gnu.org>
840
841 * value-prof.c, web.c: Update to C90.
842
d796429e 8432003-10-30 Eric Christopher <echristo@redhat.com>
69e4e6e9
EC
844
845 * function.c (purge_addressof_1): Add case for REG_RETVAL
9a623a65 846 notes when modes are unequal.
69e4e6e9 847
ac3ef3f5
JH
8482003-10-31 Jan Hubicka <jh@suse.cz>
849
850 * i386-modes.def: Add XFmode format adjustment.
851
1199470c
JH
8522003-10-30 Jan Hubicka <jh@suse.cz>
853
854 * real.c (encode_ieee_extended): Back out previous patch.
855
f8a1ebc6
JH
8562003-10-30 Jan Hubicka <jh@suse.cz>
857
858 * real.c (encode_ieee_extended): Initialize whole array.
859 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
860 * i386-modes.def: Change definitions of TFmode and XFmode.
9373164a
KC
861 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
862 code.
f8a1ebc6
JH
863 (construct_container): Allow constructing of TFmode integer containers.
864 (ix86_return_in_memory): XFmode is not returned in memory.
865 (init_ext_80387_constants): Always use XFmode.
866 (print_operand): Likewise.
867 (ix86_prepare_fp_compare_regs): Likewise.
868 (split_to_parts): Deal with TFmode.
869 (split_long_move): Simplify.
870 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
871 (ix86_memory_move_cost): Do not confuse TFmode.
872 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
873 (IS_STACK_MODE): TFmode is not stack mode.
874 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
875 (VALID_SSE_REG_MODE): Allow TFmode.
876 (VALID_FP_MODE_P): Disallow TFmode.
877 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
878 * i386.md (TFmode patterns): Kill.
879 (movtf, motf_rex64): New patterns.
880
00d4a6d4
RS
8812003-10-30 Richard Sandiford <rsandifo@redhat.com>
882
883 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
884
2e1648b8
RS
8852003-10-30 Richard Sandiford <rsandifo@redhat.com>
886
887 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
888 (mov_lwr, mov_swl, mov_swr): Likewise.
889 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
890
db964bde
RS
8912003-10-30 Richard Sandiford <rsandifo@redhat.com>
892
893 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
894
4f1cad00
RH
8952003-10-30 Richard Henderson <rth@redhat.com>
896
897 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
898 test for irix6 rather than preprocessor test.
899
671ca9ec
RH
9002003-10-30 Richard Henderson <rth@redhat.com>
901
902 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
903
545d16ff
UW
9042003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
905
906 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
907 as a general flag that the return address register needs to be saved,
908 not necessarily because of __builtin_return_addr (0).
909 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
910 remove special handling of zSeries machines.
69e4e6e9 911 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
545d16ff 912 register as a regular register on zSeries machines.
69e4e6e9 913 (s390_reorg): Adjust calls to s390_split_branches and
545d16ff
UW
914 s390_optimize_prolog.
915 (s390_frame_info): On zSeries machines, do not assume the return
916 register is always used. Update regs_ever_live with current data
917 for the special registers.
918 (s390_emit_epilogue): Use save_return_addr_p to determine whether
919 the return register was saved.
920 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
921 RETURN_REGNUM fixed on zSeries machines.
922 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
923 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
924 via ahi-jgne pair on zSeries machines.
925 ("*doloop_di"): Likewise.
926 ("*doloop_di_long"): Remove.
927
577d6328
RE
9282003-10-30 Richard Earnshaw <rearnsha@arm.com>
929
930 * arm.c (arm_override_options): Revert change of arm_constant_limit
931 when optimizing for size.
932
e7824b3e
RH
9332003-10-29 Richard Henderson <rth@redhat.com>
934
935 * fold-const.c (fold_single_bit_test): Convert the input to the
936 operational intermediate type.
937
c35d187f
RH
9382003-10-29 Richard Henderson <rth@redhat.com>
939
940 * builtins.c (std_build_builtin_va_list): New.
941 * expr.h (std_build_builtin_va_list): Declare.
942 * defaults.h (BUILD_VA_LIST_TYPE): New.
943 * system.h (BUILD_VA_LIST_TYPE): Poison.
944 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
945 * target.h (struct gcc_target): Add build_builtin_va_list.
946 * tree.c (build_common_tree_nodes_2): Use it.
947
69e4e6e9 948 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
c35d187f
RH
949 config/alpha/alpha.h, config/alpha/unicosmk.h,
950 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
951 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
952 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
953 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
954 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
69e4e6e9 955 config/mips/mips.h, config/rs6000/rs6000-protos.h,
c35d187f
RH
956 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
957 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
958 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
959 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
960 config/xtensa/xtensa.h: Rename foo_build_va_list to
961 foo_build_builtin_va_list; make it static. Define
962 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
963 Update protos.
964
965 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
966 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
967
3b6c3bb0
JW
9682003-10-29 James E Wilson <wilson@specifixinc.com>
969
970 * recog.c (asm_operand_ok): Add missing break after case 'X'.
971 Change if statements to else if statements in default case.
972 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
973 in comment.
974 (constrain_operands_cached): Likewise.
975 (constrain_operands): Change if statements to else if statements in
976 default case.
977 * reload.c (find_reloads): Likewise.
978
a126dc3a
RH
9792003-10-29 Richard Henderson <rth@redhat.com>
980
981 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
982 shifts and rotates.
983
9b731bbb
AM
9842003-10-30 Alan Modra <amodra@bigpond.net.au>
985
986 * config/rs6000/rs6000.md: Remove duplicate pattern.
987
a207b594
HPN
9882003-10-29 Hans-Peter Nilsson <hp@axis.com>
989
c4361cd7
HPN
990 * real.c (do_divide): Initialize result with a 0.
991
a207b594
HPN
992 * configure.in <enable-checking for valgrind>: Look for
993 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
994 if it exists.
995 * configure, config.in: Regenerate.
996 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
997 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
998 #elif for other alternatives.
999 * ggc-page.c: Ditto.
1000 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
1001 include structure from ggc-common.c.
1002
cb4d476c
JDA
10032003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1004
1005 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
1006 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
1007 * pa.c (pa_adjust_insn_length): Check for btable branches using
1008 attribute TYPE_BTABLE_BRANCH.
1009 (pa_reorg): Simplify.
1010 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
1011 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
1012 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
1013 * pa.md (btable_branch): New instruction type.
1014 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
1015 btable branches.
1016 (define_delay): Add btable branches to insn types that may have an
1017 insn in the delay position.
1018 (Z2, Z3): Add btable branch to list.
1019 Simplify unamed pattern set copy pic_label_operand to register. Add
1020 PA 2.0 variant.
1021 (short_jump): New jump for use in branch tables.
1022 (casesi, casesi0): Revise for new branch table formats.
1023 (casesi32, casesi32p, casesi64p): New casesi patterns.
1024 (indirect_jump): Move.
1025
c1aa3958
DE
10262003-10-29 David Edelsohn <edelsohn@gnu.org>
1027
1028 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
1029 !TARGET_POWERPC64.
1030 (UNITS_PER_GPR_WORD): Delete.
1031 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
1032 (HARD_REGNO_MODE_OK): Same.
1033 (CLASS_MAX_NREGS): Same.
1034
e08fde98
JDA
10352003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1036
1037 * pa.h (ASM_COMMENT_START): Define.
1038
9fcc6bf6
ZW
10392003-10-29 Zack Weinberg <zack@codesourcery.com>
1040
1041 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
1042 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
1043 component, not zero.
1044
9585b0f7
AS
10452003-10-29 Andreas Schwab <schwab@suse.de>
1046
1047 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
1048
69494148
EB
10492003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1050
1051 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1052 Never return 1 for complex integral modes whose size is lesser or
1053 equal to a word.
1054 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
1055 in the comment.
1056 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
1057 modes.
f2225d74
EB
1058 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
1059 greater than 16 bytes by reference.
69494148 1060
b6a41a62
RK
10612003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1062
1063 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
1064 not TARGET_ILP32.
1065 (ia64_initialize_trampoline): Use globalize_label target call.
1066
e9da8a5a
AS
10672003-10-29 Andreas Schwab <schwab@suse.de>
1068
1069 * doc/install.texi (Building): Add a sentence about building Ada
1070 for a canadian cross.
1071
24ea7948
ZW
10722003-10-28 Zack Weinberg <zack@codesourcery.com>
1073
1074 * config/ia64/ia64.c (cmptf_libfunc): New static.
1075 (ia64_expand_compare): Add logic to open-code calls to
1076 _U_Qfcmp for TFmode comparisons.
1077 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
1078 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
1079 never be generated anymore.
1080 * config/ia64/ia64.md (cmptf): New expander.
1081
b38ba463
ZW
10822003-10-28 Zack Weinberg <zack@codesourcery.com>
1083
1084 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
1085 (*sqrt_approx): New instruction pattern for approximate square roots.
1086 (*setf_exp_xf): New instruction pattern for exponentiation.
1087 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
1088 (sqrtsf2_internal_thr): New define_and_split implementing
1089 throughput-optimized inline calculation of SFmode square root.
1090 (sqrtdf2_internal_thr): Likewise for DFmode.
1091 (sqrtxf2_internal_thr): Likewise for XFmode.
1092 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
1093 latency- and throughput-optimized square root algorithms.
1094 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
1095 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
1096 New macros.
1097 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
1098 -minline-sqrt-max-throughput.
1099 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
1100 and -minline-sqrt-max-throughput are given, notify the user
1101 that both options cannot be used simultaneously.
1102 If -minline-sqrt-min-latency is given, notify the user that
1103 this mode is not yet implemented.
1104 (rtx_needs_barrier): Reformat initial comment to obey
1105 72-character width limit. Support UNSPEC_SETF_EXP and
1106 UNSPEC_FR_SQRT_RECIP_APPROX.
1107
e2d0915c
AM
11082003-10-29 Alan Modra <amodra@bigpond.net.au>
1109
1110 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
1111 moves.
1112
06ba5854
FS
11132003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1114
1115 PR target/11598
1116 PR libgcj/10610
1117 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
1118
699a4925
RE
11192003-10-28 Richard Earnshaw <rearnsha@arm.com>
1120
1121 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
b38ba463 1122 an extra stack adjustment insn if the stack pointer is already
699a4925
RE
1123 pointing at the right place.
1124 (use_return_insn): Allow a return insn to be used when we have a
1125 frame pointer if the stack pointer is in the right place.
1126 (output_return_instruction): Handle it.
1127
578e8170
AJ
11282003-10-28 Andreas Jaeger <aj@suse.de>
1129
1130 * ggc-zone.c (check_cookies): Add missing variable.
1131 Add void to prototypes.
1132
525996eb
KG
11332003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1134
1135 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
1136 * crtstuff.c (__do_global_ctors_1): Move prototype.
1137 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
1138 appropriate.
1139 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
1140 Mark parameter with __attribute__((unused)).
1141
40fe4dd5
ZW
11422003-10-27 Zack Weinberg <zack@codesourcery.com>
1143
1144 * c-decl.c (pushdecl): Clarify comment.
1145
d0a74d7e
AC
11462003-10-27 Arnaud Charlet <charlet@act-europe.fr>
1147
436d7715
AC
1148 * doc/install.texi: Update instructions for Ada cross builds
1149
d0a74d7e
AC
1150 PR ada/5909:
1151 * doc/sourcebuild.texi: Document Ada test suite.
1152
e1ffc70a
SC
11532003-10-27 Stephane Carrez <stcarrez@nerim.fr>
1154
1155 * config/m68hc11/m68hc11.c: Convert to ISO C90.
1156 * config/m68hc11/m68hc11-protos.h: Likewise.
1157
aa888d0f 11582003-10-27 Jan Hubicka <jh@suse.cz>
65b19349 1159 Eric Botcazou <ebotcazou@libertysurf.fr>
aa888d0f 1160
65b19349 1161 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
aa888d0f
JH
1162 webizer pass dump.
1163
b19ee4bd
JJ
11642003-10-27 Jakub Jelinek <jakub@redhat.com>
1165 Jan Hubicka <jh@suse.cz>
1166
1167 * reload1.c (struct elim_table): Change offset, initial_offset and
1168 previous_offset fields to HOST_WIDE_INT.
1169 (offsets_at): Change from int to HOST_WIDE_INT.
1170 (reload): Adjust offsets_at initialization.
1171 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
1172 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
1173 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
1174 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
1175 if TARGET_64BIT.
1176 (pro_epilogue_adjust_stack): New function.
1177 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
1178 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
1179 (pro_epilogue_adjust_stack_1): Remove * in front of name.
1180 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
1181 (pro_epilogue_adjust_stack_rex64_2): New insn.
1182
1183 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
1184
1185 * config/i386/i386.c (ix86_expand_call): Replace 40 with
1186 FIRST_REX_INT_REG + 3 /* R11 */.
1187
501e79ef
RH
11882003-10-26 Richard Henderson <rth@redhat.com>
1189
1190 * config/alpha/alpha.md (attr cannot_copy): New.
1191 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
1192 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
1193 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
1194
b6f61163
DB
11952003-10-26 Daniel Berlin <dberlin@dberlin.org>
1196
1197 * ggc-zone.c: New file, zone allocating collector.
1198 * configure: Accept zone option for --with-gc
1199 * configure.in: Ditto.
1200 * ggc.h (ggc_pch_count_object): Pass bool indicating
1201 stringiness. Update all callers.
1202 (ggc_pch_alloc_object): Ditto.
1203 (ggc_pch_write_object): Ditto.
1204 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
1205 type.
1206 (ggc_alloc_rtvec): Ditto.
1207 (ggc_alloc_tree): Use zone allocation, since some things using this macro
1208 aren't a single typecode.
1209 * ggc-none.c (ggc_alloc_typed): New function.
1210 (ggc_alloc_zone): Ditto.
1211 * ggc-page.c: Ditto on both functions.
1212
57047680
GN
12132003-10-26 Gunther Nikl <gni@gecko.de>
1214
1215 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
1216 frame information is always valid.
1217 (m68k_output_function_prologue): Remove superfluous TARGET_68881
1218 test; fix formatting.
1219
85802504
GN
12202003-10-26 Gunther Nikl <gni@gecko.de>
1221
1222 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
1223 reg_rev_mask computation.
1224 (m68k_output_function_prologue): Fix usage of current_frame (one typo
1225 and one missing); use reg_rev_mask not reg_mask.
1226 (m68k_output_function_epilogue): Fix usage of current_frame;
1227 use fpu_rev_mask not fpu_mask.
1228
a89e3f21
BI
12292003-10-26 Bernardo Innocenti <bernie@develer.com>
1230
1231 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
40fe4dd5 1232 num_saved_regs, use current_frame.reg_no instead.
a89e3f21 1233
24f9c4df
BI
12342003-10-26 Bernardo Innocenti <bernie@develer.com>
1235 Paul Dale <pauli@snapgear.com>
1236
1237 * doc/extend.texi (interrupt_handler): Add m68k to the
1238 list of processors implementing it.
1239 * doc/invoke.texi (-msep-data): Document new m68k option.
1240 (-mno-sep-data): Likewise.
1241 (-mid-shared-library): Likewise.
1242 (-mno-id-shared-library): Likewise.
1243 (-mshared-library-id): Likewise.
1244
36f9cf4a
AJ
12452003-10-26 Andreas Jaeger <aj@suse.de>
1246
1247 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
1248 comparison.
1249 (_Unwind_SetGR): Likewise.
1250
88704996
AJ
12512003-10-26 Ottavio Campana <ottavio@campana.vi.it>
1252
9f6e5a8c 1253 PR target/12690
88704996
AJ
1254 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
1255
12562003-10-26 Gunther Nikl <gni@gecko.de>
97c55091
GN
1257
1258 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
1259 comment from here to...
1260 (m68k_save_reg): ...here. Fix comment formatting.
1261 (m68k_output_function_prologue): Fix comment formatting.
1262 (m68k_output_function_epilogue): Likewise.
1263 (const_method): Likewise.
1264
b36c208a
KH
12652003-10-26 Kazu Hirata <kazu@cs.umass.edu>
1266
1267 * toplev.c (default_get_pch_validity): Guard the use of
1268 target_options with #ifdef TARGET_OPTIONS.
1269 (default_pch_valid_p): Likewise.
1270
38f9cd4c
AJ
12712003-10-26 Andreas Jaeger <aj@suse.de>
1272 Zack Weinberg <zack@codesourcery.com>
1273 Andreas Tobler <toa@pop.agri.ch>
1274
1275 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
1276 (output_die): Likewise.
1277 (print_die): Likewise.
1278
d7d4cd78
AJ
12792003-10-26 Andreas Jaeger <aj@suse.de>
1280
0ab5b679
AJ
1281 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
1282 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
1283 dwarf2out.c change.
1284
d7d4cd78
AJ
1285 * toplev.c (default_pch_valid_p): Fix warning.
1286
077a148b
RS
12872003-10-25 Roger Sayle <roger@eyesopen.com>
1288
1289 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
1290 RTL nodes. If an operator's operands are unchanged, return the
1291 original argument unchanged.
1292
81bfdfbe
GS
12932003-10-26 Graham Stott <graham.stott@btinternet.com>
1294
1295 Fix bootstrap failure.
1296 * expmed.c (store_bit_field): Don't compare bitsize against
1297 modes with zero bit-size.
1298
1299 (extract_bit_field): Likewise
1300
799f628a
JH
13012003-10-25 Jan Hubicka <jh@suse.cz>
1302
1303 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
1304 (cfa_loc): Likewise.
1305 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
1306 HOST_WIDE_INT.
1307 (args_size, old_args_size): change type to HOST_WIDE_INT.
1308 (dwarf2out_def_cfa, dwarf2out_args_size,
1309 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
1310 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
1311 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
1312 AT_offset): Use HOST_WIDE_INT.
1313 (based_loc_descr): offset is HOST_WIDE_INT.
1314 (add_data_member): Likewise.
1315 (add_const_value_attribute): Simplify.
1316
fe9f516f
RH
13172003-10-25 Richard Henderson <rth@redhat.com>
1318
40fe4dd5
ZW
1319 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
1320 (ix86_expand_prologue): Save and restore eax around stack probe
1321 if it's live.
fe9f516f 1322
bd18496b
JH
13232003-10-25 Jan Hubicka <jh@suse.cz>
1324
1325 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
1326
b3cd99cd
EB
13272003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
1328
1329 PR target/12712
1330 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
1331 if the block has no predecessors.
1332 (convert_regs_2): Document the problem with successors whose
1333 only predecessor is the block to be processed.
1334 (convert_regs): Don't create the arbitrary input stack here.
1335
02befdf4
ZW
13362003-10-24 Zack Weinberg <zack@codesourcery.com>
1337
1338 * genmodes.c (struct mode_data): Add contained and next_cont
1339 fields.
1340 (complete_mode): Maintain linked list of modes that have a
1341 given component.
1342 (emit_mode_unit_size): Delete.
1343 (emit_mode_nunits): New.
1344 (emit_insn_modes_c): Update to match.
1345 (emit_mode_adjustments): Propagate size and alignment
1346 adjustments from component modes to their containers.
1347 * machmode.h (mode_unit_size): Delete.
1348 (mode_nunits): New.
1349 (GET_MODE_NUNITS): Just return the value in the table.
1350 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
1351 GET_MODE_SIZE.
1352 * expmed.c (store_bit_field, extract_bit_field): Can use a
1353 plain move instruction if bitsize >= GET_MODE_BITSIZE of
1354 destination/source mode, respectively.
1355 * varasm.c (assemble_real): Write out the full size of the
1356 constant, not just its bitsize.
1357 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
1358
1359 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
1360 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
1361 alignment of XF and TF modes in compliance with ia64 ABIs.
1362 Can now hardwire the format of both modes.
1363 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
1364 (general_tfmode_operand, destination_tfmode_operand)
1365 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
1366 general_xfmode_operand, destination_xfmode_operand,
1367 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
1368 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
1369 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
1370 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
1371 __float128.
1372 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
1373 Change TFmode to XFmode wherever appropriate. Remove all
1374 references to INTEL_EXTENDED_IEEE_FORMAT.
1375 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
1376 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
1377 (PREDICATE_CODES): Update to match function renames.
1378 * config/ia64/ia64.md: Change TF to XF throughout; rename all
1379 patterns to match. Remove all references to
1380 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
1381 function renames.
1382 * config/ia64/ia64-protos.c: Update all prototypes to match
1383 renamed functions.
1384 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
1385 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
1386 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
1387 __divtf3; keep old name for backward compatibility.
1388 (L__compat): New section providing forwarding stubs for
1389 __fixtfti, __fixunstfti, __floattitf.
1390 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
1391
7bb1ad93
GK
13922003-10-24 Geoffrey Keating <geoffk@apple.com>
1393
1394 PR 10757
1395 * c-pch.c: Include target.h. Improve comments.
1396 (struct c_pch_validity): Add target_data_length.
1397 (pch_init): Add target's validity data.
1398 (c_common_valid_pch): Check target's validity data.
1399 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
1400 (TARGET_PCH_VALID_P): New.
1401 (TARGET_INITIALIZER): Add new fields.
1402 * target.h: Include tm.h.
1403 (struct gcc_target): Add get_pch_validity, pch_valid_p.
1404 * toplev.h (default_get_pch_validity): New prototype.
1405 (default_pch_valid_p): New prototype.
1406 * toplev.c (default_get_pch_validity): New routine.
1407 (default_pch_valid_p): New routine.
1408 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
1409 target.h with $(TARGET_H).
1410 (c-pch.o): Add TARGET_H.
1411 * doc/tm.texi (PCH Target): New node.
1412 (TARGET_GET_PCH_VALIDITY): Document.
1413 (TARGET_PCH_VALID_P): Document.
1414
65455962
KC
14152003-10-24 Kelley Cook <kcook@gcc.gnu.org>
1416
1417 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
1418 and $(docdir)/include from any *.texi dependencies.
1419 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
1420 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
1421 ($(docobjdir)/%.7): Likewise.
1422 (%.pod): New implicit rule.
02befdf4 1423 (cpp.pod): New dependency only rule.
65455962
KC
1424 (gcc.pod): New intermediate rule with dependencies and commands.
1425 (gfdl.pod): Likewise.
1426 (fsf-funding.pod): Likewise.
1427
7a24bb87
NN
14282003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
1429
1430 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
1431 related code.
1432 * fixinc/fixinc.ptx: Remove.
1433 * fixinc/fixinc.svr4: Remove.
1434
c19ec8f9
UW
14352003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
1436
1437 * config/s390/s390.c (load_multiple_operation): Allow both SImode
1438 and DImode if word_mode is DImode.
1439 (store_multiple_operation): Likewise.
1440 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
1441 ("*load_multiple_di"): Allow only if word_mode == DImode.
1442 ("movqi"): Use LLGC whenever TARGET_ZARCH.
1443 ("fix_truncdfsi2"): Fix incorrect temporary size.
1444 ("fix_truncsfsi2"): Likewise.
1445 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
1446 string for function return value operand.
1447 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
1448
88682ff6
JM
14492003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
1450
1451 * c-parse.in (array_declarator): Use expr_no_commas.
1452 Fixes PR c/11943.
1453
3d39f007
RS
14542003-10-24 Richard Sandiford <rsandifo@redhat.com>
1455
1456 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
1457 associated includes in #ifndef inhibit_libc.
1458
f9225794
RS
14592003-10-24 Roger Sayle <roger@eyesopen.com>
1460
1461 * doc/libgcc.texi: Document some more of the libgcc API.
1462
c769a35d
RE
14632003-10-24 Richard Earnshaw <rearnsha@arm.com>
1464
1465 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
1466 comparing a constant with small negative numbers and add costing
1467 for constants in conjunction with AND.
1468 (note_invalid_constants): Tidy previous change.
1469 (thumb_cmp_operand): Tidy.
1470 (thumb_cmpneg_operand): New function.
1471 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
1472 for size.
1473 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
1474 (PREDICATE_CODES): Add thumb_cmpneg_operand.
1475 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
1476 with a negative constant.
1477 (cbranchsi4_insn): Matcher for cbranchsi4.
1478 (cbranchsi4_scratch): Similar, but a scratch is available for
1479 handling negative constants.
1480 (movsi_cbranchsi4): New pattern.
1481 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
1482 and use the TST instruction.
1483 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
1484 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
1485 cannot see high regs or memory alternatives.
1486 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
1487
244b1afb
RE
14882003-10-24 Richard Earnshaw <rearnsha@arm.com>
1489
1490 * arm.c (note_invalid_constants): Try to extract the constant
1491 pool value using avoid_constant_pool_reference; only use
1492 get_pool_constant if that returns the original reference.
1493
0f334035
JH
14942003-10-24 Jan Hubicka <jh@suse.cz>
1495
1496 PR c++/12624
1497 * varasm.c (notice_global_symbol): Disqualify global registers.
1498
1b24cd79
RS
14992003-10-23 Roger Sayle <roger@eyesopen.com>
1500
1501 PR middle-end/11414
1502 * loop.c (load_mems): Use redirect_jump to forward jumps from
1503 the original loop end label to the new "loop sink" block's label.
1504
c7d91a94
RS
15052003-10-23 Roger Sayle <roger@eyesopen.com>
1506
1507 PR middle-end/12705
1508 * optabs.c (expand_binop): When expanding complex operations
1509 inline, always calculate result into a new temporary register.
1510 Minor code clean-ups.
1511
7989e4dc
RO
15122003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1513
1514 * objc/lang-specs.h: Handle -print-objc-runtime-info.
1515 * doc/invoke.texi (Objective-C Dialect Options): Document it.
1516
f5c64a69
DS
15172003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
1518
1519 * config/i386/cygwin.asm. Add copyright notice. Add comment
1520 on why this code is needed.
1521
846d57c7 15222003-10-23 Kazu Hirata <kazu@cs.umass.edu>
e11f4e4d
KH
1523
1524 * config/h8300/clzhi2.c: Fix warnings.
1525 * config/h8300/ctzhi2.c: Likewise.
1526 * config/h8300/fixunssfsi.c: Likewise.
1527 * config/h8300/parityhi2.c: Likewise.
1528 * config/h8300/popcounthi2.c: Likewise.
1529
1e529a73
JW
15302003-10-23 James E Wilson <wilson@specifixinc.com>
1531
1532 * gcc.c (option_map): Delete --target and --use-version.
1533
0e67400a
FJ
15342003-10-23 Fariborz Jahanian <fjahanian@apple.com>
1535 David Edelsohn <edelsohn@gnu.org>
1536
1537 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
1538 TARGET_POWREPC64.
1539 (UNITS_PER_GPR_WORD): Define.
1540 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
1541 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
1542 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
1543 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
1544 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
1545 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
1546 (rs6000_emit_prologue): Select reg_mode and reg_size using
1547 TARGET_32BIT, not TARGET_POWERPC64.
1548 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
1549 ABI / 64-bit computation mode
1550
00503146
AH
15512003-10-22 Andrew Haley <aph@redhat.com>
1552
1553 * toplev.c (output_file_directive): Allow for null input_name.
1554
448ec26c
WH
15552003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1556
1557 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
1558
941ba69d
CD
15592003-10-22 Chris Demetriou <cgd@broadcom.com>
1560
1561 * configure.in: In --enable-generated-files-in-srcdir option
1562 handling, fix default case handling.
1563 * configure: Regenerate.
1564
55047c9d
PE
15652003-10-22 Phil Edwards <phil@codesourcery.com>
1566
1567 * config.gcc: Update *-*-vxworks* generic hook and comments.
1568 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
1569 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
1570 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
1571 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
1572 * config/windiss.h: New file.
1573 * config/arm/t-vxworks: New file.
1574 * config/arm/vxworks.h: New file.
1575 * config/i386/t-vxworks: New file.
1576 * config/i386/vxworks.h: New file.
1577 * config/mips/t-vxworks: New file.
1578 * config/mips/vxworks.h: New file.
1579 * config/mips/windiss.h: New file.
1580 * config/sh/t-vxworks: New file.
1581 * config/sh/vxworks.h: New file.
1582
3cfa3702
KH
15832003-10-22 Kazu Hirata <kazu@cs.umass.edu>
1584
1585 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
1586 (h8300_saveall_function_p): New.
1587 (h8300_insert_attributes): Insert the saveall attribute if
1588 #pragma saveall is specified.
1589 (h8300_attribute_table): Add saveall.
1590 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
1591 * doc/extend.texi: Mention the saveall attribute.
1592
dc70e81d
JM
15932003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
1594
1595 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
1596 deprecation of casts as lvalues.
1597 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
1598 * fixinc/fixincl.x: Regenerate.
1599 * fixinc/tests/base/obstack.h: New test.
1600
218d5a87
AS
16012003-10-22 Andreas Schwab <schwab@suse.de>
1602
1603 PR target/12676
1604 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
1605 LP64 platforms.
1606
ae0f3477
JH
16072003-10-22 Jan Hubicka <jh@suse.cz>
1608
c769a35d
RE
1609 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
1610 presence of DW_AT_inline.
1611 (gen_subprogram_die): Likewise; do not abort instead of emitting
1612 DW_AT_not_inline.
ae0f3477 1613
190f08bd
JH
16142003-10-22 Jan Hubicka <jh@suse.cz>
1615
1616 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
1617 global info is not ready.
1618
dbacaa98
KH
16192003-10-22 Kazu Hirata <kazu@cs.umass.edu>
1620
1621 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
1622
b9404c99
UW
16232003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
1624
1625 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
1626 ("*movstr_short"): ... into this insn pattern.
1627 ("movstr_short"): New expander.
1628 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
1629 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
1630 ("movstr_long"): New expander.
1631 ("clrstr_short_64", "clrstr_short_31"): Merge ...
1632 ("*clrstr_short"): ... into this insn pattern.
1633 ("clrstr_short"): New expander.
1634 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
1635 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
1636 ("clrstr_long"): New expander.
1637 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
1638 ("*cmpmem_short"): ... into this insn pattern.
1639 ("cmpmem_short"): New expander.
1640 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
1641 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
1642 ("cmpmem_long"): New expander.
1643 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
1644 (s390_expand_clrstr): Likewise.
1645 (s390_expand_cmpmem): Likewise.
1646
926a822f
MM
16472003-10-22 Mark Mitchell <mark@codesourcery.com>
1648
1649 * c-pch.c (struct c_pch_validity): Add pch_init field.
1650 (pch_init): Set it.
1651 (c_common_valid_pch): Check it.
926a822f 1652
a354c7d6
DT
16532003-10-22 David Taylor <dtaylor@emc.com>
1654
1655 PR debug/12500
1656 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
1657
77c018b7
RK
16582003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1659
1660 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
1661 alpha_return_in_memory if no VALTYPE specified.
1662
1bb17c21
JH
16632003-10-22 Jan Hubicka <jh@suse.cz>
1664
1665 PR debug/12389
1666 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
1667 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
1668 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
1669 (cgraph_global_info): Add flag inlined
1670 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
1671 cgraph_function_possibly_inded_p
1672 * cgraphunit.c (mark_inline): Set inlined flag.
1673 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
1674 only for possibly inlined functions.
1675 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
1676 body of function.
1677
907393db
AH
16782003-10-22 Andrew Haley <aph@redhat.com>
1679
1680 * varasm.c (output_constructor): Make constructor annotation
1681 conditional on ASM_COMMENT_START.
1682
40aae178
JM
16832003-10-21 Jason Merrill <jason@redhat.com>
1684
e64a6f2c
JM
1685 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
1686 (get_narrower): Likewise.
1687
40aae178
JM
1688 * stor-layout.c (layout_decl): Do packed field alignment for
1689 bit-fields, too.
1690
450b1728
EC
16912003-10-21 Eric Christopher <echristo@redhat.com>
1692
1693 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
1694
7451756f
GK
16952003-10-21 Geoffrey Keating <geoffk@apple.com>
1696
1697 * c-pch.c: Add comments in various places.
1698 (struct c_pch_validity): Add the lengths of various strings.
1699 (host_machine): New static.
1700 (target_machine): New static.
1701 (get_ident): Bump version number.
1702 (pch_init): Write out version, host, target validity data.
1703 (c_common_valid_pch): Check version, host, target.
1704 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
1705 TARGET_MACHINE.
1706
c25d44dd
JM
17072003-10-21 Jason Merrill <jason@redhat.com>
1708
1709 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
1710 (EXPR_P): New macro.
1711
5634cf72
ZW
17122003-10-21 Zack Weinberg <zack@codesourcery.com>
1713
1714 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
1715 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
1716 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
1717 DImode. Use convert_move to load ar.ccv.
1718 (ia64_expand_compare_and_swap): Likewise.
1719 If expand_expr doesn't put 'old' and 'new' in the proper
1720 modes, run them through convert_to_mode.
1721
25f93e18
EC
17222003-10-21 Eric Christopher <echristo@redhat.com>
1723
1724 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
1725 for too large bitfields.
1726
c3220510
MM
17272003-10-21 Mark Mitchell <mark@codesourcery.com>
1728
1729 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
1730
bce988a2
AH
17312003-10-21 Andrew Haley <aph@redhat.com>
1732
1733 * varasm.c (output_constructor): Annotate constructor.
1734
3d56d025
MM
17352003-10-21 Mark Mitchell <mark@codesourcery.com>
1736
1737 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
1738 on existence of destination file.
1739
43997658
JH
17402003-10-21 Jan Hubicka <jh@suse.cz>
1741
1742 * haifa-sched.c (choose_ready): Initialize index.
1743
064ee155
JM
17442003-10-21 Jason Merrill <jason@redhat.com>
1745
1746 * tree.c (build1): Fix off-by-one error.
1747
448ec26c 17482003-10-21 Robert Millan <robertmh@gnu.org>
e2befd7d
RM
1749
1750 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
1751 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
1752 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
1753 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
1754
2426d8dd
EB
17552003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1756
1757 * web.c: Fix various comments.
1758
be03ccc9
NP
17592003-10-20 Nicolas Pitre <nico@cam.org>
1760
1761 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
1762 to 2 instead of 1 when optimize_size is true. Gather code based on
1763 optimize_size together. Add comment about XScale load latency.
1764
802f1b93
GN
17652003-10-21 Gunther Nikl <gni@gecko.de>
1766
1767 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
1768 obsolete comments.
1769
51b9ff45
KC
17702003-10-20 Kelley Cook <kcook@gcc.gnu.org>
1771
1772 * Makefile.in: Get parsedir and docobjdir from configure.
1773 * configure.in: Recogonize --enable-generated-files-in-srcdir.
1774 Pass along parsedir and docobjdir.
1775 * configure: Regenerate.
1776 * doc/install.texi: Document --enable-generated-files-in-srcdir.
1777
d790dd9f
KC
17782003-10-20 Kelley Cook <kcook@gcc.gnu.org>
1779
1780 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
1781 included.
1782
ac054e28
JM
17832003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
1784
1785 * c-common.c (expand_tree_builtin): Ensure creal and cimag
1786 functions do not return lvalues.
1787
2038bd69
JM
17882003-10-20 Jason Merrill <jason@redhat.com>
1789
1790 PR c/12553
1791 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
1792 appropriately.
1793
1794 PR c/11446
1795 * stor-layout.c (layout_decl): Fix alignment handling.
1796
02601a5c
JM
17972003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
1798
1799 * doc/extend.texi: Deprecate casts as lvalues.
1800
d4d1ebc1
JH
18012003-10-20 Jan Hubicka <jh@suse.cz>
1802
1803 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
1804
1805 * cgraphunit.c (decide_is_function_needed): Fix test dealing
1806 with functions implicitly made inline.
1807
1808 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
1809 (cgraph_finalize_function): Use it.
1810 (cgraph_mark_inline): Allow incrmental decisions
1811 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
1812 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
1813 * tree-inline.c (limits_allow_inlining): Kill.
1814 (expand_call_inline): Always use unit-at-a-time path.
1815
ce01559b
ZW
18162003-10-20 Zack Weinberg <zack@codesourcery.com>
1817
1818 * fixinc/inclhack.def (hpux11_snprintf): New edit.
1819 * fixinc/fixincl.x: Regenerate.
1820 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
1821
97ae108d
MM
18222003-10-20 Mark Mitchell <mark@codesourcery.com>
1823
1824 * Makefile.in (install-info): Simplify.
1825 ($(DESTDIR)$(infodir)/%.info): New rule.
1826 * configure.in (target_list): Remove install-info.
1827 * doc/.cvsignore (gcc.info*): Remove.
1828 (gccint.info*): Likewise.
1829 (gccinstall.info*): Likewise.
1830 (cpp.info*): Likewise.
1831 (cppinternals.info*): Likewise.
1832 (*.info*): Add it.
1833 * doc/sourcebuild.texi: Update description of install-info.
1834 * objc/Make-lang.in (objc.install-info): Remove.
1835
27d54b2a
RO
18362003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1837
1838 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
1839 Use it in _MIPS_SIM definition.
1840 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
1841
480feac0
ZW
18422003-10-20 Zack Weinberg <zack@codesourcery.com>
1843
1844 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
1845 virtual register, but only if file == asm_out_file.
1846 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
1847 for ARG_POINTER_REGNUM.
1848
d1d3865f
ZW
18492003-10-20 Zack Weinberg <zack@codesourcery.com>
1850
1851 * c-common.c (registered_builtin_types): New static.
1852 (c_common_type_for_mode): Consult registered_builtin_types.
1853 (c_register_builtin_type): Add type to registered_builtin_types.
1854 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
1855 all MODE_FLOAT modes, not just the ones corresponding to
1856 float_type_node, double_type_node, and long_double_type_node.
1857
df2ddbb3
RH
18582003-10-20 Richard Henderson <rth@redhat.com>
1859
1860 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
1861 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
1862
cbe26ab8
DN
18632003-10-20 Dorit Naishlos <dorit@il.ibm.com>
1864
d1d3865f 1865 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
cbe26ab8
DN
1866 support new flag -minsert-sched-nops.
1867 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
d1d3865f
ZW
1868 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
1869 support new flag -minsert-sched-nops.
cbe26ab8
DN
1870 (is_cracked_insn, is_microcoded_insn): New functions.
1871 (rs6000_sched_finish): New function.
1872 (rs6000_issue_rate): Return 5 for power4.
d1d3865f 1873 (get_next_active_insn, insn_terminates_group_p): New
cbe26ab8
DN
1874 functions.
1875 (is_costly_group, force_new_group): New functions.
1876 (redefine_groups, pad_groups): New functions.
1877 (rs6000_variable_issue): Use new functions.
1878 * doc/invoke.texi (-minsert-sched-nops): Document new
1879 option.
1880
59823ba4
DM
18812003-10-20 David S. Miller <davem@redhat.com>
1882
1883 * config/sparc/sparc.md (type attribute): Add new insn types
1884 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
1885 (patterns emitting VIS insns): Use them.
1886 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
1887 * config/sparc/ultra3.md: Likewise.
1888
e006ced2
FH
18892003-10-20 Falk Hueffner <falk@debian.org>
1890
1891 PR target/12654
1892 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
1893 comparison against constant by adjusting the argument except for
1894 EQ and NE.
1895
81f9037c
MM
18962003-10-19 Mark Mitchell <mark@codesourcery.com>
1897
1898 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
1899 arm1136jfs, and armv6j.
1900 * config/arm/arm.c (FL_ARCH6J): New macro.
1901 (FL_VFPV2): Likewise.
1902 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
1903 and arm1136jfs.
1904 (all_architectures): Add entry for armv6j.
1905 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
1906 arm1136js, and arm1136jfs.
1907 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
1908 (TARGET_CPU_arm1026ej_s): Likewise.
1909 (TARGET_CPU_arm1136j_s): Likewise.
1910 (TARGET_CPU_arm1136jf_s): Likewise.
1911 * doc/invoke.texi: Document new ARM cores and architecture
1912 variants.
d1d3865f 1913
fca9dc00
ZD
19142003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1915
1916 * Makefile.in (toplev.o): Add value-prof.h dependency.
1917 (value-prof.o): Add REGS_H dependency.
1918 * common.opt (fprofile-values, fvpt): New.
1919 * flags.h (flag_value_profile_transformations): Declare.
1920 * opts.c (common_handle_option): Handle -fprofile_values and
1921 -fvpt.
1922 * profile.c (branch_prob): Don't remove death notes here.
1923 * timevar.def (TV_VPT): New.
1924 * value-prof.c: Include regs.h.
1925 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
1926 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
1927 mod_subtract_transform, value_profile_transformations): New.
1928 (insn_values_to_profile): Call insn_divmod_values_to_profile.
1929 (find_values_to_profile): Add dumps.
1930 * value-prof.h (value_profile_transformations): Declare.
1931 * toplev.c: Include value-prof.h.
1932 (rest_of_handle_value_profile_transformations): New.
1933 (enum dump_file_index): Add DFI_vpt.
1934 (dump_file): Add vpt dump.
1935 (flag_value_profile_transformations): New.
1936 (lang_independent_options): Add flag_profile_values and
1937 flag_value_profile_transformations.
1938 (rest_of_compilation): Call
1939 rest_of_handle_value_profile_transformations.
1940 (process_options): Let -fvpt imply -fprofile-values.
1941 * doc/invoke.texi (-fvpt): Document.
1942
cb0bc263
JH
19432003-10-19 Jan Hubicka <jh@suse.cz>
1944
1945 * i386.c (print_reg): Do not abort on certain registers.
1946
1947 PR optimization/12612
1948 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
1949 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
1950 match_scratch; avoid bogus paralles.
1951
1952 PR target/12674
1953 * i386.c (ix86_function_regparm): Disable implicit register passing
1954 conventions when profiling.
1955
707e58b1 19562003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
d1d3865f 1957 Richard Henderson <rth@redhat.com>
707e58b1
EB
1958
1959 PR optimization/8178
1960 * config/i386/i386.md (*movsi_zero): Delete.
1961 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
1962
64bb2e1d
RH
19632003-10-19 Richard Henderson <rth@redhat.com>
1964
1965 * config/alpha/alpha.c (fix_operator): New.
1966 (divmod_operator): Tidy.
1967 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
1968 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
1969 (PREDICATE_CODES): Update.
1970 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
1971 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
1972 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
1973 (fix_truncsfdi_ieee): Likewise.
1974 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
1975 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
1976 * config/alpha/alpha-protos.h: Update.
1977
91999e1d
RS
19782003-10-19 Richard Sandiford <rsandifo@redhat.com>
1979
1980 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
1981 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
1982 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
f74c81d5 1983 constant operands.
91999e1d 1984
9c2d4260
KH
19852003-10-18 Kazu Hirata <kazu@cs.umass.edu>
1986
1987 * doc/extend.texi: Fix typos.
1988 * doc/invoke.texi: Likewise.
1989
591af218
NP
19902003-10-18 Nicolas Pitre <nico@cam.org>
1991
1992 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
1993 XScale optimizations not arm_arch_xscale.
1994 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
1995
ac32b25e
UW
19962003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
1997
1998 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
1999 * config/s390/s390.c (shift_count_operand): New function.
2000 (s390_extra_constraint): Use it to implement 'Y' constraint.
2001 (print_shift_count_operand): New function.
2002 (print_operand): Use it to implement '%Y'.
2003 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
2004 (PREDICATE_CODES): Add shift_count_operand.
d1d3865f 2005 * config/s390/s390.md ("rotldi3"): Merge alternatives,
ac32b25e
UW
2006 using "shift_count_operand" predicate and "Y" constraint,
2007 and "%Y" to output the combined shift count.
2008 ("rotlsi3"): Likewise.
2009 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
d1d3865f 2010 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
ac32b25e
UW
2011 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
2012 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
2013 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
2014 ("lshrsi3"): Likewise.
2015
3f12a2e0
GN
20162003-10-18 Gunther Nikl <gni@gecko.de>
2017
2018 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
2019 argument to asm_fprintf statement.
2020
6074164e
FJ
20212003-10-18 Fariborz Jahanian <fjahanian@apple.com>
2022
d1d3865f
ZW
2023 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
2024 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
2025 a "long long" argument.
6074164e 2026
ad7e39ca
AO
20272003-10-18 Alexandre Oliva <aoliva@redhat.com>
2028
2029 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
2030 as well.
2031
e1de1560
RS
20322003-10-18 Richard Sandiford <rsandifo@redhat.com>
2033
2034 * rtl.h (rtl_size): Declare.
2035 (rtunion): Remove rtwint.
2036 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
2037 (RTX_HDR_SIZE, RTX_SIZE): New macros.
2038 (RTL_CHECK1): Adjust for new rtx_def layout.
2039 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
2040 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
2041 (X0WINT): Remove.
2042 (X0ANY): New macro.
2043 * rtl.def: Adjust comments for new rtx_def layout.
2044 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
2045 number of slots.
2046 * rtl.c (rtx_size): New array.
2047 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
2048 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2049 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
2050 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
2051 * emit-rtl.c (copy_most_rtx): Likewise.
2052 (copy_rtx_if_shared): Use RTX_SIZE.
2053 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2054 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
2055 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
2056 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
2057 an array. Adjust output for new rtx_def layout.
2058 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
2059 * reload1.c (eliminate_regs): Use RTX_SIZE.
2060 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
2061 * gdbinit.in (pi): Likewise.
2062
99ceae26
JH
20632003-10-18 Jan Hubicka <jh@suse.cz>
2064
2065 * integrate.c (copy_decl_for_inlining): Revert previous patch.
2066
8a2b3848
JH
20672003-10-18 Jan Hubicka <jh@suse.cz>
2068
2069 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
2070
dafee8e3
RS
20712003-10-18 Roger Sayle <roger@eyesopen.com>
2072
2073 * libgcc.texi: Group multi-word types, such as "long double" and
2074 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
2075 Document __unord?f2 as returning a non-zero value, not just one.
2076
3a198a72
HPN
20772003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
2078
2079 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
2080 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
2081
a74f2487
EB
20822003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2083
2084 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
2085 match_operand.
2086
cde85594
EB
20872003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2088
2089 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
2090 parameter packed_p. Search for a DECL_PACKED field only if
2091 packed_p is false. Pass packed_p recursively.
2092 (function_arg_record_value_2): Likewise.
2093 (function_arg_record_value): Update calls to
2094 function_arg_record_value_1 and function_arg_record_value_2.
2095
9d8de1de
EB
20962003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2097
2098 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
2099 was successfully forced to memory before using the result.
2100
67e53009
EB
21012003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2102
2103 PR optimization/8178
2104 * config/i386/i386.md (*movsi_zero): New insn to set
2105 a register to zero on TARGET_USE_MOV0 targets.
2106
fca086c1
KC
21072003-10-18 Kelley Cook <kcook@gcc.gnu.org>
2108
2109 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
2110 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
2111
2206e783
DE
21122003-10-17 David Edelsohn <edelsohn@gnu.org>
2113
2114 * doc/invoke.texi (gcse-las): Fix typo.
2115
1b49d06f
AP
21162003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2117
a755e3c5
AP
2118 * doc/install.texi: Remove first part of the sentence for
2119 zsh not working. Change gcc to GCC.
2120
1b49d06f 2121 PR bootstrap/12546
d1d3865f 2122 * doc/install.texi: Document that zsh does not work when
1b49d06f
AP
2123 configuring gcc.
2124
8a765788
NN
21252003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
2126
2127 * config/ptx4.h: Switch to DWARF 2; update comments.
2128
b4a62fa0
SB
21292003-10-17 Segher Boessenkool <boessen@de.ibm.com>
2130 Hartmut Penner <hpenner@de.ibm.com>
2131
eb0c90bd 2132 PR 10404, partial 11591, partial 11601
b4a62fa0
SB
2133 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
2134 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
2135 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
2136 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
2137 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
2138 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
2139 (altivec_expand_stv_builtin): Adjust for the memory_operand.
2140 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
2141 (altivec_init_builtins): Use `long int' for memory offsets.
2142
7260e9a0
JH
21432003-10-17 Jan Hubicka <jh@suse.cz>
2144
2145 * opts.c (common_handle_option): Handle OPT_fweb
2146 * invoke.texi (-fweb): Add missing parts of documentation.
2147
b8557e37
RO
21482003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2149
2150 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
2151 before redefinition.
2152
f5f2e3cd
MH
21532003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
2154
2155 * common.opt: Add description of the new -fgcse-las flag.
2156 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
2157 * gcse.c (hash_scan_set): Handle the case of store expression and
2158 insert the memory expression to the hash table, this way we make it
2159 possible to discover redundant loads after stores and remove them.
2160 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
2161 to pre_insert_copies, it is not the correct place to call it after
2162 adding stores to be in the available expression hash table.
2163 (pre_insert_copies): Added the call to update_ld_motion_stores when
2164 one or more copies were inserted.
2165 * opts.c (common_handle_option): Handle the -fgcse-las flag.
2166 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
2167
2168 * doc/invoke.tex: Document new -fgcse-las flag.
2169
1b2d6edd
AM
21702003-10-18 Alan Modra <amodra@bigpond.net.au>
2171
5511bc2e
AM
2172 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
2173 for posterity, then remove it.
1b2d6edd 2174
efc2515b
RE
21752003-10-17 Richard Earnshaw <rearnsha@arm.com>
2176 Nathan Sidwell <nathan@codesourcery.com>
2177
2178 * config/arm/arm.c (use_return_insn): Not a single instruction, if
2179 there's a frame pointer.
2180 (arm_output_epilogue): Protect stack pointer from being corrupted
2181 on interrupt.
2182
51a785a0
UW
21832003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2184
2185 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
2186
2051c897
UW
21872003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2188
2189 * combine.c (simplify_set): Do not clear out undobuf.other_insn
2190 already set elsewhere.
2191
b1177d69
KC
21922003-10-17 Kelley Cook <kcook@gcc.gnu.org>
2193
2194 * config/i386/i386.c (ix86_expand_prologue): Use
2195 gen_allocate_stack_worker.
2196
3c7404d3
RO
21972003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2198
2199 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
2200 without gas.
2201 (mips-sgi-irix6*): Likewise.
2202
2203 * config/mips/iris6gas.h: New file.
2204 * gcc/config.gcc (mips-sgi-irix6*): Use it.
2205
2206 * config/mips/mips.h (TARGET_IRIX): Provide default.
2207 (TARGET_IRIX5): Likewise.
2208 (TARGET_SGI_O32_AS): Likewise.
2209 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
2210 (TARGET_IRIX5): Likewise.
2211 * config/mips/iris6.h (TARGET_IRIX6): Remove.
2212 (TARGET_IRIX5): Redefine as 0.
2213
2214 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
2215 linker workaround with TARGET_IRIX and mips_abi instead of
2216 ASM_OUTPUT_UNDEF_FUNCTION.
2217 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
2218 testing TARGET_IRIX and mips_abi explicitly.
2219 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
2220 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
2221
2222 * config/mips/mips.c (irix_output_external_libcall): Renamed from
2223 mips_output_external_libcall.
2224 Use new TARGET_IRIX in guard.
2225 * config/mips/mips-protos.h (irix_output_external_libcall): Match
2226 this.
2227 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
2228
2229 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
2230 Define as 0.
2231
2232 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
d1d3865f 2233 depending on mips_abi.
3c7404d3
RO
2234 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
2235 * config/mips/mips.c (mips_output_function_prologue): Test
2236 FUNCTION_NAME_ALREADY_DECLARED at runtime.
2237 (mips_output_function_epilogue): Likewise.
2238 (build_mips16_function_stub): Likewise.
2239 (build_mips16_call_stub): Likewise.
2240 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
2241 default.
d1d3865f 2242
3c7404d3
RO
2243 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
2244 IRIX 6 O32 assembler.
2245 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
2246 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
2247 _MIPS_SIM for O32 ABI.
2248 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
2249 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
2250 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
2251 Integrate O32 version.
2252 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
2253 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
2254 O32 ABI.
2255 (BSS_SECTION_ASM_OP_32): Define.
2256 (BSS_SECTION_ASM_OP_64): Likewise.
2257 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
2258 using them.
2259 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
2260 Move up to allow override for O32 ABI without GNU as.
2261 (EH_FRAME_SECTION_NAME): Define explicitly.
2262 (MUST_USE_SJLJ_EXCEPTIONS): Define.
2263 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
2264 DTORS_SECTION_ASM_OP): Dummy definitions.
d1d3865f 2265 (TARGET_ASM_NAMED_SECTION): Undef statically.
3c7404d3
RO
2266 (EH_FRAME_SECTION_NAME): Likewise.
2267 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
2268 (LINK_SPEC): Only use default options -call_shared -no_unresolved
2269 without -r.
2270 Don't pass -init, -fini with -mabi=32.
2271 (COLLECT_PARSE_FLAG): Define.
2272
2273 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
2274 TARGET_IRIX.
2275 Renamed to use irix_ prefix.
2276 (iris6_asm_named_section): Likewise.
2277 (iris_section_align_entry_eq): Likewise.
2278 (iris_section_align_entry_hash): Likewise.
2279 (iris6_file_start): Likewise.
2280 (iris6_section_align_1): Likewise.
2281 (iris6_file_end): Likewise.
2282 (iris6_section_type_flags): Likewise.
2283 (iris_section_align_htab): Likewise.
2284 (iris_orig_asm_out_file): Likewise.
2285 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
2286 (TARGET_ASM_FILE_END): Likewise.
2287 (TARGET_SECTION_TYPE_FLAGS): Likewise.
2288
2289 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
2290 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
2291 override_options instead.
2292 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
2293 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
2294 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
2295 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
2296 assemblers.
2297 Likewise for constructor/destructor handling.
2298 (override_options): Handle IRIX O32 assembler quirks.
2299 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
2300 without gas.
2301 (mips_file_start): Use new TARGET_IRIX.
2302 (mips_declare_object_name): No special processing for IRIX O32
2303 assembler.
2304 (mips_finish_declare_object): Likewise.
2305 (irix_asm_output_align): Renamed from iris6_asm_output_align.
2306 Don't record alignment for O32 ABI.
2307 (irix_file_start): Renamed from iris6_file_start.
2308 Return early for O32 ABI.
2309 (irix_file_end): Renamed from iris6_file_end.
2310 Don't emit .section directives for O32 ABI.
2311 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
2312 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
2313
2314 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
2315 (MULTILIB_OSDIRNAMES): Likewise.
2316
5f31e9bc
RO
23172003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2318
2319 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
2320 (main): Use it.
2321 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
2322
defc0463
RE
23232003-10-17 Richard Earnshaw <rearnsha@arm.com>
2324
2325 * arm-modes.def (CC_Nmode): New condition code mode.
2326 * arm.c (thumb_condition_code): Delete.
2327 (arm_select_cc_mode): Handle single-bit test for Thumb.
d1d3865f 2328 (arm_print_operand, cases 'd' and 'D'): Don't special case the
defc0463
RE
2329 condition code logic for Thumb.
2330 (get_arm_condition_code): Handle CC_Nmode.
2331 (thumb_cbrch_target_operand): New function.
2332 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
2333 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
2334 * arm.md: Add Thumb split patterns for zero_extract and
2335 sign_extract.
2336 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
2337 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
2338 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
2339 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
2340 (cbranchne_decr1): Re-work to use CC_Nmode.
2341
d1d3865f 2342 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
defc0463
RE
2343 by the return instruction. Add a use of the link register if it
2344 wasn't stored.
2345
38b2a605
RE
23462003-10-17 Richard Earnshaw <rearnsha@arm.com>
2347
2348 * flow.c (init_propagate_block_info): Don't abort if a conditional
2349 jump is not a comparison of a register. Instead, just don't record
2350 conditional life information.
2351
8f00386e
JH
23522003-10-16 Jan Hubicka <jh@suse.cz>
2353
2354 PR optimization/12630
2355 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
2356 for operands 7 and 8.
2357
dc17fe76
KC
23582003-10-16 Kelley Cook <kcook@gcc.gnu.org>
2359
2360 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
2361
1e8a5248
DS
23622003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
2363
2364 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2365
2366 * config/i386/winnt.c (gen_stdcall_suffix): Make static
2367 (gen_fastcall_suffix): Likewise.
2368 (i386_pe_dllexport_p): Likewise.
2369 (i386_pe_dllimport_p): Likewise.
2370 (i386_pe_mark_dllexport): Likewise.
2371 (i386_pe_mark_dllimport): Likewise.
2372 (i386_pe_asm_named_section): Fix formatting.
2373
236ce4b2
ZW
23742003-10-16 Zack Weinberg <zack@codesourcery.com>
2375
2376 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
2377 * system.h: Declare snprintf if necessary.
2378 * configure, config.in: Regenerate.
2379
10f30fa8
DE
23802003-10-15 David Edelsohn <edelsohn@gnu.org>
2381
2382 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4aa4bf39 2383 arguments if TARGET_ALTIVEC_ABI.
10f30fa8 2384
5bb650ec
RS
23852003-10-15 Roger Sayle <roger@eyesopen.com>
2386
2387 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
2388 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
2389 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
2390 New functions.
2391 (expand_builtin_memcpy): Use integer_zerop instead of testing
2392 host_integerp and tree_low_cst directly. Move misapplied hunk
2393 for optimization wher SRC and DEST point to the same location.
2394 (expand_builtin_mempcpy): From here.
2395 (expand_builtin_memmove): Use integer_zerop instead of testing
2396 host_integerp and tree_low_cst_directly.
2397 (expand_builtin_memset): Likewise.
2398 (expand_builtin_memcmp): Likewise (and for integer_onep).
2399 (expand_builtin_strncmp): Likewise.
2400 (fold_builtin): Call the appropriate fold_builtin_foo functions
2401 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
2402 strcmp and strncmp.
2403
6f94a68e
GK
24042003-10-15 Geoffrey Keating <geoffk@apple.com>
2405
2406 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
2407 prototype. Clean up some whitespace.
236ce4b2
ZW
2408 * config/darwin.c: Use gen_rtx_FOO (...) rather than
2409 gen_rtx (FOO, ...).
6f94a68e
GK
2410 (machopic_non_lazy_ptr_name): Make static.
2411 (name_needs_quotes): Allow '.' and '$' unquoted.
2412 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
2413 case.
236ce4b2 2414
a352244f
GL
2415