]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* config/darwin.h, config/elfos.h, config/i960/i960-coff.h
[gcc.git] / gcc / ChangeLog
CommitLineData
720b7001
ZW
12003-06-27 Zack Weinberg <zack@codesourcery.com>
2
3 * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
4 * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
5 be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
6
67f2899d
JH
7Fri Jun 27 17:41:16 CEST 2003 Jan Hubicka <jh@suse.cz>
8
9 * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
10 of known_decls.
11
37706dd1
HPN
122003-06-27 Hans-Peter Nilsson <hp@axis.com>
13
14 * defaults.h (REGISTER_MOVE_COST): Define default here.
15 * regclass.c: Don't define default REGISTER_MOVE_COST here.
16 * reload.c, reload1.c: Ditto.
17
45751525
RE
182003-06-27 Richard Earnshaw <rearnsha@arm.com>
19
20 * flags.h: Really install previous change.
21
2e040219
NS
222003-06-27 Nathan Sidwell <nathan@codesourcery.com>
23
24 * rtl.h (emit_note): Remove FILE parameter.
25 * emit-rtl.c (emit_line_note): Adjust emit_note call.
26 (emit_note): Remove FILE parameter. Adjust.
27 * builtins.c (expand_builtin_expect): Adjust emit_note call.
28 * c-semantics.c (genrtl_scope_stmt): Likewise.
29 (expand_stmt): Likewise.
30 * cfglayout.c (reemit_insn_block_notes): Likewise.
31 (duplicate_insn_chain): Likewise.
32 * except.c (expand_eh_region_start, expand_eh_region_end,
33 sjlj_emit_function_enter): Likewise.
34 * explow.c (probe_stack_range): Likewise.
35 * expr.c (emit_block_move_via_loop): Likewise.
36 * function.c (init_function_start, expand_function_start,
37 expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
38 * integrate.c (expand_inline_function, copy_insn_list): Likewise.
39 * reg-stack.c (compensate_edge): Likewise.
40 * reload1.c (reload): Likewise.
41 * rtlanal.c (hoist_insn_to_edge): Likewise.
42 * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
43 expand_loop_continue_here, expand_end_loop, expand_continue_loop,
44 expand_exit_loop_top_cond, expand_value_return,
45 expand_start_bindings_and_block, expand_end_bindings,
46 expand_decl_cleanup, expand_start_case): Likewise.
47 * unroll.c (copy_loop_body
48 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
49 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
50 * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
51 rs6000_emit_allocate_stack, rs6000_output_function_prologue,
52 rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
53 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
54 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
55
bc4721b8
NS
562003-06-27 Nathan Sidwell <nathan@codesourcery.com>
57
58 * c-tree.h (grokfield): Remove unused filename and line parameters.
59 * c-decl.c (grokfield): Remove unused filename and line parameters.
60 * c-parse.in (component_decl): Adjust field grokking rules, adjust
61 grokfield calls.
62 (component_declarator): Likewise.
63 (component_notype_declarator): Likewise.
64 * objc/objc-act.c (build_module_descriptor): Adjust grokfield
65 calls.
66 (build_protocol_template, build_method_prototype_list_template,
67 build_method_prototype_template, build_category_template,
68 build_selector_template, build_class_template,
69 build_super_template, build_ivar_template,
70 build_ivar_list_template, build_method_list_template,
71 build_method_template, add_instance_variable): Likewise.
72
d51d146f
KH
732003-06-27 Kazu Hirata <kazu@cs.umass.edu>
74
75 * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
76 OP2 are known to be not equivalent.
77
6a08f7b3
DP
782003-06-26 Devang Patel <dpatel@apple.com>
79
80 * final.c (debug_flush_symbol_queue): New function.
81 (debug_queue_symbol): New function.
82 (debug_free_queue): New function.
83 (debug_nesting): New variable.
84 (symbol_queue): New variable.
85 (symbol_queue_index): Same.
86 (symbol_queue_size): Same.
87 * debug.h (debug_flush_symbol_queue): New.
88 (debug_queue_symbol): New.
89 (debug_free_queue): New.
90 (debug_nesting): New.
91 (symbol_queue_index): New.
92 * dbxout.c (DBXOUT_DECR_NESTING): New macro.
93 (DBXOUT_DECR_NESTING_AND_RETURN): New macro.
94 (dbxout_init): Delay symbol output.
45751525
RE
95 (dbxout_global_decl): Save, set and reset TREE_USED bit around
96 dbxout_symbol() call.
6a08f7b3
DP
97 (dbxout_begin_function): Same.
98 (dbxout_finish): Free symbol queue.
99 (dbxout_type): Put appropriate symbols in queue.
45751525
RE
100 (dbxout_symbol): Put info for symbol's type in queue.
101 Decrement/Increment nesting counts flush symbol queue appropriately.
6a08f7b3
DP
102 (dbxout_parms): Increment dbxout nesting.
103 (dbxout_reg_parms): Same.
104 * flags.h (flag_debug_only_used_symbols): New.
105 * toplev.c (flag_debug_only_used_symbols): New variable.
45751525
RE
106 (lang_independent_options): Add entries for new option
107 -feliminate-unused-debug-symbols.
6a08f7b3
DP
108 * common.opt: Add entry for -feliminate-unused-debug-symbols.
109 * opts.c (common_handle_options): Same.
45751525
RE
110 * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
111 -feliminate-unused-debug-symbols.
112 * doc/invoke.texi (Debugging Options): Document
113 -feliminate-unused-debug-symbols.
720b7001 114
6ba701c8
RS
1152003-06-26 Roger Sayle <roger@eyesopen.com>
116 Jakub Jelinek <jakub@redhat.com>
117
118 * builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
119 obtain the format string instead of using TREE_STRING_POINTER and
120 TREE_STRING_LENGTH. Only optimize sprintf(dst,"%s",src) when the
121 return value is unused or the length of src is a known constant.
122
49b83932
RH
1232003-06-26 Richard Henderson <rth@redhat.com>
124
125 * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
126
4e14f1f9
RH
1272003-06-26 Richard Henderson <rth@redhat.com>
128
129 * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
130 (ia64_split_call): Only load descriptor for GP register inputs.
131 (ia64_expand_epilogue): Check current_frame_info.mask not
132 current_function_is_leaf to restore ar.pfs.
133
f6a1f3f6 1342003-06-26 Richard Henderson <rth@redhat.com>
720b7001 135
f6a1f3f6
RH
136 * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
137 instead of replacing it.
720b7001 138
d444b5e8
RH
1392003-06-26 Richard Henderson <rth@redhat.com>
140
720b7001 141 * flow.c (propagate_one_insn): Kill function return value
99af0d26
RH
142 registers across tail calls.
143
d444b5e8
RH
144 * flow.c (propagate_one_insn): Preserve live-at-end registers
145 across tail calls.
146
35d6034b
R
1472003-06-26 J"orn Rennecke <joern.rennecke@superh.com>
148
149 * reload.c (can_reload_into): New function.
150 (push_reload): Use it.
151
343fd2c7
KH
1522003-06-26 Kazu Hirata <kazu@cs.umass.edu>
153
154 * config/h8300/h8300.c (compute_a_rotate_length): Fix the
155 references to the amount of a rotation.
156
10d6ea27
NN
1572003-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
158
159 * config/sh/coff.h: Don't include dbxcoff.h.
160 * config.gcc: List it here.
161
b2948a2c
KH
1622003-06-26 Kazu Hirata <kazu@cs.umass.edu>
163
164 * postreload.c (reload_cse_simplify_set): Call cselib_lookup
165 earlier. Don't check if SRC is a constant.
166
15e35479
KH
1672003-06-26 Kazu Hirata <kazu@cs.umass.edu>
168
169 * Makefile.in (OBJS): Add postreload.o.
170 Remove cselib.h from the dependency list for reload1.o.
171 Add a dependency list for postreload.o.
172 * reload.h: Change the comment for the prototype of
173 reload_cse_regs.
174 * reload1.c: Don't include cselib.h.
175 (reload_cse_regs): Move to postreload.c
176 (reload_cse_regs_1): Likewise.
177 (reload_cse_noop_set_p): Likewise.
178 (reload_cse_simplify_set): Likewise.
179 (reload_cse_simplify_operands): Likewise.
180 (RELOAD_COMBINE_MAX_USES): Likewise.
181 (reload_combine_ruid): Likewise.
182 (LABEL_LIVE): Likewise.
183 (reload_combine): Likewise.
184 (reload_combine_note_use): Likewise.
185 (reload_combine_note_store): Likewise.
186 (reg_set_luid): Likewise.
187 (reg_offset): Likewise.
188 (reg_base_reg): Likewise.
189 (reg_mode): Likewise.
190 (move2add_luid): Likewise.
191 (move2add_last_label_luid): Likewise.
192 (MODES_OK_FOR_MOVE2ADD): Likewise.
193 (reload_cse_move2add): Likewise.
194 (move2add_note_store): Likewise.
195 (reload_cse_simplify): Likewise.
196 * postreload.c: New.
197
0e8a9ede
KH
1982003-06-26 Kazu Hirata <kazu@cs.umass.edu>
199
200 * config/avr/avr.c (final_prescan_insn): Remove support for
201 -mrtl.
202 * config/avr/avr.h (MASK_RTL_DUMP): Remove.
203 (TARGET_RTL_DUMP): Likewise.
204 (TARGET_SWITCHES): Remove -mrtl.
205
caf7f21a
KH
2062003-06-26 Kazu Hirata <kazu@cs.umass.edu>
207
208 * config/h8300/h8300-protos.h: Change emit_a_rotate to
209 output_a_rotate. Add a prototype for compute_a_rotate_length.
210 * config/h8300/h8300.c (emit_a_rotate): Change to
211 output_a_rotate.
212 (compute_a_rotate_length): New.
213 (h8300_adjust_insn_length): Remove.
214 * config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
215 * config/h8300/h8300.md (adjust_length): Remove.
216 (*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
217 (*rotlhi3_1): Likewise.
218 (*rotlsi3_1): Likewise.
219
f5416098
RS
2202003-06-26 Roger Sayle <roger@eyesopen.com>
221 Richard Henderson <rth@redhat.com>
222
223 * builtins.c (expand_builtin_mathfn): Always stabilize the argument
224 list against re-evaluation. If expand_unop fails, call expand_call
225 with the stabilized argument list rather than return NULL_RTX.
226 (expand_builtin_mathfn2): Likewise, always stabilize the argument
227 list, and call expand_call ourselves if expand_binop fails.
228
6dc208a1
EB
2292003-06-26 Eric Botcazou <ebotcazou@libertysurf.fr>
230
231 PR optimization/11210
232 * fold-const (decode_field_reference): Strip only NOPs that
233 don't affect the sign.
234
603ff6b5
DD
2352003-06-26 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
236
237 * gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
238 (pop_fpscr, fpu_switch): Likewise.
239
af166e5d
ZD
2402003-06-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
241
242 * value-prof.c: New.
243 * value-prof.h: New.
244 * Makefile.in (value-prof.o): New.
245 (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
246 (profile.o): Add value-prof.h and tree.h dependency.
247 * flags.h (flag_profile_values): Declare.
248 * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
249 Add new counters.
250 (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
251 GCOV_COUNTER_V_DELTA): New counter sections.
252 (__gcov_merge_single, __gcov_merge_delta): Declare.
253 * flow.c (mark_used_regs): Set subregs_of_mode only when the
254 structure is initialized.
255 * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
256 * profile.c: Include value-prof.h and tree.h.
257 (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
258 gen_const_delta_profiler, instrument_values): New static functions.
259 (get_exec_counts): Fix comment.
260 (branch_prob): Invoke instrument_values.
261 * toplev.c (flag_profile_values): New flag.
262 * doc/invoke.texi (-fprofile-values): Document.
263
2642003-06-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
ff25ef99
ZD
265
266 * Makefile.in (cfgrtl.o): Add expr.h dependency.
267 * cfgrtl.c: Include expr.h.
268 (mark_killed_regs, safe_insert_insn_on_edge): New
269 functions.
270 * config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
271 * basic-block.h (safe_insert_insn_on_edge): Declare.
272
9eee5e72
NB
2732003-06-26 Neil Booth <neil@daikokuya.co.uk>
274
275 * c-opts.c (missing_arg): Make non-static.
276 (c_common_handle_option): Don't check for missing arguments.
277 * opts.c (handle_option): Check for missing arguments.
278
09ec461d
DE
2792003-06-26 David Edelsohn <edelsohn@gnu.org>
280
281 * config/rs6000/power4.md (power4-veccomplex): Correct latency.
282
beda3471
LR
2832003-06-25 Loren James Rittle <ljrittle@acm.org>
284
285 * configure.in (ld_vers): Portability [sed].
286 * configure: Regenerate with autoconf213.
287
22c7c85e
L
2882003-06-25 H.J. Lu <hongjiu.lu@intel.com>
289
290 * doc/extend.texi: Document new builtin functions for Intel
291 Prescott New Intrunctions.
292
293 * doc/invoke.texi: Document new command-line options, -mpni and
294 -mno-pni, for Intel Prescott New Intrunctions.
295
296 * config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
297
298 * config/i386/i386.c (override_options): Turn on MASK_SSE2
299 for -mpni. Turn on MASK_SSE for -msse2.
300 (bdesc_2arg): Add PNI builtins with 2 args.
301 (bdesc_1arg): Add PNI builtins with 1 arg.
302 (ix86_init_mmx_sse_builtins): Handle PNI builtins.
303 (ix86_expand_builtin): Likewise.
304
305 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
306 MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
307 MASK_TLS_DIRECT_SEG_REFS): Renumbered.
308 (TARGET_PNI): New.
309 (TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
310 -mpni and -mno-pni.
311 (TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
312 (ix86_builtins): Add PNI builtins.
313 (config/i386/i386.md): Add PNI patterns.
314
315 * config/i386/pmmintrin.h: New file.
316
7f8b3eb0
KH
3172003-06-25 Kazu Hirata <kazu@cs.umass.edu>
318
319 * config/h8300/h8300.md (call): Fix the insn lengths.
320 (call_value): Likewise.
321
4d7d0451
JH
322Thu Jun 26 00:13:35 CEST 2003 Jan Hubicka <jh@suse.cz>
323
324 * c-common.c (handle_used_attribute): Use mark_referenced.
325 * varasm.c (mark_referenced): Break out from ...
326 (assemble_name): ... here.
327 * tree.h (mark_referenced): Declare.
328
6322fdd8
WB
3292003-06-25 Wolfgang Bangerth <bangerth@dealii.org>
330
331 * gccbug.in: Add PCH to list of categories.
332
48c4721e
MS
3332003-06-25 Martin Schaffner <schaffner@gmx.li>
334
335 * cppfiles.c: Clarify comments.
336 * cpphash.h: Likewise.
337 * cpplib.h: Likewise.
338 * cppmacro.c: Likewise.
339 * mkdeps.h: Likewise.
340
f18754d6
NB
3412003-06-25 Neil Booth <neil@daikokuya.co.uk>
342
343 * c-opts.c (complain_wrong_lang, write_langs): Remove.
344 (c_common_handle_option): Complaints about wrong language are
345 handled in opts.c now.
346 * opts.c (complain_wrong_lang, write_langs, handle_options): New.
347 (find_opt): Fix thinko.
348 (handle_option): Update prototype. Complain about switches for
349 a different front end.
350 * opts.h (lang_names, handle_options): New.
351 (handle_option): Remove.
352 * opts.sh: Write out language names array.
353 * toplev.c (parse_options_and_default_flags): Use handle_options.
354
37f22004
L
3552003-06-25 H.J. Lu <hongjiu.lu@intel.com>
356
357 * config/i386/i386.c (MASK_SSE1): Removed.
358 (MASK_SSE164): Removed.
359 (MASK_SSE264): Removed.
360 (bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
361 MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
362 with MASK_SSE2 | MASK_64BIT.
363 (bdesc_1arg): Likewise.
364 (ix86_init_mmx_sse_builtins): Likewise.
365
366 * config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
367 (TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
368 -msse2.
369
85f015e1
KG
3702003-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
371
372 * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
373 (HOST_WIDE_INT_PRINT_DEC_SPACE,
374 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
375 HOST_WIDEST_INT_PRINT_DEC_SPACE,
376 HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
377 (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
378 HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
379 terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
380
381 * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
382 * ra-debug.c (dump_static_insn_cost): Likewise.
383
27847754
NC
3842003-06-26 Nick Clifton <nickc@redhat.com>
385
386 * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
387 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
720b7001 388 Replace occurances of '???' with 'XXX' incase they are
27847754
NC
389 mistaken for trigraphs.
390 (THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
391 does not have a register for the first operand.
720b7001 392
b1dcf523
DD
3932003-06-25 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
394
395 * config/sh/sh.c (sh_register_move_cost):
396 Add case for moving between MAC_REGS.
397
2896d056
ZW
3982003-06-25 Zack Weinberg <zack@codesourcery.com>
399
400 PR 10178
401 * langhooks.h (struct lang_hooks): Add no_body_blocks bool.
402 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
403 * c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
404 to true.
405 * stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
406 return 0.
407
8f7193b8
KG
4082003-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
409
410 * Makefile.in (bt-load.o): Depend on $(TM_P_H).
411 * bt-load.c: Include "tm_p.h".
412
f5139cc5
KH
4132003-06-25 Kazu Hirata <kazu@cs.umass.edu>
414
415 * config/h8300/h8300.c (compute_mov_length): Adjust for the
416 new optimization.
417 * config/h8300/h8300.md (*movsi_h8300): Optimize the load of
418 an SImode constant whose upper and lower are the same.
419
380e1984
JH
420Wed Jun 25 11:31:59 CEST 2003 Jan Hubicka <jh@suse.cz>
421
422 * varasm.c (assemble_name): Mark needed variables even when
423 global info is ready.
424
3f8b659d
JQ
4252003-06-24 Jerry Quinn <jlquinn@optonline.net>
426
427 PR other/11280
428 * gcc/doc/invoke.texi (Optimization Options): Remove -Os from
429 -freorder-functions description.
430
a53efda2
JZ
4312003-06-25 Josef Zlomek <zlomekj@suse.cz>
432
433 * dwarf2out.c (gen_field_die): Return if type of decl is error mark.
434
0bd95603
NB
4352003-06-25 Neil Booth <neil@daikokuya.co.uk>
436
437 * opts.c (common_handle_option): Add missing break;s.
438
7948a9ea
KH
4392003-06-24 Kazu Hirata <kazu@cs.umass.edu>
440
441 * config/h8300/h8300-protos.h: Add a prototype for
442 compute_mov_length.
443 * config/h8300/h8300.c (compute_mov_length): New.
444 * config/h8300/h8300.md (*movqi_h8300): Use it.
445 (*movqi_h8300hs): Likewise.
446 (movstrictqi): Likewise.
447 (*movhi_h8300): Likewise.
448 (*movhi_h8300hs): Likewise.
449 (movstricthi): Likewise.
450 (*movsi_h8300): Likewise.
451 (*movsf_h8300): Likewise.
452 (*movsi_h8300hs): Likewise.
453 (*movsf_h8300hs): Likewise.
454
e5b0e711
KH
4552003-06-24 Kazu Hirata <kazu@cs.umass.edu>
456
457 * jump.c (next_nondeleted_insn): Remove.
458 * rtl.h: Remove the prototype for next_nondeleted_insn.
459
b9ba01a1
RS
4602003-06-24 Roger Sayle <roger@eyesopen.com>
461
462 PR optimization/11311
463 * builtins.c (powi_cost): Fix typo. The number of multiplications
464 required is the number to reduce the argument, result, plus the
465 cost of calculating the residual, val [not n, the original value].
466
46512942
RS
4672003-06-24 Roger Sayle <roger@eyesopen.com>
468
469 * config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
470
bfa0c519
RH
4712003-06-24 Richard Henderson <rth@redhat.com>
472 (blame to: Loren James Rittle <ljrittle@acm.org>)
473
474 * real.h (ieee_extended_intel_96_round_53_format): New.
475 * real.c (ieee_extended_intel_96_round_53_format): New.
476 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
477 for XFmode and TFmode.
478
61f33c67
KH
4792003-06-24 Kazu Hirata <kazu@cs.umass.edu>
480
481 * config/h8300/h8300.md (4 anonymous patterns): Give internal
482 names.
483 (movsi_h8300): Change the name to *movsi_h8300.
484 (movsi_h8300hs): Change the name to *movsi_h8300hs.
485 (movsf_h8300): Change the name to *movsf_h8300.
486 (movsf_h8300hs): Change the name to *movsf_h8300hs.
487
946137a0
JJ
4882003-06-24 Jakub Jelinek <jakub@redhat.com>
489
490 * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
491 src twice.
492
6d1cb95f
R
4932003-06-24 J"orn Rennecke <joern.rennecke@superh.com>
494
495 Back out these patches:
496 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
2896d056
ZW
497 * sh.h (OLD_ARG_MODE): New macro.
498 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
499 (FUNCTION_ARG_1): Break out of:
500 (FUNCTION_ARG). Use OLD_ARG_MODE.
6d1cb95f 501 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
2896d056
ZW
502 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
503 of the generated register.
6d1cb95f
R
504
505 * sh.h (FUNCTION_ARG_SCmode_WART): Define.
506 (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
507 an even number of floating point regs are in use, use the same
2896d056 508 sequence of argument passing registers for SCmode as would be
6d1cb95f
R
509 used for two SFmode values.
510 * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
511 swap real / imaginary parts in incoming SCmode values passed
512 in registers.
513
e7891c4b
FH
5142003-06-24 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
515
2896d056
ZW
516 PR target/11260
517 * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
e7891c4b 518
e69529cd
JH
519Tue Jun 24 18:49:33 CEST 2003 Jan Hubicka <jh@suse.cz>
520
521 * Makefile.in (cgraph.o): Depend on output.h, not depend on
522 tree-inline.h
523 * cgraph.c: Do not include tree-inline.h; include output.h
524 (known_fns): Rename to ...
525 (known_decls): ... this one; update all uses.
526 (cgraph_varpool_hash): New static variable.
527 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
528 variables.
529 (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
530 cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
531 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
532 New functions.
533 * cgraph.h (cgraph_varpool_node): New structure.
534 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
535 (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
536 cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
537 cgraph_varpool_asemble_pending_decls): Declare.
538 * cgraphunit.c (record_call_1): Notice variable references.
539 (cgraph_finalize_compilation_unit): Assemble pending variables.
540 * toplev.c (wrapup_global_declarations): Use varpool.
541 (compile_file): Assemble pending declarations.
542 (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
543 * varasm.c (assemble_name): Notice varpool references.
544
d35543c0
JH
545Tue Jun 24 13:52:11 CEST 2003 Jan Hubicka <jh@suse.cz>
546
547 * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
548 * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
549 * varasm.c (assemble_variable): Call prepare_assemble_variable.
550
2082e02f
RS
5512003-06-23 Roger Sayle <roger@eyesopen.com>
552
553 * builtins.c (expand_builtin): Use expand_builtin_pow to expand
554 calls for pow, powf, powl and their __builtin_ variants.
555 (expand_builtin_pow): If the second argument is a constant
556 integer and compiling with -ffast-math, use expand_powi to
557 generate RTL if powi_cost is less than POWI_MAX_MULTS.
558 (powi_cost): New function to return the number of multiplications
559 necessary to evaluate an Nth power, for integer constant N.
560 (expand_powi): New function to expand the RTL for evaluating
561 the Nth power of a floating point value, for integer constant N.
562
563 * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
564
1668aabc
JH
565Mon Jun 23 23:07:35 CEST 2003 Jan Hubicka <jh@suse.cz>
566
567 * cgraph.c (cgraph_nodes_queue): Declare.
568 (eq_node): Take identifier as p2.
569 (cgraph_node): Update htab_find_slot_with_hash call.
570 (cgraph_node_for_identifier): New.
571 (cgraph_mark_needed_node): Move here from cgraphunit.c.
572 * cgraph.h (cgraph_nodes_queue): Declare.
573 (cgraph_node_for_identifier): Declare.
574 * cgraphunit.c (cgraph_finalize_function): Collect entry points here
575 instead of in cgraph_finalize_compilation_unit; constructors and
576 destructors are entry points.
2896d056 577 (cgraph_finalize_compilation_unit): Reorganize debug outout;
1668aabc
JH
578 examine nested functions after lowerng; call collect_functions hook.
579 (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
580 (cgraph_finalize_compilation_unit): Do not collect entry points.
581 * varasm.c: Include cgraph.h
582 (assemble_name): Mark referenced identifier as needed.
583
584 * cgraphunit.c (record_call_1): Use get_callee_fndecl.
585
89ce1c8f
JJ
5862003-06-23 Jakub Jelinek <jakub@redhat.com>
587
588 * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
589 just SYMBOL_REF.
590 * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
591 mode, as it requires pic register loaded.
592
593 * varasm.c (resolve_unique_section): Remove prototype. No longer
594 static.
595 * tree.h (resolve_unique_section): New prototype.
596
032cb602
AS
5972003-06-23 Andreas Schwab <schwab@suse.de>
598
599 PR debug/9905
600 * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
601 recursing through first argument.
602
b20b352b
KH
6032003-06-23 Kazu Hirata <kazu@cs.umass.edu>
604
605 * ChangeLog.1: Fix a typo.
606 * cfgrtl.c: Fix comment typos.
607 * dwarf2out.c: Likewise.
608 * expmed.c: Likewise.
609 * genrecog.c: Likewise.
610 * jump.c: Likewise.
611 * rtlanal.c: Likewise.
612 * ssa-dce.c: Likewise.
613 * toplev.c: Likewise.
614
63519d23
KH
6152003-06-23 Kazu Hirata <kazu@cs.umass.edu>
616
617 * doc/extend.texi: Fix typos.
618 * doc/md.texi: Likewise.
619 * doc/tm.texi: Likewise.
620
71c0e7fc
KH
6212003-06-23 Kazu Hirata <kazu@cs.umass.edu>
622
623 * basic-block.h: Fix comment formatting.
624 * bt-load.c: Likewise.
625 * builtins.c: Likewise.
626 * c-common.c: Likewise.
627 * c-common.h: Likewise.
628 * c-format.c: Likewise.
629 * coverage.c: Likewise.
630 * cpplib.h: Likewise.
631 * cpppch.c: Likewise.
632 * dbxout.c: Likewise.
633 * diagnostic.c: Likewise.
634 * dwarf2out.c: Likewise.
635 * expr.c: Likewise.
636 * fold-const.c: Likewise.
637 * function.c: Likewise.
638 * gcc.c: Likewise.
639 * gcov-io.c: Likewise.
640 * gcov-io.h: Likewise.
641 * gcov.c: Likewise.
642 * profile.c: Likewise.
643 * real.h: Likewise.
644 * sched-deps.c: Likewise.
645
164131ce 6462003-06-23 Roger Sayle <roger@eyesopen.com>
2896d056 647 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
164131ce
GP
648
649 * doc/contrib.texi (Contributors): Add a note on testing and
650 remove duplicates from testers list.
651
a3c18e4f
NC
6522003-06-23 Nick Clifton <nickc@redhat.com>
653
654 * read-rtl.c (read_braced_string): Check for EOF. If
655 encountered issue an error message.
656
4319ef2a
KH
6572003-06-23 Kazu Hirata <kazu@cs.umass.edu>
658
659 * doc/invoke.texi: Document dump options, dT and dW.
660
8116809c
KH
6612003-06-23 Kazu Hirata <kazu@cs.umass.edu>
662
663 * genrecog.c (pred_table): Remove the entry for
664 mode_independent_operand.
665 * recog.c (next_insns_test_no_inequality): Remove.
666 (mode_independent_operand): Likewise.
667 * recog.h: Remove the prototype for mode_independent_operand.
668
802a9907
KH
6692003-06-22 Kazu Hirata <kazu@cs.umass.edu>
670
671 * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
672 store into bit 0.
673 * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
674 second alternative to set_znv.
675 (*extzv_1_r_inv_h8300hs): Likewise.
676
5408ac6c
HPN
6772003-06-23 Hans-Peter Nilsson <hp@bitrange.com>
678
679 * configure.in (in_tree_gas): Find out here whether GAS is ELF,
680 set in_tree_gas_is_elf accordingly.
681 (in_tree_ld): Find out whether LD emulation is ELF, set
682 in_tree_ld_is_elf accordingly.
683 (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
684 (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
685 (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
686 (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
687 grepping gas/Makefile.
688 (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
689 $in_tree_ld_is_elf instead of grepping ld/Makefile.
690 * configure: Regenerate.
691
8e0952f0
RS
6922003-06-22 Roger Sayle <roger@eyesopen.com>
693
694 * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
695 up the stabilized argument list, not build_tree_list.
696 (expand_builtin_strcpy): Construct new argument list manually
697 instead of using chainon to modify the original argument list.
698 (expand_builtin_stpcpy): Construct new argument list manually
699 instead of using copy_list and chainon.
700 (expand_builtin_sprintf): New function. Optimize calls to
701 sprintf when the format is "%s" or doesn't contain a '%'.
702 (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
703 expand_builtin_sprintf.
704
4c4d143a
AS
7052003-06-22 Andreas Schwab <schwab@suse.de>
706
707 * function.c (set_insn_locators): Mark as unused.
708
d302c9d6
NB
7092003-06-22 Neil Booth <neil@daikokuya.co.uk>
710
711 * common.opt: Add -finline-limit.
712 * opts.c (common_handle_options): Handle it.
713 * opts.sh: Temporary kludge for -finline-limit.
714 * toplev.c (decode_f_option, independent_decode_option): Die.
715 (parse_options_and_default_flags): No independent_decode_option.
716
b0a31300
AJ
7172003-06-22 Andreas Jaeger <aj@suse.de>
718
719 * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
720
34695841
KH
7212003-06-22 Kazu Hirata <kazu@cs.umass.edu>
722
723 * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
724
c359831b
AS
7252003-06-22 Andreas Schwab <schwab@suse.de>
726
727 * doc/invoke.texi: Remove leading `-' from options in index.
728
cc0efd0b
KH
7292003-06-22 Kazu Hirata <kazu@cs.umass.edu>
730
731 * bt-load.c: Follow spelling conventions.
732
0e9cbd11
KH
7332003-06-22 Kazu Hirata <kazu@cs.umass.edu>
734
735 * expr.c (emit_move_insn_1): Fix a comment typo.
736
7fedea11
KH
7372003-06-22 Kazu Hirata <kazu@cs.umass.edu>
738
739 * doc/invoke.texi: Alphabetize dump options.
740
79250062
KH
7412003-06-22 Kazu Hirata <kazu@cs.umass.edu>
742
743 * doc/invoke.texi: Remove a duplicate -dk.
744
b55fe87e
KH
7452003-06-22 Kazu Hirata <kazu@cs.umass.edu>
746
747 * doc/invoke.texi: Update dump file names.
748
21299dbd
ZW
7492003-06-22 Zack Weinberg <zack@codesourcery.com>
750
751 * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
752 and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
753
3b9cd5c8
KH
7542003-06-22 Kazu Hirata <kazu@cs.umass.edu>
755
756 * doc/rtl.texi: Fix the @findex for pre_modify.
757
d329e058
AJ
7582003-06-22 Andreas Jaeger <aj@suse.de>
759
760 * caller-save.c: Convert to ISO C90.
761 * calls.c: Likewise.
762 * cfg.c: Likewise.
763 * cfganal.c: Likewise.
764 * cfgbuild.c: Likewise.
765 * cfgcleanup.c: Likewise.
766 * cfghooks.c: Likewise.
767 * cfglayout.c: Likewise.
768 * cfglayout.h: Likewise.
769 * cfgloop.c: Likewise.
770 * cfgloop.h: Likewise.
771 * cfgloopanal.c: Likewise.
772 * cfgloopmainip.c: Likewise.
773 * cfgrtl.c: Likewise.
774
84edd42c
RE
7752003-06-22 Richard Earnshaw <rearnsha@arm.com>
776
777 * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
778 64-bit alignment.
779
24391720
RE
7802003-06-22 Richard Earnshaw <rearnsha@arm.com>
781
782 * arm.md (all call_value patterns): Remove register constraints on
783 value operand.
784
6ff3a151
NB
7852003-06-22 Neil Booth <neil@daikokuya.co.uk>
786
787 * common.opt: More -f switches.
788 * opts.c (common_handle_options): Handle them.
789 * toplev.c (time_report): Make extern.
790 (f_options): USe flag_dummy.
791 (decode_f_option): No need to use f_options now.
792 * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
793 flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
794
3346b668
AJ
7952003-06-22 Andreas Jaeger <aj@suse.de>
796
2f6e4e97
AJ
797 * c-lex.c: Convert to ISO C90.
798 * c-objc-common.c: Likewise.
799 * c-opts.c: Likewise.
800 * c-pch.c: Likewise.
801 * c-ppoutput.c: Likewise.
802 * c-pragma.h: Likewise.
803 * c-pretty-print.c: Likewise.
804 * c-pretty-print.h: Likewise.
805 * c-semantics.c: Likewise.
806 * c-tree.h: Likewise.
807 * c-typeck.c: Likewise.
808
3346b668
AJ
809 * c-lang.c: Convert to ISO C90.
810
9cd23ed2
NB
8112003-06-22 Neil Booth <neil@daikokuya.co.uk>
812
813 * opts.c (find_opt): Fix to always guarantee a find of a
814 switch with joined parameter.
815 * opts.h (struct cl_option): New member back_chain.
816 * opts.sh: Update to calculate and add back_chain member.
817
0e9e3a8b
GDR
8182003-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
819
820 * diagnostic.h (output_host_wide_integer): Declare.
821 * diagnostic.c (output_long_long_decicaml): New function.
822 (output_host_wide_integer): Likewise.
823 (output_format): Use them. Handle "%ll" and "%w".
824
ad667abe
JT
8252003-06-21 Jason Thorpe <thorpej@wasabisystems.com>
826
827 * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
828
7468e0b5
ZW
8292003-06-21 Zack Weinberg <zack@codesourcery.com>
830
831 * aclocal.m4 (gcc_AC_C_CHARSET): Delete.
832 * configure.in: Don't use gcc_AC_C_CHARSET.
833 * configure, config.in: Regenerate.
834 * config/i370/i370.c, config/i370/i370.h: Use
835 (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
836 instead of HOST_EBCDIC or !HOST_EBCDIC. Clarify comments a tad.
837
de32c0cb
NB
8382003-06-21 Neil Booth <neil@daikokuya.co.uk>
839
840 * Makefile.in: Update.
841 * common.opt: New switches.
842 * opts.c: Include diagnostic.h.
843 (common_handle_option): Handle new switches.
844 * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
845 flag_if_conversion2, flag_delete_null_pointer_checks,
846 flag_rerun_cse_after_loop): Make extern.
847 (flag_dummy): New.
848 (f_options): Update to use flag_dummy for moved options.
849 (decode_f_option): Some switches moved to opts.c.
850 * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
851 flag_if_conversion2, flag_delete_null_pointer_checks,
852 flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
853 flag_tracer, flag_thread_jumps, flag_unroll_loops,
854 flag_unroll_all_loops, flag_unswitch_loops): New.
855
70642ee3
JH
856Sat Jun 21 13:41:00 CEST 2003 Jan Hubicka <jh@suse.cz>
857
858 * i386.c (ix86_va_arg): Fix allocation of temporary slot.
859
02529902
KH
8602003-06-20 Kazu Hirata <kazu@cs.umass.edu>
861
862 * config/h8300/h8300-protos.h: Add a prototype for
863 same_cmp_preceding_p.
864 * config/h8300/h8300.c (same_cmp_preceding): New.
865 * config/h8300/h8300.md: Extend peephole2's that transform
866 compare:SI into shorter sequences so that they can deal with
867 signed comparisons.
868
164131ce 8692003-06-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
c18cd642
GP
870
871 * doc/contrib.texi (Contributors): Use Windows instead of Win32.
872
873 Update Andreas Jaeger's entry.
874
875 Merge the two entries of Kaveh Ghazi, David Edelsohn, and
876 Loren J. Rittle.
877
5e7537cf
NN
8782003-06-21 Nathanael Nerode <neroden@gcc.gnu.org>
879
880 * mkconfig.sh: Add multiple inclusion guards to generated headers.
881
e01cc6dc
NB
8822003-06-20 Neil Booth <neil@daikokuya.co.uk>
883
884 * c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
885 * common.opt: Add remaining -W options and -g.
886 * diagnostic.c (warnings_are_errors): Remove.
887 * flags.h: Make most warning flags boolean.
888 * opts.c (common_handle_option): Handle remaining -W options, and -g.
889 Move many warning flags from toplev.c, making them boolean.
890 * toplev.c: Remove many warning flags.
891 (decode_W_option): Remove.
892 (decode_g_option): Make extern. Error on unknown switch.
893 (lang_independent_W_options): Use warn_dummy.
894 (independent_decode_option): Just handle -f switches now.
895 * toplev.h (decode_g_option): New.
896
1a3f10e2 8972003-06-20 Aldy Hernandez <aldyh@redhat.com>
7468e0b5 898
1a3f10e2
AH
899 PR/11092
900 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
901 vectors.
902
e819ee44
KC
9032003-06-20 Kelley Cook <kelleycook@wideopenwest.com>
904
905 * opts.sh: Tweak awk script for portability.
906
ae4a7155
MM
9072003-06-20 Mark Mitchell <mark@codesourcery.com>
908
909 PR c++/10888
910 * tree-inline.c (expand_call_inline): Do not warn about failing to
911 inline functions declared in system headers.
912 * doc/invoke.texi (-Winline): Expand on documentation.
913
4739b00e
RH
9142003-06-20 Richard Henderson <rth@redhat.com>
915
916 * config/alpha/alpha.c (alpha_file_start): Disable
917 file_start_file_directive for ELF and not MDEBUG.
918
9218882a
R
9192003-06-20 J"orn Rennecke <joern.rennecke@superh.com>
920
921 * sh.h (ROUND_TYPE_ALIGN): Remove.
922
a3424f5c
RH
9232003-06-20 Richard Henderson <rth@redhat.com>
924
925 * hooks.c (hook_int_void_no_regs): Rename from
926 hook_reg_class_void_no_regs; change return type.
927 * hooks.h: Update.
928 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
929 * target.h (branch_target_register_class): Change return type to int.
930 Add documentation.
931 * config/sh/sh.c (sh_target_reg_class): Change return type.
932 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
933
3a947669
AT
9342003-06-20 Andreas Tobler <toa@pop.agri.ch>
935
936 * c-format.c: Change _Bool to bool reverting part of the last
937 patch.
938
b5adda73
JDA
9392003-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
940
941 * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
942 strip name encoding.
943
807ca3d4
RO
9442003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
945
946 * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
947 * configure: Regenerate.
948 Fixes PR driver/9362.
949
cc550dce
RK
9502003-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
951
952 * config/alpha/alpha.c (alpha_file_start): Fix typo.
953
9e21232c
RO
9542003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
955
956 * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
957 to ASM_OUTPUT_SOURCE_LINE.
958
27a3e494 9592003-06-20 Daniel Egger <degger@fhm.edu>
7468e0b5 960 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
27a3e494
DE
961
962 * doc/install.texi (Building): Correct and improve statement
963 about parallel builds.
964
a742c759
AJ
9652003-06-20 Andreas Jaeger <aj@suse.de>
966
967 * c-common.c: Change _Bool to bool reverting part of the last
968 patch.
969
1f9cc6db
NS
9702003-06-20 Nathan Sidwell <nathan@codesourcery.com>
971
972 * tree.h (expand_function_end): Remove all parameters.
973 * function.c (expand_function_end): Remove all parameters.
974 Use input_location. Never expand_end_bindings.
975 * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
976 * coverage.c (create_coverage): Likewise.
977
4bc73018
NC
9782003-06-20 Nick Clifton <nickc@redhat.com>
979
980 * doc/extend.texi (ARM Built-in Functions): New node. Document
981 ARM builtin functions for iWMMXt support.
982
8f2afc21
EB
9832003-06-20 Eric Botcazou <ebotcazou@libertysurf.fr>
984
985 * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
986 SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
987 (--with-as): Add @anchor.
988 (--with-gnu-ld): Fix typo.
989 (--with-ld): Add @uref to --with-as.
990
a2c4f8e0
ZW
9912003-06-19 Zack Weinberg <zack@codesourcery.com>
992
993 * doc/tm.texi: Uniformly use @defmac for macros, rather than
994 @table items. Minor formatting and editorial corrections.
995
e2b9853b
NB
9962003-06-20 Neil Booth <neil@daikokuya.co.uk>
997
998 * line-map.c, line-map.h: Convert to ISO prototypes.
999
bc083e18
ZD
10002003-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1001
1002 * gcse.c (store_killed_in_insn): Fix.
1003
1bc7c5b6
ZW
10042003-06-19 Zack Weinberg <zack@codesourcery.com>
1005
1006 * target.h (asm_out.file_start, file_start_app_off,
1007 file_start_file_directive): New hooks.
1008 * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
1009 TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
1010 New hook-definition macros.
1011 * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
1012 * varasm.c (default_file_start): New.
1013 * output.h: Prototype it.
1014 * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
1015 * system.h: Poison ASM_FILE_START.
1016
1017 * config/alpha/alpha.c (alpha_write_verstamp): Delete.
1018 (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
1019 (unicosmk_asm_file_start): Rename unicosmk_file_start,
1020 make static, take no arguments.
1021 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
1022 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
1023 * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
1024 TARGET_ASM_FILE_END. Remove reference to ASM_FILE_START in
1025 comment.
1026 * config/arc/arc.c (arc_asm_file_start): Rename
1027 arc_file_start, take no arguments, make static.
1028 (TARGET_ASM_FILE_START): Set it.
1029 * config/arm/arm.c (aof_file_start): New static function.
1030 (TARGET_ASM_FILE_START): Set it, when appropriate.
1031 * config/arm/coff.h, config/arm/elf.h:
1032 Set TARGET_ASM_FILE_START_APP_OFF to true.
1033 * config/avr/avr.c (asm_file_start): Rename avr_file_start,
1034 take no arguments, make static.
1035 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1036 Set them.
1037 * config/c4x/c4x.c (c4x_file_start): New static function.
1038 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1039 Set them.
1040 * config/cris/cris.c (cris_file_start): New static function.
1041 (TARGET_ASM_FILE_START): Set it.
1042 * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
1043 dsp16xx_file_start, make static.
1044 (luxworks_dsp16xx_file_start): Delete.
1045 (TARGET_ASM_FILE_START): Set it.
1046 * config/h8300/h8300.c (asm_file_start): Rename
1047 h8300_file_start, make static, take no arguments.
1048 (TARGET_ASM_FILE_START): Set it.
1049 * config/i370/i370.c (i370_file_start): New static function.
1050 (TARGET_ASM_FILE_START): Set it.
1051 * config/i386/i386.c (x86_file_start): New static function.
1052 (TARGET_ASM_FILE_START): Set it.
1053 * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
1054 X86_FILE_START_FLTUSED): New macros, default to false.
1055 * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
1056 * config/i386/sysv4.h, config/i386/sco5.h: Override
1057 X86_FILE_START_VERSION_DIRECTIVE to true.
1058 * config/ia64/ia64.c (ia64_file_start): New static function.
1059 (TARGET_ASM_FILE_START): Set it.
1060 (emit_safe_across_calls): Take no arguments.
1061 * config/ia64/ia64.md: Update to match.
1062 * config/m32r/m32r.c (m32r_asm_file_start): Rename
1063 m32r_file_start, make static, take no arguments.
1064 (TARGET_ASM_FILE_START): Set it.
1065 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
1066 m68hc11_file_start, make static, take no arguments.
1067 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1068 (print_options): Delete.
1069 * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
1070 (TARGET_ASM_FILE_START_APP_OFF): Set.
1071 * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
1072 m68k_hp320_file_start.
1073 * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
1074 Make static, take no arguments.
1075 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1076 * config/mmix/mmix.c (mmix_asm_file_start): Rename
1077 mmix_file_start, make static, take no arguments.
1078 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1079 * config/mn10300/mn10300.c (asm_file_start): Rename
1080 mn10300_file_start, make static, take no arguments.
1081 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1082 * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
1083 * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
1084 pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
1085 pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
1086 pa_hpux64_hpas_file_start): New static functions.
1087 * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
1088 * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
1089 pa_linux_file_start.
1090 * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
1091 pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
1092 appropriate.
1093 * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
1094 * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
1095 (rs6000_file_start): Make static, take no arguments. Reset
1096 default_cpu under certain conditions.
1097 (rs6000_xcoff_file_start): New function.
1098 * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
1099 * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
1100 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
1101 * config/sh/sh.c (output_file_start): Rename
1102 sh_file_start, make static, take no arguments. Merge in old
1103 code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
1104 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1105 * config/sh/sh.c (TARGET_ELF): Define to 0.
1106 * config/sh/elf.h (TARGET_ELF): Redefine to 1.
1107 * config/v850/v850.c (asm_file_start): Delete.
1108 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1109 * config/vax/vax.c (vax_file_start): New static function.
1110 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
1111
1112 * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
1113 * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
1114 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
1115 * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
1116 * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
1117 * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
1118
1119 * config/darwin.h, config/elfos.h, config/alpha/elf.h
1120 * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
1121 * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
1122 * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
1123 * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
1124 * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
1125 * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
1126 * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
1127 * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
1128 * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
1129 * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
1130 * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
1131 * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
1132 * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
1133 * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
1134 * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
1135 * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
1136 * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
1137
1138 * config/alpha/alpha-protos.h, config/arc/arc-protos.h
1139 * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
1140 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
1141 * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
1142 * config/mips/mips-protos.h, config/mmix/mmix-protos.h
1143 * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
1144 * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
1145
1146 * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
1147 Remove reference to ASM_FILE_START in comment.
1148 * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
1149 * config/arm/linux-gas.h, config/arm/netbsd-elf.h
1150 * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
1151
e7f13528
GP
11522003-06-19 Graeme Peterson <gp@qnx.com>
1153
1154 * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
1155 SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
1156 sysroot_hdrs_suffix_spec): New.
1157 (static_specs): Initialize new variables.
1158 (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
1159 * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
1160 New macros.
1161
35b1a6fa
AJ
11622003-06-19 Andreas Jaeger <aj@suse.de>
1163
d3ea6201 1164 * c-aux-info.c: Convert to ISO C90.
35b1a6fa
AJ
1165 * c-pragma.c: Likewise.
1166 * c-common.c: Likewise.
1167 * c-common.h: Likewise.
1168 * c-convert.c: Likewise.
1169 * c-cppbuiltin.c: Likewise.
1170 * c-dump.c: Likewise.
1171 * c-decl.c: Likewise
1172 * c-format.c: Likewise.
1173 * c-incpath.c: Likewise.
1174 * c-incpath.h: Likewise.
1175
6dab8d4c
RS
11762003-06-19 Roger Sayle <roger@eyesopen.com>
1177
1178 * builtins.c (expand_errno_check): Assume that flag_errno_math
1179 and HONOR_NANS have been tested before calling here. Only try
1180 to set errno ourselves if the decl can't throw an exception.
1181 (expand_builtin_mathfn): Move the code to stabilize the arg
1182 after the main switch, so that that its only done when needed.
1183 BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
1184 Don't modify the original expr when stabilizing the argument.
1185 (expand_builtin_mathfn_2): Likewise, move the code to stabilize
1186 the args after the main switch, and don't modify the orginal exp.
1187
5f6c070d 11882003-06-19 Aldy Hernandez <aldyh@redhat.com>
35b1a6fa 1189
1bc7c5b6
ZW
1190 * expr.c (const_vector_from_tree): Initialize remaining elements
1191 to 0.
5f6c070d 1192
e7a9b208
AH
11932003-06-19 Aldy Hernandez <aldyh@redhat.com>
1194
1195 * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
1196 Change "fix" to "float".
1197
1681bed6
AJ
11982003-06-19 Andreas Jaeger <aj@suse.de>
1199
e295f317
AJ
1200 * c-tree.h: Remove declaration of poplevel.
1201
1202 * tree.h: Remove declaration of approx_sqrt.
1203
1204 * c-lex.c: Remove redundant declaration of asm_out_file.
1205
1206 * flags.h: Remove declaration of warn_unknown_pragma and
1207 main_input_filename.
1208
1209 * rtl.h: Remove functions from fold-const.c since they're already
1210 declared in tree.h.
1211
1212 * regs.h: Remove redundant declaration of reg_names.
1213
551dc360
AJ
1214 * bt-load.c (migrate_btr_defs): Correct printf arguments.
1215
1681bed6
AJ
1216 * protoize.c: Fix breakage from last patch.
1217
676fceeb
R
12182003-06-19 J"orn Rennecke <joern.rennecke@superh.com>
1219
1220 * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
1221 has been included.
1222
85009435
JM
12232003-06-18 James A Morrison <ja2morri@student.math.uwaterloo.ca>
1224
1225 * config/sparc/sparc.c: Update copyright year.
1226
ddcc8263
DE
12272003-06-19 David Edelsohn <edelsohn@gnu.org>
1228
1229 * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
1230 to ABI_V4.
1231
f37ceab9
JM
12322003-06-18 Joseph S. Myers <jsm@polyomino.org.uk>
1233
1234 PR bootstrap/4068
1235 * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
1236
6e014ef3
KH
12372003-06-19 Kazu Hirata <kazu@cs.umass.edu>
1238
1239 * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
1240 to the end of the file. Remove unnecessary prototypes.
1241
5a9384dd
HPN
12422003-06-19 Hans-Peter Nilsson <hp@axis.com>
1243
1244 * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
1245 calls to insn_default_latency and result_ready_cost. Initialize
1246 def_latency to 1.
1247
61193e7b
RH
12482003-06-18 Richard Henderson <rth@redhat.com>
1249
1bc7c5b6
ZW
1250 * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
1251 (_Unwind_FindEnclosingFunction): Implement.
61193e7b 1252
a2f8629a
KH
12532003-06-18 Kazu Hirata <kazu@cs.umass.edu>
1254
1255 * toplev.c (rest_of_handle_sched): Hide the entire function if
1256 INSN_SCHEDULING is not defined.
1257 (rest_of_compilation): Call rest_of_handle_sched() only when
1258 INSN_SCHEDULING is defined.
1259
fe3ad572 12602003-06-18 Stephen Clarke <stephen.clarke@superh.com>
1bc7c5b6 1261 J"orn Rennecke <joern.rennecke@superh.com>
fe3ad572
SC
1262
1263 * bt-load.c: New file.
1264 * Makefile.in (OBJS): Include bt-load.o
1265 (bt-load.o): Add dependencies.
1266 * flags.h (flag_branch_target_load_optimize): Declare.
1267 (flag_branch_target_load_optimize2): Likewise.
1268 * hooks.c (hook_reg_class_void_no_regs): New function.
1269 (hook_bool_bool_false): Likewise.
1270 * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
1271 * rtl.h (branch_target_load_optimize): Declare.
1272 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
1273 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1274 (TARGET_INITIALIZER): Include these.
1275 * target.h (struct gcc_target): Add branch_target_register_class
1276 and branch_target_register_callee_saved members.
1277 * toplev.c (enum dump_file_index): Add DFI_branch_target_load
1278 (dump_file) Add "tars" entry.
1279 (flag_branch_target_load_optimize): New variable.
1280 (flag_branch_target_load_optimize2): Likewise.
1281 (lang_independent_options): Add entries for new options.
1282 (rest_of_compilation): Call branch_target_load_optimize.
1283 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
1284 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1285 * doc/invoke.texi: Document -fbranch-target-load-optimize and
1286 -fbranch-target-load-optimize2.
1287 * rtl.h (epilogue_completed): Declare.
1288 * recog.c (epilogue_completed): New variable.
1289 * toplev.c (rest_of_compilation): Set it.
1290 * flow.c (mark_regs_live_at_end): Use it.
1291 * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
1292 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1293 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
1294 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
1295
1296 * sh.c (shmedia_space_reserved_for_target_registers): New variable.
1297 (sh_target_reg_class): New function.
1298 (sh_optimize_target_register_callee_saved): Likwise.
1299 (shmedia_target_regs_stack_space): Likewise.
1300 (shmedia_reserve_space_for_target_registers_p): Likewise.
1301 (shmedia_target_regs_stack_adjust): Likewise.
1302 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
1303 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1304 (calc_live_regs): If flag_branch_target_load_optimize2 and
1305 TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
1306 for target registers, make sure that we save all target registers.
1307 (sh_expand_prologue, sh_expand_epilogue): Take target register
1308 optimizations into account. Collapse stack adjustments if that
1309 is beneficial.
1310 (initial_elimination_offset): Reserve space for target registers
1311 if necessary.
1312 * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
1313 (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
1314
5a9335ef
NC
13152003-06-18 Nick Clifton <nickc@redhat.com>
1316
1317 * config.gcc: Add an extra_header for ARM targets.
1bc7c5b6 1318 Support configuring with --with-cpu=iwmmxt.
5a9335ef 1319 * doc/invoke.texi: Document new value for -mcpu= ARM switch.
1bc7c5b6 1320 * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
35b1a6fa 1321 names. Fix formatting.
1bc7c5b6 1322 * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
5a9335ef 1323 names.
1bc7c5b6 1324 * config/arm/arm-protos.h (arm_emit_vector_const): New
5a9335ef
NC
1325 prototype.
1326 (arm_output_load_gr): New prototype.
1327 * config/arm/arm.c (extra_reg_names1): Delete.
1bc7c5b6 1328 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
5a9335ef
NC
1329 * arch_is_iwmmxt): Define.
1330 (all_cores, all_architecture): Add entry for iwmmxt.
1331 (arm_override_options): Add support for iwmmxt.
1332 (use_return_insn, arm_function_arg, arm_legitimate_index_p,
1333 arm_print_value, arm_rtx_costs_1, output_move_double,
1334 arm_compute_save_reg_mask, arm_output_epilogue,
1335 arm_get_frame_size, arm_expand_prologue, arm_print_operand,
1336 arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
1337 Likewise.
1338 (arm_init_cumulative_args): Count iwmmxt registers.
1339 (arm_function_ok_for_sibcall): Return false of sibcall_blocked
1340 has been set.
1341 (struct minipool_node): Add fix_size field.
1342 (add_minipool_forward_ref): Add support for 8-byte aligning of
1343 the pool.
1344 (add_minipool_backward_ref, add_minipool_offsets,
1345 dump_minipool, push_minipool_fix): Likewise.
1346 (struct builtin_description): New struct.
1bc7c5b6
ZW
1347 (builtin_description): New array of iwmmxt builtin functions.
1348 (arm_init_iwmmxt_builtins): New function.
1349 (arm_init_builtins): New function.
1350 (safe_vector_operand): New function.
1351 (arm_expand_binop_builtin): New function.
1352 (arm_expand_unop_builtin): New function.
1353 (arm_expand_builtin): New function.
1354 (arm_emit_vector_const): New function.
1355 (arm_output_load_gr): New function.
1356 * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
5a9335ef
NC
1357 TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
1358 TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
1359 DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
1bc7c5b6
ZW
1360 (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
1361 (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
1362 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
5a9335ef
NC
1363 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
1364 REG_CLASS_FOR_LETTER): Add iwmmxt registers.
1bc7c5b6 1365 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
5a9335ef 1366 registers unless the iwmmxt target is selected.
1bc7c5b6 1367 (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
5a9335ef
NC
1368 FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
1369 IS_IWMMXT_GR_REGNUM): Define.
1bc7c5b6
ZW
1370 (FIRST_PSEUDO_REGISTER): Bump to 63.
1371 (struct machine_function): Add sibcall_blocked field.
1372 (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
5a9335ef 1373 nargs fields.
1bc7c5b6
ZW
1374 (enum arm_builtins): New enum list.
1375 * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
5a9335ef
NC
1376 UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
1377 UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
1378 UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
1379 (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
1380 VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
1bc7c5b6
ZW
1381 (movv2si, movv4hi, movv8qi): New expands for vector moves.
1382 Include iwmmxt.md.
5a9335ef
NC
1383 * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
1384 multilib.
1bc7c5b6
ZW
1385 (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
1386 * config/arm/mmintrin.h: New ARM specific header file.
1387 * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
5a9335ef 1388
fe651b1d
R
13892003-06-18 J"orn Rennecke <joern.rennecke@superh.com>
1390
1391 * toplev.c (Remaining -d letters summary): Update.
1392
b9599e46
FS
13932003-06-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1394
1395 * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
1396 argument.
1397 (function_arg): Handle CALL_LIBCALL flag.
1398 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
1399 prototype.
1400 * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
1401 (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1402 (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
1403 (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
1404
903caebf
NB
14052003-06-18 Neil Booth <neil@daikokuya.co.uk>
1406
1407 * Makefile.in: Update.
1408 * common.opt: New options.
1409 * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
1410 set_Wunused): New.
1411 (common_handle_option): Handle new options.
1412 * toplev.c (set_target_switch): Export.
1413 (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
1414 (decode_W_option): -Wunused and -Wextra handled in opts.c now.
1415 (independent_decode_option): More options handled in opts.c now.
1416 Change prototype.
1417 * toplev.h (set_target_switch): New.
1418
f3f735eb
RA
14192003-06-17 Robert Abeles <rabeles@archaelogic.com>
1420
1421 PR debug/4252
1422 * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
1423 to dump_switch_p().
1424 * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
1425 from static strings in dump_files.
1426
b0c231bb
KG
14272003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1428
1429 * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
1430 VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
1431 libiberty macros.
1432
9da32fe1
JM
14332003-06-17 Jason Merrill <jason@redhat.com>
1434
1435 PR c++/10929
1436 * tree-inline.c (expand_call_inline): Don't warn about failing to
1437 inline a function which was made inline by -finline-functions.
1438
cb713a8d
KH
14392003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1440
1441 * config/h8300/h8300-protos.h: Update to ISO C.
1442 * config/h8300/h8300.c: Likewise.
1443 * config/h8300/h8300.h: Likewise.
1444 * config/h8300/h8300.md: Likewise.
1445
eaf9f3b2
NN
14462003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1447
1448 * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
1449 * configure: Regenerate.
1450 * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
1451
688d8b84
RM
14522003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1453
1454 * install.texi (Testing): Add information on how to run Java
1455 runtime tests separately.
1456
1f11df32
RO
14572003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1458
94b2a23b
RO
1459 * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
1460
1f11df32
RO
1461 * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
1462 (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
1463
11344b85
CF
14642003-06-17 Christopher Faylor <cgf@redhat.com>
1465
1466 * doc/install.texi: Add msvc rebuild caveat.
1467
c8f0269d
KH
14682003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1469
1470 * config/sh/coff.h: Replace Hitachi with Renesas.
1471 * config/sh/elf.h: Likewise.
1472 * config/sh/embed-elf.h: Likewise.
1473 * config/sh/lib1funcs.asm: Likewise.
1474 * config/sh/sh-protos.h: Likewise.
1475 * config/sh/sh.c: Likewise.
1476 * config/sh/sh.h: Likewise.
1477 * config/sh/sh.md: Likewise.
1478
67f63f32
KH
14792003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1480
1481 * ChangeLog.3: Fix comment typos.
1482 * ChangeLog.6: Likewise.
1483 * config/d30v/d30v.c: Likewise.
1484 * config/h8300/h8300.md: Likewise.
1485 * config/m32r/m32r.md: Likewise.
1486 * config/mips/mips.c: Likewise.
1487 * config/mips/mips.md: Likewise.
1488 * config/ns32k/NOTES: Likewise.
1489
0d5c606b 14902003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1bc7c5b6 1491 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
35b1a6fa 1492
0d5c606b
RM
1493 * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
1494 to run Java runtime tests separately.
1495
d32fad64
KH
14962003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1497
1498 * config/h8300/h8300-protos.h: Update a comment.
1499
1bf93c14
R
15002003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1501
1502 * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
1503 are aligned like integral modes.
1504 (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
1505
1506 * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
1507 (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
1508 * sh.md (*pt): Remove.
1509
1510 * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
1511
1512 * sh.md (return_media_rte): New pattern.
1513 (return_media): Use it.
1514
71c6b994
KH
15152003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1516
1517 * doc/contrib.texi: Replace Hitachi with Renesas.
1518 * doc/install.texi: Likewise.
1519 * doc/invoke.texi: Likewise.
1520
fdc88a4d
R
15212003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1522
1523 * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
1524 behaviour.
1525
7cf6c927
FS
15262003-06-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1527
8207b189
FS
1528 * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
1529
7cf6c927
FS
1530 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
1531 2003-01-23 patch. Corrected to handle kernels with changed ucontext.
1532
1533 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
1534 -msdata=eabi usages.
1535
1536 * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
1537
a54928c9
KG
15382003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1539
1540 * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
1541 * fixinc/gnu-regex.c: Don't define `volatile'.
1542 * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
1543 * ggc-simple.c: Likewise.
1544 * system.h: Don't define `volatile'.
1545
1546 * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
1547 * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
1548 call these macros.
1549 * config.in, configure: Regenerated.
1550
8419b675
RK
15512003-06-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1552
1553 * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
1554 Handle POINTERS_EXTEND_UNSIGNED.
1555
c1e5104d
RO
15562003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1557
1558 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1559 !TARGET_IRIX6]: Define as NULL.
1560
97587cfa
EB
15612003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1562
1563 * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
1564
a8d0467e
EB
15652003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1566
1567 * dbxout.c (dbxout_source_line_counter): New global variable.
1568 Mark it with GTY(()).
1569 (dbxout_source_line): Increment dbxout_source_line_counter
1570 and pass it to ASM_OUTPUT_SOURCE_LINE.
1571 * sdbout.c (sdbout_source_line_counter): New global variable.
1572 Mark it with GTY(()).
1573 (unnamed_struct_number): Mark it with GTY(()).
1574 (sdbout_source_line): Increment sdbout_source_line_counter
1575 and pass it to ASM_OUTPUT_SOURCE_LINE.
1576 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
1577 (xcoffout_source_line): Pass 0 as third argument to
1578 ASM_OUTPUT_SOURCE_LINE.
1579 (xcoffout_begin_prologue): Likewise.
1580 * config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1581 Use it instead of 'sym_lineno' but without incrementing it.
1582 * config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1583 * config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1584 * config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1585 * config/alpha/alpha.c (alpha_start_function): Pass 0 as third
1586 argument to ASM_OUTPUT_SOURCE_LINE.
1587 * config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1588 * config/arm/aout.h: Remove useless comment.
1589 * config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1590 * config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1591 * config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1592 Use it instead of 'sym_lineno' but without incrementing it.
1593 * config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1594 * config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
1595 parameter. Use it instead of 'sym_lineno' but without incrementing it.
1596 * config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
1597 argument to ASM_OUTPUT_SOURCE_LINE.
1598 * config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1599 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1600 * config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1601 Use it instead of 'sym_lineno' but without incrementing it.
1602 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1603 * config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1604 * config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1605 * config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1606 * doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
1607
730cf822
RS
16082003-06-17 Richard Sandiford <rsandifo@redhat.com>
1609
1610 * config/mips/mips-protos.h (mips_expand_block_move): Declare.
1611 (expand_block_move, output_block_move): Remove.
1612 * config/mips/mips.h (enum block_move_type): Remove.
1613 * config/mips/mips.c (block_move_call, output_block_move): Remove.
1614 (mips_block_move_straight, mips_adjust_block_mem): New function.
1615 (mips_block_move_loop): Renamed and reworked from block_move_loop.
1616 (mips_expand_block_move): Likewise expand_block_move. Return false
1617 to fall back on the target-independent code.
1618 * config/mips/mips.md (movstrsi): Use mips_expand_block_move.
1619 (movstrsi_internal*): Remove.
1620
6cf87ca4
ZW
16212003-06-16 Zack Weinberg <zack@codesourcery.com>
1622
1623 * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
1624 * cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
1625 * cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
1626 ISO C: new-style function declarations, no need for PARAMS,
1627 no special punctuation on indirect function calls, use string
1628 constant concatenation where convenient.
1629
5b0e2409
AJ
16302003-06-17 Andreas Jaeger <aj@suse.de>
1631
1632 * rtl.h: Remove declarations from coverage.h.
1633 * toplev.c: Include coverage.h.
1634 * Makefile.in (toplev.o): Depend on coverage.h.
1635
1636 * toplev.h: Remove extra declaration of print_time.
1637
1638 * gengtype.c (close_output_files): Remove duplicated declaration.
1639
77094862
NN
16402003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1641
cc0651d2
NN
1642 * config/sparc/sysv4.h: Remove target-independent comment;
1643 replace "GNU CC" with "GCC".
b06c827c 1644 * config/vxworks.h: Replace "GNU compiler" with "GCC".
de0a398e
NN
1645 * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
1646 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1647 config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
6cf87ca4 1648 config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
de0a398e
NN
1649 config/sparc/rtemself.h, config/sparc/sol2-64.h,
1650 config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
1651 config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
6cf87ca4 1652 config/sparc/sol2.h, config/sparc/sp64-aout.h,
de0a398e
NN
1653 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
1654 config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
1655 "GNU compiler", "GNU CC" with "GCC".
4d8af13f
NN
1656 * config/sparc/cypress.md, config/sparc/hypersparc.md,
1657 config/sparc/sparc-modes.def, config/sparc/sparc.c,
1658 config/sparc/sparc.md, config/sparc/sparclet.md,
1659 config/sparc/supersparc.md, config/sparc/ultra1_2.md,
1660 config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
1661 "GNU C Compiler" with "GCC".
77094862
NN
1662 * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
1663
0a84d874
AH
16642003-06-16 Aldy Hernandez <aldyh@redhat.com>
1665
1666 * simplify-rtx.c (simplify_subreg): Do not over-extend vector
1667 constants.
1668
1669 * testsuite/gcc.c-torture/execute/simd-4.c: New.
1670
9cd598aa
NN
16712003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1672
c24851de
NN
1673 * config/ip2k/ip2k.h: Remove target-independent comments.
1674
9cd598aa
NN
1675 * config.gcc: Explicitly mention elfos.h in ip2k entry.
1676 * config/ip2k/ip2k.h: Don't #include it here.
1677
4ff58371
KG
16782003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1679
fad205ff
KG
1680 * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
1681 config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
1682 dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
1683 function.c, gcc.c, genoutput.c, gensupport.c, global.c,
1684 haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
1685 loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
1686 read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
1687 stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
1688 the PTR macro.
1689
4ff58371
KG
1690 * gengtype.c: Don't use UNION_INIT_ZERO.
1691 * system.h (UNION_INIT_ZERO): Delete.
1692
799ab2c7
RH
16932003-06-16 Richard Henderson <rth@redhat.com>
1694
1695 * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
1696 GET_MODE_UNIT_SIZE when simplifying constant vectors.
1697
33b0d00f
AJ
16982003-06-16 Andreas Jaeger <aj@suse.de>
1699
1700 * timevar.c (get_run_time): Remove function provided also by
1701 libiberty.
1702 * timevar.h: Remove get_run_time declaration.
1703
3391875b
KH
17042003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1705
1706 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
1707 unreachable code.
1708
9a238586
KG
17092003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1710
1711 * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
1712 cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
1713 use macros from "symcat.h", instead rely on ISO C.
6cf87ca4 1714
9a238586
KG
1715 * system.h: Don't include "symcat.h".
1716 * configure.in (AC_C_STRINGIZE): Delete.
1717 * config.in, configure: Regenerate.
1718
7f42b6d7
RK
17192003-06-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1720
f0c4fac7
RK
1721 * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
1722
7f42b6d7
RK
1723 * tree.h (STMT_CHECK): New macro.
1724 Also upper-case argument names on all checking macros and
1725 fix some whitespace problems; assume CODE argument does not
1726 have side-effects.
1727
89d09f83
KG
17282003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1729
2a0621b9
KG
1730 * scan.h: Convert to ISO C.
1731 * system.h: Likewise.
1732
89d09f83
KG
1733 * c-format.c (dynamic_format_types): New pointer for dynamic data.
1734 (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
1735 New functions split out of...
1736 (handle_format_attribute): ...here.
1737
735cb76e
R
17382003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1739
1740 * sh.h (REG_CLASS_FROM_LETTER): Change to:
1741 (REG_CLASS_FROM_CONSTRAINT).
1742 (CONST_OK_FOR_I): Rename to:
1743 (CONST_OK_FOR_I08). Changed all users.
1744 (CONST_OK_FOR_J): Rename to:
1745 (CONST_OK_FOR_I16). Changed all users.
1746 (CONST_OK_FOR_K): Rename to:
1747 (CONST_OK_FOR_P27). Changed all users.
1748 (CONST_OK_FOR_L): Rename to:
1749 (CONST_OK_FOR_K08). Changed all users.
1750 (CONST_OK_FOR_O): Rename to:
1751 (CONST_OK_FOR_I06). Changed all users.
1752 (CONST_OK_FOR_P): Rename to:
1753 (CONST_OK_FOR_I10). Changed all users.
1754 (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
1755 (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
1756 (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
1757 (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
1758 (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
1759 (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
1760 (CONST_OK_FOR_LETTER_P): Replace with
1761 (CONST_OK_FOR_CONSTRAINT_P).
1762 (EXTRA_CONSTRAINT_S): Rename to:
1763 (EXTRA_CONSTRAINT_C16). Changed all users.
1764 (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
1765 (EXTRA_CONSTRAINT_T): Rename to:
1766 (EXTRA_CONSTRAINT_Csy). Changed all users.
1767 (EXTRA_CONSTRAINT_Z): Remove.
1768 (EXTRA_CONSTRAINT): Replace with:
1769 (EXTRA_CONSTRAINT_STR).
1770 (EXTRA_CONSTRAINT_U): Rename to:
1771 (EXTRA_CONSTRAINT_Z). Changed all users.
1772 * sh.c (and_operand): Use CONST_OK_FOR_J16.
1773 * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
1774 (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
1775 (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
1776 (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
1777 (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
1778 (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
1779 (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
1780 (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
1781 (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
1782 (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
1783 (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
1784 (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
1785 (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
1786 (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
1787 (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
1788 (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
1789 (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
1790 (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
1791 (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
1792 (sssubv4hi3): Likewise.
1793 (movsf_i): Change I[08]/r to G/r.
1794 (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
1795
1796 * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
1797
bce75972
VM
17982003-06-16 Vladimir Makarov <vmakarov@redhat.com>
1799
1800 * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
1801
ebf0d392
AJ
18022003-06-16 Andreas Jaeger <aj@suse.de>
1803
9286d5a8
AJ
1804 * basic-block.h: Remove duplicate prototype of
1805 note_prediction_to_br_prob.
1806
ebf0d392
AJ
1807 * tree.h: Remove duplicate prototype of strip_float_extensions.
1808
0eff02cd
KG
18092003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1810
1811 * config/c4x/c4x.c: Don't include "c-tree.h".
1812 * config/pa/pa.c: Likewise.
1813 * langhooks.c: Likewise.
1814 * tree.h (poplevel): Declare.
1815
08dca707
KH
18162003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1817
1818 * config/h8300/h8300.c (const_costs): Move this to ...
1819 (h8300_rtx_costs): ... here.
1820
82d397c7
RS
18212003-06-16 Roger Sayle <roger@eyesopen.com>
1822
1823 * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
1824 (tan_optab, atan_optab): Define corresponding macros.
1825 * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
1826 * genopinit.c (optabs): Implement tan_optab and atan_optab
1827 using tan?f2 and atan?f2 patterns.
1828 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
1829 using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
1830 Change the default value of errno_set to false.
1831 (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
1832 using expand_builtin_mathfn.
1833
1834 * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
1835 expander patterns implemented using existing atan2?f3 patterns.
1836
c6547c92
RS
18372003-06-16 Roger Sayle <roger@eyesopen.com>
1838
1839 * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
1840 both operands of the addition equal, reuse the expanded RTL.
1841 (expand_expr <MULT_EXPR>): Likewise for multiplication.
1842
21c43754
RS
18432003-06-16 Roger Sayle <roger@eyesopen.com>
1844 Jeff Law <law@redhat.com>
1845
1846 * fold-const.c (operand_equal_p): Consider two calls to "const"
1847 functions with identical non-volatile arguments to be equal.
1848 Consider the FUNCTION_DECL for the "__builtin_foo" form of a
1849 built-in function to be equal to the "foo" form.
1850
93ffe49c
NN
18512003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1852
1853 * config/rs6000/sysv4le.h: Remove target-independent comment.
1854 Replace "GNU compiler" with "GCC" in comment.
1855
baaa1222
AJ
18562003-06-16 Andreas Jaeger <aj@suse.de>
1857
1a9962c2 1858 * tracer.c: Remove duplicate declaration.
baaa1222
AJ
1859
1860 * toplev.c: Remove extra declaration of decode_d_option.
1861
1862 * ssa.c: Remove duplicate declaration.
1863
1864 * sreal.c: Remove extra declaration of dump_sreal.
1865
1866 * reload1.c: Remove duplicate declarations.
1867
1868 * integrate.c: Remove extra declaration of
1869 set_decl_abstract_flags.
1870
1871 * flow.c: Remove extra declaration of dump_flow_info.
1872
1873 * alias.c: Remove extra declaration of get_addr.
1874
5e6908ea
NN
18752003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1876
814499a4
NN
1877 * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
1878 config/vxworks.h: GNU CC -> GCC.
1879
5e6908ea
NN
1880 * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
1881 lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
1882 stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
1883 ssa.h, tree.def: Replace overly specific references to "GNU C"
1884 and "GNU C Compiler" with references to "GCC".
1885
3ff5ef1b
R
18862003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1887
266a2732
R
1888 * sh.c (prepare_move_operand): Check if operand 0 is an invalid
1889 memory reference. Fix test that checks if operand 1 is using r0.
1890 * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
1891
1892 * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
1893 defined.
3ff5ef1b 1894
fd3acbb3
NS
18952003-06-15 Nathan Sidwell <nathan@codesourcery.com>
1896
1897 * function.h (struct emit_status): Remove x_last_linenum,
1898 x_last_filename. Add x_last_location.
1899 * rtl.h: #include "input.h".
1900 (NOTE_DATA): New.
1901 * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
1902 number notes.
1903 * emit-rtl.c (last_linenum, last_filename): Remove.
1904 (last_location): New.
1905 (emit_line_note_after): LINE must always be >= 0.
1906 (emit_line_note): Likewise. Check not duplicate here...
1907 (emit_note): ... rather than here.
1908 (emit_line_note_force, force_next_line_note, init_emit): Adjust.
1909 * integrate.c (expand_inline_function): Use emit_line_note for
1910 line number notes.
1911 (copy_insn_list): Likewise.
1912 * unroll.c (copy_loop_body): Likewise.
1913 * Makefile.in (RTL_H): Add input.h.
1914
695a94b3
RS
19152003-06-16 Richard Sandiford <rsandifo@redhat.com>
1916
1917 * optabs.c (emit_libcall_block): Don't hoist insns past a label.
1918
a5c24926
RH
19192003-06-16 Richard Henderson <rth@redhat.com>
1920
1921 * config/alpha/alpha-protos.h, config/alpha/elf.h,
1922 config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
1923 config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
1924 * config/alpha/alpha.c: Likewise. Move targetm init to end of file.
1925 Remove unneeded static function decls.
1926
7b086b11
NB
19272003-06-16 Neil Booth <neil@daikokuya.co.uk>
1928
1929 * c-opts.c (c_common_handle_option): s/on/value/.
1930 (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
1931 directly rather than converting the argument.
1932 * c.opt: Update docs. Use UInteger where appropriate.
1933 * common.opt: Use UInteger where appropriate.
1934 * opts.c (integral_argument): New.
1935 (handle_argument): Handle integral arguments, and optional
1936 joined arguments.
1937 (common_handle_option): Update.
1938 * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
1939 * opts.sh: Handle JoinedOrMissing and UInteger flags.
1940
89aa997a
NB
19412003-06-16 Neil Booth <neil@daikokuya.co.uk>
1942
1943 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
1944 unnecessary extern declaration.
1945
612aeba5
NN
19462003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
1947
9286d5a8
AJ
1948 * config/gofast.h, config/interix.h, config/interix3.h,
1949 config/libgloss.h, config/linux-aout.h, config/linux.h,
2a71dcad
NN
1950 config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
1951 * config/kaos.h: "GNU compiler" -> GCC.
1952 * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
1953
0743f00d
NN
1954 * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
1955 config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
1956 GNU CC -> GCC.
1957
9286d5a8 1958 * config/svr3.h: Remove #if 0 code, misleading comments.
612aeba5
NN
1959 GNU CC -> GCC.
1960
64c1652c
ZW
19612003-06-15 Zack Weinberg <zack@codesourcery.com>
1962
1963 * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
1964 main_input_filename to avoid conflict with input_filename macro.
1965
8f95bd52
NB
19662003-06-15 Neil Booth <neil@daikokuya.co.uk>
1967
1968 * config/mips/mips.h (asm_file_name, g_switch_set,
1969 g_switch_value): Remove.
1970 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
1971 unnecessary extern declarations.
1972
a352c71f
NB
19732003-06-15 Neil Booth <neil@daikokuya.co.uk>
1974
1975 * config/frv/frv.h: Remove declaration of g_switch_value.
1976 * config/m32r/m32r.h: Remove declaration of g_switch_value.
1977 * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
1978
5641d622
NB
19792003-06-15 Neil Booth <neil@daikokuya.co.uk>
1980
1981 * opts.sh: Quote '+' in regex.
1982
117dca74
AP
19832003-06-15 Andrew Pinski <pinskia@physics.uc.edu>
1984
1985 * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
1986 * config/rs6000/rs6000.c: Include cfglayout.h.
1987 * config/alpha/alpha.c: Likewise.
1988 * config/ia64/ia64.c: Likewise.
1989 * config/sparc/sparc.c: Likewise.
1990 * config/sh/sh.c: Likewise.
1991
3ec76475
NB
19922003-06-15 Neil Booth <neil@daikokuya.co.uk>
1993
1994 * opts.sh: Quote '+' in regex.
1995
be43ab4e
NB
19962003-06-15 Neil Booth <neil@daikokuya.co.uk>
1997
1998 * c-opts.c (lang_flags): Update for new spelling of flags.
1999 (write_langs): Similarly.
2000 * c.opt: Specify languages.
2001 * opts.h: Remove languages.
2002 * opts.sh: Recognise front-end defined languages.
fd3acbb3 2003 * doc/sourcebuild.texi: Update.
be43ab4e 2004
4682ae04
AJ
20052003-06-15 Andreas Jaeger <aj@suse.de>
2006
2007 * alloc-pool.c: Convert to ISO C90 prototypes.
2008 * alloc-pool.h: Likewise.
2009 * alias.c: Likewise.
2010 * attribs.c: Likewise.
2011 * bb-reorder.c: Likewise.
2012 * bitmap.h: Likewise.
2013 * bitmap.c: Likewise.
2014 * builtins.c: Likewise.
2015
2016 * tree.h: Convert prototypes of attribs.c to ISO C90.
2017 * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
2018 * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
2019 * expr.h: Convert prototypes of builtins.c to ISO C90.
2020
9d5b9dae
RS
20212003-06-15 Roger Sayle <roger@eyesopen.com>
2022
2023 * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
2024 implement exp, expf and expl built-ins as inline x87 intrinsics.
2025 (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
2026 represent x87's fscale, frndint and f2xm1 insns respectively.
2027 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
2028 to encode x87's "fscale" instruction followed by a pop.
2029 (*frndintxf2): New insn pattern for "frndint".
2030 (*f2xm1xf2): New insn pattern for "f2xm1".
2031
2032 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
2033 UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
2034 UNSPEC_FPATAN.
2035
84fb2019
RK
20362003-06-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2037
cbdb4ba2
RK
2038 * gencheck.c (main): Avoid generating duplicate macros.
2039
84fb2019
RK
2040 * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
2041 knowing names of language subdirectories.
2042
d185d268
NB
20432003-06-15 Neil Booth <neil@daikokuya.co.uk>
2044
2045 * c-pch.c (asm_file_name): Remove.
2046 * common.opt: Add more switches.
2047 * flags.h (g_switch_set): Boolify.
2048 * opts.c (g_switch_value, g_switch_set, exit_after_options,
2049 version_flag): Move from toplev.c.
2050 (common_handle_option): Handle more switches from toplev.c.
2051 * toplev.c (display_help, display_target_options, decode_d_option,
2052 print_version): Make non-static, remove prototypes.
2053 (aux_base_name, asm_file_name, aux_info_file_name): Constify.
2054 (version_flag, g_switch_value, g_switch_set, exit_after_options):
2055 Remove.
2056 (independent_decode_option): Move some handlers to opts.c.
2057 * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
2058 exit_after_options, version_flag, display_help, display_target_options,
2059 print_version, decode_d_option): New.
2060
72ac76be
KH
20612003-06-15 Kazu Hirata <kazu@cs.umass.edu>
2062
2063 * config/alpha/alpha.md: Follow spelling conventions.
2064 * config/arm/arm.c: Likewise.
2065 * config/arm/arm.h: Likewise.
2066 * config/arm/arm.md: Likewise.
2067 * config/arm/crtn.asm: Likewise.
2068 * config/m32r/m32r.c: Likewise.
2069 * config/m32r/m32r.md: Likewise.
2070 * config/rs6000/rs6000.c: Likewise.
2071
a2855205
RH
20722003-06-15 Richard Henderson <rth@redhat.com>
2073
2074 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
2075 insn_locators_initialize.
2076 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
2077 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
2078 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
2079 * config/sh/sh.c (sh_output_mi_thunk): Do it later.
2080
51fbbb30
KH
20812003-06-15 Kazu Hirata <kazu@cs.umass.edu>
2082
2083 * builtins.c (expand_builtin_expect_jump): Remove redundant
2084 tests that are also in any_condjump_p().
2085
e87b9d8b
KG
20862003-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2087
2088 * libgcc2.c: Delete sysV68 L_trampoline section.
2089 * config/m68k/mot3300-crt0.S: Delete file.
2090 * config/m68k/mot3300Mcrt0.S: Likewise.
2091
ad9b8af6
NN
20922003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
2093
2094 * config/aoutos.h: Remove.
2095 * config.gcc: Remove reference to aoutos.h.
2096 * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
2097
0b4be7de
KH
20982003-06-14 Kazu Hirata <kazu@cs.umass.edu>
2099
2100 * doc/install.texi: Follow spelling conventions.
2101 * doc/tm.texi: Likewise.
2102 * config/fp-bit.c: Likewise.
2103 * config/arm/arm.c: Likewise.
2104 * config/frv/frv.c: Likewise.
2105 * config/ns32k/NOTES: Likewise.
2106 * config/ns32k/STATUS: Likewise.
2107
06f31100
RS
21082003-06-14 Roger Sayle <roger@eyesopen.com>
2109 Zack Weinberg <zack@codesourcery.com>
2110
2111 * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
2112 * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
2113 * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
2114
2115 * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
2116 * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
2117 * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
2118 * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
2119 * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
2120 * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
2121 * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
2122 * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
2123 * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
2124 * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
2125 * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
2126 * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
2127 * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
2128 * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
2129 * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
2130 * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
2131 * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
2132 * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
2133 * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
2134 * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
2135
ee6b0296
NS
21362003-06-14 Nathan Sidwell <nathan@codesourcery.com>
2137
b7a70588
NS
2138 * opts.sh (POSIXLY_CORRECT): Unset it.
2139
ee6b0296
NS
2140 * tree.h (init_function_start): Remove filename and line paramters.
2141 * function.c (init_function_start): Remove filename and line
2142 parameters. Use DECL_SOURCE_LOCATION.
2143 * c-decl.c (store_parm_decls): Adjust init_function_start call.
2144 (c_expand_body_1): Likewise.
2145 * coverage.c (create_coverage): Likewise.
2146 * objc/objc-act.c (build_tmp_function_decl): Set line number to
2147 zero.
2148 (hack_method_prototype): Adjust init_function_start call.
2149
2fbe6bc2
RE
21502003-06-14 Richard Earnshaw <rearnsha@arm.com>
2151
2152 PR target/3724
2153 * arm/linux-elf.h (PROFILE_HOOK): Define.
2154
75d2580c
RE
21552003-06-14 Richard Earnshaw <rearnsha@arm.com>
2156
2157 PR target/11183
2158 * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
2159
3708da2a
RS
21602003-06-14 Roger Sayle <roger@eyesopen.com>
2161
2162 * opts.sh: Work around a mysterious feature in cygwin's gawk
2163 where specifying the input files explicitly has a different
2164 behavior to piping them via stdin.
2165
9756074d
NB
21662003-06-14 Neil Booth <neil@daikokuya.co.uk>
2167
2168 * doc/sourcebuild.texi: Update.
2169
a4a37b30
RE
21702003-06-14 Richard Earnshaw <rearnsha@arm.com>
2171
2172 PR target/11183
2173 * arm.c (output_move_double): Pass SImode to adjust_address.
2174
d7b42618
NB
21752003-06-14 Neil Booth <neil@daikokuya.co.uk>
2176
2177 * Makefile.in: Update to use common.opt and lang_opt_files.
2178 (c-options.c, c-options.h): Remove.
2179 (options.c, options.h): Add.
2180 * c-opts.c: Include options.h not c-options.h.
2181 * common.opt: New file.
2182 * configure, configure.in: Add lang_opt_files.
2183 * opts.c: Include flags.h and diagnostic.h.
2184 (common_handle_option): New.
2185 (handle_option): Update to recognize common options and all
2186 language-dependent options.
2187 * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
2188 (struct cl_option): Make flags of type int.
2189 * opts.h: Flag option with front ends to which it applies.
2190 Handle duplicate options.
2191 * toplev.c (filename): Remove.
2192 (independent_decode_option): Don't handle filenames and -quiet.
2193 (process_options, do_compile): Update.
2194
34e8290f
NC
21952003-06-14 Nick Clifton <nickc@redhat.com>
2196
2197 * doc/install.texi (Specific): Add description of different
2198 ARM supported file format targets.
2199
281ac604
JH
2200Sat Jun 14 11:12:04 CEST 2003 Jan Hubicka <jh@suse.cz>
2201
2202 * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
2203 inside delay slots.
2204
333991cf
MK
22052003-06-13 Matt Kraai <kraai@alumni.cmu.edu>
2206
2207 * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
2208 * unwind-pe.h (size_of_encoded_value): Do not define if
2209 NO_SIZE_OF_ENCODED_VALUE is defined.
2210
9ad58e09
RS
22112003-06-13 Roger Sayle <roger@eyesopen.com>
2212
2213 * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
2214 expanding a complex constant into a CONCAT target.
2215
ed70c245
ZW
22162003-06-13 Zack Weinberg <zack@codesourcery.com>
2217
2218 * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
2219 (ASM_FILE_START_1): Delete.
2220 * config/i386/att.h, config/i386/sco5.h,
2221 config/i386/sysv3.h
2222 (ASM_FILE_START_1): Delete.
2223
1f2cd130
KC
22242003-06-13 Kelley Cook <kelleycook@wideopenwest.com>
2225
2226 * config/i386/bsd.h: Remove ASM_FILE_START.
2227 * config/i386/djgpp.h: Likewise.
ed70c245 2228 * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
1f2cd130
KC
2229
2230 * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
2231 * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
2232
880efc46
VM
22332003-06-13 Vladimir Makarov <vmakarov@redhat.com>
2234
2235 PR bootstrap/10835
2236 * haifa-sched.c (max_lookahead_tries,
ed70c245
ZW
2237 cached_first_cycle_multipass_dfa_lookahead,
2238 cached_issue_rate): New variables.
880efc46
VM
2239 (max_issue): Check the number of tries.
2240 (choose_ready): Calculate max_lookahead_tries.
2241 (sched_init): Check cached_issue_rate.
2242
792bb204
RH
22432003-06-13 Richard Henderson <rth@redhat.com>
2244
2245 * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
2246 * cfgrtl.c (purge_dead_edges): Expect it too.
2247
54c2fc72 22482003-06-13 Jim Wilson <wilson@tuliptree.org>
ed70c245 2249 Eric Botcazou <ebotcazou@libertysurf.fr>
54c2fc72
JW
2250
2251 PR bootstrap/10983
2252 * combine.c (make_extraction): Use gen_lowpart_for_combine
2253 when extracting from a REG and not in the destination of a SET.
2254
7e7de68b
DE
22552003-06-13 Doug Evans <dje@sebabeach.org>
2256
2257 * tsystem.h (abort): Declare in inhibit_libc case to remove build
2258 warnings for addvsi3, et.al.
2259
9f629a21
AH
22602003-06-13 Aldy Hernandez <aldyh@redhat.com>
2261
ed70c245 2262 * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
9f629a21 2263
ed70c245 2264 * simplify-rtx.c (simplify_subreg): Same.
9f629a21 2265
ed70c245 2266 * emit-rtl.c (gen_lowpart_common): Same.
9f629a21 2267
e15bb5c6
KH
22682003-06-13 Kazu Hirata <kazu@cs.umass.edu>
2269
2270 * builtins.c: Fix comment typos.
2271 * fold-const.c: Likewise.
2272
d88e80e6
DE
22732003-06-13 Doug Evans <dje@sebabeach.org>
2274 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2275
2276 * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
2277 * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
2278 (m32r_va_arg): Use it.
2279 * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
2280 (RETURN_IN_MEMORY): Ditto.
2281
dc125bdf
NN
22822003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
2283
4581c678
NN
2284 * c-typeck.c: Remove #if 0 clauses.
2285
dc125bdf
NN
2286 PR other/1494
2287 * config/alpha/openbsd.h, config/i386/openbsd.h,
2288 config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
2289 residual reference to EGCS.
2290
6ab5da80
RE
22912003-06-13 Richard Earnshaw <rearnsha@arm.com>
2292
2293 * arm.c (output_call_mem): If the address references the link-register
2294 use an instruction sequence that avoids early-clobbering IP.
2295 (eliminate_lr2ip): Delete.
2296
3af0187c
KG
22972003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2298
2299 * c-format.c (format_types_orig): Disallow '*' width/precision in
2300 asm_fprintf format checks.
2301
c873e11f
UW
23022003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
2303
ed70c245 2304 * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
c873e11f
UW
2305 non-integral types from integer register save area slots.
2306
16ae108b
NN
23072003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
2308
2309 * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
2310
ebd6b6a1
FW
23112003-06-13 Florian Weimer <fw@deneb.enyo.de>
2312
2313 * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
2314
43c73004
KK
23152003-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
2316
2317 * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
2318 to file_end_indicate_exec_stack.
2319
ee4336ea
RH
23202003-06-12 Richard Henderson <rth@redhat.com>
2321
2322 PR target/11089
2323 * config/i386/i386.md (sse_movaps): Use an expander to force
2324 one operand to be a register.
2325 (sse_movups): Likewise.
2326
2ac29877
DE
23272003-06-13 Doug Evans <dje@sebabeach.org>
2328
2329 Remove some build warnings.
dc9ed76a 2330 * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
2ac29877
DE
2331 (__do_global_ctors,__do_global_dtors): Ditto.
2332
c63f3a34
RH
23332003-06-12 Richard Henderson <rth@redhat.com>
2334
2335 PR middle-end/10557
2336 * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
2337
0d370a05
KH
23382003-06-13 Kazu Hirata <kazu@cs.umass.edu>
2339
2340 * config/m32r/m32r.md: Fix a comment typo.
2341
48028e21 23422003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
ed70c245 2343 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
48028e21
EB
2344
2345 PR target/10142
2346 * config/sparc/sparc.c (function_arg_record_value_parms): Add
2347 new 'stack' field.
2348 (function_arg_record_value_1): Set 'stack' to 1 if we run out of
2349 integer slots for an integer field.
2350 (function_arg_record_value_3): Shift vector index.
2351 (function_arg_record_value_2): Likewise.
2352 (function_arg_record_value): Initialize 'stack' to 0.
2353 Set 'stack' to 1 if we run out of integer slots for an integer field.
2354 Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
2355
5adf448c
EB
23562003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2357
2358 PR optimization/10955
2359 * unroll.c (unroll_loop): Fix off-by-one bug.
2360
55c8af0b
AH
23612003-06-12 Aldy Hernandez <aldyh@redhat.com>
2362
ed70c245 2363 * config/rs6000/rs6000.c (function_arg): Remove typo.
55c8af0b 2364
cb0e3e3f
RH
23652003-06-12 Richard Henderson <rth@redhat.com>
2366
2367 * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
2368 and UNSPEC_DTPOFF.
2369
8433f113
RH
23702003-06-12 Richard Henderson <rth@redhat.com>
2371
ed70c245
ZW
2372 PR middle-end/10475
2373 * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
2374 for extracting sub-words.
8433f113 2375
7b687728
RH
23762003-06-12 Richard Henderson <rth@redhat.com>
2377
ed70c245
ZW
2378 PR target/7594
2379 * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
2380 (zero_extendqihi2, zero_extendqisi2): Likewise.
7b687728 2381
a6c9bed4
AH
23822003-06-12 Aldy Hernandez <aldyh@redhat.com>
2383
2384 * config/rs6000/rs6000.c (function_arg): Always split vectors for
2385 e500 if it's a stdarg function.
2386 (function_arg_advance): Advance 2 registers for vectors in a
2387 stdarg function.
2388 (init_cumulative_args): Initialize stdarg.
2389 (rs6000_spe_function_arg): New.
2390
2391 * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
2392
4dcc01f3
AH
23932003-06-12 Aldy Hernandez <aldyh@redhat.com>
2394
ed70c245 2395 * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
4dcc01f3 2396
96f26e41
RS
23972003-06-12 Roger Sayle <roger@eyesopen.com>
2398
2399 PR middle-end/168
2400 * fold-const.c (tree_expr_nonnegative_p): Handle addition
2401 and multiplication of zero extensions, floating point division,
2402 and integer<->fp, fp<->fp and zero extension conversions.
2403 The built-in ceil and floor functions preserve signedness.
2404
6356f892
KH
24052003-06-12 Kazu Hirata <kazu@cs.umass.edu>
2406
2407 * ChangeLog: Follow spelling conventions.
2408 * ChangeLog.2: Likewise.
2409 * c-decl.c: Likewise.
2410 * cfgloop.h: Likewise.
2411 * cgraph.c: Likewise.
2412 * coverage.c: Likewise.
2413 * cppcharset.c: Likewise.
2414 * cpphash.h: Likewise.
2415 * cpplex.c: Likewise.
2416 * cpplib.c: Likewise.
2417 * dbxout.c: Likewise.
2418 * df.c: Likewise.
2419 * dwarf2out.c: Likewise.
2420 * dwarfout.c: Likewise.
2421 * emit-rtl.c: Likewise.
2422 * explow.c: Likewise.
2423 * gcov-io.c: Likewise.
2424 * gcov-io.h: Likewise.
2425 * gcov.c: Likewise.
2426 * gengtype.c: Likewise.
2427 * ggc.h: Likewise.
2428 * opts.c: Likewise.
2429 * real.c: Likewise.
2430 * reload.c: Likewise.
2431 * stmt.c: Likewise.
2432
25f47a4c
JJ
24332003-06-12 Janis Johnson <janis187@us.ibm.com>
2434
2435 * doc/install.texi (m32r-*-elf): Change company to Renesas.
2436
f0fda11c
JH
2437Thu Jun 12 20:00:55 CEST 2003 Jan Hubicka <jh@suse.cz>
2438
2439 * basic-block.h (flow_delete_block_noexpunge): Kill.
2440 * cfgrtl.c (flow_delete_block_noexpunge): Merge to
2441 rtl_delete_block.
2442
d6fc0492
RH
24432003-06-10 Richard Henderson <rth@redhat.com>
2444
ed70c245
ZW
2445 PR inline-asm/4823
2446 * reg-stack.c (any_malformed_asm): New.
2447 (check_asm_stack_operands): Set it.
2448 (convert_regs_1): Check it before aborting.
d6fc0492 2449
54da776f
AH
24502003-06-12 Aldy Hernandez <aldyh@redhat.com>
2451
ed70c245 2452 * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
54da776f 2453
c47d8f82
JJ
24542003-06-12 Jakub Jelinek <jakub@redhat.com>
2455
2456 * c-opts.c (complain_wrong_lang): Add on argument.
2457 Print no- switch if on is false.
2458 (c_common_decode_option): Adjust caller.
2459
109480b1
UW
24602003-06-12 Ulrich Weigand <uweigand@de.ibm.com>
2461
2462 * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
2463 to initialize GOT register.
2464
f7df23be
RS
24652003-06-12 Roger Sayle <roger@eyesopen.com>
2466
2467 * fold-const.c (tree_expr_nonnegative_p): Add support for
2468 floating point constants, addition and multiplication.
2469
38b3ef8b
R
24702003-06-12 J"orn Rennecke <joern.rennecke@superh.com>
2471
2472 * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
2473 constraint modifier for operand 0.
2474
78b8811a
HPN
24752003-06-12 Hans-Peter Nilsson <hp@axis.com>
2476
2477 Don't warn on dollars in builtin macro definitions,
2478 e.g. __REGISTER_PREFIX__.
2479 * cpphash.h (struct cpp_reader): Move member warn_dollars...
2480 * cpplib.h (struct cpp_options): ...to here. Change type to
2481 unsigned char.
2482 * cppinit.c (cpp_create_reader): Set it to 1 here.
2483 (post_options): Don't set it here.
2484 * c-opts.c (c_common_init_options): Reset it to 0 here.
2485 (finish_options): Set it here.
2486 * cpplex.c (forms_identifier_p): Tweak for new location of
2487 warn_dollars.
2488
2853bc5a
HPN
2489 * configure.in (assembler dwarf2 debug_line support): Define insn
2490 for cris-*-* and mmix-*-*.
2491 * configure: Regenerate.
2492
6b3a0b34
US
24932003-06-11 Uwe Stieber <uwe@kaos-group.de>
2494
2495 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
2496 powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
2497 (sh-*-elf*): Add sh*-*-kaos* support.
2498 * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
2499 config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
2500 config/sh/kaos-sh.h: New files.
2501
2fa4a849
KH
25022003-06-12 Kazu Hirata <kazu@cs.umass.edu>
2503
2504 * gcse.c (fis_get_condition): Make it a global function.
2505 * reload1.c (reload_cse_move2add): Detect implicit sets.
2506 * rtl.h: Add a prototype for fis_get_condition.
2507
d50ad6af
RH
25082003-06-11 Richard Henderson <rth@redhat.com>
2509
2510 * stmt.c (expand_asm_operands): Don't warn for memories with
2511 queued addresses.
2512
04953ac9
KK
25132003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
2514
2515 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
2516 brackets.
2517
7fb26bb0
NB
25182003-06-11 Neil Booth <neil@daikokuya.co.uk>
2519
2520 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
2521 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
2522 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
2523 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
2524 * langhooks.c (lhd_decode_option): Remove.
2525 * langhooks.h (struct lang_hooks): Remove decode_option.
2526 * opts.c (handle_option): No longer use decode_option.
2527
7e53cfb2
ZD
25282003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2529
2530 * cfgloopanal.c (variable_initial_value): Update the set of altered
2531 registers correctly.
2532
5f9b0711
RS
25332003-06-11 Roger Sayle <roger@eyesopen.com>
2534 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2535
2536 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
2537 * config/i386/netbsd-elf.h: Likewise.
2538 * config/m32r/m32r.h: Likewise.
2539 * config/mn10300/mn10300.h: Likewise.
2540 * config/stormy16/stormy16.h: Likewise.
2541 * config/v850/v850.h: Likewise.
2542 * config/vax/netbsd-elf.h: Likewise.
2543 * config/xtensa/elf.h: Likewise.
2544 * config/xtensa/linux.h: Likewise.
2545
655b7166
RO
25462003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2547
2548 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
2549 DWARF 2 default.
2550
2551 * config/mips/dbxmdebug.h: New file.
2552 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
2553 gas and --with-stabs.
2554
658cf52f
UW
25552003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
2556
2557 * expr.c (can_move_by_pieces): align argument may be unused.
2558
06765df1
R
25592003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
2560
2561 * expr.c (convert_move): Handle moves between two CONCATs.
2562
cf874806
KH
25632003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2564
2565 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
2566 !TARGET_H8300.
2567
ca9d6cca
KH
25682003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2569
2570 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
2571 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
2572 (TARGET_RTL_DUMP): Likewise.
2573 (TARGET_SWITHCES): Remove -mrtl-dump.
2574
0310c414
RH
25752003-06-10 Richard Henderson <rth@redhat.com>
2576
2577 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
2578
15d11f13
RH
25792003-06-10 Richard Henderson <rth@redhat.com>
2580
2581 * config/ia64/ia64.md (call_gp): Fix memory mode.
2582
f58d8c95
JW
25832003-06-10 James E Wilson <wilson@tuliptree.org>
2584
2585 PR target/8812
2586 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
2587 hard regs for reload_reg_used_at_all and reg_class_contents checks.
2588
5abfd1af
KH
25892003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2590
2591 * config/h8300/h8300.c (print_operand): Remove support for
2592 operand character 'b'.
2593 Add the AND case to operand character 'c'.
2594 * config/h8300/h8300.md (two anonymous patterns): Replace
2595 operand character 'b' with 'c'.
2596
ca895f7d
KH
25972003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2598
2599 * config/h8300/h8300.c (print_operand): Remove support for
2600 operand character 'u'.
2601
3b1b059c
NN
26022003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
2603
2604 * configure.in: Fix typo.
2605 * configure: Regenerate.
2606
e85f3dc8
LR
26072003-06-10 Loren James Rittle <ljrittle@acm.org>
2608
2609 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
2610 compilation guard.
2611
90534361
R
26122003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2613
2614 * sh-protos.h (function_symbol): Declare.
2615 * sh.c (expand_block_move, expand_ashiftrt): Use it.
2616 (sh_expand_prologue, sh_expand_epilogue): Likewise.
2617 (sh_initialize_trampoline): Likewise.
2618 (function_symbol): New function.
2619 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
2620 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
2621 (call_value_pop, shcompact_return_tramp): Likewise.
2622
2623 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
2624
2625 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
2626 target register.
2627
e2ce66a9
DD
26282003-06-10 DJ Delorie <dj@redhat.com>
2629
2630 * doc/md.texi (Machine Constraints): Document stormy's Z
2631 constraint.
2632
21c157b4
GK
26332003-06-10 Geoffrey Keating <geoffk@apple.com>
2634
2635 * except.c (call_site_base): Mark with GTY.
2636
e32bac5b
RE
26372003-06-10 Richard Earnshaw <rearnsha@arm.com>
2638
2639 * arm-proto.h: Convert to ISO C90 prototypes.
2640 * arm.c: Likewise.
2641
4db8f48a
R
26422003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2643
2644 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
2645
f80f73e1
SE
26462003-06-10 Steve Ellcey <sje@cup.hp.com>
2647
2648 * calls.c (expand_call): Convert structure_value_addr to Pmode if
2649 necessary.
2650
e076f71a
AH
26512003-06-10 Andrew Haley <aph@redhat.com>
2652
2653 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
2654 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
2655 (lhd_decl_ok_for_sibcall): New.
2656 * langhooks.c (lhd_decl_ok_for_sibcall): New.
2657 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
2658 * calls.c (expand_call): Check lang_hook before generating a
2659 sibcall.
2660
e7e09ad8
DD
26612003-06-10 DJ Delorie <dj@redhat.com>
2662
2663 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
2664 which matches (const_int 0) for addhi3.
2665 * config/stormy16/stormy16.md: Document known constraints.
2666 (addhi3): Handle adding zero.
2667
a398a822
KI
26682003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2669
2670 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
2671 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
2672 * config/m32r/m32r-protos.h: Prototype it.
2673
bb8f5288
JJ
26742003-06-10 Janis Johnson <janis187@us.ibm.com>
2675
2676 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
2677 common to rs6000 sysv targets.
2678 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
2679 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
2680
52f97a3b
NC
26812003-06-10 Nick Clifton <nickc@redhat.com>
2682
2683 * config.gcc: Add arm-wince-pe target.
2684 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
ed70c245 2685 Add comment about default apcs26 support.
52f97a3b
NC
2686 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
2687 multilib.
ed70c245 2688 (MULTILIB_DIRNAMES): Add 'apcs32'.
52f97a3b
NC
2689 * config/arm/t-wince-pe: New makefile fragment.
2690 * config/arm/wince-pe.h: New file. Overrides a few definitions
2691 in arm/pe.h
2692
9f0a7f9d
RS
26932003-06-10 Roger Sayle <roger@eyesopen.com>
2694
2695 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
2696 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
2697 when x is easily negated and f is sin, tan or atan.
2698 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
2699 sin(x) with flag_unsafe_math_optimizations.
2700 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
2701 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
2702
8936c82f
RS
27032003-06-10 Roger Sayle <roger@eyesopen.com>
2704
2705 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
2706 is a floating point type *and* we currently honor NaNs.
2707 (fold <NE_EXPR>): Likewise.
2708
d58b7c2d
MM
27092003-06-10 Mark Mitchell <mark@codesourcery.com>
2710
2711 PR c++/11131
2712 * tree-inline.c (inlinable_function_p): Call the language-specific
2713 hook early.
2714
c566f9bd
DT
27152003-06-09 David Taylor <dtaylor@emc.com>
2716
2717 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
2718 the f_res field.
2719
4665e56c
NN
27202003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
2721
619833ad
NN
2722 * configure.in: Remove references to host_truncate_target.
2723 * configure: Regenerate.
2724 * config.gcc: Remove references to truncate_target,
2725 host_truncate_target.
2726
4665e56c
NN
2727 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
2728 Replace "build_canonical" with build, "host_canonical" with host.
2729 * configure.in: Use GCC_TOPLEV_SUBDIRS.
2730 * aclocal.m4: Include ../config/acx.m4.
2731 * configure: Regenerate.
2732
27332003-06-09 David Taylor <dtaylor@emc.com>
64c2816f
DT
2734
2735 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
2736 bytes of padding in the __va_list_tag structure a name (reserved).
2737
1bfedcc8
JM
27382003-06-09 Jason Merrill <jason@redhat.com>
2739
2740 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
2741
4665e56c 27422003-06-09 Osku Salerma <osku@iki.fi>
75b2a93c
OS
2743
2744 * c-format.c (check_format_string, get_constant): New.
2745 (handle_format_attribute, handle_format_arg_attribute,
2746 decode_format_attr): Change to use above functions.
2747
71ed1fdb
RH
27482003-06-09 Richard Henderson <rth@redhat.com>
2749
ed70c245 2750 * stmt.c (expand_asm_operands): Re-word warning.
71ed1fdb 2751
528b8487
AP
27522003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
2753
2754 PR target/8787
2755 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
2756 if -masm=intel.
2757
00051260
JW
27582003-06-09 James E Wilson <wilson@tuliptree.org>
2759
2760 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
2761 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
2762 Add libgcc exception.
2763
8e8238f1
DE
27642003-06-09 David Edelsohn <edelsohn@gnu.org>
2765 Ayal Zaks <gcchaifa@us.ibm.com>
2766
2767 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
2768 (insvsi*): Add insert_word attribute.
2769 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
2770 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
2771 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
2772
2859471c
KH
27732003-06-09 Kazu Hirata <kazu@cs.umass.edu>
2774
2775 * fold-const.c (fold): Fix a comment typo.
2776
36f04556
NS
27772003-06-09 Nathan Sidwell <nathan@codesourcery.com>
2778
2779 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
2780 removed.
2781
86143cb4
R
27822003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
2783
2784 * sh.c (gen_block_redirect): Use locators.
2785
659bdc68
RE
27862003-06-09 Richard Earnshaw <rearnsha@arm.com>
2787
2788 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
2789 cast to int.
2790
4dd03b27
RS
27912003-06-09 Richard Sandiford <rsandifo@redhat.com>
2792
2793 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
2794 operators.
2795 * configure: Regenerated.
2796
f833ffd4
RS
27972003-06-09 Richard Sandiford <rsandifo@redhat.com>
2798 Alexandre Oliva <aoliva@redhat.com>
2799
2800 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
2801 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
2802 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
2803 n32/64 PIC.
2804 (MUST_SAVE_REGISTERS): Delete.
2805 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
2806 (machine_function): Add global_pointer field.
2807 (mips_classify_constant): Check for (const $gp) using pointer equality
2808 with pic_offset_table_rtx.
2809 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2810 (mips_restore_gp): Use current_function_outgoing_args_size.
2811 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
2812 GP_REG_FIRST + 28. Handle relocation strings that have
2813 more than one '('.
2814 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2815 (mips_global_pointer): New function.
2816 (mips_save_reg_p): New function, mostly split out from...
2817 (compute_frame_size): ...here. Remove handling of extra_size.
2818 Reclaim args_size if no variables depend on it. Don't treat gp
2819 as a special case: handle it in the main GPR loop.
2820 (mips_initial_elimination_offset): Fix comment.
2821 (save_restore_insns): Save every register in the GPR mask,
2822 removing distinction between mask and real_mask.
2823 (mips_output_function_prologue): Update .frame psuedo-op after
2824 the removal of extra_size. Move the SVR4 PIC stack allocation
2825 and cprestore instructions to mips_expand_prologue.
2826 (mips_gp_insn): New function.
2827 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
2828 the chosen global pointer. Handle SVR4 PIC stack allocation
2829 in the same way as other ABIs. Adjust varargs code accordingly.
2830 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
2831 to emit the loadgp sequence. Follow it with a loadgp_blockage
2832 if not using explicit relocs.
2833 (mips_output_function_epilogue): Reinstate the default gp register.
2834 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
2835 (mips16_optimize_gp): Likewise.
2836 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
2837 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
2838 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
2839 (loadgp): Remove.
2840 (loadgp_blockage, cprestore): New instructions.
2841 (builtin_setjmp_setup): Implement using emit_move_insn. Use
2842 pic_offset_table_rtx.
2843 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
2844 (builtin_longjmp): Use gen_raw_REG to force use of $28.
2845
32ad6a47
RS
28462003-06-09 Richard Sandiford <rsandifo@redhat.com>
2847
2848 * config/mips/mips-protos.h (mips_output_division): Declare.
2849 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
2850 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
2851 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
2852 (TARGET_CHECK_ZERO_DIV): New macro.
2853 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
2854 * config/mips/mips.c (mips_output_division): New function.
2855 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
2856 account when calculating the default length of a division.
2857 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
2858 Enable regardless of optimization level. Use mips_output_division.
2859 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
2860 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
2861 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
2862 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
2863 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
2864 umoddi3_internal): Remove.
2865
d334c3c1
RS
28662003-06-09 Richard Sandiford <rsandifo@redhat.com>
2867
2868 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
2869 (mips_sw_reg_names): Likewise.
2870 (mips_regno_to_class): Change hilo entry to NO_REGS.
2871 (hilo_operand): Use MD_REG_P.
2872 (extend_operator): New predicate.
2873 (override_options): Remove 'a' constraint.
2874 (mips_secondary_reload_class): Remove hilo handling. Also remove
2875 handling of (plus sp reg) reloads for mips16.
2876 (mips_register_move_cost): Remove hilo handling.
2877 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
2878 (MD_REG_LAST): Remove hilo from range.
2879 (HILO_REGNUM): Delete.
2880 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
2881 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
2882 (PREDICATE_CODES): Add entry for extend_operator.
2883 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
2884 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
2885 Remove constraints from multiplication define_expands. Remove
2886 clobbers from "decorative" define_expand patterns.
2887 (UNSPEC_HILO_DELAY): Delete.
2888 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
2889 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
2890 Adjust C code to just emit insns for !TARGET_64BIT.
2891 (mulsidi3_internal): Rename to mulsidi3_32bit.
2892 (mulsidi3_64bit): Use a "d" constraint for the destination.
2893 Use extend_operator so that the pattern can handle umulsidi3 as well.
2894 Split the instruction after reload.
2895 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
2896 (umulsidi3_internal): Rename to umulsidi3_32bit.
2897 (umulsidi3_64bit): Remove.
2898 (*smsac_di, *umsac_di): Line-wrap fixes.
2899 (udivsi3_internal): Don't allow operand 2 to be constant.
2900 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
2901 (movdi_internal2, movsi_internal): Remove hilo alternatives.
2902 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
2903
20db0e3c
RS
29042003-06-09 Richard Sandiford <rsandifo@redhat.com>
2905
2906 PR target/10913
2907 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
2908 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
2909 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
2910 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
2911 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
2912 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
2913 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
2914 asm_out_text_file with asm_out_file.
2915 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
2916 * config/mips/elf.h (TEXT_SECTION): Undefine.
2917 * config/mips/elf64.h (TEXT_SECION): Undefine.
2918 * config/mips/openbsd.h (TEXT_SECION): Undefine.
2919 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
2920 (override_options): Disable small-data optimizations unless using
2921 gas or explicit relocations.
2922 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
2923 iris6_asm_named_section, iris6_asm_file_start): Remove code for
2924 handling TARGET_FILE_SWITCHING.
2925 (copy_file_data): Move into TARGET_IRIX6 block.
2926
017e1b43
RH
29272003-06-08 Richard Henderson <rth@redhat.com>
2928
2929 * expr.h (EXPAND_MEMORY): New.
2930 * expr.c (expand_expr): Check it.
2931 * stmt.c (expand_asm_operands): Provide it when the constraint
2932 requires a memory. Warn for memory input constraints without
2933 a memory operand.
2934
f8950e17
KG
29352003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2936
2937 * varasm.c: Don't include c-tree.h.
2938
51d2dfa6
AJ
29392003-06-08 Andreas Jaeger <aj@suse.de>
2940
2941 * predict.h: Convert to ISO C90 prototypes.
2942 * predict.c: Likewise.
2943 * tree-dump.h: Likewise.
2944 * tree-dump.c: Likewise.
2945 * diagnostic.h: Likewise.
2946 * diagnostic.c: Likewise.
2947 * combine.c: Likewise.
2948
2949 * rtl.h: Convert prototypes of combine.c to ISO C90.
2950
0435312e
JH
2951Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
2952
2953 * cfglayout.c (insn_scope): New static function
2954 (block_locators_*, line_locators*, file_locators*): New static varrays.
2955 (scope_to_insns_initialize): Use them.
2956 (insn_line, insn_file): New functions.
2957 (scope_to_insns_finalize): Use insn_scope.
2958 (prologue_locator, epilogue_locator): New global variables.
2959 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
2960 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
2961 (emit_insn_after_scope, emit_insn_before_scope
2962 emit_jump_insn_after_scope, emit_jump_insn_before_scope
2963 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
2964 (emit_insn_after_setloc, emit_insn_before_setloc
2965 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
2966 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
2967 use locators.
2968 * final.c (notice_source_line): Use locators.
2969 (final_start_function): Set initial source file and line.
2970 (final_scan_insn): Use locators.
2971 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
2972 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
2973 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
2974 noce_process_if_block, find_cond_trap): Likewise.
2975 * integrate.c (copy_insn_list): Likewise.
2976 * jump.c (duplicate_loop_exit_test): LIkewise.
2977 * print-rtl.c (print_rtx): Print locators.
2978 * recog.c (peephole2_optimize): Likewise.
2979 * rtl.h (INSN_SCOPE): Remove.
2980 (emit_insn_after_scope, emit_insn_before_scope
2981 emit_jump_insn_after_scope, emit_jump_insn_before_scope
2982 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
2983 (emit_insn_after_setloc, emit_insn_before_setloc
2984 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
2985 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
2986 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
2987 * unroll.c (copy_loop_body): Use locators.
2988 * function.c (set_insn_locators): New function.
2989 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
2990
5d39821d
KH
29912003-06-08 Kazu Hirata <kazu@cs.umass.edu>
2992
2993 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
2994 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
2995 _fixsfdi _fixunssfdi.
2996 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
2997 popcounthi2.
2998 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
2999 * config/h8300/clzhi2.c: New.
3000 * config/h8300/ctzhi2.c: Likewise.
3001 * config/h8300/parityhi2.c: Likewise.
3002 * config/h8300/popcounthi2.c: Likewise.
3003
10e9fecc
JH
3004Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
3005
3006 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
3007 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
3008
3009 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
3010 (dump_bb): New based on old dump_bb in cfgrtl.c
3011 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
3012 * cfghooks.h (cfgh_verify_flow_info): Return status.
3013 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
3014 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
3015 (dump_bb): Remove generic parts.
3016 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
3017 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
3018
35399bdc
NB
30192003-06-08 Neil Booth <neil@daikokuya.co.uk>
3020
3021 * Makefile.in: Rename options.c and options.h to c-options.c and
3022 c-options.h.
3023 (OBJS): Remove options.o.
3024 * c-opts.c: Don'tInclude c-options.h instead of options.h.
3025 * opts.c: Don't include options.h.
3026 (find_opt): Can't use enum opt_code or N_OPTS.
3027 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
3028 * opts.sh: ... here.
3029
56f0c0d8 30302003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
528b8487 3031 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8eb6a092
EB
3032
3033 PR pch/9830
3034 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
3035 if HAVE_MINCORE is defined.
3036 (MAP_FAILED): Define if not defined.
3037 (gt_pch_save): Test against MAP_FAILED.
3038 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
3039 the mapping address to the preferred base after checking it
3040 is possible to do so. Test against MAP_FAILED.
3041 * configure.in: Test for the presence of mincore in libc.
3042 * config.in: Regenerate.
3043 * configure: Regenerate.
3044
797c8a92
RH
30452003-06-07 Richard Henderson <rth@redhat.com>
3046
3047 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
3048 conditional compilation guard.
3049
77173bbe
KH
30502003-06-08 Kazu Hirata <kazu@cs.umass.edu>
3051
3052 * optabs.c (expand_abs): Set result_unsignedp to 1 if
3053 flag_trav is zero.
3054
2288bdbb
RH
30552003-06-07 Richard Henderson <rth@redhat.com>
3056
528b8487 3057 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
2288bdbb 3058
1722c2c8
RH
30592003-06-07 Richard Henderson <rth@redhat.com>
3060
3061 * basic-block.h (EDGE_SIBCALL): New.
3062 (EDGE_ALL_FLAGS): Update.
3063 * cfg.c (dump_edge_info): Add sibcall name.
3064 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
3065 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
3066
44de936e
AJ
30672003-06-07 Andreas Jaeger <aj@suse.de>
3068
5145a02e
AJ
3069 * mklibgcc.in (lib2funcs): Remove _exit.
3070 * libgcc2.c: Remove L_exit.
3071 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
3072
3073 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3074
3075 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3076
20c1dc5e
AJ
3077 * ggc.h: Convert to ISO C90 prototypes.
3078 * ggc-none.c: Likewise.
3079 * ggc-common.c: Likewise.
3080 * ggc-page.c: Likewise.
3081 * ggc-simple.c: Likewise.
3082
44de936e
AJ
3083 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
3084
3085 * system.h: Poison INIT_SECTION_PREAMBLE.
3086
a5fe455b
ZW
30872003-06-07 Zack Weinberg <zack@codesourcery.com>
3088
3089 * config.gcc (with_cpu handling): Translate sparc64 in
3090 $machine to --with-cpu=v9.
3091 * config/alpha/alpha.c
3092 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
3093 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
3094
3095 * target.h: New hook asm_out.file_end.
3096 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
ed446835 3097 * toplev.c (compile_file): Use targetm.asm_out.file_end.
a5fe455b
ZW
3098 * system.h: Poison ASM_FILE_END.
3099 * varasm.c (file_end_indicate_exec_stack): New.
3100 * output.h: Prototype it.
3101 * doc/tm.texi: Document TARGET_ASM_FILE_END and
3102 file_end_indicate_exec_stack. Delete references to attasm.h.
3103
3104 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
3105 (ASM_FILE_END): Delete; move code...
3106 * config/darwin.c (darwin_file_end): Here; new function.
3107 * config/darwin-protos.h: Prototype it.
3108 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
3109 rename unicosmk_file_end.
3110 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
3111 * config/arm/arm.c (aof_file_end): ... here; new static function.
3112 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
3113 Make aof_dump_imports and aof_dump_pic_table static.
3114 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
3115 Set TARGET_ASM_FILE_END to avr_file_end.
3116 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
3117 Set TARGET_ASM_FILE_END to c4x_file_end.
3118 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
3119 make static. Take no arguments. Set TARGET_ASM_FILE_END to
3120 h8300_file_end.
3121 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
3122 * config/i370/i370.c (i370_file_end): ... here; new static function.
3123 Set TARGET_ASM_FILE_END to i370_file_end.
3124 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
3125 Take no arguments. Call file_end_indicate_exec_stack if
3126 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
3127 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3128 Define NEED_INDICATE_EXEC_STACK to 0.
3129 * config/i386/linux.h, config/i386/linux64.h: Redefine
3130 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
3131 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
3132 i386_pe_file_end. Take no arguments. Use ix86_file_end.
3133 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
3134 ia64_hpux_file_end, make static. Take no arguments.
3135 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
3136 commands_in_prologues, commands_in_epilogues): Delete.
3137 (function_epilogue): Update to match.
3138 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
3139 make static. Take no arguments.
3140 (iris6_asm_file_end): Rename iris6_file_end, make static, use
3141 mips_file_end, take no arguments.
3142 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
3143 appropriate.
3144 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
3145 make static, take no arguments. Set TARGET_ASM_FILE_END to
3146 mmix_file_end.
3147 * config/pa/pa.c (output_deferred_plabels): Make static, take
3148 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
3149 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
3150 (ASM_FILE_END): Delete; move code...
3151 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
3152 new static function.
3153
3154 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
3155 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
3156 Don't set ASM_FILE_END.
3157 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
3158 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
3159 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
3160 file_end_indicate_exec_stack; don't set ASM_FILE_END.
3161 * config/alpha/unicosmk.h, config/i386/cygming.h
3162 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3163 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
3164 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
3165 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
3166 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
3167 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
3168
da2d4c01
JH
3169Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
3170
3171 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
3172 specified.
3173
8c560c80
JH
3174Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
3175
3176 * Makefile.in (stageprofile_build): Kill redundant target.
3177 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
3178
e62b6ea1
AJ
31792003-06-07 Andreas Jaeger <aj@suse.de>
3180
3181 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
3182
3183 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
3184 * config/dsp16xx/dsp16xx.h: Likewise.
3185 * config/i386/i386.h: Likewise.
3186 * config/ip2k/ip2k.h: Likewise.
3187
2772ef3e
NB
31882003-06-07 Neil Booth <neil@daikokuya.co.uk>
3189
3190 * Makefile.in (OJBS, c-opts.o): Update.
3191 (c-options.c, c-options.h): Rename options.h and options.c.
3192 (options.h): Rename options_.h.
3193 (opts.o): New.
3194 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
3195 (c_common_init_options): Update prototype.
3196 * c-lang.c (c_init_options): Update prototype.
3197 (LANG_HOOKS_HANDLE_OPTION): Override.
3198 (LANG_HOOKS_DECODE_OPTION): Drop.
3199 * c-opts.c: Include opts.h and options.h instead of c-options.h
3200 and c-options.c.
3201 (lang_flags): Move to file scope.
3202 (find_opt, c_common_decode_option): Remove.
3203 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
3204 CL_REJECT_NEGATIVE): Move to opts.h.
3205 (missing_arg): Update prototype.
3206 (c_common_init_options): Update for new prototype.
3207 (c_common_handle_options): Filenames are passed as N_OPTS.
3208 * hooks.c (hook_int_void_0): New.
3209 * hooks.h (hook_int_void_0): New.
3210 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
3211 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
3212 (LANG_HOOKS_INITIALIZER): Update.
3213 * langhooks.h (init_options): Update.
3214 (handle_option): New.
3215 * opts.c, opts.h: New files.
3216 * opts.sh: Update c file to include opts.h and options.h.
3217 * toplev.c: Include opts.h; change options.h to options_.h.
3218 (parse_options_and_default_flags): Get lang_mask, use
3219 handle_option for language-specific handling.
3220 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
3221 (LANG_HOOKS_HANDLE_OPTION): Override.
3222 (objc_init_options): Update.
3223
3743ea05
MK
32242003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
3225 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
3226
f6749ed8 3227 PR other/7031
3743ea05
MK
3228 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
3229 gcov.
3230
90e145da
KC
32312003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
3232
3233 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
3234 section names.
3235 * configure: Regenerate.
3236
ffbc65c3
AM
32372003-06-07 Alan Modra <amodra@bigpond.net.au>
3238
3239 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
3240
8a5db2b4
JW
32412003-06-06 James E Wilson <wilson@tuliptree.org>
3242
3243 PR inline-asm/10890
3244 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
3245 different in fields.
3246
6a1b7268
NN
32472003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
3248
3249 * configure.in: Make $(target_subdir) correspond with top level usage.
3250 * Makefile.in: Likewise.
3251 * configure: Regenerate.
3252
78cabff8
JDA
32532003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3254
3255 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
3256 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
3257 unsigned HOST_WIDE_INT.
3258 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
3259 Likewise.
3260 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
3261 Likewise.
3262
67b1fbb9
KG
32632003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3264
3265 * doc/install.texi (Prerequisites): New section documenting
3266 tools and packages necessary prior to building and/or
3267 modifying GCC.
3268 * doc/install.texi2html: Also generate prerequisites.html.
3269
3a11ec8b
RE
32702003-06-06 Richard Earnshaw <rearnsha@arm.com>
3271
3272 PR target/11052
3273 * ifcvt.c (noce_process_if_block): Fail if the destination has
3274 side-effects.
3275
7dc8b126
JM
32762003-06-06 Jason Merrill <jason@redhat.com>
3277
3278 * stmt.c (resolve_asm_operand_names): Rename from
3279 resolve_operand_names. No longer static. Avoid needless copying.
3280 Don't build array of constraints.
3281 (expand_asm_operands): Build it here.
3282 * tree.h: Declare resolve_asm_operand_names.
3283
3284 * stmt.c (expand_decl): Put artificial vars into registers even
3285 when not optimizing, and don't mark the regs as user vars.
3286
1c20913c
R
32872003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
3288
3289 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
3290 of the generated register.
3291
09c36669
DJ
32922003-06-06 Daniel Jacobowitz <drow@mvista.com>
3293
3294 * config.gcc: Add a missing sparc64 case.
3295
744f6f09
JJ
32962003-06-06 Jakub Jelinek <jakub@redhat.com>
3297
3298 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
3299 the .hidden assembly stubs.
3300
30fb3231
L
33012003-06-06 H.J. Lu <hongjiu.lu@intel.com>
3302
3303 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
3304 and x86_64-*-*.
3305
3306 * config/i386/mmintrin.h: Update version and add alternate
3307 intrinsic names.
3308 * config/i386/xmmintrin.h: Likewise.
3309
3310 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
3311 intrinsics to ...
3312 * config/i386/emmintrin.h: Here. New file.
3313
07bae5ad
RS
33142003-06-06 Roger Sayle <roger@eyesopen.com>
3315
3316 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
3317 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
3318 when the ABS_EXPR (fabs or abs) is not required.
e62b6ea1 3319 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
07bae5ad
RS
3320 always nonnegative from fold to here. Additionally, cabs and fabs
3321 are always non-negative, and pow and atan are non-negative if
3322 their first argument is non-negative.
3323
3324 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
3325 Evaluate cabs of a constant at compile-time. Convert cabs of a
3326 non-complex argument into fabs. Convert cabs(z) into
3327 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
3328 -funsafe-math-optimizations or -ffast-math.
3329 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
3330 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
3331
295e823c
JH
3332Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
3333
3334 * sourcebuild.texi (Front End Directory): Document new hooks.
3335
9ee634e3
JH
3336Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
3337
3338 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
07bae5ad
RS
3339 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
3340 stack frames.
9ee634e3
JH
3341 (pro_epilogue_adjust_stack_rex64_2): New pattern
3342
3343Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
3344 Pop Sebastian
3345 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3346
3347 * cfghooks.h, cfghooks.c: New files.
3348 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
3349 (OBJS): Add cfghooks.o.
3350 (cfghooks.o): New rule.
3351 * basic-block.h (split_edge): Rename to rtl_split_edge.
3352 (verify_flow_info): Rename to rtl_verify_flow_info.
3353 (cfghooks.h): Included here.
3354 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
3355 (verify_flow_info): Renamed rtl_verify_flow_info.
3356 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
3357
3358 * basic-block.h (split_block, split_edge, flow_delete_block,
3359 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
3360 (flow_delete_block_noexpunge): Return void.
3361 * cfg.c (verify_flow_info): New function.
3362 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
3363 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
3364 Use delete_block.
3365 * cfglayout.c (function_footer): Rename to...
3366 (cfg_layout_function_footer): ... this variable
3367 (unlink_insn_chain): Make global.
3368 (fixup_reorder_chain, record_effective_endpoints): Update.
3369 (cleanup_unconditional_jumps): Use delete_block.
3370 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
3371 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
3372 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
3373 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
3374 (cfg_layout_function_footer): Declare.
3375 * cfgloopmanip (split_loop_bb): Do not update RBI.
3376 (remove_bbs): Use delete_block.
3377 (loop_reidrect_edge, loop_delete_branch_edge): Use
3378 redirect_edge_and_branch.
3379 (create_preheader): Use split_block and redirect_edge_and_branch_force.
3380 (split_edge_with): Likewise.
3381 * cfgrtl.c: Include cfglayout.h
3382 (split_edge): Rename to ...
3383 (rtl_split_edge) ... this one; make local.
3384 (redirect_edge_and_branch): Rename to ...
3385 (rtl_redirect_edge_and_branch) ... this one; make local.
3386 (redirect_edge_and_branch_force): Rename to ...
3387 (rtl_redirect_edge_and_branch_force) ... this one; make local.
3388 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
3389 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
3390 cfglayout.c; update to directly call RTL counterparts.
3391 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
3392 * ifcvt.c (find_cond_trap): Use delete_block.
3393 (find_if_case_1): Use delete_block.
3394 (find_if_case_2): Use delete_block.
3395 * rtl.h (unlink_insn_chain): Declare.
3396 * toplev.c (rtl_reigster_cfg_hooks): New.
3397
7654db1b
RH
33982003-06-05 Richard Henderson <rth@redhat.com>
3399
3400 * recog.c (peephole2_optimize): Revert last change.
3401
c1dbd774
RH
34022003-06-05 Richard Henderson <rth@redhat.com>
3403
3404 * recog.c (peephole2_optimize): Don't split block unless
3405 can_throw_internal.
3406
a35abc3c
KH
34072003-06-06 Kazu Hirata <kazu@cs.umass.edu>
3408
c1dbd774
RH
3409 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
3410 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
a35abc3c 3411
a5f3dd66
KC
34122003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
3413
3414 PR optimization/4490
3415 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
3416 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
3417 documentation to accurately reflect what these options do.
3418
25119b21
KK
34192003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
3420
3421 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
3422 (ENDFILE_SPEC): Redefine to handle -pie.
3423
3d818632
PE
34242003-06-05 Phil Edwards <phil@jaj.com>
3425
3426 * Makefile.in (qmtest-g++): Use target_alias, not target.
3427
640da953
PB
34282003-06-05 Per Bothner <pbothner@apple.com>
3429
3430 * toplev.c (push_srcloc): Simplify behavior to save current location
3431 and set current location to parameters.
3432 (pop_srcloc): Simplify semantics.
3433 (lang_dependent_init): Remove now-useless initial push_srcloc.
3434
7d445f15
RH
34352003-05-06 Richard Henderson <rth@redhat.com>
3436
e62b6ea1 3437 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
7d445f15
RH
3438 language-specific tree codes.
3439
eebfb2aa
JDA
34402003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3441
3442 PR middle-end/9986
3443 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
3444 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
3445
8f231b5d
JH
3446Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
3447
3448 * install.tex: Document profiledbootstrap.
3449
295e823c
JH
3450 * configure.in: Add support for lang.stageprofile and
3451 lang.stagefeedback
8f231b5d
JH
3452 * Makefile.in (clean, distclean): Kill new stages
3453 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
3454 (STAGE2_FLAGS_TO_PASS): ... this one.
3455 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
3456 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
3457 (stageprofile_build, stageprofile_copy, stagefeedback_build,
3458 stagefeedback_copy): New.
e62b6ea1 3459 (restageprofile, restagefeedback, stageprofile-start,
8f231b5d
JH
3460 stageprofile, stagefeedback-start): Likewise.
3461
842a431a
DM
34622003-06-05 David Miller <davem@redhat.com>
3463 Richard Henderson <rth@redhat.com>
3464
3465 * optabs.c (HAVE_conditional_trap): Provide default.
3466 (gen_conditional_trap): Likewise.
3467 (init_optabs): Merge init_traps.
3468 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
3469
83588a9d
JH
3470Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
3471
3472 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
e62b6ea1 3473 is REG for nonzero_bits (REG) == 8.
83588a9d 3474
6262f66a
JH
3475Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
3476
3477 * i386.md (align): Fix warning; clarify what to do when no p2align
3478 is available.
3479
3a30516d
NC
34802003-06-05 Nick Clifton <nickc@redhat.com>
3481
3482 * config.gcc (m32r-elf): Revert previous delta.
a5fe455b
ZW
3483 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
3484 multilibs. Remove m32rx specific version.
3485 (crtfini.o): Likewise.
3486 (EXTRA_MULTILIB_PARTS): Define.
e62b6ea1 3487
53e5f173
EB
34882003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
3489
3490 * doc/md.texi (Machine Constraints): Correct the meaning of
3491 constraints related to floating-point registers on SPARC.
3492
c6cc7e13 34932003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
a5fe455b 3494 Paolo Bonzini <bonzini@gnu.org>
c6cc7e13
EB
3495
3496 PR target/10663
3497 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
3498 assembler and linker output to /dev/null.
3499 Use a 'sed' construct instead of 'grep -A1'.
3500 * configure: Regenerate.
3501
74dc3e94
RH
35022003-06-04 Richard Henderson <rth@redhat.com>
3503
3504 * config/i386/i386.c (struct ix86_address): Add seg.
3505 (no_seg_address_operand): New.
3506 (ix86_decompose_address): Restructure PLUS loop. Accept one
3507 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
3508 to test for a regnum, not stack_pointer_rtx.
3509 (ix86_address_cost): Reduce cost if non-default segment.
3510 (legitimate_address_p): Remove UNSPEC_TP check.
3511 (get_thread_pointer): Add to_reg argument. Don't represent
3512 the thread pointer as a memory load.
3513 (legitimize_tls_address): Split out of ...
3514 (legitimize_address): ... here.
3515 (print_operand_address): Handle parts.seg.
3516 (ix86_expand_move): Use legitimize_tls_address.
3517 (ix86_rtx_costs): Handle UNSPEC_TP.
3518 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
3519 (TARGET_TLS_DIRECT_SEG_REFS): New.
3520 (TARGET_SWITCHES): Add tls-direct-seg-refs.
3521 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
3522 (PREDICATE_CODES): Add no_seg_address_operand.
3523 * config/i386/i386.md (lea_1): Use it.
3524 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
3525 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
3526 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
3527 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
3528 * doc/invoke.texi: Add -mtls-direct-seg-refs.
3529
d7068b3d
MM
35302003-06-04 Mark Mitchell <mark@codesourcery.com>
3531
3532 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
3533 (QMTEST_GPP_TESTS): Use "g++" by default.
3534 (stamp-qmtest): Tweak database creation.
3535 (QMTEST_DIR/context): Update context file format.
3536 (qmtest-g++): Tweak command-line.
3537
6b6600bd
KG
35382003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3539
3540 * Makefile.in (varasm.o): Don't set -Wno-error.
3541 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
3542
1072ec3f
ZW
35432003-06-04 Zack Weinberg <zack@codesourcery.com>
3544
3545 PR bootstrap/3163
3546 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
3547 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
3548 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
3549 and AC_CHECK_FUNCS lists, respectively. Use
3550 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
3551 AC_FUNC_MMAP_FILE.
3552 * configure, config.in: Regenerate.
3553
c53dddc2
KG
35542003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3555
3556 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
3557 * arm.c (arm_output_function_prologue): Fix format specifiers.
3558 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3559 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
3560 HOST_WIDE_INT_PRINT_DEC.
3561 * vax.c (vax_output_function_prologue): Fix format specifiers.
3562
7b9c108f
RH
35632003-06-04 Richard Henderson <rth@redhat.com>
3564
1072ec3f
ZW
3565 * cse.c (find_best_addr): Consider binary operators even if second
3566 argument is not CONST_INT.
7b9c108f 3567
c48ec590
ZD
35682003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3569
3570 * doc/invoke.texi (max-cse-path-length): Document.
3571
9ccf9681
RH
35722003-06-04 Richard Henderson <rth@redhat.com>
3573
3574 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
3575
9dce39a4
AP
35762003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
3577
3578 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
3579 Remove semi-colon at the end of the expression.
3580
ad929cd5
KG
35812003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3582
1072ec3f 3583 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
ad929cd5
KG
3584 * i370.h (mvs_function_name_length): Likewise.
3585 * i960.h (CONSTANT_ALIGNMENT): Likewise.
3586 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3587 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3588 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3589 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
3590 variable.
3591
7816bea0
DJ
35922003-06-04 Daniel Jacobowitz <drow@mvista.com>
3593
3594 * config.gcc: Reorganize --with-cpu logic. Set
3595 configure_default_options according to the default CPU, --with-cpu,
3596 --with-arch, --with-tune, --with-schedule, --with-abi, and
3597 --with-float. Check for legal values of various options.
3598 * configure.in: Define configure_default_options in configargs.h.
3599 * configure: Regenerated.
3600 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
3601 (TARGET_DEFAULT_FLOAT_P): New macros.
3602 * gcc.c (do_option_spec): New function.
3603 (struct default_spec, option_default_specs): New.
3604 (main): Call do_option_spec.
3605 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
3606 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
3607 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
3608
3609 * doc/install.texi: Update --with-cpu documentation. Mention
3610 --with-arch, --with-schedule, --with-tune, --with-abi, and
3611 --with-float.
3612 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
3613
83079d89
DJ
36142003-06-04 Daniel Jacobowitz <drow@mvista.com>
3615
3616 * config.gcc: Only process --with-cpu logic in the third pass.
3617
73f09c99
DJ
36182003-06-04 Daniel Jacobowitz <drow@mvista.com>
3619
3620 * config.gcc: Reorganize --with-cpu section. Remove an
3621 obsolete comment about the default CPU for x86-64. Fix
3622 a typo for the ep9312. Update the list of supported PowerPC
3623 CPUs. Support a limited set of new --with-cpu options
3624 for i386.
3625
165848da
AH
36262003-06-04 Aldy Hernandez <aldyh@redhat.com>
3627
1072ec3f
ZW
3628 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
3629 complex numbers <= 32 bits into two registers.
165848da 3630
74eda121
KG
36312003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3632
3633 * alpha.c (print_operand_address): Fix format specifier warnings.
3634 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3635 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3636 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3637 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
3638 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
1072ec3f 3639 ASM_OUTPUT_SKIP): Likewise.
74eda121
KG
3640 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3641 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3642 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
3643 Likewise.
3644 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3645 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
3646 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
3647 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3648 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
3649 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3650 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3651 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3652 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3653 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
3654
e3091a5f
R
36552003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
3656
3657 * c-decl.c (c_init_decl_processing): Clear input_file_name
3658 while building common nodes.
3659 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
3660 Don't add working directory for strings like <built-in> .
3661
f0483418
DE
36622003-06-04 David Edelsohn <edelsohn@gnu.org>
3663
3664 * doc/install.texi (*-ibm-aix*): Native as and ld required
3665 to bootstrap on AIX 5L.
3666
0bfa5f65
RH
36672003-06-04 Richard Henderson <rth@redhat.com>
3668
1072ec3f
ZW
3669 * c-common.c (handle_cleanup_attribute): New.
3670 (c_common_attributes): Add it.
3671 * c-decl.c (finish_decl): Honor the cleanup attribute.
3672 * doc/extend.texi (Variable Attributes): Document it.
0bfa5f65 3673
1072ec3f
ZW
3674 * unwind-c.c: New file.
3675 * Makefile.in (LIB2ADDEH): Add it.
3676 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
3677 config/ia64/t-ia64: Likewise.
0bfa5f65 3678
3edc56a9
JJ
36792003-06-04 Jakub Jelinek <jakub@redhat.com>
3680
3681 * function.c (trampolines_created): New variable.
3682 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
3683 * function.h (trampolines_created): Add.
3684 * config/s390/linux.h (ASM_FILE_END): Define.
3685 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
3686 * config/m68k/linux.h (ASM_FILE_END): Define.
3687 * config/rs6000/linux.h (ASM_FILE_END): Define.
3688 * config/rs6000/linux64.h (ASM_FILE_END): Define.
3689 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
3690 * config/sparc/linux.h (ASM_FILE_END): Define.
3691 * config/sparc/linux64.h (ASM_FILE_END): Define.
3692 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
3693 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
3694 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
3695
d2c49530
JH
3696Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
3697
3698 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
3699 (ix86_reorg): Use it.
3700 * i386.md (align): New insn pattern.
3701
05a0e2af
KG
37022003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3703
3704 * toplev.c (rest_of_type_compilation): Fix typo.
3705
9739c90c
JJ
37062003-06-04 Jakub Jelinek <jakub@redhat.com>
3707 Alan Modra <amodra@bigpond.net.au>
3708
3709 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
3710 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
3711 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
3712 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
3713 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
3714 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
3715 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
3716 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
3717
3718 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
3719 Pass it to $gcc_cv_as.
3720 * configure: Rebuilt.
3721
3722 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
3723 (print_operand): Allow TARGET_AIX to be non-constant.
3724 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
3725 Define unconditionally.
3726 (rs6000_elf_declare_function_name): New function.
3727 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
3728 non-constant.
3729 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
3730 to 1.
3731 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
3732 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
3733 is defined.
3734 (TARGET_AIX): Define to 1 if TARGET_64BIT.
3735 (PROCESSOR_DEFAULT): Remove.
3736 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
3737 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
3738 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
3739 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
3740 -m32 and -m64.
3741 (MULTILIB_DEFAULTS): Define.
3742 (SUBSUBTARGET_EXTRA_SPECS): Define.
3743 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
3744 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
3745 (TARGET_NO_TOC): Remove.
3746 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
3747 TARGET_PROTOTYPE): Define to 0.
3748 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
3749 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
3750 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
3751 if !TARGET_64BIT.
3752 (USER_LABEL_PREFIX): Remove.
3753 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
3754 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
3755 if TARGET_64BIT.
3756 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
3757 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
3758 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
3759 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
3760 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
3761 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
3762 TARGET_64BIT.
3763 (RS6000_CALL_GLUE): Likewise.
3764 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
3765 RESTORE_FP_SUFFIX): Likewise.
3766 (ASM_DECLARE_FUNCTION_NAME): Remove.
3767 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
3768 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
3769 name if TARGET_64BIT.
3770 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
3771 !TARGET_64BIT.
3772 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
3773 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
3774 (DRAFT_V4_STRUCT_RET): Define.
3775 (SIGNAL_FRAMESIZE): New enum value.
3776 (MD_FALLBACK_FRAME_STATE_FOR): Define.
3777 * config/rs6000/default64.h: New file.
3778 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
3779 options.
3780 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
3781 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
3782 if !TARGET_64BIT.
3783 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
3784 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
3785 function.
3786 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
3787 (TARGET_OS_CPP_BUILTINS): Use it.
3788 (CPP_SYSV_SPEC): Remove.
3789 (CPP_SPEC): Remove cpp_sysv.
3790 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
3791 Add SUBSUBTARGET_EXTRA_SPECS.
3792 (SUBSUBTARGET_EXTRA_SPECS): Define.
3793 * config/rs6000/biarch64.h: New file.
3794 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
3795 New prototype.
3796 * config/rs6000/x-linux64: New file.
3797 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
3798 multilibs.
3799 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
3800 * config/rs6000/eabi-cn.asm: Likewise.
3801 * config/rs6000/tramp.asm: Likewise.
3802 * config/rs6000/sol-ci.asm: Likewise.
3803 * config/rs6000/sol-cn.asm: Likewise.
3804 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
3805 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
3806 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
3807 _CALL_AIXDESC section.
3808 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
3809 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
3810 or default32.
3811
150b72ed
DJ
38122003-06-04 Daniel Jacobowitz <drow@mvista.com>
3813
3814 * config.gcc: Revert accidentally committed ARM changes.
3815
385a9348
RS
38162003-06-04 Roger Sayle <roger@eyesopen.com>
3817
3818 * builtins.c (dconstpi, dconste): New mathematical constants.
3819 (init_builtin_dconsts): New function to initialize dconstpi
3820 and dconste.
3821 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
3822 compile time with -ffast-math when x is an integer constant.
3823 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
3824 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
3825
8c6a8269
RS
38262003-06-04 Roger Sayle <roger@eyesopen.com>
3827
3828 * calls.c (expand_call): Avoid calling pure or const functions
3829 when the result is ignored (or void) and none of the arguments
3830 are volatile. Move warning diagnostic earlier in function.
3831
e2d8bb29
AJ
38322003-06-04 Andreas Jaeger <aj@suse.de>
3833
3834 * system.h: Do not poison TDESC_SECTION_ASM_OP,
3835 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
3836
b1721339
KG
38372003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3838
3839 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
3840 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
3841 handle %ll, optimize regular character case.
3842
9bf8cfbf
ZD
38432003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3844
3845 * Makefile.in (cse.o): Add params.h dependency.
3846 * cse.c: Include params.h.
3847 (PATHLENGTH): Removed.
3848 (struct cse_basic_block_data): Make path array dynamic.
8c6a8269
RS
3849 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
3850 of PATHLENGTH.
9bf8cfbf
ZD
3851 (cse_main, cse_basic_block): Allocate path array.
3852 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
3853
253c7a00
JH
3854Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
3855
3856 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
3857 * i386.md (UNSPEC_REP): New constant.
3858 (return_internal_long): New pattern.
3859
01d3224a
EB
38602003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3861
3862 PR optimization/11018
3863 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
3864 consistently to decide whether the scratch register is really
3865 required.
3866
ef0139b1
EB
38672003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3868
3869 PR optimization/10876
3870 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
3871 new 'O' constraint for constant 4096.
3872 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
3873 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
3874 Do not transform into MINUS insn for constant 4096.
3875 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
3876 for constant 4096 as third operand.
3877 (addsi3 expander): Remove.
3878 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
3879 new alternative for constant 4096 as third operand.
3880 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
3881 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
3882 operand.
3883 (subsi3 expander): Remove.
3884 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
3885 constant 4096 as third operand.
3886 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
3887 the SPARC port.
3888
18de8a98
CD
38892003-06-03 Chris Demetriou <cgd@broadcom.com>
3890
3891 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
3892
a816c981
AJ
38932003-06-04 Andreas Jaeger <aj@suse.de>
3894
f691dc3b
AJ
3895 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
3896
3897 * config/i386/i386.c (ix86_expand_prologue): Do not use
3898 SUBTARGET_PROLOGUE.
3899
3900 * system.h: Poision SUBTARGET_PROLOGUE.
3901
3902 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
3903
3904 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
3905 dependend code.
3906
3907 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
3908
3909 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
3910 INSN_CACHE_LINE_WIDTH.
3911
3912 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
3913 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
3914 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
3915
3916 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
3917 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1072ec3f 3918
f691dc3b
AJ
3919 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
3920 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
3921 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
3922 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
3923 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
3924 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
3925
3926 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
3927 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
3928 DBX_WORKING_DIRECTORY.
3929
3930 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
3931 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
3932
3933 * config/frv/frv-protos.h: Remove unused const_section
3934 declaration.
3935 * config/vax/vax-protos.h: Likewise.
3936
3937 * output.h: Remove CONST_SECTION_ASM_OP usage.
3938
3939 * system.h: Poison CONST_SECTION_ASM_OP.
3940
74764b84
AJ
3941 * crtstuff.c (__do_global_dtors_aux): Remove usage of
3942 CRT_GET_RFIB_TEXT.
f691dc3b
AJ
3943 (frame_dummy): Likewise.
3944 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
3945 * system.h: Poison CRT_GET_RFIB_TEXT.
1072ec3f 3946
6d3a8e3c
AJ
3947 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
3948
a816c981
AJ
3949 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
3950 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
3951 (recognized_function): Likewise.
3952 (read_scan_file): Likewise.
3953
df8ca70e
RS
39542003-06-03 Roger Sayle <roger@eyesopen.com>
3955
3956 * optabs.c (expand_binop): Optimize complex multiplication for
3957 the case of squaring a complex argument.
3958
894207cf
RS
39592003-06-03 Roger Sayle <roger@eyesopen.com>
3960
3961 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
3962 non-volatile operands of binary operations.
3963 (prepare_cmp_insn): Likewise.
3964
1063147c
RS
39652003-06-03 Roger Sayle <roger@eyesopen.com>
3966
3967 * varasm.c (force_const_mem): Handle alignment of constants not
3968 representable as a type in the front-end language.
3969
a7a7d7ac
KH
39702003-06-03 Kazu Hirata <kazu@cs.umass.edu>
3971
3972 * flow.c (initialize_uninitialized_subregs): Use
3973 emit_move_insn instead of emitting a hardcoded move.
3974
2ef0a555
RH
39752003-06-03 Richard Henderson <rth@redhat.com>
3976
3977 * optabs.c (expand_abs_nojump): Split out from ...
3978 (expand_abs): ... here.
3979 * optabs.h (expand_abs_nojump): Declare.
3980 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
3981 * Makefile.in (ifcvt.o): Depend on optabs.h.
3982
b0c242c0
AM
39832003-06-03 Alan Modra <amodra@bigpond.net.au>
3984
3985 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
3986
2121a768
JT
39872003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
3988
3989 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
3990 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
3991 to yes.
3992 * configure.in: Allow default_use_cxa_atexit to determine the
3993 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
3994 disabled.
3995 * configure: Regenerate.
3996
6f6a3861
DR
39972003-06-03 Douglas B Rupp <rupp@gnat.com>
3998
ccb36e10
DR
3999 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
4000 * doc/gcc.texi: Remove vms.texi section.
4001 * doc/vms.texi: Remove obsolete file.
6f6a3861 4002
dc06db20
R
40032003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
4004
4005 * configure.in (inhibit_libc): Don't define when configuring
4006 with --with-newlib --with-headers.
4007 * configure: Regenerate.
4008
4009 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
4010
6d07784a
RO
40112003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4012
4013 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
4014 IRIX 6 without GNU ld.
4015 * configure: Regenerate.
4016
a79b3dc7
RS
40172003-06-03 Roger Sayle <roger@eyesopen.com>
4018
4019 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
4020 of a complex number rather than invoke mov_optab directly.
4021
8d6b2775
KH
40222003-06-03 Kazu Hirata <kazu@cs.umass.edu>
4023
4024 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
4025 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
4026
48ff03c7
NN
40272003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
4028
4029 * config/i386/x86-64.h: Remove two target-independent comments;
4030 replace "GNU CC" with "GCC".
4031
b09d2739
AG
40322003-06-03 Anthony Green <green@redhat.com>
4033
4034 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
4035
075ec276
RS
40362003-06-03 Roger Sayle <roger@eyesopen.com>
4037
4038 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
4039 New builtins representing ISO C99's cabs, cabsf and cabsl.
4040 * builtins.c (expand_builtin_fabs): New function.
4041 (expand_builtin_cabs): New function.
4042 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
4043 using expand_builtin_fabs and expand_builtin_cabs respectively.
4044
4045 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
4046
ded9bf77
AH
40472003-06-03 Aldy Hernandez <aldyh@redhat.com>
4048
1072ec3f 4049 * function.c (assign_parms): Split complex arguments.
ded9bf77 4050
1072ec3f 4051 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
ded9bf77 4052
1072ec3f
ZW
4053 * expr.h (SPLIT_COMPLEX_ARGS): Define.
4054 (split_complex_types): Protoize.
4055 (split_complex_values): Protoize.
ded9bf77 4056
1072ec3f
ZW
4057 * calls.c (expand_call): Split complex arguments on architectures
4058 that require it.
4059 (split_complex_values): New.
4060 (split_complex_types): New.
ded9bf77 4061
1072ec3f
ZW
4062 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
4063 (rs6000_function_value): Handle complex values on AIX.
4064 (rs6000_complex_function_value): New.
ded9bf77 4065
1072ec3f 4066 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
ded9bf77 4067
1072ec3f
ZW
4068 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
4069 (SPLIT_COMPLEX_ARGS): New.
ded9bf77 4070
24a4dd31
JJ
40712003-06-03 Jakub Jelinek <jakub@redhat.com>
4072
4073 * configure.in (HAVE_LD_PIE): Check for ld -pie.
4074 * config.in: Rebuilt.
4075 * configure: Rebuilt.
4076 * toplev.c (flag_pie, flag_shlib): New variables.
4077 (f_options): Add -fpie and -fPIE.
4078 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
4079 Set flag_shlib if flag_pic and not -fpie/-fPIE.
4080 * flags.h (flag_pic, flag_shlib): Add.
4081 * varasm.c (default_binds_local_p): Use flag_shlib instead of
4082 flag_pic.
4083 * gcc.c (LINK_PIE_SPEC): Define.
4084 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
4085 (option_map): Add --pie -> -pie mapping.
4086 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
4087 and -fPIE the same way as -fPIC.
4088 * config/openbsd.h (ASM_SPEC): Likewise.
4089 * config/frv/frv.h (ASM_SPEC): Likewise.
4090 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
4091 * config/arm/semi.h (ASM_SPEC): Likewise.
4092 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4093 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
4094 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
4095 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
4096 * config/m68k/linux.h (CPP_SPEC): Likewise.
4097 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
4098 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
4099 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
4100 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
4101 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
4102 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
4103 * config/netbsd-aout.h (ASM_SPEC): Likewise.
4104 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
4105 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
4106 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
4107 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
4108 * config/sparc/sparc.h (ASM_SPEC): Likewise.
4109 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
4110 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
4111 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
4112 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
4113 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
4114 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
4115 Simplify.
4116 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4117 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4118 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4119 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4120 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4121 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4122 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4123 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
4124
8fd3cf4e
JJ
41252003-06-03 Jakub Jelinek <jakub@redhat.com>
4126
4127 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
4128 != 0 handling. Pass 0 to store_by_pieces.
4129 (expand_builtin_mempcpy): Add endp argument. Don't call
4130 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
4131 directly. If ignoring result, only do expand_call.
4132 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
4133 otherwise.
4134 (expand_builtin_strncpy, expand_builtin_memset): Adjust
4135 store_by_pices callers.
4136 (expand_builtin): Adjust expand_builtin_memcpy and
4137 expand_builtin_mempcpy callers.
4138 * expr.c (can_move_by_pieces): New function.
4139 (move_by_pieces): Add endp argument, return to resp. memory at end
4140 or one byte earlier depending on endp.
4141 (store_by_pieces): Likewise.
4142 (emit_block_move): Adjust call to move_by_pieces.
4143 (emit_push_insn): Adjust move_by_pieces caller.
4144 * expr.h (can_move_by_pieces): New prototype.
4145 (store_by_pieces): Adjust prototypes.
4146 * rtl.h (move_by_pieces): Adjust prototype.
4147 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
4148 caller.
4149
cc6a602b
BE
41502003-06-03 Ben Elliston <bje@wasabisystems.com>
4151
4152 * doc/md.texi (Processor pipeline description): Improve wording.
4153
f75d3e11
NB
41542003-06-03 Neil Booth <neil@daikokuya.co.uk>
4155
4156 * c-opts.c (c_common_handle_option): New, pulled out of
4157 c_common_decode_option. Substitute uses of argv.
4158 (c_common_decode_option): Broken into two.
4159
4c2da7f2
RS
41602003-06-02 Roger Sayle <roger@eyesopen.com>
4161 Zack Weinberg <zack@codesourcery.com>
4162
4163 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
4164 test of TREE_CONSTANT_POOL_ADDRESS_P.
4165
e91e4f6c
KG
41662003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4167
4168 * mips.c: Don't include output.h twice.
4169 * stormy16.c: Likewise.
4170 * xtensa.c: Likewise.
4171 * output.h: Protect against multiple inclusion.
4172
b38a5244
R
41732003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
4174
4175 * sh.h (OLD_ARG_MODE): New macro.
4176 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
4177 (FUNCTION_ARG_1): Break out of:
4178 (FUNCTION_ARG). Use OLD_ARG_MODE.
4179
cc6a602b 41802003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
250315f7 4181
1072ec3f 4182 * gcc/config.gcc Add support multilib parts for m32rx processor.
250315f7 4183
e7aba4cd
KG
41842003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4185
4186 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
4187 (mostlyclean): Delete c-options.c and c-options.h.
4188
c83857ff
NB
41892003-06-02 Neil Booth <neil@daikokuya.co.uk>
4190
4191 * c-opts.c (CL_REJECT_NEGATIVE): New.
4192 (c_common_decode_option): Update to use it.
4193 * c.opt: Update documentation; use RejectNegative.
4194 * opts.sh: Handle RejectNegative.
4195
c770ac2b
ZW
41962003-06-01 Zack Weinberg <zack@codesourcery.com>
4197
4198 * ggc-page.c (init_ggc): Give better diagnostics on failure to
4199 open /dev/zero.
4200 * toplev.c (crash_signal): Reset handling for received signal
4201 to SIG_DFL.
4202
103fc15d
BE
42032003-06-02 Ben Elliston <bje@wasabisystems.com>
4204
4205 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
d48b7f2a 4206 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
103fc15d
BE
4207 (arm_use_dfa_pipeline_interface): Implement.
4208 * config/arm/arm.md (arm): New automaton.
4209 (write_buf): Remove function units; new cpu unit.
4210 (write_blockage): Remove function units; new cpu unit.
4211 (core): Remove function units; new cpu unit.
4212 (r_mem_f_wbuf): New instruction reservation.
4213 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
4214 (store1_ldsched, store2, store3, store4): Likewise.
4215 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
4216 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
4217 (multi_cycle, single_cycle): Likewise.
4218 * config/arm/fpa.md (armfp): New automaton.
4219 (fpa): Remove function units; new cpu unit.
4220 (fpa_mem): Remove function unit; new cpu unit.
4221 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
4222 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
4223
3ae1d4c2
KG
42242003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4225
4226 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
4227 * c-format.c (enum format_type): Add asm_fprintf_format_type.
4228 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
4229 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
4230 (format_types_orig): Renamed from format_types. Add new data.
4231 (format_types): Declare as pointer.
4232 (handle_format_attribute): Move later in file so we have all
4233 necessary declarations. Add section to capture HOST_WIDE_INT.
4234 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
4235 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
4236
fd66c4e3
AJ
42372003-06-01 Andreas Jaeger <aj@suse.de>
4238
8842a5e5
AJ
4239 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
4240 ROUND_TYPE_SIZE_UNIT.
4241
4242 * stor-layout.c (finalize_record_size): Remove usages of
4243 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
4244 (finalize_type_size): Likewise.
4245 (layout_type): Likewise.
4246
4247 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
4248
e0945432
AJ
4249 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
4250
fd66c4e3
AJ
4251 * config/d30v/d30v.h: Remove text copied from the manual.
4252
14ca333d
RS
42532003-06-01 Roger Sayle <roger@eyesopen.com>
4254 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4255 Geoffrey Keating <geoffk@apple.com>
4256
4257 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
4258 constants as condition code values.
4259
0cc261bc 42602003-06-01 DJ Delorie <dj@redhat.com>
a7f36da3
DD
4261
4262 * cppmacro.c (warn_of_redefinition): Handle cases where the two
4263 definitions have different numbers of tokens.
4264
8e2b6930
AJ
42652003-06-01 Andreas Jaeger <aj@suse.de>
4266
4267 * gen-protos.c (main): Readd unused attribute for argc.
4268
e11a4ae5
NB
42692003-06-01 Neil Booth <neil@daikokuya.co.uk>
4270
4271 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
4272 * c.opt: End in blank line.
4273 * opts.sh: Take AWK from environment if available; use C locale.
4274
6fc9e67e
AS
42752003-06-01 Andreas Schwab <schwab@suse.de>
4276
4277 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
4278
fa10d367
AJ
42792003-06-01 Andreas Jaeger <aj@suse.de>
4280
4281 * gen-protos.c (main): Revert patch to check for argument.
4282
a3033f34
EB
42832003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
4284
4285 PR target/11044
4286 * config/i386/i386.md (length attribute): Set length to 4
4287 for instructions of type "fcmp".
4288
cef2bd3e
AJ
42892003-06-01 Andreas Jaeger <aj@suse.de>
4290
c770ac2b 4291 * toplev.c: Use ISO C90 prototypes.
e25a75e6 4292
c770ac2b 4293 * toplev.h: Use ISO C90 prototypes.
e25a75e6 4294
3d7aafde
AJ
4295 * genrecog.c: Use ISO C90 prototypes.
4296 (nodes_identical): Correct declaration to match prototype.
4297 (maybe_both_true): Likewise.
4298 (merge_trees): Likewise.
4299
4300 * genpeep.c (gen_peephole): Remove #if 0 code.
4301 Use ISO C90 prototypes.
4302
4303 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
4304 Remove #if 0'ed function simplify_by_alternatives.
4305 (optimize_attrs): Remove #if 0'ed code.
4306 Remove ^L.
4307 Use ISO C90 prototypes.
4308 (make_canonical): Remove #if 0'ed code.
4309 (convert_const_symbol_ref): Remove #if 0'ed function.
4310
4311 * gen-protos.c (main): Check for argument.
4312
4313 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
4314
4315 * params.h: Use ISO C90 prototypes.
4316 * params.c: Likewise.
4317 * intl.c: Likewise.
4318 * intl.h: Likewise.
4319 * lists.c: Likewise.
4320 * errors.c: Likewise.
4321 * errors.h: Likewise.
4322 * gencodes.c: Likewise.
4323 * genpreds.c: Likewise.
4324 * genattr.c: Likewise.
4325 * gen-protos.c: Likewise.
4326 * genflags.c: Likewise
4327 * genconditions.c: Likewise.
4328 * genautomata.c: Likewise.
4329 * gencheck.c: Likewise.
4330 * genconfig.c: Likewise.
4331 * genconstants.c: Likewise.
4332 * genemit.c: Likewise.
4333 * genextract.c: Likewise.
4334 * gengenrtl.c: Likewise.
4335 * gengtype.c: Likewise.
4336 * gengtype.h: Likewise.
4337 * genopinit.c: Likewise.
4338 * genoutput.c: Likewise.
4339 * gensupport.c: Likewise.
4340 * gensupport.h: Likewise.
4341
cef2bd3e
AJ
4342 * sdbout.h: Use ISO C90 prototypes.
4343
4344 * sdbout.c (CONTIN): Removed empty macro.
4345 (sdbout_one_type): Remove CONTIN usages.
4346 Remove ^Ls.
4347 (tag_of_ru_type): Remove #if 0'ed function.
4348 (sdbout_symbol): Remove #if 0'ed code.
4349 (sdbout_one_type): Remove a #if 1.
4350 (sdbout_one_type): Remove #if 0'ed code.
4351 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
4352 Remove PARAMS, use ISO C90 prototypes for all functions.
4353
43194145
JZ
43542003-06-01 Josef Zlomek <zlomekj@suse.cz>
4355
4356 * rtl.def (CONST_DOUBLE): Update comment.
4357
cea8d816
NB
43582003-06-01 Neil Booth <neil@daikokuya.co.uk>
4359
4360 * opts.sh: Remove path from sort.
4361
28636c6e
AH
43622003-06-01 Aldy Hernandez <aldyh@redhat.com>
4363
965f3913 4364 PR/9680
c770ac2b
ZW
4365 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
4366 TARGET_SPE for SPE_VECTOR_MODE.
28636c6e 4367
ddc9542b
AH
43682003-05-31 Aldy Hernandez <aldyh@redhat.com>
4369
c770ac2b
ZW
4370 * toplev.c (botch): Remove.
4371 (do_abort): Remove.
4372 (set_Wunused): Comment.
4373 (set_Wextra): Comment.
4374 Remove ^L's.
4375 (rest_of_compilation): Factor out common code into functions.
4376 (rest_of_handle_inlining): New.
4377 (rest_of_handle_ssa): New.
4378 (rest_of_handle_cse): New.
4379 (rest_of_handle_gcse): New.
4380 (rest_of_handle_loop_optimize): New.
4381 (rest_of_handle_jump_bypass): New.
4382 (rest_of_handle_sibling_calls): New.
4383 (rest_of_handle_null_pointer): New.
4384 (rest_of_handle_addresof): New.
4385 (rest_of_handle_flow): New.
4386 (rest_of_handle_branch_prob): New.
4387 (rest_of_handle_if_conversion): New.
4388 (rest_of_handle_tracer): New.
4389 (rest_of_handle_loop2): New.
4390 (rest_of_handle_cse2): New.
4391 (rest_of_handle_life): New.
4392 (rest_of_handle_combine): New.
4393 (rest_of_handle_if_after_combine): New.
4394 (rest_of_handle_regmove): New.
4395 (rest_of_handle_sched): New.
4396 (rest_of_handle_old_regalloc): New.
4397 (rest_of_handle_new_regalloc): New.
4398 (rest_of_handle_regrename): New.
4399 (rest_of_handle_reorder_blocks): New.
4400 (rest_of_handle_sched2): New.
4401 (rest_of_handle_new_regalloc): New.
4402 (rest_of_handle_old_regalloc): New.
4403 (rest_of_handle_regrename): New.
4404 (rest_of_handle_reorder_blocks): New.
4405 (rest_of_handle_stack_regs): New.
4406 (rest_of_handle_machine_reorg): New.
4407 (rest_of_handle_delay_slots): New.
4408 (rest_of_handle_final): New.
4409
4410 * toplev.h (botch): Remove prototype.
4411 (do_abort): Same.
ddc9542b 4412
fef3106c
NB
44132003-05-31 Neil Booth <neil@daikokuya.co.uk>
4414
4415 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
4416 * c-opts.c: Include c-options.h and c-options.c.
4417 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
4418 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
4419 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
4420 OPT, opt_comp): Remove.
4421 (missing_arg, c_common_init_options, c_common_decode_option,
4422 write_langs): Update for macro redefinitions and enumeration
4423 name changes.
4424 * c.opt, opts.sh: New files.
4425 * doc/passes.texi: Update.
4426
0d569849
AJ
44272003-05-31 Andreas Jaeger <aj@suse.de>
4428
4429 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
4430 usage.
4431
4432 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
4433
4434 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
4435
4436 * system.h: Poison ALLOCATE_TRAMPOLINE.
4437
4438 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
4439 * system.h: Poison HANDLE_PRAGMA.
4440
e0ce2ed2
KH
44412003-05-31 Kazu Hirata <kazu@cs.umass.edu>
4442
4443 * doc/invoke.texi: Update dump file names.
4444
2ec29bbf
KG
44452003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4446
4447 * c-format.c (format_length_info, format_char_info,
4448 format_flag_spec, format_flag_pair, format_kind_info):
4449 De-const-ify structure members.
4450
4fa26a60
RS
44512003-05-31 Roger Sayle <roger@eyesopen.com>
4452
4453 * flags.h (flag_wrapv): New flag controlling overflow semantics.
4454 * toplev.c (flag_wrapv): Declare the variable with default false.
4455 (lang_independent_options): New option "-fwrapv" to set the above.
4456
0d569849 4457 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
4fa26a60
RS
4458 as x, when signed arithmetic overflow wraps around.
4459 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
4460 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
4461 overflow when flag_wrapv is true.
4462
4463 * doc/invoke.texi: Document new -fwrapv command line option.
4464 * doc/c-tree.texi: Mention that the overflow semantics of
4465 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
4466 upon both flag_wrapv and flag_trapv.
4467
5fb57097
EB
44682003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
4469
4470 * doc/install.texi (mips-sgi-irix5): Add missing
4471 HTML <hr> marker.
4472
8a69f99f
EB
44732003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
4474
4475 * doc/md.texi (Machine Constraints): Document
4476 missing SPARC constraints.
4477
68e4d4c5
EB
44782003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
4479
4480 * doc/md.texi (Automaton pipeline description): Use
4481 "type" instead of "cpu" as the attribute in the examples.
4482
e5bcbd89
SS
44832003-05-30 Stan Shebs <shebs@apple.com>
4484
4485 * system.h: Poison OBJC_PROLOGUE.
4486
b1d673be
RS
44872003-05-30 Roger Sayle <roger@eyesopen.com>
4488
4489 * emit-rtl.c (gen_complex_constant_part): New function for getting
4490 the constant real or imaginary part of a complex constant.
4491 (gen_realpart): Use it.
4492 (gen_imagpart): Likewise.
4493
65d2d764
KH
44942003-05-30 Kazu Hirata <kazu@cs.umass.edu>
4495
4496 * doc/invoke.texi: Fix typos.
4497 * doc/rtl.texi: Likewise.
4498
5c29d24c
DD
44992003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
4500
4501 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
4502 mode.
4503 * config/h8300/crtn.asm: Likewise.
4504 * config/h8300/lib1funcs.asm: Likewise.
4505 * config/h8300/h8300.c (asm_file_start): Likewise.
4506 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
4507 h8300snelf emulations for normal mode.
4508 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
4509 emulations for normal mode.
4510
6d7d3112
DD
45112003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
4512
4513 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
4514 true if TARGET_NORMAL_MODE.
4515
0c19a26f
RS
45162003-05-30 Roger Sayle <roger@eyesopen.com>
4517
4518 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
4519 making a substitution.
4520 (dead_libcall_p): If directly replacing a libcall with a
4521 constant value produces an invalid instruction, also try forcing
4522 the constant into the constant pool.
4523 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
4524 obvious that the source is a constant.
4525 (compress_float_constant): Use set_unique_reg_note to place
4526 REG_EQUAL notes on instructions.
4527
9a38893a
EC
45282003-05-30 Eric Christopher <echristo@redhat.com>
4529
4530 * config/mips/mips.c (extern_list): Add GTY marker.
4531 (extern_head): Separate out definition. Add marker.
4532 (mips_output_external): Use ggc_alloc for extern_list
4533 allocation.
4534 (mips_output_external_libcall): Ditto.
4535
3e98a119
FW
45362003-05-30 Florian Weimer <fw@deneb.enyo.de>
4537
4538 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
4539 later.
4540
ace49484
KG
45412003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4542
4543 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
4544 warnings.
4545 (PRINT_OPERAND): Likewise.
4546
3bd4f460
RO
45472003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4548
4549 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
4550 -mdebug/-no-mdebug switches ...
4551 (MDEBUG_ASM_SPEC): ... here.
4552 Use only with gas.
4553 (EXTRA_SPECS): Initialize mdebug_asm_spec.
4554
8fdf7668
MK
45552003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
4556
4557 * gthr-gnat.c: Remove #undef UNUSED.
4558 (__gnat_default_lock, __gnat_default_unlock): Prototype.
4559 (__gnat_task_lock, __gnat_task_unlock): Make declarations
4560 prototypes.
4561 (__gnat_install_locks): Convert declaration to ISO C90, make
4562 parameter declarations prototypes, and remove blank line.
4563 * gthr-gnat.h (__gnat_install_locks): Make parameter
4564 declarations prototypes.
4565
a7db751a
JM
45662003-05-29 Jason Merrill <jason@redhat.com>
4567
4568 * Makefile.in (unstrap): Remove stage_last after make unstage1.
4569
af7387ca
RS
45702003-05-29 Roger Sayle <roger@eyesopen.com>
4571
4572 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
4573
d90f9882
RS
45742003-05-29 Roger Sayle <roger@eyesopen.com>
4575 Kaveh Ghazi <ghazi@caip.rutgers.edu>
4576
4577 PR bootstrap/10169
4578 * mips-tfile.c (main): Use getopt_long instead of getopt.
4579 Add new command line option --version to display version.
4580 Treat --verbose like -v to report a single line version.
4581 (options): New global variable for getopt_long.
4582 * mips-tdump.c (main): Use getopt_long instead of getopt.
4583 New command line options -v, --version and -verbose to display
4584 the program version number (to match mips-tfile's behavior).
4585 (options): New global variable for getopt_long.
4586
4587 * gcov.c (options): Zero-terminate getopt_long array.
4588 * gcov-dump.c (options): Likewise.
4589
4590 * Makefile.in (mips-tdump.o): Add dependency on version.h.
4591
1c36b2f9
SS
45922003-05-29 Stan Shebs <shebs@apple.com>
4593
4594 Remove OBJC_PROLOGUE everywhere.
4595 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
4596 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
4597 * config/d30v/d30v.h: Similarly.
4598 * config/ip2k/ip2k.h: Similarly.
4599 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
4600
0b82d59c
RS
46012003-05-29 Roger Sayle <roger@eyesopen.com>
4602
4603 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
4604 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
4605 (expand_unreachable_stmt): Expand unreachable while statements
4606 using genrtl_do_stmt_1.
4607
c8520e56
RS
46082003-05-29 Richard Sandiford <rsandifo@redhat.com>
4609
4610 * config/mips/mips-protos.h (mips_output_load_label): Declare.
4611 * config/mips/mips.c (mips_output_load_label): New function.
4612 (mips_output_conditional_branch): Use it.
4613 * config/mips/mips.md (jump): And here.
4614
633e4eb4
BW
46152003-05-28 Bob Wilson <bob.wilson@acm.org>
4616
4617 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
4618 (xtensa_split_operand_pair): New proto.
4619 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
4620 (smalloffset_double_mem_p): Delete.
4621 (gen_float_relational, printx, print_operand, xtensa_va_arg):
4622 Fix whitespace.
4623 (xtensa_split_operand_pair): New.
4624 (xtensa_dbx_register_number): Fix formatting.
4625 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
4626 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
4627 instead of splitting them into single-word moves. Remove unnecessary
4628 checks for reload_in_progress and reload_completed.
4629 (movdi_internal, movdf_internal): Change to post-reload split patterns.
4630 Add constraints to allow constant operands.
4631 (movsf_internal): Allow CONST_INT operands.
4632
02c67fd1
DS
46332003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
4634
358bdeee
DS
4635 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
4636 fragment i386/x-mingw32.
02c67fd1
DS
4637 * config/i386/x-mingw32: New file. Make local_includedir
4638 relative to EXEC_PREFIX.
4639
0bcbfabb
AL
46402003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
4641
4642 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
4643 (MD_STARTFILE_PREFIX): Define.
4644
291aac59
DC
46452003-05-27 Denis Chertykov <denisc@overta.ru>
4646
4647 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
4648 VOIDmode.
4649 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
4650 call of cselib_invalidate_regno.
4651
0d2a303e
DJ
46522003-05-28 Daniel Jacobowitz <drow@mvista.com>
4653
4654 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
4655 -lthread to -lpthread.
4656
6bf1ffe1 46572003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
c770ac2b
ZW
4658 Bruce Korb <bkorb@gnu.org>
4659 Arno Klaassen <arno@heho.snv.jussieu.fr>
6bf1ffe1
EB
4660
4661 * fixinc/inclhack.def: Add missing declaration of getpagesize()
4662 to unistd.h on Solaris 2.5.1.
4663 Fix prototype of recv() and send() in sys/socket.h on
4664 Solaris 2.5.1 and 2.6.
4665 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
4666 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
4667 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
4668 * fixinc/fixincl.x: Regenerate.
4669
066f50a9
JM
46702003-05-27 Jason Merrill <jason@redhat.com>
4671
4672 * tree.c (expr_first, expr_length): New fns.
4673 * tree.h: Declare them.
4674
4675 * tree.c (iterative_hash_expr): Hash commutative expressions
4676 consistently.
4677
6bf1ffe1 46782003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7a6cdb44
RK
4679
4680 * tree.h (contains_placeholder_p): Now returns bool.
4681 (CONTAINS_PLACEHOLDER_P): New macro.
4682 (type_contains_placeholder_p): New function.
4683 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
4684 (contains_placeholder_p): Now returns bool.
4685 Rework to use CONTAINS_PLACEHOLDER_P macro.
4686 (type_contains_placeholder_p): New function.
4687 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
4688 type_contains_placeholder_p.
9a38893a 4689 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
7a6cdb44
RK
4690 Use CONTAINS_PLACEHOLDER_P macro.
4691 * builtins.c (fold_builtin): Likewise.
4692 * calls.c (initialize_argument_information): Likewise.
4693 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
4694 * explow.c (expr_size): Likewise.
4695 * expr.c (store_constructor, get_inner_reference): Likewise.
4696 * function.c (assign_parms): Likewise.
4697 * stor-layout.c (variable_size): Likewise.
4698
d576d043
GDR
46992003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4700
4701 * diagnostic.h (output_verbatim, verbatim): Remove printf
9a38893a 4702 attribute.
d576d043 4703
65878937
GP
47042003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4705
4706 * doc/contrib.texi (Contributors): Update Kean Johnston.
4707
e033a023
DE
47082003-05-24 David Edelsohn <edelsohn@gnu.org>
4709
4710 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
4711
4dedfc09
NN
47122003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
4713
4714 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
4715 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
4716 Replace "GNU CC" with "GCC".
4717
9589325f
MK
47182003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
4719
4720 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
4721 intermediate computation.
4722
5299653d
EC
47232003-05-23 Eric Christopher <echristo@redhat.com>
4724
4725 * config/mips/mips.md (clzsi, clzdi): New patterns.
4726
0de12fcc
GK
47272003-05-23 Geoffrey Keating <geoffk@apple.com>
4728
4729 * gcc.c (default_compilers): Use -o to specify preprocessor's output
4730 file. Make -no-integrated-cpp work when building PCH files.
4731 * objc/lang-specs.h: Likewise.
4732
6e6a1681
NN
47332003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
4734
4735 * fixinc/Makefile.in: Correct description.
5299653d 4736 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
6e6a1681
NN
4737 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
4738 fixinc/genfixes: Replace "GNU CC" with "GCC".
4739
29f523be
RS
47402003-05-23 Roger Sayle <roger@eyesopen.com>
4741
65f48a0a 4742 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
29f523be
RS
4743 builtin functions (and their __builtin_* variants).
4744 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
4745 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
4746 optimizing.
4747
4748 * doc/extend.texi: Document new tan and atan builtins, and
4749 their float and long double variants.
4750
27a701c2
JT
47512003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
4752
4753 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
4754 __sparcv9 in the TARGET_ARCH64 case.
4755
25f57a0e
JH
4756Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
4757
4758 * i386.c (ix86_reorg): Calls are also jumps.
4759
839844be
R
47602003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
4761
4762 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
4763 note containing an EXPR_LIST, process all the arguments.
4764
97242ddc
JH
4765Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
4766 Andreas Jaeger <aj@suse.de>
4767
4768 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
4769 do not use assertion.
4770
973a43f6
MS
47712003-05-23 Mike Stump <mrs@apple.com>
4772
4773 * tlink.c (scan_linker_output): Add support for darwin linker, as it
4774 emits unresolved symbols one per line, consuming the entire line.
4775
a27b2b71
LH
47762003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
4777 Zack Weinberg <zack@codesourcery.com>
4778
4779 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
4780 * config/m68k/m68k.c (m68k_output_function_prologue):
4781 Remove code under #if NEED_PROBE.
4782 * config/m68k/m68k.h: Don't define NEED_PROBE.
4783 * config/m68k/m68k.md: Remove "probe" insn.
4784 * doc/md.texi: Remove documentation of "probe" pattern.
4785
d3971161
DN
47862003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
4787
4788 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
4789
0dc7ee3c
EB
47902003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4791
4792 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
4793 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
4794
18c2511c
RS
47952003-05-22 Roger Sayle <roger@eyesopen.com>
4796
4797 * real.c (real_maxval): New function to return the largest finite
4798 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
4799 * real.h (real_maxval): Prototype here.
4800 * fold-const.c (fold_inf_compare): Transform comparisons against
4801 +-Infinity into comparisons against DBL_MAX (or equivalent).
4802
5f875c8f
MS
48032003-05-22 Mike Stump <mrs@apple.com>
4804
4805 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
4806 default.
4807
d892f288
DD
48082003-05-22 DJ Delorie <dj@redhat.com>
4809
4810 * calls.c (expand_call): If the arg block is going to grow
4811 downward, we need argblock to point to the top of the block,
4812 not the bottom.
4813
29495994
RK
48142003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4815
4816 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
4817
f59700f9
RK
4818 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
4819 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
4820
1f85a612
KG
48212003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4822
4823 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
4824 * m68k.c: Likewise.
4825 * m68k.h: Likewise.
4826
5ded58d0
ZW
48272003-05-22 Zack Weinberg <zack@codesourcery.com>
4828
4829 PR other/2873
4830 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
4831 expressions to prevent triggering on recent curses.h,
4832 linux/nls.h, or X11/Xlib.h.
4833 (stdio_va_list): Add _G_va_list to bypass pattern.
4834 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
4835 * fixinc/fixincl.x: Regenerate.
4836
04213688
RB
48372003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
4838
4839 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
5ded58d0 4840 switches when --target-help option is specified.
04213688 4841
fdbf04c8
EB
48422003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
4843
4844 PR bootstrap/10805
4845 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
4846 failure with Sun assembler 5.0 Alpha 03/27/98.
4847
d3d2e8f0 48482003-05-21 Loren James Rittle <ljrittle@acm.org>
d45d08f7
LR
4849
4850 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
1490fbc1 4851 to match system compiler convention.
d45d08f7 4852
81888fcd
DS
48532003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
4854
6356f892 4855 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for nonzero
81888fcd
DS
4856 value, not just if defined.
4857 Update copyright year.
4858
f48758e4
JDA
48592003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4860
4861 PR target/6428
4862 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
4863 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
4864 option is used without `-static'.
4865 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
4866 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
4867
7a29f483
BW
48682003-05-21 Bob Wilson <bob.wilson@acm.org>
4869
4870 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
4871 TARGET_SERIALIZE_VOLATILE): Delete.
4872 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
4873 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
4874 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
4875 "-mno-serialize-volatile".
4876 * config/xtensa/xtensa.c (print_operand): Remove checks of
4877 TARGET_SERIALIZE_VOLATILE.
4878 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
4879 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
4880 "-mserialize-volatile" and "-mno-serialize-volatile" options.
4881
b190f239
NS
48822003-05-21 Nathan Sidwell <nathan@codesourcery.com>
4883
4884 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
4885 (nested_function): Likewise.
4886 (notype_nested_function): Likewise.
4887
278566a2
NC
48882003-05-21 Nick Clifton <nickc@redhat.com>
4889
4890 * config/stormy16/stormy-abi: Update overflow type for
4891 R_XSTORMY16_16 reloc.
4892
66804d9e
NS
48932003-05-21 Nathan Sidwell <nathan@codesourcery.com>
4894
4895 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
4896 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
4897 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
4898 * print-tree.c (print_node): Remove ambient-boundedness.
4899 * tree.h (tree_common): Remove bounded_flag.
4900 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
4901 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
4902 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
4903 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
4904 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
4905 Remove.
4906 (TYPE_QUALS): Remove BOUNDED.
4907 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
4908 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
4909 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
4910 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
4911 VA_LIST_POINTER_DEPTH): Remove.
4912 (struct tree_type): Remove pointer_depth.
4913
58228df6
KG
49142003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4915
4916 * c-pretty-print.c (pp_c_integer_literal): Use
4917 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
4918
bc6688b4
RS
49192003-05-20 Roger Sayle <roger@eyesopen.com>
4920 Kazu Hirata <kazu@cs.umass.edu>
4921 Joern Rennecke <joern.rennecke@superh.com>
4922
4923 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
4924 setcc and jump, if they exist. If substituted instruction
4925 fails to validate, store current effort in a REG_EQUAL note.
4926 (cprop_insn): Don't attempt further substitutions if the
4927 current instruction has been deleted.
4928 (local_cprop_pass): Likewise.
4929
4930 * jump.c (redirect_jump): Also update REG_EQUAL note, if
4931 one is attached to the jump instruction.
4932 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
4933
16e31964
DS
49342003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
4935
4936 PR c++/9738
4937 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
4938 even if not first.
4939
1e29b8d7
KG
49402003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4941
4942 * genautomata.c (output_description, output_automaton_units,
4943 output_state_arcs): Add missing specifiers.
4944
6c2e8d1c
BW
49452003-05-20 Bob Wilson <bob.wilson@acm.org>
4946
4947 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
4948 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
4949 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
4950 (nsau): Rename to do_nsau. Provide alternate version for use when
4951 the NSAU instruction is available.
4952 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
4953 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
4954 * config/xtensa/xtensa-config.h: Update comments to match binutils.
4955 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
4956 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
4957 (TARGET_ABS, TARGET_ADDX): Define.
4958 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
4959 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
4960 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
4961 *subx8): Set predicate condition to TARGET_ADDX.
4962 (abssi2): Set predicate condition to TARGET_ABS.
4963 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
4964 "-maddx", and "-mno-addx" options.
4965 (Xtensa Options): Likewise. Also tag some opcode names with @code.
4966
5d34c8e9
KR
49672003-05-20 Kevin Ryde <user42@zip.com.au>
4968 Wolfgang Bangerth <bangerth@dealii.org>
4969
4970 PR/10355
4971 * doc/extend.texi: Put a warning into the documentation
4972 of attribute regparm.
4973
1cd69e2b
JM
49742003-05-20 Jason Merrill <jason@redhat.com>
4975
4976 * tree.c (expr_last): New fn.
4977 * tree.h: Declare it.
4978 * objc/objc-act (expr_last): Rename to objc_expr_last.
4979
a60a9553
R
49802003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
4981
4982 * sh.c (sh_register_move_cost): Add clase for moving between
4983 FP registers and MAC registers.
4984
12df72e8
JDA
49852003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
4986
4987 * pa/milli64.S ($$mulI): Fix typo.
4988
07b7c979
MK
49892003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
4990
4991 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
4992 (nonlocal_set_p): Remove initial blank line.
4993 * dwarf2out.c (simple_type_size_in_bits): Likewise.
4994 * et-forest.c (et_forest_create): Likewise.
4995 * explow.c (stabilize): Likewise.
4996 * fix-header.c (write_lbrac): Likewise.
4997 * graph.c (start_fct, node_data): Likewise.
4998 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
4999 * rtlanal.c (global_reg_mentioned_p): Likewise.
5000 * tree.c (bit_position): Likewise.
5001
fb9fc9f9
AO
50022003-05-19 Alexandre Oliva <aoliva@redhat.com>
5003
5004 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
5005 -lthread to -lpthread.
5006
42ad6c9e
NB
50072003-05-19 Neil Booth <neil@daikokuya.co.uk>
5008
5009 * c-opts.c (c_common_decode_option): Don't accept dollars
5010 as identifier characters in assembly.
5011 * doc/cpp.texi: Document this.
5012
4b6fe6b6
SA
50132003-05-19 Seth Arnold <sarnold@wirex.com>
5014 Aldy Hernandez <aldyh@redhat.com>
5015
5ded58d0
ZW
5016 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
5017 vrsave_size twice.
4b6fe6b6 5018
ce376beb
AH
50192003-05-19 Aldy Hernandez <aldyh@redhat.com>
5020
5ded58d0 5021 * doc/tm.texi (function_arg): Fix typo.
ce376beb 5022
a01fff59
MA
50232003-05-19 Matt Austern <austern@apple.com>
5024
5025 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
5026 * c-common.h (warn_invalid_offsetof): Declare.
5027 * c-common.c (warn_invalid_offsetof): Define.
5028 * doc/invoke.texi: Document -Winvalid-offsetof.
5029 * testsuite/g++.dg/other/offsetof3.C: New.
5030 * testsuite/g++.dg/other/offsetof4.C: New.
5ded58d0 5031
025d9908 50322003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
5ded58d0 5033 David Edelsohn <edelsohn@gnu.org>
025d9908
KH
5034
5035 * config/rs6000/rs6000.c (rs6000_alignment_string,
5036 rs6000_alignment_flags): New variables.
5037 (rs6000_parse_alignment_option): New function.
5038 (rs6000_override_options): Call it.
5039 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
5040 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
5041 macros.
5042 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
5043 natural alignment if TARGET_NATURAL_ALIGNMENT
5044 (ROUND_TYPE_ALIGN): Always use default record alignment if
5045 TAGET_NATURAL_ALIGNMENT.
5046 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
5047 (ROUND_TYPE_ALIGN): Same.
5048 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
5049 (ROUND_TYPE_ALIGN): Same.
6184e8a4
KH
5050 * doc/invoke.texi (Option Summary, PowerPC Options): Document
5051 new options.
025d9908 5052
52a8b7b8
R
50532003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
5054
5055 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
5056 of a function using ASMSPEC, prepend a star.
5057
68594ce7
JM
50582003-05-19 Jason Merrill <jason@redhat.com>
5059
5060 * tree-inline.c (copy_body_r): Avoid generating &* during inline
5061 substitution.
5062
6208b55d
AM
50632003-05-19 Andrew Macleod <amacleod@redhat.com>
5064
5065 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
5066 not mark assignments to the hard frame pointer as being stack
5067 frame related.
5068 (xstormy16_expand_epilogue): Mark adjustments to the stack
5069 pointer as being stack frame related.
5070
21c9500d
RS
50712003-05-19 Richard Sandiford <rsandifo@redhat.com>
5072
5073 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
5074 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
5075 (PREDICATE_CODES): Add hilo_operand.
5076 * config/mips/mips.c (hilo_operand): New predicate.
5077 (mips_adjust_insn_length): Account for the number nops that might
5078 be needed to avoid hardware hazards.
5079 * config/mips/mips.md (dslot): Remove attribute.
5080 (hazard): New attribute.
5081 (can_delay): Use it. Check for calls, branches & jumps.
5082 (muldi3): Use the standard dmult pattern for mips16 code.
5083 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
5084
f29d1b66
RS
50852003-05-19 Richard Sandiford <rsandifo@redhat.com>
5086
5087 * config/mips/mips-protos.h (final_prescan_insn,
5088 mips_count_memory_refs, mips_fill_delay_slot): Remove.
5089 * config/mips/mips.h (delay_type, dslots_load_total,
5090 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
5091 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
5092 mips_load_reg3, mips_load_reg4): Remove.
5093 (MASK_STATS): Remove.
5094 (MASK_EXPLICIT_RELOCS): Reuse its value.
5095 (TARGET_STATS): Remove.
5096 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
5097 Warn that -mstats is now ignored.
5098 (FINAL_PRESCAN_INSN): Undefine.
5099 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
5100 (ASM_OUTPUT_REG_POP): Likewise.
5101 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
5102 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
5103 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
5104 mips_fill_delay_slot, mips_count_memory_refs,
5105 final_prescan_insn): Remove.
5106 (output_block_move): Remove calls to mips_count_memory_refs.
5107 (print_operand): Remove printing of #nop for TARGET_STATS.
5108 (mips_output_function_epilogue): Remove TARGET_STATS code.
5109 Reorganize setting of fnnmae.
5110 * config/mips/mips.md: Remove handling of dslot statistics
5111 throughout file. Change all fcmp patterns into normal asm
5112 templates, removing calls to mips_fill_delay_slot.
5113 * doc/invoke.texi: Remove documentation of -mstats.
5114
30a38382
RS
51152003-05-19 Richard Sandiford <rsandifo@redhat.com>
5116
5117 * config/mips/mips.c (mips_class_max_nregs): Return the number of
5118 words in the mode.
5119
beb14bd5
RS
51202003-05-19 Richard Sandiford <rsandifo@redhat.com>
5121
5122 * config/mips/mips.c (override_options): Disable explicit
5123 relocs for old ABIs unless using gas.
5124
1c745a02
EC
51252003-05-18 Eric Christopher <echristo@redhat.com>
5126
5127 * config/mips/mips.h: Remove definition of g_switch_value.
5128
307b599c
MK
51292003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
5130
5131 * flags.h (g_switch_value): Change to an unsigned
5132 HOST_WIDE_INT.
5133 * toplev.c (g_switch_value): Likewise.
5134
5135 * config/alpha/alpha.c (small_symbolic_operand): Remove
1c745a02 5136 g_switch_value cast.
307b599c
MK
5137 (alpha_in_small_data_p): Cast size to an unsigned
5138 HOST_WIDE_INT.
5139
5140 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
5141 unsigned HOST_WIDE_INT.
5142 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
5143 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
5144
5145 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
5146 unsigned HOST_WIDE_INT.
5147 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
5148 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
5149 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
5150
5151 * config/rs6000/rs6000.c (rs6000_file_start): Use
5152 HOST_WIDE_INT_PRINT_UNSIGNED.
5153 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
5154 (rs6000_elf_in_small_data_p): Cast size to unsigned
5155 HOST_WIDE_INT.
5156 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
5157 Remove.
5158 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
5159 g_switch_set.
5160 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
5161 g_switch_value cast.
5162
731ae8dd
RS
51632003-05-18 Roger Sayle <roger@eyesopen.com>
5164 Zack Weinberg <zack@codesourcery.com>
5165
5166 PR middle-end/10472
5167 * builtins.c (expand_builtin_memcpy): Call force_operand on
5168 expressions and use simplify_gen_binary to create the addition.
5169
d1b3178b
AS
51702003-05-18 Andreas Schwab <schwab@suse.de>
5171
5172 * config/m68k/m68k.md: Use define_constants for unspec numbers.
5173
094a51ff
NB
51742003-05-18 Neil Booth <neil@daikokuya.co.uk>
5175
5176 * config/sparc/sparc.h: Define sparc for now.
7d4f6041
NN
51772003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
5178
6a38414a
NN
5179 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
5180
1c745a02 5181 * config/stormy16/stormy16.h: Remove about 3000 lines of
595cac16
NN
5182 target-independent comments. Update copyright notice.
5183
7d4f6041
NN
5184 * doc/collect2.texi: GNU CC -> GCC.
5185 * doc/headerdirs.texi: GNU CC -> GCC.
5186
5e0c54e5
GDR
51872003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
5188
5189 * hashtable.h (struct ht_identifier): Add data member "hash_value".
1c745a02 5190 * hashtable.c (ht_lookup): Use it when searching, remember.
5e0c54e5
GDR
5191 (ht_expand): Do not recompute.
5192 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
5193
dc1f1d7f
NS
51942003-05-18 Nathan Sidwell <nathan@codesourcery.com>
5195
5196 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
5197
4e2e315f
NB
51982003-05-18 Neil Booth <neil@daikokuya.co.uk>
5199
5200 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
5201 Default here.
5202 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
5203 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
5204 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
5205 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
5206 config/arm/linux-elf.h, config/arm/rtems-elf.h,
5207 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
5208 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
5209 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
5210 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
5211 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
5212 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
5213 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
5214 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
5215 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
5216 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
5217 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
5218 Don't define __ELF__.
5219 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
5220 Define __ELF__.
5221 * doc/cpp.texi: Document __ELF__.
1c745a02 5222 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
4e2e315f 5223
e34d07f2
KG
52242003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5225
5226 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
5227 always use stdarg.
5228 * c-errors.c (pedwarn_c99): Likewise.
5229 * c-format.c (status_warning): Likewise.
5230 * c-semantics.c (build_stmt): Likewise.
5231 * calls.c (emit_library_call, emit_library_call_value): Likewise.
5232 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
5233 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
5234 * diagnostic.c (build_message_string, output_printf,
5235 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
5236 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
5237 error_with_decl, fnotice): Likewise.
5238 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
5239 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
5240 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
5241 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
5242 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
5243 dw2_asm_output_encoded_addr_rtx): Likewise.
5244 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
5245 * errors.c (warning, error, fatal, internal_error): Likewise.
5246 * final.c (output_operand_lossage, asm_fprintf): Likewise.
5247 * fix-header.c (fatal): Likewise.
5248 * gcc.c (fatal, error, notice): Likewise.
5249 * gcov.c (fnotice): Likewise.
5250 * genattrtab.c (attr_rtx, attr_printf): Likewise.
5251 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
5252 * gensupport.c (message_with_line): Likewise.
5253 * mips-tfile.c (fatal, error): Likewise.
5254 * protoize.c (notice): Likewise.
5255 * ra-debug.c (ra_debug_msg): Likewise.
5256 * read-rtl.c (fatal_with_file_and_line): Likewise.
5257 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
5258 * tree.c (build, build_nt, build_function_type_list): Likewise.
5259
c08f71aa
NB
52602003-05-17 Neil Booth <neil@daikokuya.co.uk>
5261
5262 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
5263 * gcc.c (cpp_predefines): Remove.
5264 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
5265 (static_specs): Remove predefines.
5266 * system.h: Poison CPP_PREDEFINES.
5267 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
5268 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
5269
a7fbe404
NB
52702003-05-17 Neil Booth <neil@daikokuya.co.uk>
5271
5272 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
5273 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
5274 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
5275 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
5276
b1822ccc
NB
52772003-05-17 Neil Booth <neil@daikokuya.co.uk>
5278
3af15d58 5279 PR c/9209
b1822ccc
NB
5280 * c-common.c, c-common.h (dollars_in_ident): Remove.
5281 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
5282 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
5283 * cpphash.h (warned_dollar): Rename warn_dollars.
5284 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
5285 Permit dollars regardless of -std=.
5286 (post_options): Set warn_dollars.
5287 * cpplex.c (forms_identifier_p): Use warn_dollars.
5288 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
5289 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
5290 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
5291 Update documentation.
5292
a69e127b
AS
52932003-05-17 Andreas Schwab <schwab@suse.de>
5294
5295 * config/m68k/m68k.c (m68k_output_function_prologue): Use
5296 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
5297 formatting a HOST_WIDE_INT.
5298 (m68k_output_function_epilogue): Likewise.
5299
2aea0b53
ZW
53002003-05-17 Zack Weinberg <zack@codesourcery.com>
5301
5302 * doc/install.texi: Remove information about desupported targets.
5303
1a8965c4
AS
53042003-05-17 Andreas Schwab <schwab@suse.de>
5305
5306 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
5307 * config/m68k/linux.h: Likewise.
5308 * config/m68k/m68k-none.h: Likewise.
5309 * config/m68k/netbsd-elf.h: Likewise.
5310 * config/m68k/sgs.h: Likewise.
5311 * config/m68k/m68k.h: Likewise.
5312 * config/m68k/m68k.md: Likewise.
5313 * config/m68k/m68k.c: Likewise.
5314 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
5315 constraints.
5316 * doc/invoke.texi (Option Summary): Remove -mfpa.
5317 (M680x0 Options): Likewise.
5318
2a8fa26c
DE
53192003-05-17 David Edelsohn <edelsohn@gnu.org>
5320
5321 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
5322
6508bdd5
NB
53232003-05-17 Neil Booth <neil@daikokuya.co.uk>
5324
5325 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
5326 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
5327 config/sparc/rtemself.h, config/sparc/sol2-64.h,
5328 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
5329 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
5330
8d55c164
NB
53312003-05-17 Neil Booth <neil@daikokuya.co.uk>
5332
5333 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
5334 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
5335
9b8466f4
NB
53362003-05-17 Neil Booth <neil@daikokuya.co.uk>
5337
5338 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
5339 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
5340 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
5341 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
5342 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
5343 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
5344 sparc/sysv4.h,
5345 * sparc/sysv4-only.h: New.
5346
5c07bd7a
AM
53472003-05-17 Alan Modra <amodra@bigpond.net.au>
5348
5349 * function.c (assign_parms): Check for zero size args.
5350
7e53359d
KG
53512003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5352
90ff44cf
KG
5353 * cfgloopanal.c (test_for_iteration): Use string concatentation on
5354 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
5355 function calls into one.
5356 * dbxout.c (dbxout_symbol): Likewise.
5357 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
5358 * dwarf2asm.c (dw2_asm_output_data_uleb128,
5359 dw2_asm_output_data_sleb128): Likewise.
5360 * genrecog.c (debug_decision_2): Likewise.
5361 * loop.c (emit_prefetch_instructions): Likewise.
5362 * print-rtl.c (print_rtx): Likewise.
5363 * print-tree.c (print_node_brief, print_node): Likewise.
5364 * ra-debug.c (dump_igraph, dump_graph_cost,
5365 dump_static_insn_cost): Likewise.
5366 * ra-rewrite.c (dump_cost): Likewise.
5367 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5368 * sreal.c (dump_sreal): Likewise.
5369 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
5370 * varasm.c (assemble_vtable_entry): Likewise.
5371
7e53359d
KG
5372 * avr.c (avr_output_function_prologue,
5373 avr_output_function_epilogue, print_operand): Fix format specifier
5374 warnings.
5375 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
5376 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
5377
79406520
GK
53782003-05-16 Geoffrey Keating <geoffk@apple.com>
5379
cabfd258
GK
5380 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
5381 and ! TARGET_STRING cases.
5382
79406520
GK
5383 * doc/cppopts.texi (-undef): Fix texinfo warning.
5384
5385 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
5386 * cppfiles.c (validate_pch): When -H is used, print some information
5387 about PCH files found.
5388
190162de
RK
53892003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5390
5391 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
5392 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
5393 * config/mips/t-sr71k: Likewise.
5394
69487202
KG
53952003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5396
15a5dddc
KG
5397 * arc.c (arc_output_function_prologue,
5398 arc_output_function_epilogue): Fix format specifier warnings.
2aea0b53 5399 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
15a5dddc 5400
e0b3adcb
KG
5401 * v850.c (print_operand): Fix format specifier warnings.
5402
8745765a 5403 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2aea0b53 5404 specifier warnings.
8745765a 5405
fd7b8952
KG
5406 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
5407 format specifier warnings.
5408
f5a1c99c
KG
5409 * ip2k.c (function_prologue, function_epilogue, print_operand):
5410 Fix format specifier warnings.
5411 * ip2k.md: Likewise.
5412
0c6b830b
KG
5413 * i960.c (i960_output_function_prologue, i960_print_operand,
5414 i960_print_operand_addr): Fix format specifier warnings.
5415
94c5db54
KG
5416 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
5417 (i370_output_function_prologue): Fix format specifier warnings.
5418 * i370.h (PRINT_OPERAND): Likewise.
5419
1bdfacf6
KG
5420 * fr30.c (fr30_print_operand): Fix format specifier warnings.
5421
5f1ed3b2
KG
5422 * dsp16xx.c (print_operand_address): Fix format specifier warning.
5423 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
5424
13a8b496
KG
5425 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
5426 specifier warnings.
5427
4a0a75dd
KG
5428 * alpha.c (print_operand_address, alpha_start_function,
5429 unicosmk_output_ssib): Use string concatentation on
5430 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
5431 function calls into one.
5432 * arm.c (arm_print_operand): Likewise.
5433 * cris.c (cris_asm_output_mi_thunk): Likewise.
5434 * frv.c (frv_asm_output_mi_thunk): Likewise.
5435 * ia64.c (ia64_print_operand, process_set): Likewise.
5436 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
5437 Likewise.
5438 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5439 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5440 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
5441 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
5442 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
5443 * s390.c (s390_assemble_integer): Likewise.
5444 * sparc.c (sparc_flat_function_prologue,
2aea0b53 5445 sparc_flat_function_epilogue): Likewise.
4a0a75dd
KG
5446 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
5447 * vax.c (vax_output_mi_thunk): Likewise.
5448
6f562bc6
KG
5449 * frv.c (frv_print_operand_memory_reference): Fix format specifier
5450 warning.
5451 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
5452
c8f4b20f
KG
5453 * m68k.c (m68k_output_function_epilogue): Fix format specifier
5454 warnings.
5455
804a0655
KG
5456 * stormy16-protos.h (xs_hi_general_operand,
5457 xs_hi_nonmemory_operand): Prototype.
5458 * stormy16.c (xstormy16_output_shift): Fix format specifier
5459 warnings.
5460
69487202
KG
5461 * cris.c: Fix format specifier warnings.
5462
ba2f4247
NC
54632003-05-16 Nick Clifton <nickc@redhat.com>
5464
5465 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
5466
674e9baa
WB
54672003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
5468
5469 * doc/bugreport.texi: Remove most of the of the preface of the
5470 bugs section.
5471
b80c0987
JJ
54722003-05-16 Jakub Jelinek <jakub@redhat.com>
5473
5474 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
5475 .save XX, r0.
5476
ad14dc5c
RS
54772003-05-15 Roger Sayle <roger@eyesopen.com>
5478
5479 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
5480
10d6c0d0
EC
54812003-05-15 Eric Christopher <echristo@redhat.com>
5482
5483 * cfgcleanup.c (merge_blocks): Fix return value.
5484
3dcd7d45
EC
54852003-05-15 Eric Christopher <echristo@redhat.com>
5486
2aea0b53
ZW
5487 * combine.c (expand_compound_operation): Make sure
5488 that zero_extend operation is profitable.
3dcd7d45 5489
36b9c271
RH
54902003-05-15 Richard Henderson <rth@redhat.com>
5491
5492 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
5493 code protected by USE_GNULIBC_1.
5494
7c942e17
ZW
54952003-05-15 Zack Weinberg <zack@codesourcery.com>
5496
5497 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
5498 remove hppa*-*-mpeix* which could not be built, and prune
5499 files from tmake_file= or tm_file= lists that don't exist.
5500
5501 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
5502 * config/alpha/t-interix, config/arm/conix-elf.h
5503 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
5504 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
5505 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
5506 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
5507 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
5508 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
5509 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
5510 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
5511 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
5512 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
5513 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
5514 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
5515 * config/m68k/tower-as.h, config/m68k/tower.h
5516 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
5517 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
5518 * config/m88k/m88k-protos.h, config/m88k/m88k.c
5519 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
5520 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
5521 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
5522 * config/mips/rtems64.h, config/mips/sni-gas.h
5523 * config/mips/sni-svr4.h, config/mips/t-ecoff
5524 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
5525 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
5526 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
5527 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
5528 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
5529 * config/romp/romp-protos.h, config/romp/romp.c
5530 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
5531 * config/rs6000/aix3newas.h, config/rs6000/mach.h
5532 * config/sparc/bsd.h, config/sparc/hal.h
5533 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
5534 * config/sparc/lynx.h, config/sparc/netbsd.h
5535 * config/sparc/sp86x-aout.h, config/sparc/splet.h
5536 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
5537 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
5538 * config/sparc/t-halos, config/sparc/t-sparcbare
5539 * config/sparc/t-splet, config/sparc/t-sunos41
5540 * config/v850/rtems.h: Delete file.
5541
a6ebc39a
AH
55422003-05-15 Aldy Hernandez <aldyh@redhat.com>
5543
7c942e17 5544 * config/rs6000/rs6000-protos.h (function_value): Protoize.
a6ebc39a 5545
7c942e17 5546 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
a6ebc39a 5547
7c942e17 5548 * config/rs6000/rs6000.c (rs6000_function_value): New.
a6ebc39a 5549
4b3c2e48
PB
55502003-05-15 Philip Blundell <philb@gnu.org>
5551
5552 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
5553 All uses updated.
5554 (arm_tune_xscale): New variable.
5555 (arm_override_options): Set it.
5556 (arm_adjust_cost): Use it in place of arm_arch_xscale.
5557 (arm_gen_load_multiple): Likewise.
5558 (arm_gen_store_multiple): Likewise.
5559 * config/arm/arm.md (is_xscale): Likewise.
5560 * config/arm/arm.h (arm_tune_xscale): Declare.
5561
c75a3ddc
PB
55622003-05-15 Philip Blundell <philb@gnu.org>
5563
5564 PR target/10730
5565 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
5566 involving invalid constants.
5567
411f7850
JDA
55682003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5569
5570 * pa.c (hppa_expand_prologue): Remove blockage.
5571
486772b1
WB
55722003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
5573
5574 * doc/bugreport.texi: Remove most of the bug reporting
5575 instructions and merge them into bugs.html.
5576
c1fefa09
MK
55772003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
5578
5579 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
5580 g_switch_value to unsigned HOST_WIDE_INT.
5581
72531479
EC
55822003-05-14 Eric Christopher <echristo@redhat.com>
5583
5584 * combine.c: Fix header comments.
5585 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
5586 to all calls and prototype.
5587
e43736ad
RS
55882003-05-14 Roger Sayle <roger@eyesopen.com>
5589
5590 PR optimization/10764
72531479 5591 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
e43736ad
RS
5592 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
5593 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
5594 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
5595 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
5596 the corresponding *fyl2x_?fxf3 instructions.
5597
49e57ab0
BW
55982003-05-14 Bob Wilson <bob.wilson@acm.org>
5599
5600 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
5601 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
5602 XCHAL_HAVE_L32R): New.
5603 * config/xtensa/xtensa-protos.h (non_const_move_operand,
5604 xtensa_load_constant, xtensa_function_prologue,
5605 xtensa_function_epilogue): Delete prototypes.
5606 (xtensa_expand_prologue): New.
5607 * config/xtensa/xtensa.c (frame_size_const,
5608 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
5609 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
5610 xtensa_function_prologue): Delete.
5611 (add_operand, xtensa_mem_offset): Formatting.
5612 (move_operand): If the const16 option is available, allow any SFmode
5613 and SImode constants.
5614 (xtensa_emit_move_sequence): Inline the former contents of
5615 xtensa_load_constant with modifications to handle the const16 option.
5616 (override_options): Add xtensa_char_to_class['W'] and set it to
5617 the general register class only if the const16 option is enabled.
5618 Fix formatting. Disallow PIC when using the const16 option.
5619 (print_operand): Reorganize to switch on "letter" instead of the
5620 RTL code. Add output_operand_lossage calls for invalid cases.
5621 Add support for 't' and 'b' letters.
5622 (xtensa_expand_prologue): New function to replace
5623 xtensa_function_prologue and xtensa_reorg.
5624 (xtensa_function_epilogue): Declare this as static. Delete code
5625 to print the retw.n or retw instruction.
5626 (xtensa_return_addr): Use A0_REG instead of 0.
5627 (xtensa_rtx_costs): Add costs for using the const16 option.
5628 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
5629 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
5630 (TARGET_SWITCHES): Add "const16" and "no-const16".
5631 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
5632 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
5633 using the const16 option.
5634 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
5635 (TRAMPOLINE_SIZE): Change from 49 to 59.
5636 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
5637 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
5638 when using the const16 option.
5639 (PREDICATE_CODES): Delete non_const_move_operand.
5640 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
5641 UNSPECV_ENTRY.
5642 (movdi, movdf): If the source is a constant, always expand to a
5643 sequence of movsi insns.
5644 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
5645 (movsi_internal, movsf_internal): Add alternative using const16 insns.
5646 (movsf): Add const16 support.
5647 (entry, prologue, epilogue): New.
5648 (set_frame_ptr): Add missing mode for unspec_volatile operation.
5649 Likewise for subsequent split pattern.
5650 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
5651 "-mconst16" and "-mno-const16" options.
5652
ae49d6e5
RH
56532003-05-14 Richard Henderson <rth@redhat.com>
5654
5655 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
5656 to be DImode register. Merge load_symptr.
5657 * config/ia64/ia64.md (load_symptr): Remove.
5658
2adb9af1
RH
56592003-05-14 Richard Henderson <rth@redhat.com>
5660
5661 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
5662 DEFERRED_CONSTANT_P.
5663 * integrate.c (copy_rtx_and_substitute): Update use.
5664 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
5665 to the copy generated.
5666 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
5667 of the constant to see if we should emit.
5668 (mark_constant): Similarly.
5669 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
5670
bb84cb12
DE
56712003-05-14 David Edelsohn <edelsohn@gnu.org>
5672
5673 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
5674 move record condition.
5675 (movdi_internal2): Same.
5676
3ec6c6ee
NS
56772003-05-14 Nathan Sidwell <nathan@codesourcery.com>
5678
7d63a2fa
NS
5679 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
5680 (GCOV_TAG_*) Force type to gcov_unsigned_t.
5681 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
5682 (struct gcov_var): Remove modified. Add start, length, offset,
5683 overread. Have buffer array for libgcov.
5684 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
5685 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
5686 * gcov-io.c (gcov_open): Set mode, do not read anything.
5687 (gcov_close): Write final block.
5688 (gcov_write_block, gcov_allocate): New.
5689 (gcov_write_bytes): Make static. Write or allocate buffer.
5690 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
5691 null.
5692 (gcov_write_string): Adjust.
5693 (gcov_write_tag)
5694 (gcov_write_length): Adjust. Flush the block.
5695 (gcov_write_tag_length): Buffer can never be null.
5696 (gcov_read_bytes): Make static. Read in block.
5697 (gcov_sync): Moved here. Adjust.
5698 (gcov_seek): Moved here. Adjust.
5699 * coverage.c (read_counts_file): Adjust.
5700 * gcov-dump.c (print_prefix): Add position parameter.
5701 (flag_dump_positions): New flag.
5702 (options, main, print_usage): Add it.
5703 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
5704 tag_summary): Adjust.
5705 * gcov.c (read_graph_file, read_count_file): Adjust.
5706 * libgcov.c (gcov_exit): Adjust.
5707
990f4800
NS
5708 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
5709 (libgcov.a): Depend on libgcc.a.
5710 (gcov.o, gcov-dump.o): Add gcov-io.c.
5711 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
72531479 5712
3ec6c6ee
NS
5713 * loop.c (check_dbra_loop): Factor common test.
5714
c62347f0
BE
57152003-05-14 Ben Elliston <bje@wasabisystems.com>
5716
5717 * doc/md.texi (Automaton pipeline description): Grammar fixes.
5718
18dbd950
RS
57192003-05-14 Richard Sandiford <rsandifo@redhat.com>
5720
5721 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
5722 (TARGET_INITIALIZER): Include it.
5723 * target.h (struct gcc_target): Add machine_dependent_reorg field.
5724 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
2f9bb7c5 5725 * system.h: Poison MACHINE_DEPENDENT_REORG.
18dbd950
RS
5726
5727 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
5728 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
5729 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5730 (alpha_handle_trap_shadows): Remove "first insn" parameter.
5731 (alpha_align_insns): Likewise.
5732 (alpha_reorg): Likewise. Make static. Update calls to above
5733 functions.
5734
5735 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
5736 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
5737 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5738 (arm_reorg): Remove parameter. Make static.
5739
5740 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
5741 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
5742 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5743 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
5744 Remove parameter.
5745
5746 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
5747 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
5748 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5749 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
5750 Remove parameter.
5751
5752 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
5753 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
5754 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
5755
5756 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
5757 * config/frv/frv.c: Remove orphaned comment.
5758
5759 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
5760 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
5761 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5762 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
5763 Remove parameter.
5764
5765 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
5766 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
5767 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5768 (emit_insn_group_barriers): Remove "first insn" parameter.
5769 (emit_all_insn_group_barriers): Likewise.
5770 (ia64_reorg): Likewise. Make static. Update calls to above functions.
5771 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
5772
5773 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
5774 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
5775 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5776 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
5777 Remove parameter.
5778
5779 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
5780 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
5781 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5782 (m68hc11_reorg): Make static. Remove parameter.
5783
5784 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
5785 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
5786 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5787 (conditionalize_optimization): Remove parameter.
5788 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
5789 Make static. Update call to conditionalize_optimization.
5790
5791 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
5792 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
5793 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5794 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
5795 Make static.
5796
5797 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
5798 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
5799 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5800 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
5801 Remove parameter.
5802
5803 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
5804 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
5805 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5806 (pa_combine_instructions): Remove "first insn" parameter.
5807 (remove_useless_addtr_insns): Likewise.
5808 (pa_reorg): Likewise. Make static. Update calls to above functions.
5809
5810 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
5811 commented-out definition.
5812
5813 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
5814 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
5815 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5816 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
5817 Remove parameter.
5818
5819 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
5820 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
5821 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5822 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
5823 Remove parameter.
5824 (sh_output_mi_thunk): Call sh_reorg directly.
5825 * config/sh/sh.md: Update comment.
5826
5827 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
5828 commented-out definition.
5829
5830 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
5831 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
5832 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5833 (v850_reorg): Make static. Remove parameter.
5834
5835 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
5836 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
5837 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
5838 (xtensa_reorg): Make static. Remove parameter.
5839
5840 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
5841 (TARGET_MACHINE_DEPENDENT_REORG): Document.
5842
2306d91c
RH
58432003-05-13 Richard Henderson <rth@redhat.com>
5844
5845 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
5846 the old decl had instantiated DECL_RTL.
5847
c2d635bc
MS
58482003-05-13 Mike Stump <mrs@apple.com>
5849
5850 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
5851
7aabff18
JJ
58522003-05-13 Janis Johnson <janis187@us.ibm.com>
5853
5854 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
5855 HOST_WIDE_INT argument.
5856
03307888
JM
58572003-05-13 Jason Merrill <jason@redhat.com>
5858
5859 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
5860
5861 * tree.c (iterative_hash_expr): New fn.
5862
5863 * c-semantics.c (emit_local_var): Don't mess with temp slots if
5864 there's no initializer.
5865
d660cefe
RS
58662003-05-13 Richard Sandiford <rsandifo@redhat.com>
5867
5868 * final.c (final_scan_insn): Apply the effects of frame-related
5869 delay slot insns before emitting a delayed branch.
5870
c1f1978f
NC
58712003-05-13 Nick Clifton <nickc@redhat.com>
5872
5873 * config/mcore/mcore.md (jump): Use emit_jump_insn.
5874
7641be90
UW
58752003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
5876
5877 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
5878 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
5879
f26aca6d
DD
58802003-05-12 DJ Delorie <dj@redhat.com>
5881
5882 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
5883 (emit_push_insn): Don't use push when the source alignment is less
5884 than the stack's push rounding.
5885
fa6ef813
ZW
58862003-05-13 Zack Weinberg <zack@codesourcery.com>
5887
5888 * diagnostic.c (output_format): Add support for %m.
5889 (output_printf, output_verbatim, diagnostic_set_info,
5890 verbatim): Set err_no field of the text_info structure being
5891 initialized.
5892 (fatal_io_error): Delete function.
5893 * diagnostic.h (text_info): Add err_no field.
5894 * toplev.h (fatal_io_error): Delete prototype.
5895
5896 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
5897 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
5898 * objc/objc-act.c: Replace all calls to fatal_io_error with
5899 calls to fatal_error; add ": %m" to the end of all the affected
5900 error messages.
5901
a2a6a79b
ZW
59022003-05-13 Zack Weinberg <zack@codesourcery.com>
5903
5904 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
5905 * rtl.h: Prototype it.
5906 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
5907 when appropriate.
5908
c707d0b0
UW
59092003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
5910
5911 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
5912 ("*iorsi3_oi"): Likewise.
5913
9af66e58
RE
59142003-05-13 Richard Earnshaw <rearnsha@arm.com>
5915
5916 * arm.md (compare_scc): Use shorter sequence for EQ case.
5917 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
5918 (and_scc_scc): Ensure split only applies when there is a dominance
5919 of the comparisons.
5920 (and_scc_scc_nodom): New insn-and-split pattern.
5921
7f68692f
RS
59222003-05-13 Richard Sandiford <rsandifo@redhat.com>
5923
5924 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
5925 to _Unwind_SetGRPtr().
5926
88e80294
ME
59272003-05-13 Michael Eager <eager@mvista.com>
5928
5929 * Makefile.in: Initialize program_transform_cross_name from
5930 @program_transform_name@ instead of target_alias.
5931
c4501e62
JJ
59322003-05-12 Janis Johnson <janis187@us.ibm.com>
5933 Alan Modra <amodra@bigpond.net.au>
5934 Jakub Jelinek <jakub@redhat.com>
5935
5936 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
5937 * configure: Rebuild.
5938 * config/rs6000/rs6000-protos.h: Update.
5939 * config/rs6000/rs6000.c (rs6000_tls_size): New.
5940 (rs6000_tls_size_string): New.
5941 (rs6000_parse_tls_size_option): New.
5942 (rs6000_legitimize_tls_address): New.
5943 (rs6000_tls_get_addr): New.
5944 (rs6000_got_sym): New.
5945 (rs6000_tls_symbol_ref): New.
5946 (rs6000_tls_symbol_ref_1): New.
5947 (rs6000_get_some_local_dynamic_name): New.
5948 (rs6000_get_some_local_dynamic_name_1): New.
5949 (TARGET_HAVE_TLS): New.
5950 (TARGET_CANNOT_FORCE_CONST_MEM): New.
5951 (rs6000_override_options): Handle -mtls-size option.
5952 (constant_pool_expr_1): Handle TLS symbols.
5953 (rs6000_legitimize_address): Handle TLS symbols.
5954 (rs6000_tls_referenced_p): New.
5955 (rs6000_legitimate_address): Handle TLS symbols.
5956 (rs6000_emit_move): Handle TLS symbols.
5957 (print_operand): Handle TLS symbols.
5958 (uses_TOC): Handle TLS symbols.
5959 (rs6000_emit_prologue): Use symbol for unspec constant.
5960 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
5961 (some_ld_name): New.
5962 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
5963 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
5964 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
5965 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
5966 Support TLS.
5967 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
5968 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
5969 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
5970 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
5971 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
5972 tls_tls_64): New.
5973 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
5974
6cfae22a
NB
59752003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
5976
5977 * Makefile.in (stage2_build, stage3_build, stage4_build):
5978 Set BUILD_CC to the same as CC.
5979
517958ba
NB
59802003-05-12 Neil Booth <neil@daikokuya.co.uk>
5981
5982 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
5983
74601584
AS
59842003-05-12 Andreas Schwab <schwab@suse.de>
5985
5986 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
5987 as unused.
5988 (bundling): Initialize 'pos'.
5989 (ia64_expand_builtin): Initialize 'rmode'.
5990
f08b4d88
DE
59912003-05-12 David Edelsohn <edelsohn@gnu.org>
5992
5993 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
5994 (ASM_OUTPUT_ALIGNED_COMMON): Same.
5995 (ASM_OUTPUT_LOCAL): Same.
5996
d3e0dffb
JH
5997Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
5998
5999 * varasm.c (output_constant): Fix underflow.
6000
96ef4bdc
MM
60012003-05-12 Mark Mitchell <mark@codesourcery.com>
6002
6003 PR other/10745
6004 * configure.in: Correct detection of GNU ld version number.
6005 * configure: Regenerated.
6006
9804f5fb
ZW
60072003-05-12 Zack Weinberg <zack@codesourcery.com>
6008
6009 * diagnostic.c (diagnostic_for_decl): Take a
6010 diagnostic_context argument. Restructure to be consistent
6011 with diagnostic_report_diagnostic.
6012 (diagnostic_count_diagnostic): Now static. Take a
6013 diagnostic_info argument, not just a diagnostic_t. Some code
6014 moved here from internal_error. Move a case label for
6015 clarity.
6016 (diagnostic_action_after_output): New function. Code moved
6017 here from internal_error and fatal_error.
6018 (bug_report_request): New #define so that this text appears in
6019 only one place.
6020 (diagnostic_report_diagnostic): Update to match changes to
6021 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
6022 (diagnostic_set_info): Call gettext here.
6023
6024 (pedwarn): Update comment. Don't call gettext here.
6025 (sorry): Use report_diagnostic. Don't call gettext here.
6026 (fatal_error): Remove final fnotice and exit, but call
6027 real_abort to prevent warnings about noreturn function returning.
6028 (internal_error): Likewise. Don't do ICE suppression here nor
6029 call context->internal_error.
6030 (warning_with_decl): Suppress for decls in system headers.
6031 Adjust call to diagnostic_for_decl.
6032 (pedwarn_with_decl): Likewise.
6033 (error_with_decl): Adjust call to diagnostic_for_decl.
6034 (error_recursion): Use bug_report_request.
6035
6036 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
6037 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
6038 diagnostic_count_diagnostic.
6039
f64f0687
JDA
60402003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6041
6042 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
6043
c394cdb7
JH
6044Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
6045
212e2065 6046 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
c394cdb7
JH
6047 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
6048 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
6049
70498da3
RS
60502003-05-12 Roger Sayle <roger@eyesopen.com>
6051
6052 * doc/rtl.texi: Document zero_extract as a valid destination
6053 of a set insn.
6054
ce250a20
RE
60552003-05-12 Richard Earnshaw <rearnsha@arm.com>
6056
6057 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
6058 '.'. Change all local symbol definitions and references to use LSYM.
6059
58e15542
JH
6060Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
6061
6062 * expr.h (assemble_static_space): Update prototype.
6063 * output.h (assemble_zeros, output_constant): Likewise.
6064 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
6065 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
6066 it 64bit clean.
6067 * elf.h (ASM_OTUPUT_SKIP): Likewise.
6068 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
6069 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6070 Expect HOST_WIDE_INT operand.
6071 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6072 Expect HOST_WIDE_INT operand.
6073 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6074 Expect HOST_WIDE_INT operand.
6075 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
6076 HOST_WIDE_INT operand.
6077 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
6078 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
6079 * aout.h (ASM_OTUPUT_SKIP): Likewise.
6080 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
6081 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
6082 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
6083 * frv.h (ASM_OTUPUT_SKIP): Likewise.
6084 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
6085 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6086 Make it 64bit
6087 clean.
6088 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
6089 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6090 Make it 64bit clean.
6091 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
6092 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
6093 HOST_WIDE_INT operand
6094 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6095 Expect HOST_WIDE_INT operand
6096 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
6097 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
6098 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
6099 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6100 Likewise.
6101 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
6102 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6103 Likewise.
6104 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
6105 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
6106 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6107 ASM_OUTPUT_SKIP): Likewise.
6108 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6109 Likewise.
6110 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6111 ASM_OUTPUT_SKIP): Likewise.
6112 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6113 ASM_OUTPUT_SKIP): Likewise.
6114 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
6115 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
6116 ASM_OUTPUT_SKIP): Likewise.
6117 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
6118 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
6119 ASM_OUTPUT_SKIP): Likewise.
6120 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
6121 Likewise.
6122 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
6123 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
6124 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
6125 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6126 ASM_OUTPUT_SKIP): Make it 64bit clean.
6127 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
6128 Make it 64bit clean.
6129 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
6130 ASM_OUTPUT_SKIP): Make it 64bit clean.
6131 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
6132 64bit clean.
6133 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
6134 HOST_WIDE_INT argument
6135 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
6136 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
6137 HOST_WIDE_INT argument
6138 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
6139 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
6140 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
6141 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6142 HOST_WIDE_INT argument
6143 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
6144 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
6145 * varasm.c (asm_output_bss, asm_output_aligned_bss,
6146 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
6147 HOST_WIDE_INT argument
6148
9804f5fb 61492003-05-10 Steven Bosscher <steven@gcc.gnu.org>
7660e67e
SB
6150
6151 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
6152 favor of walk_tree_without_duplicates. Add comments.
6153
76abd4c6
JZ
61542003-05-12 Josef Zlomek <zlomekj@suse.cz>
6155
6156 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
9804f5fb 6157 (struct alloc_pool_def): New element 'id'.
76abd4c6
JZ
6158 * alloc-pool.c (fancy_abort): Extern function prototype.
6159 (abort): Macro which uses fancy_abort.
6160 (struct allocation_object_def): New structure.
6161 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
6162 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
6163 (last_id): New variable.
6164 (create_alloc_pool): Add the offset of u.data to size of element,
6165 increase and use last_id.
6166 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
6167 (pool_alloc): Likewise. Set ID for elements.
6168 (pool_free): Check whether the PTR was allocated from POOL.
6169
66ea6f4c
RH
61702003-05-11 Richard Henderson <rth@redhat.com>
6171
6172 PR c/10675
6173 * c-decl.c: Include hashtab.h.
6174 (detect_field_duplicates): New.
6175 (finish_struct): Use it.
6176 * Makefile.in (c-decl.o): Update.
6177 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
6178 (component_decl_list, component_decl_list2,
6179 components, components_notype): Build list in reverse order.
6180 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
6181
9804f5fb 6182 * tree.c (chainon): Special case op2 null as well.
66ea6f4c
RH
6183 Reorg for clarity.
6184
358997e2
RS
61852003-05-11 Roger Sayle <roger@eyesopen.com>
6186
6187 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
6188 to implement log, logf and logl built-ins as inline x87 intrinsics.
6189 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
6190 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
6191 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
6192
6193 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
6194 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
6195
ffa916ba
KG
61962003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6197
9804f5fb 6198 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
04f3680d 6199
ffa916ba
KG
6200 * sparc.c (print_operand): Fix uninitialized warning.
6201
91f4cfe3
ZD
62022003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6203
6204 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
6205 real insns.
6206 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
6207 condition.
6208
ac38d8da
NB
62092003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
6210
6211 * doc/cpp.texi: Fix typos.
6212
82b1c974
UW
62132003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
6214
6215 * config/s390/s390.c (s390_function_arg_float): New function.
6216 (s390_function_arg_pass_by_reference): Use it.
6217 (s390_function_arg_advance): Likewise.
6218 (s390_function_arg): Likewise.
6219 (s390_va_arg): Likewise
6220
6d70e6be
NS
62212003-05-11 Nathan Sidwell <nathan@codesourcery.com>
6222
6223 * coverage.h (coverage_counter_alloc): New function.
6224 * function.h (struct function): Remove arc_profile flag.
6225 * coverage.c (fn_ident): Remove.
6226 (fn_b_ctrs, no_coverage): New.
6227 (get_coverage_counts): Use current_function_funcdef_no.
6228 (coverage_counter_alloc): New.
6229 (coverage_counter_ref): Adjust.
6230 (coverage_begin_output): Check no_coverage. Use
6231 current_function_funcdef_no.
6232 (coverage_end_function): Likewise.
6233 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
6234 than clearing flag_inline_functions. Do not clear arc_profile
6235 flag.
6236 * function.c (prepare_function_start): Do not set arc_profile
6237 flag.
6238 * profile.c (instrument_edges): Return number of instrumented
6239 edges. Use a for loop.
6240 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
6241 local to here and simplify. Use profile_arc_flag not arc_profile
6242 flag.
6243 (find_spanning_tree): Reformat.
6244 * toplev.c (rest_of_compilation): Use profile_arc_flags and
6245 flag_test_coverage rather than arc_profile flag.
6246
78d0a54d
GDR
62472003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
6248
6249 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
6250
a71c8ddc
RK
62512003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6252
6253 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
6254
6e270179 62552003-05-11 Bruno Haible <bruno@clisp.org>
9804f5fb 6256
6e270179
NB
6257 * cppfiles.c (find_or_create_entry): Preserve errno.
6258
62592003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
6260
6261 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
6262 cpplib as it's a Standard Predefined Macro.
6263 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
6264 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
6265 __STDC_HOSTED__ appropriately.
6266 * cpplib.h (_cpp_init_builtins): Update.
6267 * fix-header.c (read_scan_file): Update.
6268 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
6269
f333504d
GDR
62702003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
6271
6272 PR C++/689
6273 PR C++/9257
6274 * c-opts.c (c_common_decode_option): Don't set
6275 warn_ctor_dtor_privacy wen -Wall.
6276 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
6277
6e5d72ba
AO
62782003-05-10 Alexandre Oliva <aoliva@redhat.com>
6279
6280 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
6281 patch.
6282
59650e48
ZW
62832003-05-10 Zack Weinberg <zack@codesourcery.com>
6284
6285 * diagnostic.c: Reorder functions for clarity, putting all the
6286 functions in the "error" family next to each other, and
6287 likewise all the functions in the "error_with_decl" family.
6288 Some other routines were moved too. Add comments.
6289 (vbuild_message_string): Fold into sole caller.
6290
6291
34dc173c
UW
62922003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
6293
6294 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
6295 (EH_RETURN_HANDLER_RTX): Likewise.
6296 (expand_builtin_eh_return): Do not copy stack adjustment
6297 if EH_RETURN_STACKADJ_RTX is not defined.
6298 (expand_eh_return): Likewise. Also, do not pass stack
6299 adjustment as argument to the eh_return pattern.
6300 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
6301 because EH_RETURN_STACKADJ_RTX is not defined.
6302 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
6303 is not defined, treat stack pointer like a regular register.
6304 (uw_init_context_1): Set up fake initial stack pointer register.
6305 (uw_install_context_1): Do not compute stack adjustment if
6306 EH_RETURN_STACKADJ_RTX is not defined.
6307
6308 * config/i386/i386.md ("eh_return"): Remove first argument.
6309 * config/mips/mips.md ("eh_return"): Likewise.
6310 * config/rs6000/rs6000.md ("eh_return"): Likewise.
6311 * config/sh/sh.md ("eh_return"): Likewise.
6312
6313 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
6314
a64d0bc6
AA
63152003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
6316
6317 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
6318
9b514d25
NS
63192003-05-10 Nathan Sidwell <nathan@codesourcery.com>
6320
6321 * defaults.h (GCOV_TYPE_SIZE): Remove.
6322 * gcov-io.h (gcov_type): Set to specific mode int on target.
6323 (gcov_unsigned_t, gcov_position_t): New.
6324 (GCOV_TYPE_NODE): New.
6325 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
6326 (GCOV_COUNTERS_SUMMABLE): New.
6327 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
6328 gcov_ctr_info, gcov_info): Adjust types.
6329 (gcov_var): Adjust types.
6330 (gcov_write_unsigned, gcov_write_tag,
6331 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
6332 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
6333 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
6334 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
6335 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
6336 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
6337 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
6338 __gcov_init, __gcov_merge_add): Adjust gcov types.
6339 * coverage.c (ctr_merge_functions): Constify.
6340 (ctr_names): New.
6341 (read_counts_file): Adjust gcov types. Only summarize & merge
6342 summable counters.
6343 (coverage_counter_ref): Use GCOV_TYPE_NODE.
6344 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
6345 build_ctr_info_value, build_gcov_info): Adjust types.
6346 * profile.c (branch_prob): Adjust gcov types.
6347 * gcov_dump (dump_file): Adjust gcov types.
6348
03f1640c
RE
63492003-05-10 Richard Earnshaw <rearnsha@arm.com>
6350
59650e48 6351 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
03f1640c
RE
6352 constants.
6353 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
59650e48 6354 * arm.c (arm_select_dominance_cc_mode): Renamed from
03f1640c
RE
6355 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
6356 Callers updated.
6357 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
6358
3ee10665
RS
63592003-05-09 Roger Sayle <roger@eyesopen.com>
6360
6361 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
6362 as unsigned to avoid signed/unsigned comparison warnings.
6363
0bd0703d
BW
63642003-05-09 Bob Wilson <bob.wilson@acm.org>
6365
6366 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
6367 instruction if the Xtensa density option is enabled.
6368
1476c9d9
MK
63692003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
6370
6371 * mklibgcc.in: Remove extra quotes.
6372
36e8d515
MM
63732003-05-09 Mark Mitchell <mark@codesourcery.com>
6374
6375 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
6376 of int_ftype_void.
6377
f8a30250
AO
63782003-05-09 Alexandre Oliva <aoliva@redhat.com>
6379
6380 * reload1.c (reload_cse_move2add): Don't turn an implicit
6381 truncation into a self-set in the narrow mode.
6382
e912eadf
RE
63832003-05-09 Richard Earnshaw <rearnsha@arm.com>
6384
6385 * arm.md (clzsi2): The CLZ instruction is predicable.
6386
638db43e
BW
63872003-05-09 Bob Wilson <bob.wilson@acm.org>
6388
6389 * config/xtensa/xtensa.c: Formatting.
6390
5675294b
DN
63912003-05-09 Diego Novillo <dnovillo@redhat.com>
6392
6393 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
6394 instead of TREE_OPERAND to access the operand of a
6395 CONSTRUCTOR node.
6396
ec0f4995
DN
63972003-05-09 Diego Novillo <dnovillo@redhat.com>
6398
6399 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
6400 one operand.
6401
3c4b6438
GDR
64022003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
6403
6404 * toplev.h (warning_with_file_and_line): Don't declare.
6405 (error_with_file_and_line): Likewise.
6406 * diagnostic.c (error_with_file_and_line): Remove.
6407 (warning_with_file_and_line): Likewise.
6408
49468c8b
GDR
64092003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
6410
6411 * c-parse.in (if_stmt_locus): New object.
6412 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
6413 (select_or_iter_stmt rule): Likewise.
6414 (if_stmt_file): Remove.
6415 (if_stmt_line): Likewise.
6416 * jump.c: include "diagnostic.h"
59650e48 6417 (never_reached_warning): Don't use warning_with_file_and_line.
49468c8b
GDR
6418 * Makefile.in (jump.o): Add dependce on diagnostic.h
6419
c6b97fac
AM
64202003-05-09 Alan Modra <amodra@bigpond.net.au>
6421
6422 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
6423 Move code handling pieces not larger than a word to..
6424 * function.c (assign_parms): ..here, but use change_address instead
6425 of adjust_address and operand_subword, and expand_binop instead of
6426 expand_shift. Adjust calls to move_block_from_reg.
6427 * expr.h (move_block_from_reg): Update declaration.
6428 (copy_blkmode_from_reg): Formatting.
6429 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
6430 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
6431 move_block_from_reg calls.
6432 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
6433 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6434 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
6435 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
6436 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
6437 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6438 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
6439 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6440 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
6441
06d22853
DD
64422003-05-08 DJ Delorie <dj@redhat.com>
6443
6444 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
6445 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
6446 variable-sized types).
6447 (xstormy16_function_arg): New. Pass them that way too.
6448 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
6449 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
6450
d0affb9f
AH
64512003-05-08 Aldy Hernandez <aldyh@redhat.com>
6452
59650e48
ZW
6453 * mklibgcc.in: Use mkinstalldirs when installing multilib
6454 directories.
d0affb9f 6455
ddf8ec7e
R
64562003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
6457
6458 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
6459 instead of CODE_FOR_jump
6460
67f7893c
GDR
64612003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
6462
6463 * objc/objc-act.c (error_with_ivar): Don't use
59650e48 6464 error_with_file_and_line.
67f7893c
GDR
6465 (warn_with_method): Don't use warning_with_file_and_line.
6466
c8608cd6
GDR
64672003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
6468
6469 * stmt.c (emit_locus): New macro.
6470 (emit_filename): Remove.
6471 (emit_lineno): Likewise.
6472 (struct stmt_status): Replace members x_emit_filename and
6473 x_emit_lineno with x_emit_locus.
6474 (set_file_and_line_for_stmt): Adjust.
67f7893c 6475 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
c8608cd6
GDR
6476 (warn_if_unused_value): Likewise.
6477 (check_seenlabel): Likewise.
6478
95035b6f
GDR
64792003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
6480
6481 * c-decl.c (define_label): Tidy. Don't use any of
6482 error_with_file_and_line or warning_with_file_and_file.
6483 (pending_xref_error): Likewise.
6484 (store_parm_decls): Likewise.
6485 (current_function_prototype_locus): New object. Package from
6486 current_function_prototype_file and current_function_prototype_line.
6487 (start_function): Use it.
6488 (current_function_prototype_file): Remove.
6489 (current_function_prototype_line): Remove;
6490
7dc61d6c
KG
64912003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6492
6493 * builtins.c (readonly_data_expr): New function.
6494 (expand_builtin_memmove): Optimize any rodata source, not just
6495 strings.
6496
044075ac
DM
64972003-05-07 David Mosberger <davidm@hpl.hp.com>
6498
59650e48 6499 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
044075ac 6500
8231b3f9
RH
65012003-05-07 Richard Henderson <rth@redhat.com>
6502
6503 * config/i386/i386.c (ix86_split_long_move): Fix base register
6504 mode for XFmode splits for TARGET_64BIT.
6505
0212907f
RH
65062003-05-07 Richard Henderson <rth@redhat.com>
6507
6508 * sched-ebb.c (schedule_ebb): Supply the correct starting
6509 block number to save_line_notes.
6510
c079e6fe
RH
65112003-05-07 Richard Henderson <rth@redhat.com>
6512
6513 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
6514 (dump_file): Likewise.
6515
c35b64c2
DM
65162003-05-07 David Mosberger <davidm@hpl.hp.com>
6517
59650e48 6518 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
c35b64c2 6519 forget to preserve gp.
59650e48
ZW
6520 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
6521
6522 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
6523 .prologue directive.
6524 Use .skip instead of data8 for .bss section to make Intel
6525 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
6526 explicit in the .mib bundles and remove the unnecessary stop
6527 bits. Replace local labels with normal labels, to make ias
6528 happy. Don't register __do_global_ctors_aux here, do it in
6529 crtend.asm instead.
6530
6531 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
6532 __do_global_ctors_aux in .init_array section instead of
6533 declaring it as a hidden global. Replace local labels with
6534 ordinary labels to make ias happy.
c35b64c2 6535
a944ceb9
RH
65362003-05-07 Richard Henderson <rth@redhat.com>
6537
59650e48
ZW
6538 PR c++/10570
6539 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
6540 * flags.h, toplev.c, doc/invoke.texi: Likewise.
a944ceb9 6541
59650e48
ZW
6542 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
6543 * unwind.inc (_Unwind_DeleteException): Check for null
6544 exception_cleanup.
a944ceb9 6545
59650e48
ZW
6546 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
6547 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
6548 * unwind.h: Declare them.
6549 * libgcc-std.ver (GCC_3.3): Export them.
a944ceb9 6550
9330e977
RH
65512003-05-07 Richard Henderson <rth@redhat.com>
6552
a21d83cd 6553 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
9330e977
RH
6554 not _Unwind_Word.
6555
046e4e36
ZW
65562003-05-07 Zack Weinberg <zack@codesourcery.com>
6557
6558 * stmt.c (force_label_rtx): New function, based on logic
6559 formerly found in expand_expr.
6560 * expr.h: Prototype it.
6561 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
6562 appropriate.
6563 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
6564
6565 * print-tree.c (debug_tree): Free the table after we're done
6566 with it. Use putc.
6567
12850cf2
AH
65682003-05-07 Aldy Hernandez <aldyh@redhat.com>
6569
046e4e36
ZW
6570 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
6571 Unreverse arguments for __ev_subw.
12850cf2 6572
046e4e36 6573 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
12850cf2 6574
54350d48
NC
65752003-05-07 Nick Clifton <nickc@redhat.com>
6576
6577 * config/stormy16/stormy-abi: Update to include
6578 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
6579 R_XSTORMY16_12 relocs.
6580
ffea5d1e
AM
65812003-05-07 Alan Modra <amodra@bigpond.net.au>
6582
6583 * function.c (assign_parms): Correct reversed reg_parm_stack_space
6584 test. Add partial in-regs size to stack_args_size.
6585
da635858
GP
65862003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6587
6588 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
6589 as a C only option.
6590
474f141e
NS
65912003-05-07 Nathan Sidwell <nathan@codesourcery.com>
6592
6593 * gcov-io.h (GCOV_LOCKED): New #define.
6594 (GCOV_LINKAGE): Make sure it is #defined.
6595 (gcov_write_string, gcov_write_tag, gcov_write_length,
6596 gcov_read_string, gcov_time): Poison in libgcov.
6597 (gcov_seek_end): Remove.
6598 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
6599 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
6600 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
6601 GCOV_TAG_SUMMARY_LENGTH): New #defines.
6602 (gcov_write_tag, gcov_write_length): Not in libgcov.
6603 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
6604 (gcov_write_tag, gcov_write_length): Not in libgcov.
6605 (gcov_write_tag_length): New.
6606 (gcov_write_summary): Use gcov_write_tag_length.
6607 * libgcov.c: Always #include gcov-io.h.
6608 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
6609 (GCOV_LINKAGE): Define to nothing for L_gcov.
6610 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
6611 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
6612 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
6613 (read_count_file): Likewise.
6614 * gcov-dump.c (dump_file): Likewise.
6615 * coverag.c (read_counts_file): Likewise.
6616
6cbeaa7e
MM
66172003-05-06 Mark Mitchell <mark@codesourcery.com>
6618
6619 PR other/10658
6620 * gcc.c (process_command): Update copyright date.
6621
26979a17
PE
66222003-05-06 Phil Edwards <pme@gcc.gnu.org>
6623
6624 * doc/install.texi (mips-*-*): Add note about libstdc++.
6625
14b56832
DD
66262003-05-06 DJ Delorie <dj@redhat.com>
6627
6628 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
6629 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
6630 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
6631
2c2bc09b
NB
66322003-05-06 <neil@cat.daikokuya.co.uk>
6633
6634 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
6635 and -Wstrict-prototypes if C++.
6636
2f3f95e9
AH
66372003-05-06 Aldy Hernandez <aldyh@redhat.com>
6638
046e4e36 6639 * config/rs6000/linuxspe.h: New file.
2f3f95e9 6640
046e4e36 6641 * config.gcc: Add powerpc-*-linux-gnuspe* target.
2f3f95e9 6642
8b689196
RH
66432003-05-06 Richard Henderson <rth@redhat.com>
6644
046e4e36 6645 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
8b689196
RH
6646 previous frame didn't save sp. Clear sp for next frame.
6647 (uw_install_context_1): Honor saved sp from frame.
6648
5b0f0db6
RS
66492003-05-06 Richard Sandiford <rsandifo@redhat.com>
6650
6651 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
6652 (mips_move_1word, mips_move_2words): Remove declaration.
6653 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
6654 (mips_restore_gp): Remove insn argument.
6655 * config/mips/mips.h (FP_REG_RTX_P): New macro.
6656 * config/mips/mips.c (volatile_buffer): Remove.
6657 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
6658 (mips_move_1word, mips_move_2words): Remove, replacing with...
6659 (mips_output_move): ...this new function.
6660 (mips_restore_gp): Remove insn argument. Adjust for above changes.
6661 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
6662 handling of floating-point constants. Handle zero CONST_DOUBLE
6663 arguments.
6664 (mips_annotate_frame_insn): Replace with...
6665 (mips_set_frame_expr): ...this, which just takes one argument.
6666 (mips_frame_set): Change the register argument to an rtx.
6667 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
6668 check whether moves should be split. Use mips_split_64bit_move
6669 to split them. Use mips_subword to generate the high and low
6670 parts of a paired FPR. Adjust calls to frame_set and
6671 mips_set_frame_expr.
6672 (mips_expand_prologue): Simplify due to above changes.
6673 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
6674 targets, replacing xisting register-only versions.
6675 (UNSPEC_STORE_DF_HIGH): New unspec.
6676 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
6677 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
6678 (*paradoxical_extendhidi2): Remove.
6679 (movdi_internal, movdi_internal2): Use mips_output_move.
6680 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
6681 (movsf_internal1, movsf_internal2): Likewise.
6682 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
6683 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
6684 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
6685 Add m <- G alternative.
6686 (load_df_low, load_df_high, store_df_low): New patterns.
6687 (movhi_internal): Use @ template instead of calling a function.
6688 Remove unnecessary 'z' alternatives.
6689 (movqi_internal): Likewise.
6690 (exception_receiver): Update call to mips_restore_gp.
6691
e8b84d3d
RS
66922003-05-06 Richard Sandiford <rsandifo@redhat.com>
6693
6694 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
6695 (mips_delegitimize_address): Declare.
6696 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
6697 (FIND_BASE_TERM): Define.
6698 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
6699 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
6700 Handle small-data addresses.
6701
e82a312b
RS
67022003-05-05 Roger Sayle <roger@eyesopen.com>
6703
6704 * real.c (real_powi): New function to calculate the value of
6705 a real raised to an integer power, i.e. pow(x,n) for int n.
6706 (real_sqrt): Convert to using the faster do_add, do_multiply
6707 and do_divide API for consistency with the rest of real.c.
6708 * real.h (real_powi): Prototype here.
6709 * builtins.c (fold_builtin): Avoid local variable mode when
6710 evaluating sqrt at compile time. Attempt to evaluate pow at
6711 compile-time, by checking for an integral exponent.
6712
905e8651
RH
67132003-05-05 Richard Henderson <rth@redhat.com>
6714
6715 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
6716
88467101
DB
67172003-05-05 David O'Brien <obrien@FreeBSD.org>
6718
6719 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
6720 other FreeBSD ports.
6721 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
cb1f476f 6722 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
88467101 6723
6ccfe27c
JJ
67242003-05-05 Janis Johnson <janis187@us.ibm.com>
6725
6726 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
6727 expanded variables.
6728 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
6729
10b6a274
ZW
67302003-05-05 Zack Weinberg <zack@codesourcery.com>
6731
6732 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
6733 * varasm.c (struct varasm_status): Add deferred_constants field.
6734 (n_deferred_strings): Delete variable.
6735 (n_deferred_constants): New #define.
6736 (struct constant_descriptor_tree): Kill next and label fields.
6737 (const_hash_table, MAX_HASH_TABLE): Delete.
6738 (const_desc_htab): New static variable.
6739 (const_hash): Rename const_desc_hash, and make it fit the
6740 hashtab.h interface.
6741 (const_desc_eq): New.
6742 (const_hash_1, compare_constant): Const-ify arguments.
6743 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
6744 SYMBOL_REFs. Clarify comments. Don't set desc->label.
6745 (output_constant_def): Do the lookup/insert using the
6746 hashtab.h interface. Don't muck with n_deferred_constants or
6747 DEFERRED_CONSTANT_P here.
6748 Always call maybe_output_constant_def_contents.
6749 (maybe_output_constant_def_contents): Take a pointer to the
6750 descriptor, not the EXP and RTL separately. Return
6751 immediately if this constant is not deferred. Defer output of
6752 everything, except writable string constants. Update
6753 n_deferred_constants here.
6754 (output_constant_def_contents): Now takes just one argument,
6755 an rtx. Clear DEFERRED_CONSTANT_P here.
6756 (mark_constant_pool): Update for rename of n_deferred_strings.
6757 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
6758
6759 (init_varasm_status): Clear p->deferred_constants.
6760 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
6761
68ef8841
KG
67622003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6763
6764 * builtins.c (expand_builtin_stpcpy): Only expand when the length
6765 of the source string can be evaluated at compile-time.
6766
9938b5d9
AH
67672003-05-05 Aldy Hernandez <aldyh@redhat.com>
6768
10b6a274 6769 * testsuite/gcc.c-torture/compile/simd-6.c: New.
9938b5d9 6770
10b6a274 6771 * c-typeck.c (digest_init): Handle arrays of vector constants.
9938b5d9 6772
e3e9f108
JJ
67732003-05-05 Jakub Jelinek <jakub@redhat.com>
6774
6775 * builtins.c (expand_builtin_mempcpy): New function.
6776 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
6777 ignored into strcpy no matter what arguments it has.
6778 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
6779 expand_builtin_mempcpy.
6780
6035d635
AH
67812003-05-05 Aldy Hernandez <aldyh@redhat.com>
6782
10b6a274 6783 * testsuite/gcc.dg/20030505.c: New.
6035d635 6784
10b6a274
ZW
6785 * c-typeck.c (convert_for_assignment): Opaque pointers can
6786 interconvert.
6035d635 6787
10b6a274
ZW
6788 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
6789 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
6790 (spe_init_builtins): Rename all pv2si_type_node to
6791 opaque_p_V2SI_type_node.
6792 Remove declaration of pv2si_type_node.
6793 (is_ev64_opaque_type): Accept opaque pointers.
6035d635 6794
36b29d7d
GK
67952003-05-05 Geoffrey Keating <geoffk@apple.com>
6796
bc9ec0e0
GK
6797 * config/rs6000/rs6000.c (validate_condition_mode): Use
6798 flag_finite_math_only.
6799 (rs6000_reverse_condition): Never return UNKNOWN; use
6800 flag_finite_math_only.
6801 (rs6000_generate_compare): Use flag_finite_math_only.
6802 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
6803 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
10b6a274 6804 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
bc9ec0e0 6805
36b29d7d
GK
6806 * toplev.c (check_global_declarations): Suppress not-used warning
6807 for volatile variables.
6808
9e5f281f
OH
68092003-05-05 Olivier Hainque <hainque@act-europe.fr>
6810
10b6a274
ZW
6811 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
6812 usage of bitfield instructions for mode1 != BLKmode, only ignoring
6813 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
6814 (store_field): Likewise.
9e5f281f 6815
f5119d10
AH
68162003-05-05 Aldy Hernandez <aldyh@redhat.com>
6817
10b6a274
ZW
6818 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
6819 evsubifw to builtins accepting 5-bit unsigned constants.
6820 (easy_vector_constant): Return if V1DImode. Fix typo.
f5119d10 6821
25ecd459
AH
68222003-05-05 Aldy Hernandez <aldyh@redhat.com>
6823
10b6a274 6824 * config/rs6000/spe.h: Revert licensing change from last patch.
25ecd459 6825
9be13211
DD
68262003-05-05 DJ Delorie <dj@redhat.com>
6827
6828 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
6829 before reload, but defer the split until after.
6830 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
6831 to match.
6832
2c9d95ef
DE
68332003-05-05 David Edelsohn <edelsohn@gnu.org>
6834
6835 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
6836 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
6837
1e77e673
ZD
68382003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6839
6840 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
10b6a274 6841 is defined.
1e77e673 6842
00362064
KG
68432003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6844
6845 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
6846 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
6847 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
6848
6849 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
6850 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
6851 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
6852 New.
6853
6854 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
6855 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
6856
6857 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
6858 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
6859 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
6860 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
6861 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
6862 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
6863 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
6864 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
6865 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
6866 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
6867 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
6868 BUILT_IN_STRDUP): Add "nonnull" attribute.
6869
ad26fb41
RK
68702003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6871
c1853da7
RK
6872 * expr.c (store_field): Don't clobber TEMP in shift: it might be
6873 a variable.
6874 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
6875 whose purpose is to step up the alignment.
6876 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
6877
ad26fb41
RK
6878 * stor-layout.c (compute_record_mode): Relax restriction
6879 on fields crossing word boundaries forcing BLKmode.
6880
1fecc266
NB
68812003-05-04 Neil Booth <neil@daikokuya.co.uk>
6882
6883 * cppinit.c (cpp_create_reader, post_options): Warn about
6884 trigraphs unless explicity set or -trigraphs.
6885 * cpplex.c (warn_in_comment): New.
6886 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
6887 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
6888 * doc/cppopts.texi, doc/cpp.texi: Update.
6889
09780dfb
ZD
68902003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6891
6892 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
6893 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
6894 namespace clash.
6895 (GCOV_MERGE_FUNCTIONS): New.
6896 (gcov_merge_fn): Declare.
6897 (struct gcov_ctr_info): New field "merge".
6898 (__gcov_merge_add): Declare.
6899 * coverage.c (ctr_merge_functions): New.
6900 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
6901 of gcov_ctr_info type.
6902 * libgcov.c (__gcov_merge_add): New.
6903 (gcov_exit): Call a hook to merge values of counters.
6904
c71f2ffd
GDR
69052003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6906
6907 * toplev.h (pedwarn_with_file_and_line): Don't declare.
6908 * diagnostic.c (pedwarn_with_file_and_line): Remove.
6909
3d885683
GDR
69102003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6911
6912 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
6913
8c9b38d7
KG
69142003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6915
6916 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
6917 expand_builtin_frame_address): Update prototypes.
6918 (expand_builtin_constant_p, expand_builtin_strlen,
6919 expand_builtin_strcpy, expand_builtin_memset,
6920 expand_builtin_bzero, expand_builtin_args_info,
6921 expand_builtin_frame_address): Pass in just the argument(s)
6922 needed, not the entire expression `exp'.
6923 (expand_builtin): Update all calls to these functions.
6924
9c80ff25
RH
69252003-05-03 Richard Henderson <rth@redhat.com>
6926
6927 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
6928 <BUILT_IN_DWARF_SP_COLUMN>: New.
6929 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
6930 (BUILT_IN_DWARF_SP_COLUMN): New.
6931 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
6932 (expand_builtin_dwarf_sp_column): New.
6933 * except.h: Update to match.
6934 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
6935 (execute_cfa_program): Record location expression address
6936 before extracting length.
6937 (uw_update_context_1): Install old CFA into stack pointer column.
6938 (uw_init_context_1): Set cfa_reg to stack pointer column.
6939
4d588c14
RH
69402003-05-03 Richard Henderson <rth@redhat.com>
6941
6942 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
6943 return bool.
6944 (toc_relative_expr_p): Likewise.
6945 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
6946 (legitimate_constant_pool_address_p): Move from rs6000.h, change
6947 into a function, downcase all users.
6948 (legitimate_small_data_p): Likewise.
6949 (legitimate_offset_address_p): Likewise.
6950 (legitimate_indexed_address_p): Likewise.
6951 (legitimate_indirect_address_p): Likewise.
6952 (legitimate_lo_sum_address_p): Likewise.
6953 (rs6000_mode_dependent_address): Likewise.
6954 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
6955 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
6956 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
6957 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
6958 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
6959 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
6960 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
6961 * config/rs6000/rs6000-protos.h: Update.
6962
8d90f9c0
GK
69632003-05-03 Geoffrey Keating <geoffk@apple.com>
6964
b39358e1
GK
6965 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
6966 (REVERSE_CONDITION): Define.
6967
b7053a3f
GK
6968 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
6969 to branch_positive_comparison_operator.
6970 (ccr_bit): Check that sCOND conditions are actually a positive bit.
6971 (print_operand): Remove %D substitution.
6972 (rs6000_emit_sCOND): Generate complement operation to ensure that
6973 sCOND input is a positive bit.
6974 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
6975 same order as bCOND, and add the missing ones. Remove the %D
6976 substitutions from the scc patterns.
6977
8d90f9c0
GK
6978 * simplify-rtx.c (simplify_relational_operation): Add case for
6979 ! (fabs(x) < 0.0).
6980
8882ac3a
BK
69812003-05-03 Bruce Korb <bkorb@gnu.org>
6982
6983 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
6984 in fixincl.x
6985 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
6986
bd879e9a
AH
69872003-05-03 Aldy Hernandez <aldyh@redhat.com>
6988
4d588c14 6989 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
bd879e9a 6990
87f85ea0
ZW
69912003-05-03 Zack Weinberg <zack@codesourcery.com>
6992
6993 PR c/10604
6994 * c-common.c (warn_sign_compare): Initialize to -1.
6995 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
6996 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
6997 for C++ only.
6998 (c_common_post_options): Set warn_sign_compare from extra_warnings
6999 if it's still -1 at this point.
7000
7001 * toplev.c (maybe_warn_unused_parameter): New static variable.
7002 (set_Wextra): New static function.
7003 (W_options): Remove "extra".
7004 (decode_W_option): Call set_Wextra.
7005 (independent_decode_option): Likewise.
7006 (set_Wunused): Cooperate with set_Wextra in setting
7007 warn_unused_parameter.
7008 (rest_of_compilation): No need to check extra_warnings as
7009 well as warn_uninitialized.
7010
7011 * c-typeck.c (build_binary_op, build_conditional_expr):
7012 No need to check extra_warnings as well as warn_sign_compare.
7013 (internal_build_compound_expr): No need to check extra_warnings
7014 as well as warn_unused_value.
7015 * function.c (expand_function_end): No need to check extra_warnings
7016 as well as warn_unused_parameter.
7017 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
7018 as well as warn_unused_value.
7019
7020 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
7021
7022 * Makefile.in: Disable -Werror for gengtype-lex.o.
7023
ee960939
OH
70242003-05-03 Olivier Hainque <hainque@act-europe.fr>
7025
7026 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
7027 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
7028 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
7029 * calls.c (emit_call_1): Likewise.
87f85ea0 7030 (expand_call): For calls initializing constant memory, replace
ee960939
OH
7031 emission of standalone mem /u clobber with function usage entry.
7032 * expr.c (emit_block_move_via_libcall): Likewise.
7033 * cse.c (count_reg_usage, case EXPR_LIST): New case.
7034 * flow.c (propagate_one_insn): Pass entire operand of
7035 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
7036 * integrate.c (try_constants): For CALL_INSNs, substitute constants
7037 within the FUNCTION_USAGE also.
7038 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
7039 FUNCTION_USAGE lists.
7040 * reload1.c (replace_pseudos_in): Renamed.
7041 (reload): Use it for clobbers surviving until the end of the reload.
7042
3923e410
RK
70432003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7044
13cf99ec
RK
7045 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
7046 gen_lowpart on non-integer modes.
7047
3923e410
RK
7048 * stor-layout.c (place_field): When adjusting offset_align, use
7049 desired_align, not DECL_ALIGN.
7050
070588f0
NS
70512003-05-03 Nathan Sidwell <nathan@codesourcery.com>
7052
7053 * c-decl.c (pending_invalid_xref_file): Remove.
7054 (pending_invalid_xref_line): Remove.
7055 (pending_invalid_xref_location): New.
7056 (lookup_label): Use location_t and input_location directly.
7057 (lookup_tag): Likewise.
7058 (pending_xref_error): Likewise.
7059 (c_expand_body_1): Likewise.
7060 * c-common.c (x_expand_start_cond): Likewise.
7061 * c-semantics.c (genrtl_for_stmt): Likewise.
7062 (find_reachable_label): Likewise.
7063 * expr.c (expand_expr): Likewise.
7064 * integrate.c (output_inline_function): Likewise.
7065 * tree-inline.c (find_alloca_call): Likewise.
7066 (find_builtin_longjmp_call): Likewise.
7067 * gcc.c (input_filename): Make static.
87f85ea0 7068
b259a9a6
RS
70692003-05-03 Richard Sandiford <rsandifo@redhat.com>
7070
969c6c43
RS
7071 * config/mips/mips.md: Fix comment typo.
7072
b259a9a6
RS
7073 * config/mips/mips.c (mips_integer_op): New structure.
7074 (MIPS_MAX_INTEGER_OPS): Define.
7075 (mips_const_insns): Use mips_build_integer to determine the number
7076 of instructions needed to load a CONST_INT.
7077 (move_operand): Reject compound CONST_INTs.
7078 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
7079 (mips_move_integer): New fn.
7080 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
7081 (mips_legitimize_move): Only legitimize constants when moving
7082 word or subword values.
7083
28068c2c
MK
70842003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
7085
7086 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
7087
685828f7
KG
70882003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7089
7090 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
7091 modifying it.
7092
d9e95c63
FH
70932003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
7094 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7095
7096 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
7097 Hernandez, and Kazu Hirata. Update Richard Henderson.
7098
7454096f
GK
70992003-05-02 Geoffrey Keating <geoffk@apple.com>
7100
b86fe7b4
GK
7101 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
7102 to tentative declaration.
87f85ea0 7103
20bfcd69
GK
7104 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
7105 (SYMBOL_FLAG_SMALL_V4): Delete.
7106 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
7107 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
7108 (rs6000_elf_in_small_data_p): Add extra section names. Add
7109 comment about TREE_PUBLIC test.
7110
7454096f
GK
7111 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
7112 expand_stmt on result of expand_unreachable_stmt.
7113
3f4a3170
GP
71142003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7115
7116 * doc/contrib.texi (Contributors): Add Daniel Berlin.
7117
473f51b6
DE
71182003-05-02 David Edelsohn <edelsohn@gnu.org>
7119
7120 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
7121 number of automata.
7122
7123 * config/rs6000/rs6000.c (symbol_ref_operand): Check
7124 SYMBOL_REF_FUNCTION_P on AIX.
7125 (current_file_function_operand): Same.
7126 * config/rs6000/rs6000.md (call,call_value): Force non-function
7127 symbol_ref into register on AIX.
7128
e7949876
AM
71292003-05-02 Alan Modra <amodra@bigpond.net.au>
7130
7131 * calls.c (struct arg_data): Move offset, slot_offset, size and
7132 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
7133 (initialize_argument_information): Adjust call to locate_and_pad_parm.
7134 Delete alignment_pad var. Don't calculate slot_offset here.
7135 (emit_library_call_value_1): Delete alignment_pad, offset and size
7136 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
7137 Adjust call to locate_and_pad_parm. Don't tweak arg size for
7138 partial in-regs here. Formatting fixes.
7139 * expr.h (struct locate_and_pad_arg_data): New struct.
7140 (locate_and_pad_parm): Adjust declaration.
7141 * function.c (assign_parms): Localize vars. Use "locate" instead of
7142 other arg location vars. Don't invoke FUNCTION_ARG or
7143 FUNCTION_INCOMING_ARG unless pretend_named is different from
7144 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
7145 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
7146 Use slot_offset for stack home of reg parms. Correct test for
7147 parm passed in memory. Formatting fixes.
7148 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
7149 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
7150 Correct initial_offset_ptr handling. Localize vars. Always pad
7151 locate->offset even when in_regs.
7152
6060edcb
NS
71532003-05-02 Nathan Sidwell <nathan@codesourcery.com>
7154
7155 * Makefile.in (TREE_H): Replace location.h with input.h.
7156 (GTFILES) Remove location.h
7157 (gt-lists.h): Replace gt-location.h with gt-input.h
7158 * input.h (input_filename, input_line): Remove variables.
7159 (location_s, location_t): Move from location.h.
7160 (input_location): New.
7161 (input_filename, input_line): New #defines.
7162 * location.h: Remove.
7163 * tree.h: Replace location.h with input.h.
7164 (input_filename, input_line): Remove.
7165 * diagnostic.h: Replace location.h with input.h.
7166 * gcc.h (input_filename, input_filename_length): Remove declarations.
7167 * toplev.c (input_filename, input_line): Remove.
7168 (input_location): Define.
7169 (push_srcloc, pop_srcloc): Adjust.
7170 * diagnostic.c (diagnostic_report_current_module): Adjust.
7171
f8000836
NC
71722003-05-02 Nick Clifton <nickc@redhat.com>
7173
7174 * configure.in: Add xstormy16 to list of targets that has a nop
7175 instruction and hence which can be tested to see if the
7176 assembler supports the --gdwarf2 switch.
7177 * configure: Regenerate.
7178
409f52d3 71792003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
87f85ea0
ZW
7180
7181 PR target/8257
7182 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
7183 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
7184 Avoid undefined shifts by making the shift operand unsigned.
7185
57458e8a
DD
71862003-05-01 DJ Delorie <dj@redhat.com>
7187
7188 * reload.c (find_reloads): Also check that all of a multi-reg
7189 value is in the class.
7190
774cb6d1
NS
71912003-05-01 Nathan Sidwell <nathan@codesourcery.com>
7192
7193 * scan.h (lineno): Revert the rename here.
7194
e1a4211d
SS
71952003-05-01 Stan Shebs <shebs@apple.com>
7196
7197 * config/darwin.c (darwin_encode_section_info): Call
7198 default_encode_section_info.
7199
02ca7595
DE
72002003-05-01 David Edelsohn <edelsohn@gnu.org>
7201
7202 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
7203 (movsi_internal1): Use new mfjmpr attribute.
7204 (movhi_internal): Same.
7205 (movqi_internal): Same.
7206 (movcc_internal1): Same.
7207 (movdi_internal64): Same.
7208 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
7209 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
7210 * config/rs6000/40x.md: Add fpu_405.
7211 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
7212 into power4misc automata. Remove extraneous parentheses.
7213 * config/rs6000/440.md: New file.
7214 * config/rs6000/rs6000.c (processor_target_table): Add 440,
7215 440fp. Rename 405f to 405fp.
7216 (function_arg_padding): Correct formatting.
7217 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
7218
3b895f8e
NS
72192003-05-01 Nathan Sidwell <nathan@codesourcery.com>
7220
d479d37f
NS
7221 * input.h (lineno): Rename to ...
7222 (input_line): ... here.
7223 * tree.h (lineno): Rename to ...
7224 (input_line): ... here.
7225 * scan.h (lineno): Rename to ...
7226 (input_line): ... here.
7227 * toplev.c (lineno): Rename to ...
7228 (input_line): ... here.
7229 (push_srcloc, pop_srcloc): Rename lineno to input_line.
7230 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
7231 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
7232 store_parm_decls, c_expand_body_1): Likewise.
7233 * c-errors.c (pedwarn_c99): Likewise.
7234 * c-format.c (status_warning): Likewise.
7235 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
7236 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
7237 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
7238 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
7239 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
7240 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
7241 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
7242 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
7243 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
7244 * coverage.c (create_coverage): Likewise.
7245 * diagnostic.c (pedwarn, sorry, error, fatal_error,
7246 internal_error, warning, diagnostic_report_current_module,
7247 inform): Likewise.
7248 * expr.c (expand_expr): Likewise.
7249 * integrate.c (expand_inline_function,
7250 output_inline_function): Likewise.
7251 * rtl-error.c (file_and_line_for_asm): Likewise.
7252 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
7253 walk_tree): Likewise.
7254 * tree.c (make_node): Likewise.
7255 * ada, cp, f, java, objc, treelang: Likewise.
7256 * objc/objc-act.c (objc_init): Rename lineno to input_line.
7257 (build_module_descriptor, build_selector_translation_table,
7258 build_protocol_template, build_method_prototype_list_template,
7259 build_category_template, build_selector_table,
7260 build_class_template, build_super_template, build_ivar_template,
7261 build_ivar_list_template, build_method_list_template,
7262 build_method_template, add_instance_variable): Likewise.
7263
3b895f8e
NS
7264 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
7265 name from input_filename.
7266
cafe096b
EC
72672003-04-30 Eric Christopher <echristo@redhat.com>
7268 Richard Sandiford <rsandifo@redhat.com>
7269
7270 * configure: Regenerate from patches below.
7271 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
7272 for all symbolic operands.
7273 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
7274 to function.
7275 * config/mips/linux.h: Fix typo.
7276 * Merge from mips-3_4-rewrite branch:
7277
7278 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
7279
87f85ea0
ZW
7280 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
7281 handling local labels when TARGET_ABICALLS.
cafe096b
EC
7282
7283 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
7284
87f85ea0
ZW
7285 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
7286 integer argument.
7287 (mips_expand_call): Likewise.
7288 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
7289 (FIXED_REGISTERS): Clear $31 entry.
7290 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
7291 (EPILOGUE_USES): Define.
7292 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
7293 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
7294 (override_options): Add a 'j' register class.
7295 (mips_expand_call): Handle sibcalls
7296 (mips_expand_epilogue): Handle epilogues for sibcalls.
7297 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
7298 (sibcall_epilogue): New pattern.
7299 (call, call_value): Adjust calls to mips_expand_call.
7300 (sibcall, sibcall_value): New expanders.
7301 (sibcall_internal, sibcall_value_internal): New patterns.
7302 (sibcall_value_multiple_internal): New pattern.
cafe096b
EC
7303
7304 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
7305
87f85ea0
ZW
7306 * config/mips/mips.md (extended_mips16): New attribute.
7307 (define_attr length): Default to 8 if extended_mips16 == yes.
7308 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
7309 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
7310 (call_internal): Set extended_mips16 to yes for direct jumps.
7311 Remove redundant mode attribute.
7312 (call_value_internal, call_value_multiple_internal): Likewise.
7313 (call_split): Remove redundant mode attribute.
7314 (call_value_split, call_value_multiple_split): Likewise.
cafe096b 7315
87f85ea0
ZW
7316 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
7317 of unaligned offsets.
cafe096b 7318
0d569849 7319 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
87f85ea0 7320 of SYMBOL_GENERAL.
cafe096b
EC
7321
7322 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
7323
87f85ea0
ZW
7324 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
7325 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
7326 for mips16 code.
cafe096b
EC
7327
7328 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
7329
87f85ea0 7330 * config/mips/mips.h (ADDRESS_COST): Define.
cafe096b
EC
7331
7332 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
7333
87f85ea0
ZW
7334 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
7335 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
7336 * config/mips/mips.md: Replace 'R' constraints with 'U'.
cafe096b
EC
7337
7338 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
7339
87f85ea0
ZW
7340 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
7341 of a two-instruction sequence. Add register->memory alternative.
7342 (truncdihi2, truncdiqi2): Likewise.
7343 Rework shift/truncate instructions so that they only handle right
7344 shifts of 32 (or more, in the case of arithmetic shifts).
7345 Add patterns for truncate/sign-extend.
cafe096b
EC
7346
7347 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
7348
87f85ea0
ZW
7349 * configure.in (mips*-*-*): Check for explicit relocation support.
7350 * configure: Regenerate.
cafe096b
EC
7351
7352 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
7353
87f85ea0
ZW
7354 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
7355 and -mno-explicit-relocs.
7356 (MASK_EXPLICIT_RELOCS): Define.
7357 (TARGET_EXPLICIT_RELOCS): Use it.
7358 (mips_split_addresses): Remove declaration.
7359 * config/mips/mips.c (override_options): Update comment for
7360 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
cafe096b
EC
7361
7362 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
7363
87f85ea0
ZW
7364 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
7365 a CONST as identity. Check the return value of gen_lowpart_common.
cafe096b
EC
7366
7367 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
7368
87f85ea0
ZW
7369 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
7370 references for TARGET_EXPLICIT_RELOCS.
7371 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
7372 !TARGET_MIPS16.
cafe096b
EC
7373
7374 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
7375
87f85ea0
ZW
7376 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
7377 (addsi3): Remove redundant constraints.
7378 (addsi3_internal): Use separate register & constant alternatives.
7379 Use a 'Q' constraint and "addiu" insn for the latter.
7380 (adddi3_internal_3, addsi3_internal_2): Likewise.
cafe096b
EC
7381
7382 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
7383
87f85ea0
ZW
7384 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
7385 (mips_expand_unaligned_store): Declare.
7386 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
7387 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
7388 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
7389 (UNSPEC_ULD, UNSPEC_USD): Remove.
7390 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
7391 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
7392 (extv, extzv): Use mips_expand_unaligned_load.
7393 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
7394 predicate for operand 3.
7395 (movsi_ulw, movsi_usw): Replace with...
7396 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
7397 (movdi_uld, movdi_usd): Likewise replace with...
7398 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
cafe096b
EC
7399
7400 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
7401
87f85ea0
ZW
7402 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
7403 * config/mips/mips.h (LEA_REGS): New register class.
7404 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
7405 (GR_REG_CLASS_P): Include LEA_REGS.
7406 (DANGEROUS_FOR_LA25_P): New macro.
7407 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
7408 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
7409 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
7410 entries to LEA_REGS.
7411 (mips_global_pic_constant_p): New function.
7412 (override_options): Add 'e' register constraint.
7413 (mips_secondary_reload_class): Return LEA_REGS when reloading
7414 a dangerous constant into a class containing $25.
7415 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
7416 (movsi_internal): Likewise.
cafe096b
EC
7417
7418 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
7419
87f85ea0
ZW
7420 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
7421 * config/mips/mips.md (call_split): New insn.
7422 (call_value_split, call_value_multiple_split): New insns.
7423 (call_internal): Turn into a define_insn_and_split. Split the
7424 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
7425 (call_value_internal, call_value_multiple_internal): Likewise.
cafe096b
EC
7426
7427 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
7428
87f85ea0
ZW
7429 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
7430 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
7431 (mips_encode_section_info): Don't take symbol visibility into
7432 account if TARGET_ABICALLS. Add more commentary.
7433 * config/mips/mips.md: Add commentary above reloc constants.
cafe096b
EC
7434
7435 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
7436
87f85ea0
ZW
7437 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
7438 from mips_legitimize_move. Legitimize constant pool references.
7439 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
7440 a REG_EQUAL note to the last instruction.
cafe096b
EC
7441
7442 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
7443
87f85ea0
ZW
7444 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
7445 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
7446 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
7447 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
7448 * config/mips/mips.md (UNSPEC_HIGH): New constant.
7449 (UNSPEC_RELOC_GPREL16): Rename to...
7450 (RELOC_GPREL16): ...this.
7451 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
7452 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
7453 (macro_calls): New attribute.
7454 (length): Use it to set the default length of calls. Don't allow
7455 calls to have delay slots if macro_calls is "yes".
7456 (luisi, luidi): New patterns.
7457 (lowsi, lowdi): Use '%R' to print the relocation.
7458 (lowdi_extend): Remove.
7459 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
7460 (call_internal): Merge alternatives. Always use "jal".
7461 (call_value_internal, call_value_multiple_internal): Likewise.
7462 (reloc_gprel16): Remove.
7463 * config/mips/mips.c (mips_got_alias_set): New variable.
7464 (mips_classify_constant): Handle the new relocation constants.
7465 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
7466 (mips_symbolic_address_p): Return false if generating explicit relocs.
7467 Otherwise allow local PIC symbols to have an offset.
7468 (mips_splittable_symbol_p): New function.
7469 (mips_classify_address): Use it to check whether a LO_SUM is valid.
7470 (mips_const_insns): Always accept HIGH.
7471 (call_insn_operand): Don't accept global symbols if using explicit
7472 relocs.
7473 (move_operand): Don't accept HIGH when generating PIC.
7474 (mips_reloc, mips_lui_reloc): New functions.
7475 (mips_force_temporary): Remove MODE argument. Expect VALUE to
7476 be a valid right-hand-side for a SET pattern.
7477 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
7478 (mips_emit_high): New function.
7479 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
7480 case. Use mips_splittable_symbol_p to check whether a LO_SUM
7481 address should be used. Use mips_emit_high to generate the
7482 high part of such an address. Adjust the global symbol + offset
7483 case to match the change to mips_force_temprorary.
7484 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
7485 If generating explicit-reloc PIC, load the address of global
7486 symbols from the GOT. Use mips_emit_high to emit the high part
7487 of an address.
7488 (mips_simplify_dwarf_addr): New function.
7489 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
7490 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
7491 (mips_expand_call): Load the addresses of global functions using
7492 %call* relocs if generating explicit-reloc PIC. Don't generate
7493 an exception_receiver pattern.
7494 (override_options): Initialize mips_got_alias_set.
6356f892 7495 (print_relocation): Remove in favor of...
87f85ea0
ZW
7496 (mips_reloc_string): ...this new function.
7497 (print_operand): Handle '%R'. Use mips_reloc_string.
7498 (print_operand_address): Use print_operand to print the symbolic
7499 part of a LO_SUM address.
7500 (mips_output_function_prologue): Use .cprestore, reverting last patch.
7501 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
7502 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
7503 for local symbols.
cafe096b
EC
7504
7505 2003-02-02 Eric Christopher <echristo@redhat.com>
7506
0d569849 7507 * config/mips/mips.c (mips_sign_extend): Remove.
87f85ea0
ZW
7508 * config/mips/mips-protos.h: Ditto.
7509 * config/mips/mips.md (movdi_internal2_extend): Remove.
7510 (extendsidi2): Fix mode of convert_memory_address.
cafe096b
EC
7511
7512 2003-01-24 Eric Christopher <echristo@redhat.com>
7513
87f85ea0
ZW
7514 * config/mips/mips.md: Rewrite zero_extend* and extend*
7515 patterns. Use explicit instructions and split after reload
7516 for register extensions.
7517 (ashlsi3_internal1_extend): New combiner pattern for
7518 shift and extend combinations.
7519 * config/mips/mips.h: Change Pmode back to ptr_mode
7520 for performance enhancement.
7521 * combine.c (expand_compound_operation): Make sure
7522 that zero_extend operation is profitable.
cafe096b
EC
7523
7524 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
7525
87f85ea0
ZW
7526 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
7527 addresses depend on ptr_mode rather than Pmode.
7528 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
7529 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
7530 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
7531 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
7532 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
7533 condition for selecting cpaddsi or cpadddi: use cpadd instead.
7534 (tablejump_internal1): Remove condition.
7535 (tablejump_internal2): Change condition to TARGET_64BIT.
7536 (cpaddsi): Rename to...
7537 (cpadd): ...this.
7538 (cpadddi): Remove.
cafe096b
EC
7539
7540 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
7541
87f85ea0
ZW
7542 * config/mips/mips-protos.h (mips16_constant_after_function_p,
7543 mips_address_cost, mips_check_split, double_memory_operand,
7544 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
7545 pic_address_needs_scratch, symbolic_operand): Remove declarations.
7546 (mips_legitimate_address_p): Return bool.
7547 (mips_address_insns, mips_fetch_insns, mips_const_insns,
7548 mips_legitimize_address, mips_legitimize_move,
7549 mips_expand_call): Declare.
7550 (mips_return_addr): Move outside #ifdef RTX_CODE.
7551
7552 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
7553 (PIC_FN_ADDR_REG): New reg_class.
7554 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
7555 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
7556 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
7557 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
7558 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
7559 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
7560 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
7561 (LEGITIMATE_PIC_OPERAND): Undefine.
7562 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
7563 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
7564 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
7565 (FUNCTION_MODE): Change to SImode.
7566 (CONST_COSTS): Use mips_const_insns to calculate the cost of
7567 most constants. Treat const_artih_operands specially if they
7568 occur in a PLUS or MINUS.
7569 (CONSTANT_POOL_COST): New macro.
7570 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
7571 Add LO_SUM handling.
7572 (ADDRESS_COST): Undefine.
7573 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
7574 Add CONST to the list of codes for arith_operand. Add LABEL_REF
7575 to call_insn_operand and remove CONST_INT.
7576
7577 * config/mips/mips.c: Include integrate.h.
7578 (SINGLE_WORD_MODE_P): New macro.
7579 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
7580 (mips_constant_info, mips_address_info): New structs.
7581 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
7582 (mips_classify_constant, mips_classify_symbol,
7583 mips_valid_base_register_p, mips_symbolic_address_p,
7584 mips_classify_address, mips_symbol_insns,
7585 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
7586 mips_fetch_insns, mips_force_temporary, mips_add_offset,
7587 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
7588 mips_print_relocation): New functions.
7589 (const_arith_operand): New operand predicate.
7590 (arith_operand): Use it.
7591 (mips_const_double_ok, mips16_simple_memory_operand,
7592 simple_memory_operand, double_memory_operand, mips_check_split,
7593 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
7594 mips16_gp_offset_p, mips16_output_gp_offset,
0d569849 7595 mips16_constant_after_function_p, mips16_constant): Remove.
87f85ea0
ZW
7596 (call_insn_operand): Be more fussy about symbolic constants.
7597 Use register_operand.
7598 (move_operand): Use mips_symbolic_address_p to check symbolic
7599 operands and general_operand to check the rest.
7600 (symbolic_operand): Use mips_classify_constant.
7601 (mips_legitimate_address_p): Use mips_classify_address.
7602 (mips_move_1word): Combine handling of symbolic addresses.
7603 Remove special treatment of gp-relative loads for TARGET_MIPS16.
7604 (move_move_2words): Likewise. Assume addresses are offsettable
7605 if they need to refer to more than one word. Add HIGH handling.
7606 (mips_restore_gp): Use ptr_mode for the GP save slot.
7607 (mips_expand_call): New function, combining the old mips.md
7608 call and call_internal define_expands. If the address isn't
7609 a call_insn_operand, force it into a register. For SVR4 PIC,
7610 emit an exception_receiver instruction after the call.
7611 (override_options): Only override flag_pic for TARGET_ABICALLS
7612 if it is currently zero. Allow mips_split_addresses when
7613 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
7614 Add new register class letter, 'c'.
7615 (print_operand): Use mips_classify_constant for constant operands.
7616 (print_operand_address): Use mips_classify_address.
7617 (mips_output_function_prologue): Don't use .cprestore.
7618 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
7619 via the frame pointer if current_function_calls_eh_return.
7620 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
7621 to mark whether a symbol is local or global.
7622 (build_mips16_call_stub): Expect the address of the function rather
7623 than a MEM reference to it. Update call generation sequences.
7624 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
7625 small-data adjustments.
7626
7627 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
7628 length for loads and stores.
7629 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
7630 (define_attr type): Add const and prefetch.
7631 (define_attr length): Use mips_const_insns for const instructions.
7632 Use mips_fetch_insns for load and store instructions.
7633 (define_attr single_insn): New.
7634 (define_attr can_delay): Use it.
7635 (define_attr abicalls): Remove.
7636 (define_delay): Use can_delay. Always allow calls to have delay slots.
7637 (addsi3_internal_2): Add 'Q' constraint.
7638 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
7639 (high): Remove.
7640 (lowsi): Renamed from low.
7641 (lowdi): New pattern.
7642 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
7643 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
7644 (loadgp): Change operand 0 to an immediate_operand.
7645 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
7646 beforehand.
7647 (cpaddsi, cpadddi): New patterns.
7648 (tablejump_internal3, tablejump_internal4): Remove define_expands
7649 and associated define_splits.
7650 (call, call_value): Use mips_expand_call.
7651 (call_internal): New, replacing all existing call_internal* insns.
7652 (call_value_internal): Likewise call_value_internal*.
7653 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
7654 (untyped_call): Remove if (operands[0]) magic.
7655 (prefetch_si_address, prefetch_si): Change type to "prefetch".
7656 (prefetch_di_address, prefetch_di): Likewise.
7657 (leasi, leadi): Remove.
7658 (reloc_gprel16): New.
7659
7660 * config/mips/5400.md (ir_vr54_hilo): Include const type.
7661 * config/mips/5500.md (ir_vr55_hilo): Likewise.
7662 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
cafe096b
EC
7663
7664 2003-01-08 Eric Christopher <echristo@redhat.com>
7665
87f85ea0
ZW
7666 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
7667 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
7668 configure check for libgloss.
7669 * config/mips/elf64.h: Ditto.
7670 * config/mips/mips.c: Remove ABI_MEABI.
7671 * config/mips/mips.h: Ditto.
cafe096b
EC
7672
7673 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
7674
87f85ea0
ZW
7675 Fix merge fallout.
7676 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
7677 (muldi3_internal): Remove outdated comment.
7678 (*muls_di, *umuls_di): Fix comment and 64-bitness.
7679 (*smsac_di, *umsac_di): Likewise. Reformat.
7680 (umulsi3_highpart): Minor formatting tweaks.
7681 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
7682 redundant scratch operand. Minor formatting tweak.
7683 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
7684 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
7685 (smulsi3_highpart): As for the unsigned version.
7686 (smulsi3_highpart_internal): Likewise.
7687 (smulsi3_highpart_mulhi_internal): Likewise.
7688 (smulsi3_highpart_neg_mulhi_internal): Likewise.
7689 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
7690 (*smul_acc_di): Remove duplicated pattern.
7691 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
7692 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
7693 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
cafe096b
EC
7694
7695 2002-10-22 Eric Christopher <echristo@redhat.com>
7696
87f85ea0
ZW
7697 * config/mips/mips-protos.h (mips_return_addr): New.
7698 * config/mips/mips.c (mips_return_addr): New.
7699 (movdi_operand): Remove.
7700 (se_register_operand): Ditto.
7701 (se_reg_or_0_operand): Ditto.
7702 (se_uns_arith_operand): Ditto.
7703 (se_arith_operand): Ditto.
7704 (se_nonmemory_operand): Ditto.
7705 (extend_operator): Ditto.
7706 (highpart_shift_operator): Ditto.
7707 (mips_initial_elimination_offset): Remove return address pointer
7708 elimination.
7709 (mips_reg_names): Remove $ra.
7710 (mips_regno_to_class): Ditto.
7711 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
7712 and TARGET_64BIT.
7713 (POINTER_BOUNDARY): Remove.
7714 (POINTERS_EXTEND_UNSIGNED): Define to 0.
7715 (PROMOTE_MODE): Promote to Pmode.
7716 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
7717 (Pmode): Define to TARGET_64BIT.
7718 (FUNCTION_MODE): Define as Pmode.
7719 (mips_args): Remove deleted functions.
7720 (SIZE_TYPE): Depend on POINTER_SIZE.
7721 (PTRDIFF_TYPE): Ditto.
7722 (FIXED_REGISTERS): Fix extra registers.
7723 (CALL_USED_REGISTERS): Ditto.
7724 (CALL_REALLY_USED_REGISTERS): Ditto.
7725 (RAP_REG_NUM): Remove.
7726 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
7727 (RETURN_ADDR_RTX): Define to mips_return_addr.
7728 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
7729 (CAN_ELIMINATE): Ditto.
7730 * config/mips/mips.md: For DImode patterns, take into account
7731 deletions above. Split mulsidi patterns into sign_extend and
7732 zero_extend.
cafe096b
EC
7733
7734 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
87f85ea0
ZW
7735 Michael Meissner <meissner@redhat.com>
7736
7737 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
7738 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
7739 mop up unnecessarly moves through LO.
7740 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
7741 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
7742 change mtlo/macc sequences into mul/add sequences when a three-
7743 address mul is available.
7744 (*macc2): New pattern. Add a define_peephole2 to generate it.
7745 (*mul_sub_si): Fix contraint for operand 5.
7746 (*muls): Use in 32-bit code as well.
7747 (*msac): Likewise. Use msub instead of msac in vr5500 code
7748 if the destination is LO. Remove duplicate define_split.
7749 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
7750 (*msac_di): Likewise. Fix formatting.
7751 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
7752 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
7753 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
7754 (*xmulsi3_neg_highpart_mulhi): Likewise.
7755 (*mul_acc_64bit_di): Remove.
7756 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
cafe096b
EC
7757
7758 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
7759
87f85ea0
ZW
7760 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7761 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7762 (MULTILIB_DIRNAMES): Remove long32.
7763 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7764 (MULTILIB_REDUNDANT_DIRS): Remove.
cafe096b
EC
7765
7766 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
7767
87f85ea0
ZW
7768 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7769 * gcc.c (driver_self_specs): New variable.
7770 (do_self_spec): New function.
7771 (main): Use it to process driver_self_specs.
cafe096b
EC
7772
7773 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
7774
87f85ea0
ZW
7775 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
7776 Remove DImode define_split for !TARGET_64BIT.
7777 (anddi3): Remove !TARGET_64BIT support from here as well.
7778 Change operand 2's predicate to se_uns_arith_operand.
7779 Add constant alternatives to define_insn.
7780 (iordi3, xordi3, *nordi3): Likewise.
7781 (anddi3_internal1, xordi3_immed): Remove.
cafe096b
EC
7782
7783 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7784
87f85ea0
ZW
7785 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
7786 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
7787 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
7788 * config/mips/mips.md: Apply same renaming here.
cafe096b
EC
7789
7790 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7791
87f85ea0
ZW
7792 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
7793 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
7794 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
7795 * config/mips/mips.md (define_attr cpu): Remove r4320.
7796 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
cafe096b
EC
7797
7798 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7799
87f85ea0
ZW
7800 * config/mips/mips.c (mips16_strings): New variable.
7801 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
7802 symbol in mips16_strings. Free the list.
7803 (mips_encode_section_info): Keep track of local strings.
cafe096b
EC
7804
7805 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7806
87f85ea0
ZW
7807 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
7808 (sordered_df, sordered_sf): Remove.
7809 * config/mips/mips.c (get_float_compare_codes): New fn.
7810 (gen_int_relational, gen_conditional_move): Use it.
cafe096b
EC
7811
7812 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
7813
87f85ea0
ZW
7814 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
7815 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
7816 * config/mips/mips.c (fcc_register_operand): New function.
7817 (mips_emit_fcc_reload): New function, extracted from reload_incc.
7818 (override_options): Allow TFmode values in float registers
7819 if ISA_HAS_8CC.
7820 * cnfig/mips/mips.md (reload_incc): Change destination prediate
7821 to fcc_register_operand. Remove misleading source constraint.
7822 Use mips_emit_fcc_reload.
0d569849 7823 (reload_outcc): Duplicate reload_incc.
cafe096b
EC
7824
7825
44c8a5f8
DN
78262003-04-30 Diego Novillo <dnovillo@redhat.com>
7827
7828 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
7829
5d638f70
GK
78302003-04-30 Geoffrey Keating <geoffk@apple.com>
7831
7832 * tree-inline.c (inlinable_function_p): Back out last change, it's
7833 unnecessary.
7834
5e26df64
SB
78352003-04-30 Steven Bosscher <steven@gcc.gnu.org>
7836
7837 * ggc-page.c (TREE_EXP_SIZE): Define.
7838 (extra_order_size_table): New entry for expr trees with
7839 two operands.
7840
fba020b1
GDR
78412003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7842
7843 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
7844 (c_expand_start_cond): Adjust.
7845 (c_expand_end_cond): Don't use warning_with_file_and_file.
7846 (shadow_warning): Likewise.
7847
62216ea0
NS
78482003-04-30 Nathan Sidwell <nathan@codesourcery.com>
7849
7850 * tree.h (DECL_POINTER_DEPTH): Remove.
7851 (struct tree_decl): Remove pointer_depth.
cafe096b 7852
d1908feb
JJ
78532003-04-30 Janis Johnson <janis187@us.ibm.com>
7854
7855 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
7856 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
7857 (rs6000_xcoff_encode_section_info): Remove.
7858 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
7859 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
7860 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
7861 Use SYMBOL_REF_FLAGS.
7862 (rs6000_elf_encode_section_info): Call default_encode_section_info for
7863 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
7864 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
7865 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
7866 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
7867 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
7868
0e42348d
GDR
78692003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7870
7871 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
7872
dad78426
AS
78732003-04-30 Andreas Schwab <schwab@suse.de>
7874
7875 * doc/extend.texi (Other Builtins): Enclose multiple word data
7876 type in braces for @deftypefn.
7877
4c80872c
RK
78782003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7879
5826955d
RK
7880 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
7881
4c80872c
RK
7882 * doc/install.texi (--enable-threads): Document "gnat" option.
7883
10256cf5
GDR
78842003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7885
7886 * diagnostic.h (output_formatted_scalar): Tweak.
7887 * diagnostic.c (output_long_decimal): Likewise.
7888 (output_unsigned_decimal): Likewise.
7889 (output_long_unsigned_decimal): Likewise.
7890 (output_octal): Likewise.
7891 (output_long_octal): Likewise.
7892 (output_hexadecimal): Likewise.
7893 (output_long_hexadecimal): Likewise.
7894 (output_pointer): New function.
7895 (output_format): Use it. Recognize "%p" format specifier.
7896
b2a7fa89
ZD
78972003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7898
7899 * function.c (purge_addressof_1): Postpone insn in fewer cases.
7900
a6fdc086
GK
79012003-04-29 Geoffrey Keating <geoffk@apple.com>
7902
505b0fd6
GK
7903 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
7904 call abort() after running out of stack space.
7905
a6fdc086
GK
7906 * c-typeck.c (function_types_compatible_p): Ignore incompatible
7907 'volatile' qualifiers on a function's return type in GNU mode.
7908
9c0631a7
AH
79092003-04-29 Aldy Hernandez <aldyh@redhat.com>
7910
87f85ea0
ZW
7911 * expr.c (emit_group_load): Dump parallels of simd types to
7912 memory.
9c0631a7 7913
74719742
VM
79142003-04-29 Vladimir Makarov <vmakarov@redhat.com>
7915
7916 * genautomata.c (add_vect): Check undefined value for range type
7917 too.
7918
baade80b
PE
79192003-04-29 Phil Edwards <pme@gcc.gnu.org>
7920
7921 * configure.in: More general test for cmp --ignore-initial.
7922 * configure: Regenerate.
7923
84d8756d
RK
79242003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7925
0384674e
RK
7926 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
7927 (layout_decl, place_field): Likewise.
7928 Also make minor type and whitespace changes.
7929
84d8756d
RK
7930 * tree.c (save_expr): Don't fold a COMPONENT_REF.
7931
0219237c
OH
79322003-04-29 Olivier Hainque <hainque@act-europe.fr>
7933
7934 * calls.c (expand_call): When modes of target and valreg match, force
7935 sibcall failure when target is a MEM.
7936
b9538b2e
GK
79372003-04-29 Geoffrey Keating <geoffk@apple.com>
7938
b3d627e2
GK
7939 * tree-inline.c (inlinable_function_p): Don't support inlining
7940 functions using varargs.
7941
f4ddb75b
GK
7942 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
7943
0366359a
GK
7944 * dwarf2out.c (output_call_frame_info): No need to output EH
7945 unwind information if all_throwers_are_sibcalls.
7946
e55614ca
GK
7947 * c-semantics.c (expand_unreachable_stmt): Return a tree.
7948 (expand_stmt): Update for change to expand_unreachable_stmt.
7949 (expand_unreachable_if_stmt): Likewise.
7950
b9538b2e
GK
7951 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
7952
72e940d2
JM
79532003-04-29 Jason Merrill <jason@redhat.com>
7954
7955 PR middle-end/10336
cafe096b 7956 * jump.c (never_reached_warning): Really stop looking if we reach
72e940d2
JM
7957 the beginning of the function.
7958
9193479f
BW
79592003-04-29 Bob Wilson <bob.wilson@acm.org>
7960
7961 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
7962 Remove redundant macros.
7963 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
7964 (LOCAL_LABEL_PREFIX): Define unconditionally.
7965 (NO_DOT_IN_LABEL): Clarify comment.
7966 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
7967 definition to "long int".
7968
b0501ec1
AK
79692003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
7970
7971 bootstrap/10452
7972 * gengtype-yacc.y: Improve portability.
7973
8e720e8b
ZW
79742003-04-29 Zack Weinberg <zack@codesourcery.com>
7975
7976 * config.gcc: Install obsolete target list for GCC 3.3.
7977 * doc/install.texi: Mention in specific-target instructions
7978 that certain configurations are deprecated.
7979
1be3f80f
ZW
79802003-04-29 Zack Weinberg <zack@codesourcery.com>
7981
7982 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
7983
8e854b76
KL
79842003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
7985
7986 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
7987 * gcc.c (display_help): Likewise.
7988 * toplev.c (f_options): Likewise.
7989 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
7990 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
7991 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
7992 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
7993 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
7994
267594f3
R
79952003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
7996
7997 * varasm.c (default_assemble_visibility): Use assemble_name.
7998
667b43dd
DB
79992003-04-29 David O'Brien <obrien@FreeBSD.org>
8000
8001 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
5b51b1f5
DB
8002 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
8003 (SIZE_TYPE): New macro.
fbf17dab
DB
8004 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
8005 (SET_ASM_OP): New macro.
8006 (HANDLE_SYSV_PRAGMA): New macro.
8007 (ASM_WEAKEN_LABEL): New macro.
667b43dd 8008
a833faa5
MM
80092003-04-28 Mark Mitchell <mark@codesourcery.com>
8010
8011 PR c++/10180
8012 * tree-inline.c (expand_call_inline): Call push_srcloc when
8013 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
8014
a72bf3e9
MS
80152003-04-28 Mike Stump <mrs@apple.com>
8016
8017 * gdbinit.in: Update to reflect new identifier structure.
8018
0864034e
ZW
80192003-04-28 Zack Weinberg <zack@codesourcery.com>
8020
8021 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
8022 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
8023 struct tree_complex, struct tree_vector): Remove RTL field.
8024 (CONSTRUCTOR_ELTS): Use elt 0.
8025 * tree.def (CONSTRUCTOR): Delete first of its two operands.
8026 * varasm.c (output_constant_def): Remove early exit if
8027 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
8028 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
8029 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
8030 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
8031
9661b15f
JJ
80322003-04-28 Jakub Jelinek <jakub@redhat.com>
8033
8034 * c-decl.c (finish_decl): When prototype with asmspec is found
8035 for built-in, adjust built_in_decls as well as expr.c decls.
8036 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
8037 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
8038 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
8039
8707fe93
RH
80402003-04-28 Richard Henderson <rth@redhat.com>
8041
0864034e
ZW
8042 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
8043 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
8044 integral constant mult operand.
8045 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
8046 (const_smulsi3_highpart_v8plus): Likewise.
8047 (const_smulsi3_highpart): Likewise.
8048 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
8049 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
8050 (const_umulsi3_highpart_v8plus): Likewise.
8051 (const_umulsi3_highpart): Likewise.
8707fe93 8052
ff4cb2e7
DB
80532003-04-28 David O'Brien <obrien@FreeBSD.org>
8054
8055 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
8056 Define as 1.
8057
495d8dd6
DB
80582003-04-28 David O'Brien <obrien@FreeBSD.org>
8059
8060 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
8061
e31603c4
JJ
80622003-04-28 Jakub Jelinek <jakub@redhat.com>
8063
8064 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
8065 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
8066 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
8067 functions.
8068 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
8069
dbe983a8
NC
80702003-04-28 Nick Clifton <nickc@redhat.com>
8071
8072 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
8073
afc6aaab
ZW
80742003-04-27 Zack Weinberg <zack@codesourcery.com>
8075
8076 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
8077 output_constant_def, use its result instead of TREE_CST_RTL (exp).
8078 Can assume it has the form (mem (symbol_ref ".LCxxx")).
8079 (expand_expr <COMPONENT_REF>): Can always just extract the
8080 relevant field of a CONSTRUCTOR.
8081 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
8082 ARRAY_RANGE_REF>): Make control flow explicit.
8083 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
8084 an INTEGER_CST.
8085
860992e6
KH
80862003-04-27 Kazu Hirata <kazu@cs.umass.edu>
8087
8088 * reload1.c (reg_set_luid): Fix a comment typo.
8089
32a61907
ZW
80902003-04-27 Zack Weinberg <zack@codesourcery.com>
8091
8092 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
8093 struct deferred_string, const_str_htab): Kill.
8094 (n_deferred_strings): New static variable.
8095 (build_constant_desc): Set SYMBOL_REF_DECL of the new
8096 symbol_ref to point to the constant.
8097 (output_constant_def): When a deferred string is forced out,
8098 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
8099 (mark_constant): Likewise.
8100 (maybe_output_constant_def_contents): When deferring a string
8101 constant, just set STRING_POOL_ADDRESS_P and increment
8102 n_deferred_strings.
8103 (mark_constant_pool): Check n_deferred_strings, not the size
8104 of const_str_htab.
8105 (init_varasm_once): No need to create const_str_htab.
8106
8107 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
8108 SYMBOL_REF_DECL points to a constant.
8109
293107d1
ZW
81102003-04-26 Zack Weinberg <zack@codesourcery.com>
8111
8112 * varasm.c (output_constant_def): Split out two new static
8113 functions, build_constant_desc and maybe_output_constant_def_contents.
8114 Restructure for comprehensibility. Don't call
8115 output_addressed_constants. Treat defstr being non-NULL for
8116 STRING_POOL_ADDRESS_P constants as an invariant.
8117 (struct deferred_string): Remove labelno field.
8118 (output_constant_def_contents): Kill labelno argument. Call
8119 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
8120 asm_out.internal_label.
8121 (mark_constant): Update call to output_constant_def_contents.
8122 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
8123 constants as an invariant.
8124
12969f45
RH
81252003-04-26 Richard Henderson <rth@redhat.com>
8126
8127 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
8128 (ix86_expand_call, ix86_rtx_consts): Likewise.
8129
5cc2f4f3
KG
81302003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8131
8132 * doc/md.texi (cmpstr): Document additional restrictions.
8133
09b04f2d
NB
81342003-04-26 Neil Booth <neil@daikokuya.co.uk>
8135
8136 * flags.h (time_report): Remove.
8137 * timevar.c (timevar_enable): New.
8138 (TIMEVAR_ENABLE): Remove, use timevar_enable.
8139 (timevar_init): Rename from init_timevar.
8140 * timevar.h (timevar_init): Rename from init_timevar.
8141 * toplev.c (time_report): Make static.
8142 (do_compile): Conditionally call init_timevar first.
8143 (preprocess_options): Move some code to do_compile.
8144
3e35d143
SC
81452003-04-26 Stephane Carrez <stcarrez@nerim.fr>
8146
8147 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
8148
e6dc0cc6
NB
81492003-04-26 Neil Booth <neil@daikokuya.co.uk>
8150
8151 * _cpp_lex_direct: Remove pointless code.
8152
5936c7e7
SC
81532003-04-26 Stephane Carrez <stcarrez@nerim.fr>
8154
8155 * doc/extend.texi (Function Attributes): Document "near" and "far"
8156 for 68HC11 and 68HC12.
8157
85a43a2f
RK
81582003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8159
8160 * expr.c (store_field): When making temporary for store, don't
8161 make it TYPE_QUAL_CONST.
8162
09e4ab56
PE
81632003-04-25 Phil Edwards <pme@gcc.gnu.org>
8164
8165 * toplev.c (read_integral_parameter): Use "argument" in error
8166 message to distinguish it from actual invalid options.
8167
ab409f1b
BW
81682003-04-25 Bob Wilson <bob.wilson@acm.org>
8169
8170 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
8171 addition of __PIC__ and __pic__ macros.
8172 * config/xtensa/xtensa.h: Clean up indentation.
8173
6a2b287f
BW
81742003-04-25 Bob Wilson <bob.wilson@acm.org>
8175
8176 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
8177 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
8178 (SUBTARGET_CPP_SPEC): Define.
8179 (LIB_SPEC): Delete.
8180 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
8181 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
8182 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
8183 Define.
8184 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
8185 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
8186
60986d64
L
81872003-04-25 H.J. Lu <hjl@gnu.org>
8188
8189 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
8190 for return mode.
8191 (ia64_expand_builtin): Set rmode to SImode for
8192 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
8193 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
8194 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
8195 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
8196
c7a5cf61
PE
81972003-04-25 Phil Edwards <pme@gcc.gnu.org>
8198
8199 * configure.in (make_compare_target): Test for GNU cmp and set this
8200 variable appropriately.
8201 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
8202 compare4-lean): Rename actual targets to slowcompare*. New compare*
8203 targets depend on names based on make_compare_target.
8204 * configure: Regenerated.
8205
f5bdba44
RH
82062003-04-25 Richard Henderson <rth@redhat.com>
8207
8208 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
8209 to clobber ar.pfs and ar.unat.
8210 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
8211 fix test for spilling ar.pfs to the stack.
8212
82132003-04-25 Richard Henderson <rth@redhat.com>
8f4e6caf 8214
293107d1
ZW
8215 PR opt/10315
8216 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
8217 checks during reload; use validize_mem instead of adjust_address.
8f4e6caf 8218
eda833e3
BE
82192003-04-26 Ben Elliston <bje@wasabisystems.com>
8220
8221 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
8222 return values from recog_memoized().
8223
9feff114
JDA
82242003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8225
8226 PR opt/8705
8227 * gcse.c (try_replace_reg): On a successful substitution of a constant
8228 into a single set, try to simplify the source of the set.
8229 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
8230 constant source.
8231
59325650
NB
82322003-04-24 Neil Booth <neil@daikokuya.co.uk>
8233
8234 * cpplex.c (cpp_token_len): Tighten up.
8235 (cpp_token_as_text): Need extra byte now.
8236 * cpplib.c (glue_header_name): Need extra 2 bytes.
8237 * cppmacro.c (cpp_macro_definition): Need extra byte.
8238
b746b8cb
AK
82392003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
8240
8241 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
293107d1 8242 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
b746b8cb
AK
8243 where they might be not present. Use their _sp64 equivalent
8244 instead.
8245
019238b7
JH
8246Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
8247
8248 * i386.md (cvtsi2sdq): Fix typo in previous patch.
293107d1 8249
39f6c4c8
KW
82502003-04-24 Krister Walfridsson <cato@df.lth.se>
8251
8252 * configure.in: Check whether mbstowcs works.
8253 * configure, config.in: Regenerate.
8254 * intl.c: Use HAVE_WORKING_MBSTOWCS.
8255
0c79f08b
L
82562003-04-24 H.J. Lu <hjl@gnu.org>
8257
8258 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
8259 for __sync_bool_compare_and_swap_di for int return type.
8260
8261 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
8262 Change return type to int.
8263 (__sync_bool_compare_and_swap): Likewise.
8264
26f74aa3
JH
8265Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
8266
8267 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
8268 looking for fallthru edge.
8269
8270 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
8271 Fix.
8272 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
8273 athlon-fvector): New.
8274 (athlon_*): Revisit to match new optimization guide.
8275 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
8276 * i386.md (cvt??2?? patterns): Fix modes.
8277 (fistp patterns): Set modes.
8278
8279 Accidentaly commited with my earlier reload patch:
8280 PR c/10308
8281 * reload.c (find_reloads_address_1): Reload plus at the place of
8282 index register.
293107d1 8283
796621e8
NS
82842003-04-24 Nathan Sidwell <nathan@codesourcery.com>
8285
8286 New GCOV_TAG_FUNCTION layout
8287 * coverage.c (struct function_list): Replace name with ident.
8288 (struct counts_entry): Likewise.
8289 (fn_ident): New.
8290 (htab_counts_entry_hash, htab_counts_entry_eq,
8291 htab_counts_entry_del): Adjust.
8292 (reads_count_file, get_coverage_counts,
8293 coverage_begin_output, coverage_end_function): Adjust.
8294 (build_fn_info_type, build_fn_info_value): Likewise.
8295 * gcov-dump.c (tag_function): Adjust.
8296 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
8297 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
8298 * gcov.c (struct function_info): Add ident.
8299 (read_graph_file, read_count_file): Adjust.
8300 * libgcov.c (gcov_exit): Adjust.
8301
6ff76c36
RH
83022003-04-23 Richard Henderson <rth@redhat.com>
8303
8304 PR opt/8300
8305 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
8306 after initialize_uninitialized_subregs; update reg info assuming
8307 new pseudos were created.
8308
6338b358
NB
83092003-04-23 Neil Booth <neil@daikokuya.co.uk>
8310
8311 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
8312 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
8313 (lex_string): Take cpp_string with full spelling.
8314 (cb_ident): Update.
8315 (c_lex): Update diagnostics.
8316 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
8317 (create_literal): New.
8318 (lex_string): Unterminated literals have type CPP_OTHER.
8319 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
8320 for CPP_OTHER.
8321 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
8322 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
8323 * cpplib.c (parse_include, do_line, do_linemarker,
8324 destringize_and_run): Update for token storing full spelling.
8325 * cpplib.h: Update token spelling types.
8326 * cppmacro.c (stringify_arg, check_trad_stringification):
8327 Update for token storing full spelling.
8328
011fd56b
UW
83292003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
8330
8331 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
8332
7052a099
RE
83332003-04-23 Richard Earnshaw <rearnsha@arm.com>
8334
8335 * arm.h (TARGET_OPTIONS): Add value field.
8336
f0ddce84
MM
83372003-04-23 Mark Mitchell <mark@codesourcery.com>
8338
8339 * doc/extend.texi: Remove duplicate 2003 copyright date.
8340
cdb23767
NS
83412003-04-23 Nathan Sidwell <nathan@codesourcery.com>
8342
8343 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
8344 (libgcov.a): Depends on LIBGCC_DEPS.
8345 * basic-block.h (profile_info): Moved here from coverage.h. Made
8346 a pointer.
8347 * coverage.c (struct function_list): Fixed array of counter types.
8348 (struct counts_entry): Keyed by counter type, contains summary.
8349 (profile_info): Moved to profile.c.
8350 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
8351 vars.
8352 (profiler_label): Remove.
8353 (ctr_labels): New.
8354 (set_purpose, label_for_tag, build_counter_section_fields,
8355 build_counter_section_value, build_counter_section_data_fields,
8356 build_counter_section_data_values, build_function_info_fields,
8357 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
8358 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
8359 build_ctr_info_value, build_gcov_info): New.
8360 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
8361 (reads_counts_file): Adjust.
8362 (get_coverage_counts): Takes counter number. Add summary
8363 parameter. Adjust.
8364 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
8365 create counter array labels.
8366 (coverage_end_function): Adjust.
8367 (create_coverage): Adjust.
8368 (find_counters_section): Remove.
8369 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
8370 (struct section_info, struct profile_info): Remove.
8371 (profile_info): Moved to basic-block.h.
8372 (coverage_counter_ref): Takes a counter number.
8373 (get_coverage_counts): Takes a counter number. Added summary
8374 parameter.
8375 (find_counters_section): Remove.
8376 * gcov-dump.c (tag_arc_counts): Rename to ...
8377 (tag_counters): ... here. Adjust.
8378 (tag_table): Move tag_counters to 3rd entry. Remove
8379 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
8380 (dump_file): Check for counter tag values here.
8381 (tag_summary): Adjust.
8382 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
8383 * gcov-io.h (GCOV_LOCKED): New.
8384 (GCOV_TAG_ARC_COUNTS): Rename to ...
8385 (GCOV_TAG_COUNTS_BASE): ... here.
8386 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
8387 Remove.
8388 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
8389 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
8390 GCOV_TAG_IS_COUNTER): New.
8391 (struct gcov_ctr_summary): New.
8392 (struct gcov_summary): Adjust.
8393 (struct gcov_counter_section): Remove.
8394 struct gcov_counter_section_data): Remove.
8395 (struct gcov_function_info): Rename to ...
8396 (struct gcov_fn_info): ... here. Adjust.
8397 (struct gcov_ctr_info): New.
8398 (struct gcov_info): Adjust.
8399 * gcov.c (read_count_file): Adjust.
8400 (output_lines): Adjust.
8401 * libgcov.c (gcov_exit): Adjust.
8402 (__gcov_flush): Adjust.
8403 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
8404 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
8405 probably_never_executed_bb_p, compute_frequency_function): Adjust
8406 profile_info use.
8407 * profile.c (struct counts_entry): Remove.
8408 (profile_info): Define here.
8409 (get_exec_counts): Adjust get_coverage_counts call.
8410 (compute_branch_probablilities): Remove find_counters_section
8411 call.
8412 (gen_edge_profiler): Adjust coverage_counter_ref call.
8413 * tracer.c (tail_duplicate): Adjust profile_info use.
8414
2be3b5ce
RS
84152003-04-23 Roger Sayle <roger@eyesopen.com>
8416
8417 PR optimization/10339
8418 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
8419 directly instead of unsafely transforming call into a memcmp.
8420 (expand_builtin_strncmp): Likewise.
8421
c57ddcf1
RS
84222003-04-22 Roger Sayle <roger@eyesopen.com>
8423
8424 * alias.c (mark_constant_function): Check for constancy and
8425 purity even of void functions. Update both the function decl
8426 and the cgraph RTL info with the results.
8427
c1a19acb
RS
84282003-04-22 Roger Sayle <roger@eyesopen.com>
8429
8430 * real.c (do_add): Change to return a bool indicating that the
8431 result of the operation may be inexact due to loss of precision.
8432 (do_multiply): Likewise.
8433 (do_divide): Likewise.
8434
c2e9147c
GK
84352003-04-22 Geoffrey Keating <geoffk@apple.com>
8436 Loren James Rittle <ljrittle@acm.org>
8437
8438 * dwarf2out.c (fde_table_allocated): Mark with GTY.
8439 (decl_die_table_allocated): Likewise.
8440 (abbrev_die_table_allocated): Likewise.
8441 (line_info_table_allocated): Likewise.
8442 (separate_line_info_table_allocated): Likewise.
8443 (pubname_table_allocated): Likewise.
8444 (arange_table_allocated): Likewise.
8445 (ranges_table_allocated): Likewise.
8446 (decl_die_table_in_use): Unconditionalize; mark with GTY.
8447 (abbrev_die_table_in_use): Likewise.
8448 (line_info_table_in_use): Likewise.
8449 (separate_line_info_table_in_use): Likewise.
8450 (pubname_table_in_use): Likewise.
8451 (arange_table_in_use): Likewise.
8452 (ranges_table_in_use): Likewise.
8453 (have_location_lists): Likewise.
8454 (emitcount): New GTY-marked static, moved...
8455 (maybe_emit_file): ...from here.
8456 (label_num): New GTY-marked static, moved...
8457 (gen_internal_sym): ...from here.
8458
4da2eb6b
RH
84592003-04-22 Richard Henderson <rth@redhat.com>
8460
293107d1
ZW
8461 PR 8866
8462 * rtl.h (MEM_NOTRAP_P): New.
8463 (MEM_COPY_ATTRIBUTES): Copy it.
8464 * rtlanal.c (may_trap_p): Check it.
8465 * expr.c (do_tablejump): Set it.
4da2eb6b
RH
8466 * doc/rtl.texi (Flags): Document it.
8467
293107d1 8468 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
4da2eb6b 8469
c1238896
OH
84702003-04-22 Olivier Hainque <hainque@act-europe.fr>
8471
8472 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
8473 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
8474
6d412a7b
VC
84752003-04-22 Vincent Celier <celier@gnat.com>
8476
293107d1
ZW
8477 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
8478 --enable-threads=gnat.
8479 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
8480 * configure.in: Add gnat to the list of thread packages
8481 * configure: Rebuild.
8482 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
6d412a7b 8483
b78f9414
NB
84842003-04-22 Neil Booth <neil@daikokuya.co.uk>
8485
8486 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
f945b4e0
DP
8487
84882003-04-22 Devang Patel <dpatel@apple.com>
8489
b78f9414
NB
8490 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
8491 parameter count.
f945b4e0 8492 (_cpp_copy_replacement_text): Same.
293107d1 8493
1067694a
NB
84942003-04-22 Neil Booth <neil@daikokuya.co.uk>
8495
8496 * c-lex.c (c_lex): Handle CPP_OTHER differently.
8497 * cppexp.c (_cpp_parse_expr): Similarly.
8498 * cpplex.c (SPELL_CHAR): Remove.
8499 (_cpp_lex_direct): Stray chars are saved as byte strings.
8500 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
8501 handle SPELL_CHAR.
8502 (cpp_avoid_paste): Update handling of CPP_OTHER.
8503 * cpplib.h: Spell CPP_OTHER like a number.
8504 (struct cpp_token): Remove member c.
8505 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
8506
77c915d8
DT
85072003-04-22 David Turner <novalis@gnu.org>
8508
8509 * gbl-ctors.h: Add special license exception.
8510 * libgcc2.h: Likewise.
8511 * tsystem.h: Likewise.
8512 * gcov-io.h: Likewise.
8513
85e50b6b
DE
85142003-04-22 David Edelsohn <edelsohn@gnu.org>
8515
8516 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
8517 macro defaulting to original BRANCH_COST heuristic.
8518 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
8519
8520 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
8521
00c060a4
AH
85222003-04-22 Aldy Hernandez <aldyh@redhat.com>
8523
293107d1 8524 * config/rs6000/t-spe: Merge in t-fprules into file.
00c060a4 8525
293107d1 8526 * config.gcc: Add t-spe to powerpc-eabispe.
00c060a4 8527
e4d72771
KJ
85282003-04-22 Kean Johnston <jkj@sco.com>
8529
8530 * tlink.c (recompile_files): Add missing '=' to putenv calls
8531
ad27e65a
NS
85322003-04-22 Nathan Sidwell <nathan@codesourcery.com>
8533
8534 * ginclude/stddef.h: Provide C++ safe offsetof.
8535
277b3b18
R
85362003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
8537
8538 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
8539 for reg notes, if there are no substitutions, just use a SUBREG.
8540
b2dd096b
MM
85412003-04-21 Mark Mitchell <mark@codesourcery.com>
8542
8543 * Makefile.in (calls.o): Depend on except.h.
8544 * calls.c: Include except.h.
8545 (emit_call_1): Call note_eh_region_may_contain_throw if
8546 appropriate.
8547 * except.c (eh_region): Add may_contain_throw.
8548 (expand_eh_region_end_cleanup): Do not include handler code when
8549 it cannot be reached.
8550 (note_eh_region_may_contain_throw): New function.
8551 * except.h (note_eh_region_may_contain_throw): New function.
8552
bfc6c67e
MM
85532003-04-21 Mark Mitchell <mark@codesourcery.com>
8554
8555 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
8556 changes.
8557
95b1c7b6
AH
85582003-04-21 Aldy Hernandez <aldyh@redhat.com>
8559
293107d1
ZW
8560 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
8561 64-bit long doubles.
95b1c7b6 8562
6a48df45
OH
85632003-04-21 Olivier Hainque <hainque@act-europe.fr>
8564
3cd58fd7
OH
8565 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
8566 a number of conversions required for type consistency and previously
8567 stripped off by STRIP_NOPS.
8568
6a48df45
OH
8569 * calls.c (expand_call): Prevent sibcall optimization for calls to
8570 nested subprograms.
8571
0d2f38ee 8572 * expmed.c (extract_bit_field): Reverse operands of && condition to
293107d1 8573 prevent a potential division by zero in the previously first branch.
0d2f38ee
OH
8574 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
8575
c3cdeef4
JB
85762003-04-21 Joel Brobecker <brobecker@gnat.com>
8577
8578 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
8579 (subrange_type_die): Likewise.
8580 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
8581 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
8582
ca29da43
NS
85832003-04-21 Nathan Sidwell <nathan@codesourcery.com>
8584
293107d1
ZW
8585 Break out coverage routines to new file.
8586 * Makefile.in (COVERAGE_H): New variable
8587 (C_OBJS): Add coverage.o
8588 (coverage.o): New target.
8589 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
8590 dependencies.
8591 (GTFILES): Adjust.
8592 (gt-coverage.h): New target.
8593 (gt-profile.h): Remove.
8594 * profile.h: Remove. Move to ...
8595 * coverage.h: ... here. New. #include gcov-io.h.
8596 * gcov-io.h: Move function definitions to ...
8597 * gcov-io.c: ... here. New.
8598 * profile.c: Move coverage routines to coverage.c.
8599 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
8600 end_branch_prob): Adjust.
8601 * coverage.c: New. Coverage routines from profile.c
8602 (coverage_counter_ref, coverage_init, coverage_finish,
8603 coverage_end_function, coverage_begin_output,
8604 coverage_counter_ref, get_coverage_counts): Define.
8605 * gcov-dump.c, gcov.c: #include gcov-io.c.
8606 * libgcov.c: Likewise. Adjust.
8607 * loop-init.c: Don't #include profile.h
8608 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
8609 * rtl.h: Add coverage prototypes.
8610 * toplev.c (compile_file): Init coverage, not branch_prob.
8611 Always call coverage_finish.
8612 (rest_of_compilation): Call coverage_end_function.
ca29da43 8613
1774b213 86142003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
dd0fbae2
MK
8615
8616 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
8617
74eb4b3e
NB
86182003-04-21 Neil Booth <neil@daikokuya.co.uk>
8619
8620 * c-ppoutput.c (cb_include): Don't take a cpp_token.
8621 * cppfiles.c: Don't undef strcmp.
8622 (find_include_file): Don't take a cpp_token. Check for empty
8623 file names.
8624 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
8625 (cpp_push_include): Simplify.
8626 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
8627 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
8628 (parse_include): Similary. Don't check for zero-length filenames.
8629 (do_include_common, do_pragma_dependency): Update accordingly.
8630 * cpplib.h (struct cpp_callbacks): Change prototype of include.
8631
337f4314 86322003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
293107d1 8633
9e91ce11
RK
8634 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
8635 details of conflict handling.
293107d1 8636
26b84487
RK
8637 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
8638 when conversion overflows.
8639
1a96dc46
RK
8640 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
8641
337f4314
RK
8642 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
8643 before clearing.
8644
3819b963
MM
86452003-04-21 Mark Mitchell <mark@codesourcery.com>
8646
8647 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
8648 have the same form as the old RTL.
8649
0e7a8c4b
AJ
86502003-04-21 Andreas Jaeger <aj@suse.de>
8651
293107d1 8652 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
0e7a8c4b 8653
b39b8084
CL
86542003-04-20 Chris Lattner <sabre@nondot.org>
8655 Zack Weinberg <zack@codesourcery.com>
8656
8657 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
8658 genrtl_cleanup_stmt. Correct comment at head of
8659 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
8660
8661 * stmt.c (struct nesting): Kill n_function_calls.
8662 (expand_start_bindings): Don't set
8663 thisblock->data.block.n_function_calls.
8664 (expand_end_bindings): Compare function_call_count against 0.
8665 (expand_cleanups): Kill DONT_DO argument; all callers passed
8666 NULL_TREE. All callers updated to match.
8667
b20cbca2
ZW
86682003-04-20 Zack Weinberg <zack@codesourcery.com>
8669
8670 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
8671 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
8672 (output_constant_def): Remove code predicated on
8673 defer_addressed_constants_flag.
8674
8675 * output.h: Remove prototypes of deleted functions.
8676 * c-typeck.c (constructor_subconstants_deferred): Kill.
8677 (struct initializer_stack): Remove 'deferred' field.
8678 (start_init): Remove all references to the above.
8679 (finish_init): Likewise. Also remove never-executed call to
8680 output_deferred_addressed_constants. Pull assignment to
8681 defstr out of if expression.
8682
41c32c98
NB
86832003-04-20 Neil Booth <neil@daikokuya.co.uk>
8684
8685 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
8686 NOTE_NEWLINE): Remove.
8687 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
8688 to handle new form of line note type.
8689
c6a2438a
ZW
86902003-04-20 Zack Weinberg <zack@codesourcery.com>
8691
8692 * target.h (encode_section_info): Add new argument carrying
8693 the RTL to be modified by the hook.
8694
8695 * varasm.c (make_decl_rtl, output_constant_def): Update calls
8696 to encode_section_info.
8697 (default_encode_section_info): Take and use RTL argument,
8698 don't use TREE_CST_RTL or DECL_RTL.
8699 * output.h: Update prototype of default_encode_section_info.
8700 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
8701 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
8702 Update calls to encode_section_info.
8703
8704 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
8705 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
8706 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
8707 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
8708 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
8709 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
8710 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
8711 except for PE dllimport/dllexport. Update calls to
8712 default_encode_section_info.
8713
8714 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
8715 Update prototypes.
8716
8717 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
8718
8c7d377f
JDA
87192003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8720
8721 PR/8705
8722 * pa.md (movccfp): New expander.
8723 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
8724 Reverse fcmp conditions.
8725
1052bb09
MM
87262003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
8727
8728 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
8729 of operand 1 correctly.
8730
299f79b5
NS
87312003-04-20 Nathan Sidwell <nathan@codesourcery.com>
8732
8733 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
8734 * gcov.c (output_lines): Don't be so fussy about going past EOF.
8735
1613e52b
NB
87362003-04-20 Neil Booth <neil@daikokuya.co.uk>
8737
8738 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
8739 (cppcharset.o): New target.
8740 * c-lex.c (is_extended_char): Move to cppcharset.c.
8741 (utf8_extend_token): Delete.
8742 * cppcharset.c: New file.
8743 * cpphash.h (_cpp_valid_ucn): New.
8744 * cpplex.c (lex_identifier): Update prototype.
8745 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
8746 escapes.
8747 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
8748 in cppcharset.c.
8749 (lex_number, lex_identifier, cpp_parse_escape): Update.
8750 (_cpp_lex_direct): Update to handle UCNs.
8751 (cpp_avoid_paste): Don't paste to form a UCN.
8752
0a45ec5c
RS
87532003-04-19 Roger Sayle <roger@eyesopen.com>
8754
8755 * builtins.c (expand_builtin): Don't expand a pure or const
8756 built-in function if the result will be ignored and none of
8757 its arguments are volatile.
8758
16477cc5
KJ
87592003-04-19 Kean Johnston <jkj@sco.com>
8760
8761 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
8762 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
8763 target fragment now: t-sco5; dont compile crti.o.
8764 * config/i386/sco5.h: major overhaul to remove all COFF remnants
8765 and to use elfos.h for most definitions.
8766 (BSS_SECTION_ASM_OP): set correct segment attributes.
8767 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
8768 (DWARF2_UNWIND_INFO): Always set to 1.
8769 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
8770 (MD_STARTFILE_PREFIX_1): Define.
8771 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
8772 (DEFAULT_LINKER): Define if not specified to configure.
8773 (CTORS_SECTION_ASM_OP): Remove COFF crud.
8774 (DTORS_SECTION_ASM_OP): Remove COFF crud.
8775 (WINT_TYPE): Define.
8776 (SDB_DEBUGGING_INFO): Remove.
8777 (EXTRA_SECTIONS): Likewise.
8778 (EXTRA_SECTION_FUNCTIONS): Likewise.
8779 (CTOR_LIST_BEGIN): Likewise.
8780 (CTOR_LIST_END): Likewise.
8781 (INIT_SECTION_FUNCTION): Likewise.
8782 (FINI_SECTION_FUNCTION): Likewise.
8783 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
8784 (LOCAL_LABEL_PREFIX): Likewise.
8785 (NON_SAVING_SETJMP): Likewise.
8786 (RETURN_POPS_ARGS): Likewise.
8787 (ASM_OUTPUT_SKIP): Likewise.
8788 (TARGET_ASM_NAMED_SECTION): Likewise.
8789 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8790 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
8791 (ASM_OUTPUT_IDENT): Likewise.
8792 (ASM_OUTPUT_CASE_LABEL): Likewise.
8793 (ASM_OUTPUT_ASCII): Likewise.
8794 (ASM_OUTPUT_LIMITED_STRING): Likewise.
8795 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
8796 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
8797 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
8798 (ASM_FINISH_DECLARE_OBJECT): Likewise.
8799 (ASM_DECLARE_OBJECT_NAME): Likewise.
8800 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
8801 (ASM_DECLARE_FUNCTION_NAME): Likewise.
8802 (ASM_DECLARE_RESULT): Likewise.
8803 (ASM_WEAKEN_LABEL): Likewise.
8804 (SUPPORTS_WEAK): Likewise.
8805 (APPLY_RESULT_SIZE): Likewise.
8806 (LPREFIX): Likewise.
8807 (ALIGN_ASM_OP): Likewise.
8808 (ASCII_DATA_ASM_OP): Likewise.
8809 (IDENT_ASM_OP): Likewise.
8810 (ASM_SHORT): Likewise.
8811 (ASM_LONG): Likewise.
8812 (TYPE_ASM_OP): Likewise.
8813 (SIZE_ASM_OP): Likewise.
8814 (STRING_ASM_OP): Likewise.
8815 (SKIP_ASM_OP): Likewise.
8816 (EH_FRAME_SECTION_ASM_OP): Likewise.
8817 (READONLY_DATA_SECTION_ASM_OP): Likewise.
8818 (INIT_SECTION_ASM_OP): Likewise.
8819 (FINI_SECTION_ASM_OP): Likewise.
8820 (TEXT_SECTION_ASM_OP): Likewise.
8821 (DATA_SECTION_ASM_OP): Likewise.
8822 (TYPE_OPERANT_FORMAT): Likewise.
8823 (ASM_SPEC): Remove COFF code.
8824 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
8825 cause -pg to emit an error; use pcrt1elf.o with -pp
8826 (ENDFILE_SPEC): Likewise.
8827 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
8828 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
8829 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
8830 add -z alt_resolve to support weak symbols the way GCC wants them.
8831 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
8832 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
8833 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
8834 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
8835 (CRTSTUFF_T_CFLAGS_S): Define.
8836 (MULTILIB_OPTIONS): Likewise.
8837 (MULTILIB_DIRNAMES): Likewise.
8838 (MULTILIB_MATCHES): Likewise.
8839 (MULTILIB_EXTRA_OPTS): Likewise.
8840 (LIBGCC): Likewise.
8841 (INSTALL_LIBGCC): Likewise.
8842 (crti.o): Remove.
8843 * config/i386/t-sco5gas: Remove.
8844 * doc/install.texi: Updated for new OpenServer instructions.
8845 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
8846
de0656cf
KJ
88472003-04-19 Kean Johnston <jkj@sco.com>
8848
8849 * fixinc/check.tpl: Allow user to over-ride diff program.
8850 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
8851 (sco_math): Added test for SCO math header files.
8852 (sco_regset): Added check for conflicts with ieeefp.h.
8853 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
8854 * fixinc/fixincl.x: Regenerated
8855 * fixinc/tests/base/math.h: Added sco_math tests.
8856 * fixinc/tests/base/string.h: New file.
8857 * fixinc/tests/base/sys/regset.h: New file.
8858
6f572ac2
NB
88592003-04-19 Neil Booth <neil@daikokuya.co.uk>
8860
8861 * cpphash.h (struct cpp_buffer): Remove backup_to.
8862 * cpplex.c (BACKUP, get_effective_char): Die.
8863 (_cpp_skip_block_comment): Assume '*' is location on entry.
8864 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
8865 (IF_NEXT_IS): Update.
8866 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
8867
ced2ad76
MK
88682003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
8869
8870 * README.Portability: Move to a new section and obsolete K+R
8871 portability issues.
8872
07015444
JH
8873Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
8874
8875 * rtlanal.c (subreg_offset_representable_p): Fix call of
8876 subreg_lowpart.
8877
bced6edf
NB
88782003-04-19 Neil Booth <neil@daikokuya.co.uk>
8879
8880 * cpphash.h (struct cpp_reader): New member warned_dollar.
8881 * cpplex.c (continues_identifier_p): New function.
8882 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
8883 lex_number and lex_string, and simplify.
8884 (parse_slow, unescaped_terminator_p): Die.
8885 (_cpp_lex_direct): Update.
8886
a259f218
RK
88872003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8888
8889 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
8890
8555daff
NS
88912003-04-19 Nathan Sidwell <nathan@codesourcery.com>
8892
8893 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
6356f892 8894 fork behavior.
8555daff 8895
4e1f0f8e
NB
88962003-04-19 Neil Booth <neil@daikokuya.co.uk>
8897
8898 * cppexp.c (eval_token): Permit true and false even if pedantic.
8899
bf805def
NB
89002003-04-19 Neil Booth <neil@daikokuya.co.uk>
8901
8902 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
8903
26aea073
NB
89042003-04-19 Neil Booth <neil@daikokuya.co.uk>
8905
8906 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
8907 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
8908 (struct include_file): Remove fefcnt, mapped members.
8909 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
8910 (read_include_file): Don't use mmap, terminate buffers in '\r'.
8911 (purge_cache): Don't use munmap.
8912 * cpphash.h (CPP_BUF_COLUMN): Update.
8913 (lexer_state): Remove lexing_comment.
8914 (struct _cpp_line_note): New.
8915 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
8916 next_line and need_line. Remove col_adjust and saved_flags.
8917 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
8918 _cpp_skip_block_comment, scan_out_logical_line): New.
8919 (_cpp_init_mbchar): Remove.
8920 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
8921 (cpp_read_main_file): Set line to 1 earlier.
8922 (post_options): -traditional-cpp doesn't want trigraphs.
8923 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
8924 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
8925 _cpp_get_fresh_line): New.
8926 (handle_newline, skip_escaped_newlines, trigraph_p,
8927 continue_after_nul, _cpp_init_mbchar): Remove.
8928 (get_effective_char): Update.
8929 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
8930 (skip_line_comment): Simplify.
8931 (skip_whitespace, parse_identifier, parse_slow, parse_number,
8932 parse_string): Update.
8933 (cpp_lex_direct): Use clean lines and process line notes. Update.
8934 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
8935 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
8936 directly.
8937 (_cpp_handle_directive): Don't set saved_flags.
8938 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
8939 cpp_undef, handle_assertion, cpp_push_buffer): Update.
8940 (_cpp_pop_buffer): Free notes.
8941 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
8942 * cpppch.c (cpp_read_state): \n terminate buffer.
8943 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
8944 (copy_comment): Use _cpp_skip_block_comment.
8945 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
8946 Simplify.
8947 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
8948 save_replacement_text): Update.
8949 (scan_out_logical_line): Update to use clean lines and process
8950 line notes.
8951 * fix-header.c (read_scan_file): Update.
8952
7008a11b
DR
89532003-04-18 Douglas B Rupp <rupp@gnat.com>
8954
8955 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
8956 null begin parameter (as well as pointer to null).
8957 (__deregister_frame_info_bases): Likewise.
8958
21102f25
RK
89592003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8960
34d21fe3
RK
8961 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
8962 hard or virtual register and copy into pseudo if replacement fails.
8963
8964 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
dd4ff203 8965
21102f25
RK
8966 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
8967
e59baa1f
OH
89682003-04-18 Olivier Hainque <hainque@act-europe.fr>
8969
38afb23f
OH
8970 * calls.c (expand_call): Move special case for constructor calls
8971 to right place. Ensures constructor calls used to initialize
c6a2438a 8972 arguments get a clean outgoing argument block for themselves.
38afb23f
OH
8973 Move check for stack deallocation completeness until after last
8974 deallocation. Add stack_pointer_delta to set of state
8975 variables saved and restored along with current stack_level.
c6a2438a
ZW
8976
8977 * integrate.c (expand_inline_function): Ensure non-const actuals
8978 don't end up const in the caller's flow after conversion to possibly
8979 const formal type.
e59baa1f 8980
8dcea3f3
VC
89812003-04-18 Vincent Celier <celier@gnat.com>
8982
c6a2438a
ZW
8983 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
8984 and *_DIV_EXPR as TRUNC_*_EXPR.
8dcea3f3 8985
3e378f14
MM
89862003-04-18 Mark Mitchell <mark@codesourcery.com>
8987
8988 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
8989 for orphaned jump tables.
8990
1b0d0e84
KH
89912003-04-18 Kazu Hirata <kazu@cs.umass.edu>
8992
8993 * reload1.c: Revert my previous patch on 2002-04-17.
8994
906042f5
GP
89952003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8996
8997 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
8998 Add Segher Boessenkool.
8999
38a31425
AS
90002003-04-18 Alexander Sotirov <sluncho@mirizma.org>
9001
9002 PR c/9177
9003 * c-decl.c (c_expand_body): Don't garbage collect the function
9004 body if we are going to dump it later.
9005
59c60a98
RH
90062003-04-18 Richard Henderson <rth@redhat.com>
9007
9008 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
9009 (alpha_end_function): Don't set them.
9010 (decl_in_text_section): Remove.
9011 (alpha_encode_section_info): Remove.
9012 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
9013 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
9014 sections, rather than decl_in_text_section results.
9015
c553b702
RS
90162003-04-18 Roger Sayle <roger@eyesopen.com>
9017
9018 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
9019 and SIGN_EXTRACT.
9020
6a29edea
EB
90212003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
9022
9023 PR optimization/7675
9024 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
9025 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
9026 nested functions if they refer to declarations from parent functions.
9027 * stmt.c (expand_decl): Don't put automatic variables in registers
9028 if the DECL_NONLOCAL flag is set.
9029
4d3eb89a
HPN
90302003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
9031
9032 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
9033 consider those to be movable where the source matches
9034 want_to_gcse_p.
9035 (update_ld_motion_stores): In comment, refer to
9036 compute_ld_motion_mems for validity of replacement.
9037
04c5580f
JH
9038Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
9039
d101590b 9040 * gcov-dump.c (tag_summary): Remove max_sum
ca29da43
NS
9041 * gcov-io.h (gcov_summary, gcov_write_summary,
9042 gcov_read_summary): Kill max_sum.
9043 * libgcov.c (gcov_exit): Do one pass over the data. Make error
9044 message more verbose.
9045
9046 * emit-rtl.c (subreg_hard_regno): Check that register is
9047 representable.
293107d1 9048
04c5580f
JH
9049 * reload.c (reload_inner_reg_of_subreg): When register is not
9050 representable, reload the whole thing.
9051 (find_reloads): Likewsie.
9052 * rtlanal.c (subreg_representable_p): New function.
9053
9054 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
9055 allow negative probabilities for edges from the call to exit.
ca29da43
NS
9056 (branch_prob): Do not add fake edges for functions that may return
9057 twice.
04c5580f 9058
c409ea0d
DD
90592003-04-17 DJ Delorie <dj@redhat.com>
9060
9061 * toplev.c (target_options): Add value field.
9062 (set_target_switch): Handle target options with values.
9063 * doc/tm.texi: Document how fixed vs variable target
9064 options work.
9065 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
9066 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
9067 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9068 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
9069 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
9070 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
9071 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
9072 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
9073 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
9074 Add value initializer to target options.
9075
36801818
LR
90762003-04-07 Loren James Rittle <ljrittle@acm.org>
9077
9078 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
9079
a211395b
KH
90802003-04-17 Kazu Hirata <kazu@cs.umass.edu>
9081
9082 * reload1.c (move2add_last_cc0): New.
9083 (reload_cse_move2add): Detect implicit sets.
9084 (move2add_note_store): Notice a store into cc0.
9085
220a35cc
RS
90862003-04-17 Roger Sayle <roger@eyesopen.com>
9087
9088 PR c/10375
9089 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
9090 function attributes.
9091
7ed0620a 90922003-04-17 Janis Johnson <janis187@us.ibm.com>
46b2356d
JJ
9093
9094 * doc/sourcebuild.texi (Test Suites): Document support for testing
9095 binary compatibility (moved from testsuite/README.compat).
9096
3907500b
RH
90972003-04-17 Richard Henderson <rth@redhat.com>
9098
9099 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
9100
d22b2e54
SL
91012003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
9102
c6a2438a
ZW
9103 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
9104 the one provided by the FSF.
d22b2e54 9105
616de62f
GP
91062003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9107
9108 * doc/install.texi (Binaries): Update URL and list of platforms
9109 provided by ftp.thewrittenword.com.
9110
f2dd0c42
RH
91112003-04-17 Richard Henderson <rth@redhat.com>
9112
9113 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
9114 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
9115 * config/xtensa/xtensa.md (call, call_value): Likewise.
9116
50d1ff6a
RH
91172003-04-17 Richard Henderson <rth@redhat.com>
9118
9119 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
9120 (print_operand_address): Likewise.
9121 (ep_memory_operand): Likewise.
9122 (special_symbolref_operand): Likewise.
9123 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
9124 (v850_encode_section_info): Call default_encode_section_info.
9125 (v850_strip_name_encoding): Remove.
9126 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
9127 (ASM_OUTPUT_LABELREF): Remove.
9128 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
9129 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
9130 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
9131 (ENCODED_NAME_P): Remove.
9132 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
9133 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
9134 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
9135
e7d687bb
RH
91362003-04-17 Richard Henderson <rth@redhat.com>
9137
9138 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
9139 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
9140 SYMBOL_REF_FUNCTION_P.
9141
72628c61
RH
91422003-04-17 Richard Henderson <rth@redhat.com>
9143
9144 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
9145 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
9146 (text_segment_operand): Likewise.
9147
675ff4c7
RH
91482003-04-17 Richard Henderson <rth@redhat.com>
9149
9150 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
9151 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
9152 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
9153 (sh_encode_section_info): Remove.
9154 (sh_strip_name_encoding): Remove.
9155 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
9156 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
9157 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
9158 (ASM_OUTPUT_LABELREF): Remove.
9159 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
9160 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
9161
114278e7
RH
91622003-04-17 Richard Henderson <rth@redhat.com>
9163
9164 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
9165 (tls_model_chars): Remove.
9166 (larl_operand): Use SYMBOL_REF_FLAGS.
9167 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
c6a2438a 9168 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
114278e7
RH
9169 (s390_output_mi_thunk): Likewise.
9170 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
9171 (s390_function_profiler): Likewise.
9172 (s390_encode_section_info): Use default_encode_section_info
9173 and SYMBOL_FLAG_ALIGN1.
9174 (s390_strip_name_encoding): Remove.
9175 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
9176 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
9177 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
9178
e95ef187
RH
91792003-04-17 Richard Henderson <rth@redhat.com>
9180
9181 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
9182 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
9183 (print_operand_address): Likewise.
9184
9185 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
9186 * config/ns32k/ns32k.c (expand_block_move): Don't check
9187 flag_unroll_loops.
9188
6cd4a764
RH
91892003-04-17 Richard Henderson <rth@redhat.com>
9190
9191 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
9192 SYMBOL_REF_FLAG.
9193
89e6b702
RH
91942003-04-17 Richard Henderson <rth@redhat.com>
9195
9196 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
9197
9198 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
9199 (SYMBOL_REF_MODEL): New.
9200 (LIT_NAME_P): Move from m32r.h.
9201 (m32r_select_section): Remove.
9202 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
9203 (m32r_strip_name_encoding): Remove.
9204 (m32r_in_small_data_p): New.
9205 (small_data_operand): Use SYMBOL_REF_SMALL_P.
9206 (addr24_operand): Use SYMBOL_REF_MODEL.
9207 (call26_operand): Likewise.
9208 (addr32_operand): Tidy.
9209 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
9210 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
9211 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
9212 (READONLY_DATA_SECTION_ASM_OP): Remove.
9213 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
9214 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
9215 (TARGET_ASM_SELECT_SECTION): Remove.
9216 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
9217 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
9218 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
9219 (ASM_OUTPUT_LABELREF): Remove.
9220
ec94fc00
RH
92212003-04-17 Richard Henderson <rth@redhat.com>
9222
9223 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
9224 (encode_section_info): Remove.
9225 * config/ip2k/ip2k-protos.h: Update.
9226
1b8135a4
RH
92272003-04-17 Richard Henderson <rth@redhat.com>
9228
c6a2438a 9229 * varasm.c (default_encode_section_info): Don't set
1b8135a4
RH
9230 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
9231 * config/i370/i370.c (i370_encode_section_info): Remove.
9232 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
9233 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
9234 * config/i370/i370.md (movsi): Likewise.
9235
9236 * config/i370/t-i370: Add missing backslash.
9237
6d7fe8b3
EB
92382003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
9239
9240 * doc/invoke.texi (inline-limit): Fix pasto.
9241
dc66a1c4
RH
92422003-04-17 Richard Henderson <rth@redhat.com>
9243
9244 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
9245 (small_call_insn_operand): Use it.
9246 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
9247 (h8300_eightbit_constant_address_p): Use it.
9248 (SYMBOL_FLAG_TINY_DATA): New.
9249 (h8300_tiny_constant_address_p): Use it.
9250 (h8300_encode_label, h8300_strip_name_encoding): Remove.
9251 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
9252 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
9253 (ASM_OUTPUT_LABELREF): Remove.
9254
90a63880
RH
92552003-04-16 Richard Henderson <rth@redhat.com>
9256
0f6e5d45
RH
9257 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
9258 all users with SYMBOL_REF_SMALL_P.
9259 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
9260 (frv_encode_section_info): Remove.
9261 (frv_strip_name_encoding): Remove.
9262 (frv_in_small_data_p): Merge tests from encode_section_info.
9263 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
9264 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
9265 (SDATA_NAME_P): Remove.
9266 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
9267 (ASM_OUTPUT_LABELREF): Remove.
9268 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
9269
90a63880
RH
9270 * config/frv/frv.c (frv_asm_out_constructor): New.
9271 (frv_asm_out_destructor): New.
9272 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
9273 (DTORS_SECTION_ASM_OP): New.
9274 (ASM_OUTPUT_CONSTRUCTOR): Remove.
9275 (ASM_OUTPUT_DESTRUCTOR): Remove.
9276
5c93e01b
RH
92772003-04-16 Richard Henderson <rth@redhat.com>
9278
9279 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
9280 SYMBOL_REF_LOCAL_P; abort if not pic.
9281 (cris_encode_section_info): Remove.
9282
11467df2
RH
92832003-04-16 Richard Henderson <rth@redhat.com>
9284
9285 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
9286 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
9287
9288 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
9289 flag_inline_trees.
9290
74b66b3c
RH
92912003-04-16 Richard Henderson <rth@redhat.com>
9292
9293 * config/avr/avr.c (avr_encode_section_info): Remove.
9294 (avr_insert_attributes): New.
9295 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
9296 (avr_assemble_integer): Likewise.
9297
8cbd5ce0
RH
92982003-04-16 Richard Henderson <rth@redhat.com>
9299
9300 * arc.c (arc_encode_section_info): Remove.
c6a2438a 9301 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
8cbd5ce0
RH
9302 (arc_print_operand, arc_print_operand_address): Likewise.
9303 * arc.h (EXTRA_CONSTRAINT): Likewise.
9304
96c6931d
RS
93052003-04-16 Roger Sayle <roger@eyesopen.com>
9306
9307 * c-semantics.c (find_reachable_label): New function to find a
9308 potentially reachable label in an expression.
9309 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
9310 assumes the start of the IF_STMT is unreachable (dead) code.
9311 (expand_unreachable_stmt): Similar to expand_stmt but assumes
9312 the start of the statement list is unreachable (dead) code.
9313 (genrtl_if_stmt): If the controlling expression of the IF
9314 is constant, use expand_unreachable_stmt for the THEN or ELSE
9315 clause as appropriate.
9316 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
9317 the body of a SWITCH statement.
9318 (expand_stmt): The code immediately following a "return",
9319 "break", "continue" or "goto" is unreachable.
9320 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
9321
3568b0ef
RH
93222003-04-16 Richard Henderson <rth@redhat.com>
9323
9324 * rtl.h (MEM_ALIAS_SET): Update documentation.
9325 * doc/rtl.texi (Special Accessors): New node.
9326 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
9327
60fa6660
AO
93282003-04-16 Alexandre Oliva <aoliva@redhat.com>
9329
9330 * reload1.c (reload_cse_noop_set_p): Return false if mode of
9331 SET_DEST is not the same as that returned by...
9332 * cselib.h (cselib_reg_set_mode): ... new function.
9333 * cselib.c (cselib_reg_set_mode): Define it.
9334 (REG_VALUES): Document semantics of first element as set mode.
9335 (cselib_subst_to_values): Skip first element if ELT is NULL.
9336 (cselib_lookup): Likewise. Insert past the first element.
9337 (cselib_invalidate_regno): NULLify first element.
9338 (cselib_record_set): Set first element.
9339
15b19a7d
OH
93402003-04-16 Olivier Hainque <hainque@act-europe.fr>
9341
c6a2438a
ZW
9342 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
9343 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
9344 * tree.h: Add prototypes for the two new functions.
9345 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
9346 updates introduced in the previous revision by call to saved_expr_p.
9347 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
a9ecacf6 9348
c6a2438a
ZW
9349 * expr.c (store_field): Force usage of bitfield instructions when
9350 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
9351 (expand_expr, case BIT_FIELD_REF): likewise.
15b19a7d 9352
f2d80e7e
MM
93532003-04-16 Mark Mitchell <mark@codesourcery.com>
9354
9355 PR middle-end/8866
9356 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
9357 jumptables.
9358
1cdbd630
RH
93592003-04-16 Richard Henderson <rth@redhat.com>
9360
9361 * config/ia64/ia64.c (sdata_symbolic_operand): Use
9362 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
9363 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
9364 (function_operand): Use SYMBOL_REF_FUNCTION_P.
9365 (ia64_expand_load_address): Likewise.
9366 (ia64_assemble_integer): Likewise.
9367 (ia64_encode_section_info): Remove.
9368 (ia64_strip_name_encoding): Remove.
9369 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
9370 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
9371
d055668e
RH
93722003-04-16 Richard Henderson <rth@redhat.com>
9373
9374 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
9375 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
9376 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
9377 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
9378 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
9379 (global_symbolic_operand): Similarly.
9380 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
9381 (tls_symbolic_operand_type): Likewise.
9382 (alpha_encode_section_info): Use default_encode_section_info.
9383 (alpha_strip_name_encoding): Remove.
9384 (get_tls_get_addr): Split out from ...
9385 (alpha_legitimize_address): ... here.
9386 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
9387 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
9388 (alpha_initialize_trampoline): Use init_one_libfunc.
9389 (alpha_setup_incoming_varargs): Mark unused parameters.
9390 (alpha_initial_elimination_offset): Likewise.
9391 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
9392 (unicosmk_unique_section): Use default_strip_name_encoding.
9393 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
9394
ffd25996
AH
93952003-04-16 Aldy Hernandez <aldyh@redhat.com>
9396
c6a2438a 9397 * config.gcc: Add t-spe for eabispe.
ffd25996 9398
c6a2438a 9399 * config/rs6000/t-spe: New.
ffd25996 9400
7f0ea82e
R
94012003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
9402
9403 Re-apply this patch:
9404
9405 2002-05-16 Dale Johannesen <dalej@apple.com>
9406 * combine.c (cant_combine_insn_p): Reenable combinations
9407 involving hard regs unless CLASS_LIKELY_SPILLED_P.
9408
c328adfa
JDA
94092003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9410
9411 PR/10271
9412 * pa-protos.h (function_arg): Remove last argument.
9413 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
c6a2438a 9414 * pa.h (struct hppa_args): Add member incoming.
c328adfa
JDA
9415 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
9416 member incoming.
9417 (FUNCTION_ARG): Revise call to function_arg.
9418 (FUNCTION_INCOMING_ARG): Delete.
9419
f9c1196a
ZW
94202003-04-15 Zack Weinberg <zack@codesourcery.com>
9421
9422 * configure.in: Unify the code which creates symlinks to a
9423 just-built as, ld, objdump, and nm with the code that detects
9424 their presence for purposes of feature tests.
9425 * configure: Regenerate.
9426
0b78a9b6
ZW
94272003-04-15 Zack Weinberg <zack@codesourcery.com>
9428
9429 * varasm.c (output_constant_def): Do not consult
9430 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
9431 (after_function_constants, output_after_function_constants): Delete.
9432 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
9433 * config/mips/mips-protos.h, config/mips/mips.c
9434 (mips16_constant_after_function_p): Delete.
9435 * config/mips/mips.h: Delete #if-0-ed definition of
9436 CONSTANT_AFTER_FUNCTION_P.
9437 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
9438 mention of CONSTANT_AFTER_FUNCTION_P in comment.
9439
03907fbd
GK
94402003-04-15 Geoffrey Keating <geoffk@apple.com>
9441
9442 * tree.c (next_decl_uid): Mark with GTY.
9443 (next_type_uid): Likewise.
9444
9959c8c7
R
94452003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
9446
9447 PR target/9594:
9448 * sh.c (barrier_align): Also recognize stuff_delay_slot as
9449 an indicator that a barrier was created by branch splitting.
9450
c8b718ba
MM
94512003-04-15 Mark Mitchell <mark@codesourcery.com>
9452
9453 * c-decl.c (implicitly_declare): Copy declarations that are going
9454 to be placed in a local scope.
9455
f5034c5e
JM
94562003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
9457
9458 * invoke.texi (Spec Files): Wrap if-exists-else example.
9459 (MCore): Remove duplicate @itemx entries and @opindex entries.
9460
7344f3d7
UW
94612003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
9462
9463 * unwind.inc (_Unwind_Backtrace): New function.
9464 * unwind.h (_Unwind_Backtrace): Declare it.
9465 * libgcc-std.ver (_Unwind_Backtrace): Export it.
9466
9547e8fd
JM
94672003-04-14 Jason Merrill <jason@redhat.com>
9468
9469 PR middle-end/10336, c++/10401
0b78a9b6 9470 * jump.c (never_reached_warning): Also stop looking if we reach the
9547e8fd
JM
9471 beginning of the function.
9472
55adc7bd
KG
94732003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9474
9475 PR target/10338
9476 PR bootstrap/10198
9477 PR bootstrap/10140
9478 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
9479
d2b54839
R
94802003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
9481
9482 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
9483
d0ccc658
RK
94842003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9485
9486 * optabs.c (expand_binop): In multi-word add cases, ensure
9487 XTARGET is copied to TARGET if they are different.
9488
29921faf
OH
94892003-04-15 Olivier Hainque <hainque@act-europe.fr>
9490
9491 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
9492 to region, possible after integration of function with unreachable
9493 regions that were optimized away.
9494
ff3867ae
JJ
94952003-04-15 Jakub Jelinek <jakub@redhat.com>
9496
9497 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
9498 instead of TOC_REGISTER in epilogue in
9499 current_function_calls_eh_return functions.
9500
f4e92987
MM
95012003-04-14 Mark Mitchell <mark@codesourcery.com>
9502
db0b376e
MM
9503 * doc/extend.texi (Empty Structures): Correct description of G++'s
9504 handling of these structures.
9505
f4e92987
MM
9506 * c-decl.c (grokdeclarator): Reject extern redeclarations of
9507 static variables.
9508
629f6514
JJ
95092003-04-14 Janis Johnson <janis287@us.ibm.com>
9510
615158e2
JJ
9511 * config/rs6000/rs6000.md (define_constants): Define constants for
9512 all UNSPEC usage, including new values for TLS support.
9513 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
9514 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
9515 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
9516 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
9517 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
9518 eh_set_lr_di): Use them.
9519 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
9520 rs6000_emit_epilogue) Use them.
9521
629f6514
JJ
9522 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
9523
8951a635
NB
95242003-04-14 Neil Booth <neil@daikokuya.co.uk>
9525
9526 * Makefile.in (c-opts.o): Use custom action.
9527
798a3935
DR
95282003-04-14 Douglas B Rupp <rupp@gnat.com>
9529
9530 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
9531
2443af37
RK
95322003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9533
0d3c8800
RK
9534 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
9535 handle "superflat arrays" in Ada.
9536
2443af37
RK
9537 * integrate.c (expand_inline_function): Don't inline if would
9538 lose /u on a BLKmode TARGET.
9539
8cb5fbbf
JB
95402003-04-14 Joel Brobecker <brobecker@gnat.com>
9541
39d658e3
JB
9542 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
9543 extracted from dbxout_type.
9544 (dbxout_range_type): print large bounds in octal format.
9545 (dbxout_type): Replace extracted code by call to
9546 print_int_cst_bounds_in_octal_p.
9547
0b78a9b6
ZW
9548 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
9549 of DW_LANG_Ada83 for Ada units.
8cb5fbbf 9550
9ceca302
OH
95512003-04-14 Olivier Hainque <hainque@act-europe.fr>
9552
41ee3204
OH
9553 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
9554 temporary used to round CONST_INT sizes.
9555
4694840a
OH
9556 * tree.c (int_fits_type_p): Extract generic checks from the case
9557 of constant type bounds. Refine the checks against constant type
9558 bounds to allow for possible decisions against each of these bounds
9559 without requiring both bounds to be constant.
9560 (tree_int_cst_msb): Put back.
9561 * tree.h (tree_int_cst_msb): Likewise.
9562
4147232b
OH
9563 * global.c (global_conflicts): Prevent allocation of call clobbered
9564 hard regs to pseudos live across abnormal edges, as later passes are
9565 not ready to handle them.
9566
0b78a9b6
ZW
9567 * fold-const.c (fold): Reorder tests for conditional expressions.
9568
9569 * expr.c (highest_pow2_factor): Return unsigned.
9570 * expr.h (offset_address): Likewise.
9571 * emit-rtl.c (offset_address): POW2 argument now unsigned.
cbcafd35 9572
712b7a05
RS
95732003-04-14 Roger Sayle <roger@eyesopen.com>
9574
9575 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
9576 string literals at compile-time.
9577
15d4fd98
RS
95782003-04-14 Roger Sayle <roger@eyesopen.com>
9579
9580 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
9581 comparison operation and c1/c2 are floating point constants into
9582 x swap(cmp) (c1 - c2).
9583
2fcb395c
VM
95842003-04-14 Vladimir Makarov <vmakarov@redhat.com>
9585
9586 * genautomata.c (output_translate_vect): Fix a typo in loop
9587 condition.
9588
747a0d9d
HPN
95892003-04-14 Hans-Peter Nilsson <hp@axis.com>
9590
9591 PR target/10377
9592 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
9593 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
9594 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
9595 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
9596 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
9597 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
9598 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
9599 ("*extopqihi_swap_side", "*extopqisi_swap_side")
9600 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
9601 When next to constraint R, replace constraint i with n.
9602
58e6ae30
JH
9603Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
9604
9605 PR opt/10024
9606 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
9607
88657a26
KL
96082003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
9609
9610 * doc/contrib.texi (Contributors): Correct my entry.
9611
7f685e17
RS
96122003-04-13 Roger Sayle <roger@eyesopen.com>
9613
9614 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
9615 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
9616 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
9617 implies DECL_BUILT_IN to simplify logic.
9618 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
9619
1331d16f
RS
96202003-04-13 Roger Sayle <roger@eyesopen.com>
9621
9622 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
9623 (BT_FN_PTR_SIZE_SIZE): Likewise.
9624 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
9625 New built-in functions for malloc, calloc and strdup respectively.
9626 * calls.c (special_function_p): No need to handle malloc-like
9627 functions any longer. ECF_MALLOC is set via built-in attributes.
9628
9629 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
9630
9631 * doc/extend.texi: Document these new built-in functions.
9632
9cb65f92
KG
96332003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9634
9635 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
9636 (expand_builtin_stpcpy): New.
9637 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
9638 * builtins.def: Add mempcpy & stpcpy support.
9639 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
9640
5de601cf
NC
96412003-04-13 Nick Clifton <nickc@redhat.com>
9642
9643 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
9644 "GCC".
9645 * config/rs6000/40x.md, config/rs6000/603.md,
9646 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
9647 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
9648 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
9649 config/rs6000/aix43.h, config/rs6000/aix51.h,
9650 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
9651 config/rs6000/altivec.h, config/rs6000/altivec.md,
9652 config/rs6000/beos.h, config/rs6000/darwin.h,
9653 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
9654 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
9655 config/rs6000/freebsd.h, config/rs6000/gnu.h,
9656 config/rs6000/host-darwin.c, config/rs6000/linux.h,
9657 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
9658 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
9659 config/rs6000/netbsd.h, config/rs6000/power4.md,
9660 config/rs6000/rios1.md, config/rs6000/rios2.md,
9661 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
9662 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
9663 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
9664 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
9665 config/rs6000/spe.md, config/rs6000/sysv4.h,
9666 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
0b78a9b6 9667 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
5de601cf 9668
50d440bc
NC
96692003-04-13 Nick Clifton <nickc@redhat.com>
9670
9671 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
9672 support for -mcall-aix switch.
9673 * config/rs6000/eabiaix.h: Delete.
9674 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
9675 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
9676 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
9677 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
9678 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
9679 debug_stack_info, output_function_profiler,
9680 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
9681 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
9682 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
9683 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
9684 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
9685 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
9686 multilibs.
9687 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
9688 (MULTILIB_EXCEPTIONS): Delete.
9689 (MULTILIB_MATCHES): Remove mcall-aix matches.
9690
9691 * doc/fragments.texi: Replace -mcall-aix example with an ARM
9692 one.
9693 * doc/install.texi: Delete powerpc-*-eabiaix target.
9694 * doc/invoke.texi: Remove documentation of mcall-aix switch.
9695 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
9696 * config.gcc: Delete powerpc-*-eabiaix target.
9697
62b9c42c
KH
96982003-04-13 Kazu Hirata <kazu@cs.umass.edu>
9699
9700 * doc/invoke.texi: Fix typos.
9701 * doc/tm.texi: Likewise.
9702
6d0c8bb1
ZW
97032003-04-12 Zack Weinberg <zack@codesourcery.com>
9704
9705 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
9706
dcf92453
ZW
97072003-04-12 Zack Weinberg <zack@codesourcery.com>
9708
9709 * tree.c (build_constructor): New function.
9710 * tree.h: Prototype it.
9711
9712 * c-typeck.c (build_c_cast, pop_init_level)
9713 * profile.c (build_function_info_value, build_gcov_info_value)
9714 (create_profiler):
9715 Use build_constructor.
9716
9717 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
9718
9719 * objc/objc-act.c (build_constructor):
9720 Rename objc_build_constructor. Use build_constructor.
9721 (build_objc_string_object, objc_add_static_instance)
9722 (init_def_list, init_objc_symtab, init_module_descriptor)
9723 (generate_static_references, build_selector_translation_table)
9724 (build_descriptor_table_initializer, generate_descriptor_table)
9725 (build_protocol_initializer, build_ivar_list_initializer)
9726 (generate_ivars_list, build_dispatch_table_initializer)
9727 (generate_dispatch_table, generate_protocol_list)
9728 (build_category_initializer, build_shared_structure_initializer):
9729 Update to match.
9730
c85b28e8
ZW
97312003-04-12 Zack Weinberg <zack@codesourcery.com>
9732
9733 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
9734
cebcfdc8
SC
97352003-04-12 Stephane Carrez <stcarrez@nerim.fr>
9736
dcf92453 9737 * config/m68hc11/m68hc11-protos.h
cebcfdc8
SC
9738 (m68hc11_eq_compare_operator): Declare
9739 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
9740 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
9741 (d_register_operand): Check the operand mode.
9742 (hard_addr_reg_operand): Likewise.
9743
0ae32ec0
SC
97442003-04-12 Stephane Carrez <stcarrez@nerim.fr>
9745
9746 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
9747 pattern for dbcc/ibcc generation for 68HC12.
9748 ("doloop_end"): New pattern.
9749 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
9750 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
9751 ("m68hc12_dbcc_dec_qi"): New pattern.
9752 ("m68hc12_dbcc_inc_qi"): New pattern.
9753 (split): Add split for the above when we can't use dbcc/ibcc due to
9754 reloading.
9755 (peephole2): Add peephole2 to generate the above when possible.
9756
a67bac5f
SC
97572003-04-12 Stephane Carrez <stcarrez@nerim.fr>
9758
9759 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
9760 mode of operand 0.
9761 (peephole2 optimize const load): Likewise for operand 2.
9762 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
9763 clobbers CC_REGNUM.
9764 ("*rotrhi3_with_carry"): Likewise.
9765 (ashift:DI 1 split): Update pattern to create the above rotate.
9766 (lshiftrt:DI 1 split): Likewise.
9767
09214424
SC
97682003-04-12 Stephane Carrez <stcarrez@nerim.fr>
9769
9770 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
9771 ("tstqi_z_used" split): Use it.
9772 ("cmphi_z_used"): Likewise.
9773 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
9774 ("cmpqi_z_used"): Likewise.
9775
355b81d5
MM
97762003-04-12 Mark Mitchell <mark@codesourcery.com>
9777
9778 PR c++/7910
9779 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
9780
2bd02043
ZW
97812003-04-12 Zack Weinberg <zack@codesourcery.com>
9782
9783 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
9784 * configure, config.in: Regenerate.
9785 * intl.c (gcc_gettext_width): New function.
9786 * intl.h: Prototype it.
9787
96cd9069
SC
97882003-04-12 Stephane Carrez <stcarrez@nerim.fr>
9789
9790 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
9791 recognize -mnorelax.
9792 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
9793 (REG_CLASS_NAMES): Add its name.
9794 (REG_CLASS_CONTENTS): Define its content.
9795
c364c3a6
SC
97962003-04-12 Stephane Carrez <stcarrez@nerim.fr>
9797
9798 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
9799 parameters so that offsets are valid for far definition.
9800 (__mulsi3): Likewise and use ret to return.
9801 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
9802
09501938
DE
98032003-04-12 David Edelsohn <edelsohn@gnu.org>
9804
9805 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
9806
ff3d4e83
AO
98072003-04-12 Alexandre Oliva <aoliva@redhat.com>
9808
17a15c67
AO
9809 * mklibgcc.in (libgcc-stage-start): For every multilib directory
9810 containing a libgcc.a, move lib* to the corresponding stage dir.
9811
ff3d4e83
AO
9812 * Makefile.in (stage1-start, stage2-start, stage3-start,
9813 stage4-start): Move $(SPECS) to specs in stage dir.
9814 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
9815 back as $(SPECS).
9816
9e6ccb98
AO
9817 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
9818 object files from the non-libgcc/ multilib directories as well.
9819
ba05abd3
GK
98202003-04-11 Geoffrey Keating <geoffk@apple.com>
9821
0aaafe73
GK
9822 * profile.c (read_counts_file): Initialise 'checksum'.
9823
d5b9108c
GK
9824 * emit-rtl.c (gen_rtx): Really correct typo.
9825
a37db56b
GK
9826 PR c++/9393
9827 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
9828 * configure.in: Check for gettimeofday.
9829 * tree.c (flag_random_seed): Define.
9830 (default_flag_random_seed): New.
9831 (append_random_chars): Use flag_random_seed rather than trying
9832 to acquire randomness here.
9833 * tree.h (default_flag_random_seed): Declare.
9834 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
9835 descriptions.
9836 (decode_f_option): Handle -frandom-seed.
9837 (print_switch_values): Call default_flag_random_seed.
9838 * flags.h (flag_random_seed): Declare.
9839 * configure: Regenerate.
9840 * config.in: Regenerate.
9841 * config/alpha/t-crtfm: Use -frandom-seed.
2bd02043 9842
ba05abd3
GK
9843 * doc/extend.texi (Empty Structures): New.
9844
df026186
GK
9845 * c-pch.c: Include flags.h. Add comments to routines.
9846 (struct c_pch_validity): New.
9847 (get_ident): Update PCH file version number.
9848 (pch_init): Output current debugging type.
9849 (c_common_valid_pch): Check debugging type.
9850 * Makefile.in (c-pch.o): Update dependencies.
9851 * flags.h (debug_type_names): Declare.
9852 * toplev.c (debug_type_names): Move out of decode_g_option.
9853
15c812e3
EC
98542003-04-11 Eric Christopher <echristo@redhat.com>
9855
9856 * emit-rtl.c (gen_rtx): Fix typos.
9857
a73071bc
RH
98582003-04-11 Richard Henderson <rth@redhat.com>
9859
9860 * emit-rtl.c (gen_rtx): Zero '0' fields.
9861
ca06cfe6
RH
98622003-04-11 Richard Henderson <rth@redhat.com>
9863
9864 PR c++/10202
9865 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
9866 not COMPLETE_TYPE_P for re-invoking layout_decl.
9867
d2d42a91
SL
98682003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
9869
9870 * doc/bugreport.texi: Fix paragraph breaking between sections
9871 in preparation for TeXinfo's paragraph indentation fixes.
9872 * doc/extend.texi: Ditto.
9873 * doc/invoke.texi: Ditto.
9874 * doc/objc.texi: Ditto.
9875 * doc/gcov.texi: Wrap 'gcov' in @command{}.
9876 * doc/invoke.texi (Darwin Options): Add a preamble.
9877
2ae5ae57
RH
98782003-04-11 Richard Henderson <rth@redhat.com>
9879
9880 * config/i386/i386.c (tls_model_chars): Remove.
9881 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
9882 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
9883 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
9884 (tls_symbolic_operand_1): Likewise.
9885 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
9886 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
9887 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
9888 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
9889 bits "copied from i386.h" with default_encode_section_info.
9890
52859c77
RH
98912003-04-11 Richard Henderson <rth@redhat.com>
9892
9893 * rtl.def (SYMBOL_REF): Add two 0 fields.
9894 * gengtype.c (adjust_field_rtx_def): Handle them.
9895 * print-rtl.c (print_rtx): Print them.
9896 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
9897 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
9898 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
9899 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
9900 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
9901 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
9902 (SYMBOL_FLAG_MACH_DEP): New.
9903 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
9904 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
9905 (assemble_static_space): Set SYMBOL_REF_FLAGS.
9906 (assemble_trampoline_template): Likewise.
9907 (output_constant_def, force_const_mem): Likewise.
9908 (default_encode_section_info): New.
9909 * output.h: Declare it.
9910 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
9911
68d28100
RH
99122003-04-11 Richard Henderson <rth@redhat.com>
9913
9914 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
9915 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
9916 * optabs.c (init_optabs): Initialize them.
9917 (init_libfuncs): Use init_one_libfunc.
9918 * calls.c (expand_call): Use gcov_flush_libfunc.
9919 * expr.c (store_constructor): Use setbits_libfunc.
9920 * function.c (expand_main_function): Use init_one_libfunc.
9921 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
9922
11fe27a5
MM
99232003-04-11 Mark Mitchell <mark@codesourcery.com>
9924
9925 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
9926 documentation; add DECL_FRIEND_CONTEXT.
9927
f401d0f5
JDA
99282003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9929
9930 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
9931 notes on linker selection and configuration for 64-bit HP-UX port.
9932 * doc/invoke.texi (hppa): Remove hppa text from description for
9933 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
9934 and -threads options.
9935
9936 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
9937 libc.a on libdld.sl when -static is specified and -nolibdld is not
9938 specified.
9939 * pa64-hpux.h (LIB_SPEC): Likewise.
9940 * pa-hpux11.h (LIB_SPEC): Likewise.
9941 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
9942 is not specified.
9943
43451169
ZW
99442003-04-11 Zack Weinberg <zack@codesourcery.com>
9945
9946 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
9947 not IDENTIFIER_LOCAL_VALUE.
9948
a46666a9
RH
99492003-04-11 Richard Henderson <rth@redhat.com>
9950
9951 PR c/10201
9952 * expr.c (expand_expr): Move DECL_RTL frobbing ...
9953 * stor-layout.c (layout_decl): ... here.
9954
6d2f9dd3
JM
99552003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
9956
9957 * doc/invoke.texi: Eliminate extra white-space caused by
9958 @gccoptlist{ on its own line.
9959 * doc/invoke.texi: Ensured there are two spaces between each option.
9960 * doc/invoke.texi: Re-wrapped option lines that were too wide.
9961 Added @gol to options that didn't have them.
9962
94de45d9
NS
99632003-04-11 Nathan Sidwell <nathan@codesourcery.com>
9964
9965 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
9966 gcov-iov.h.
9967
9968 Simplify interface to gcov reading and writing.
9969 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
9970 gcov_alloc, gcov_modified, gcov_errored): Move into ...
9971 (struct gcov_var gcov_var): ... this static structure.
9972 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
9973 Return void.
9974 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
9975 read object.
9976 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
9977 (gcov_reserve_length): Remove.
9978 (gcov_write_tag): New.
9979 (gcov_write_length): Adjust.
9980 (gcov_read_summary, gcov_write_summary): Adjust.
9981 (gcov_eof, gcov_ok): Rename to ...
9982 (gcov_is_eof, gcov_is_error): ... here. Return error code.
9983 (gcov_save_position, gcov_resync): Rename to ...
9984 (gcov_position, gcov_seek): ... here.
9985 (gcov_skip, gcov_skip_string): Remove.
9986 (gcov_error): Remove.
9987 (gcov_open, gcov_close): Adjust.
9988 * gcov.c (find_source): Take const char *, copy it on allocation.
9989 (read_graph_file): Adjust.
9990 (read_count_file): Adjust.
9991 * libgcov.c (gcov_exit): Adjust.
9992 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
9993 tag_arc_counts, tag_summary): Return void. Adjust.
9994 (struct tag_format): Adjust proc member.
9995 (dump_file): Adjust gcov calls.
9996
7a615b25
AO
99972003-04-11 Alexandre Oliva <aoliva@redhat.com>
9998
9999 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
10000 mkfixinc.sh.
10001 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
10002 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
10003 build != host sysrooted builds.
10004 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
10005 TARGET_SYSTEM_ROOT even on sysrooted natives.
10006 * configure: Rebuilt.
10007
339a28b9
ZW
100082003-04-10 Zack Weinberg <zack@codesourcery.com>
10009
10010 * c-decl.c (struct binding_level): Add shadowed_tags and
10011 function_body; remove this_block, tag_transparent, and
10012 subblocks_tag_transparent; update comments.
10013 (clear_binding_level, lookup_tag_reverse): Kill.
10014 (make_binding_level): Use ggc_alloc_cleared or memset.
10015 (lookup_tag): Remove struct binding_level* parameter. All
10016 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
10017 current_binding_level->tags if asked for thislevel_only or if
10018 we might have to diagnose "struct foo; union foo;"
10019 (pushlevel): Ignore argument. Do not push another binding
10020 level on the transition from the parameters to the top level
10021 of the function body; just tweak the flags and proceed.
10022 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
10023 a function body, separate the parameter list from the
10024 top-level local variables.
10025 (set_block): Do nothing.
10026 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
10027 shadowed_tags if necessary.
10028 (warn_if_shadowing): Nuke the special case for local shadowing
10029 parameter.
10030 (pushdecl): Do not create a shadow entry if we are replacing
10031 an older decl in the same binding level.
10032 (pushdecl_function_level): Tweak for new way of indicating
10033 function scope.
10034 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
10035 (start_function): Don't set subblocks_tag_transparent.
10036 (finish_function): Fix up the binding_level stack for totally
10037 empty functions. Otherwise, don't call poplevel.
10038
10039 * c-common.c (shadow_warning): MANDATORY argument is no longer
10040 necessary. Always use plain warning.
10041 * c-common.h: Update to match.
10042
10043 * cfglayout.c (scope_to_insns_initialize): Clear block when we
10044 hit the FUNCTION_DECL.
10045 * function.c: Do not create cyclic tree structure.
10046
100472003-04-10 Zack Weinberg <zack@codesourcery.com>
10048
10049 * c-tree.h (struct lang_identifier): Replace global_value,
10050 local_value members with symbol_value, tag_value. Kill
10051 implicit_decl and limbo_value.
10052 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
10053 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
10054 C_MISSING_PROTOTYPE_WARNED): Kill.
10055 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
10056 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
10057 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
10058 (implicit_decl_warning, lookup_name_current_level,
10059 record_function_scope_shadow): Don't prototype.
10060 (pushdecl_function_level): Prototype.
10061
10062 * c-decl.c (truly_local_externals): New variable.
10063 (struct binding_level): Adjust commentary.
10064 (get_function_binding_level, clear_limbo_values,
10065 record_function_scope_shadow): Kill.
10066 (lookup_name_current_level, implicit_decl_warning): Are now static.
10067 (any_external_decl, record_external_decl): New static functions.
10068 (clone_underlying type): Split out of pushdecl.
10069 (c_print_identifier): Update to match changes to struct
10070 lang_identifier.
10071 (poplevel): Delete #if 0 block. Make externals invisible
10072 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
10073 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
10074 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
10075 (duplicate-decls): For real parm decl after a forward decl,
10076 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
10077 foo(...) { } with only a warning. Say whether a previous
10078 declaration was implicit.
10079 (warn_if_shadowing): Now handles all shadowing, not just
10080 local-over-local. Clarify comments.
10081 (pushdecl): Rewritten. There is no longer a distinction
10082 between global and local symbol values; they're all
10083 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
10084 DECL_EXTERNAL decls, and use any_external_decl to check
10085 against previous externals. Kill #if 0 blocks. Don't
10086 tolerate error_mark_node being NULL.
10087 (pushdecl_top_level): Handle only those cases which
10088 Objective C (the only user) needs.
10089 (pushdecl_function_level): New function.
10090 (implicitly_declare): Create ordinary decls with
10091 C_DECL_IMPLICIT set. Recycle old decls, however they got
10092 created.
10093 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
10094 for C_DECL_INVISIBLE symbols.
10095 (lookup_name_current_level): Likewise. Use chain_member.
10096 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
10097 Use pushdecl_function_level.
10098 (builtin_function): Use C_DECL_INVISIBLE.
10099 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
10100 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
10101 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
10102 (identifier_global_value): Same. Must scan
10103 global_binding_level in extremis.
10104
10105 * c-typeck.c (undeclared_variable): New static function, split
10106 from build_external_ref.
10107 (build_external_ref): Use DECL_CONTEXT, not
10108 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
10109 an instance variable. Restructure for clarity.
10110 * objc/objc-act.c: Use identifier_global_value, not
10111 IDENTIFIER_GLOBAL_VALUE.
10112
6d9c4c83
JW
101132003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
10114
10115 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
10116 not Working Paper.
10117 * doc/invoke.texi (C++ Dialect Options): Same.
10118
06790e5f
ZW
101192003-04-10 Zack Weinberg <zack@codesourcery.com>
10120
10121 * tree.c (tree_operand_check_failed): New function.
10122 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
10123 TREE_RTL_OPERAND_CHECK): New checking macros.
10124 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
10125 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
10126 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
10127 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
10128 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
10129 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
10130 checking macros.
10131
f90e4dea
JH
10132Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
10133
10134 PR inline-asm/8803
10135 * function.c (instantate_virtual_regs): Verify that all ASM statements
10136 match after the virutal regs instantiation.
10137
08744705
SE
101382003-04-10 Steve Ellcey <sje@cup.hp.com>
10139
10140 * ia64-protos.h (addp4_optimize_ok): New.
10141 * ia64.c (addp4_optimize_ok): New.
10142 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
10143 (*ptr_extend_plus_2): Ditto.
10144
267b28bd
SE
101452003-04-10 Steve Ellcey <sje@cup.hp.com>
10146
10147 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
10148 not with convert_memory_address.
10149 (store_constructor): Ditto, and same for copy_size_rtx.
10150 (expand_expr): Ditto.
10151
021bad8e
DR
101522003-04-10 Douglas B Rupp <rupp@gnat.com>
10153
10154 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
10155
1839841c
BW
101562003-04-10 Bob Wilson <bob.wilson@acm.org>
10157
10158 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
10159 even if it is configured to be write-through.
10160
e23795ea
UW
101612003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
10162
10163 * config/s390/s390.c (larl_operand): Do not allow symbols
10164 marked with '@'.
10165 (s390_encode_section_info): Mark symbols with forced 1-byte
10166 alignment with '@'.
10167 (s390_strip_name_encoding): Strip '@'.
10168 (legitimize_pic_address): Handle symbols that are not valid
10169 LARL operands in 64-bit mode.
10170
0bb7378d
AH
101712003-04-10 Andrew Haley <aph@redhat.com>
10172
10173 * tree-inline.c (inlinable_function_p): Disable inlining for
10174 synchronized methods.
10175
009ed910
SB
101762003-04-09 Steven Bosscher <steven@gcc.gnu.org>
10177
10178 * c-common.h (lang_statement_code_p): Remove declaration.
10179 (statement_code_p): Ditto.
10180 (c_common_stmt_codes): Define; list of c-common statement codes.
10181 (statement_code_p): New extern declaration.
10182 (STATEMENT_CODE_P): Define.
10183 (INIT_STATEMENT_CODES): Define.
10184 * c-common.c (statement_code_p): Kill the function, declare
10185 as an array of bools instead.
10186 (lang_statement_code_p): Remove.
10187 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
10188 (c_safe_from_p): Ditto.
10189 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
10190 to initialize the statement_code_p array.
10191 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
10192 statement_code_p.
10193 (copy_tree_r): Ditto.
10194 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
10195 statement tree codes.
10196 * cp/lex.c (cxx_init): Add missing print line break. Use
10197 INIT_STATEMENT_CODES to initialize the statement_code_p array.
10198 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
10199 instead of statement_code_p.
10200 * cp/pt.c (tsubst_expr): Ditto.
10201 * cp/tree.c (verify_stmt_tree_r): Ditto.
10202 (cp_statement_code_p): Remove.
10203 (init_tree): Don't set lang_statement_code_p, it's gone.
10204
496324d0
DN
102052003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
10206 Zack Weinberg <zack@codesourcery.com>
10207
10208 * regrename.c (struct du_chain): Use a bitfield for reg_class.
10209 * cse.c (struct qty_table_elem, struct table_elt, struct set):
10210 Use bitfields for fields holding enum rtx_code or
10211 enum machine_mode values. Add comments explaining size choices.
10212
9c951124
AO
102132003-04-09 Alexandre Oliva <aoliva@redhat.com>
10214
10215 * config/fp-bit.c (unpack_d): Handle pair of doubles with
10216 different signs correctly.
10217
d1c9693e
VM
102182003-04-09 Vladimir Makarov <vmakarov@redhat.com>
10219
10220 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
10221 (reg_pending_barrier): Make it of the enumeration type.
10222 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
10223 TRUE_BARRIER.
10224 (sched_analyze): Ditto.
10225 (sched_analyze_insn): Ditto. Use anti-dependencies for
10226 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
10227 (init_deps_global): Initialize the barrier as NO_BARRIER.
06790e5f 10228
f32360c7
VM
102292003-04-09 Vladimir Makarov <vmakarov@redhat.com>
10230
10231 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
10232 Check that asm insn starts on a new cycle. Add nops after asm
10233 insn to end bundle.
10234 (bundling): Move insn type evaluation from the loop. Call
10235 issue_nops_and_insn with the new parameter. Ignore changing
10236 position for nops after asm insn.
10237
0913e4b4
AO
102382003-04-09 Alexandre Oliva <aoliva@redhat.com>
10239
10240 * optabs.c: Comment that gen_add2_insn and others may actually
10241 return emitted insns, if the gen functions turn out to return
10242 emitted insns.
10243 * reload1.c (reload_cse_move2add): Cope with emitted insns from
10244 gen_add2_insn.
10245
21515593
RH
102462003-04-09 Richard Henderson <rth@redhat.com>
10247
10248 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
10249 but not tls_symbolic_operand.
10250 (ia64_expand_load_address): Remove scratch operand.
10251 (ia64_expand_tls_address): Split out from ia64_expand_move.
10252 (ia64_expand_move): Split symbolics only after reload.
10253 (ia64_emit_cond_move): New.
10254 * config/ia64/ia64-protos.h: Update.
10255 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
10256 (symbolic splitter): Accept SImode operands too.
10257 (cmove splitter): Use ia64_emit_cond_move.
10258
66d6bf1f
NC
102592003-04-09 Nick Clifton <nickc@redhat.com>
10260
10261 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
10262 newer.
10263 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
10264 instead of -mno-fpu.
10265 * config/arm/semi.h (ASM_SPEC): Likewise.
10266 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
10267 but only if -msoft-float is specified pass. Otherwise pass
10268 -mfpu=softvfp.
06790e5f 10269
22659ac9
ZD
102702003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10271
10272 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
10273 free_EXPR_LIST_node.
10274
5fce2c65
RS
102752003-04-08 Roger Sayle <roger@eyesopen.com>
10276
10277 * fold-const.c (fold): Use "fold" following build in more places.
10278 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
10279 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
10280
531878a6
RS
102812003-04-08 Roger Sayle <roger@eyesopen.com>
10282
10283 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
10284 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
10285 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
10286 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
10287 Delete function scope "fcode" variable to avoid shadowing.
10288
c583e7c3
KB
102892003-04-08 Kevin Buettner <kevinb@redhat.com>
10290
10291 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
10292 Take into account DWARF_INITIAL_LENGTH_SIZE.
10293
5a82c0b1
HPN
102942003-04-08 Hans-Peter Nilsson <hp@axis.com>
10295
10296 * reorg.c (fill_slots_from_thread): When considering changing the
10297 insn following a reg-to-reg copy insn to use the source reg of the
10298 copy, bail out if there's overlap between the registers.
10299
8a5275eb
ZD
103002003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10301
10302 * function.c (postponed_insns): New.
10303 (purge_addressof_1): Postpone processing of insns if addressofs
10304 are not put into stack.
06790e5f 10305 (purge_addressof): Process postponed insns.
8a5275eb 10306
ac55736a
R
103072003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
10308
10309 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
10310 this is FP_MODE_DOUBLE .
10311 * sh.c (ra.h): #include.
10312 (push_regs): Add second parameter. Changed all callers.
10313 If necessary, set fpscr before saving floating point registers.
10314 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
10315 do saves / restores with SZ == 1.
10316 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
10317 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
10318 registers are being restored, restore FPSCR only after restoring them.
10319
3fdaa45a
AH
103202003-04-08 Aldy Hernandez <aldyh@redhat.com>
10321
496324d0
DN
10322 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
10323 regardless of architecture.
10324 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
3fdaa45a 10325
490dbac7
R
103262003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
10327
10328 * sh.c (push_regs, calc_live_regs): Return int. Take single
10329 HARD_REG_SET * parameter. Changed all callers.
10330
799b33a0
JH
10331Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
10332
10333 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
10334 GOTOFF operand.
10335 (legitimize_pic_address): Move plus outside the unspec.
10336 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
10337 for validity.
10338
3e71e002
NS
103392003-04-08 Nathan Sidwell <nathan@codesourcery.com>
10340
10341 * gcov-io.h (gcov_save_position): Remove __inline__ from
10342 declaration.
10343
7ba4ca63
MK
103442003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
10345
10346 * doc/install.texi: Use @command and @samp for single- and
10347 multi-word commands respectively.
10348 * doc/makefile.texi: Likewise.
10349 * doc/sourcebuild.texi: Likewise.
10350
f8d4be57 103512003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
496324d0 10352 Richard Henderson <rth@redhat.com>
f8d4be57 10353
496324d0
DN
10354 PR c/9516
10355 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
6356f892 10356 favor of looping and tail recursion for TREE_LIST and binops.
f8d4be57 10357
760e8e42
ZD
103582003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10359
10360 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
10361 for insns without luid.
10362
b0a3412c
GN
103632003-04-07 Glen Nakamura <glen@imodulo.com>
10364
10365 PR opt/8634
10366 * explow.c (maybe_set_unchanging): Don't flag non-static const
10367 aggregate type initializers with RTX_UNCHANGING_P.
10368
c5a1e3d6
RH
103692003-04-07 Richard Henderson <rth@redhat.com>
10370
496324d0
DN
10371 PR opt/8634
10372 * function.c (purge_addressof_1): Don't try arithmetics for
10373 unchanging memories.
c5a1e3d6 10374
138d4703
JJ
103752003-04-07 Janis Johnson <janis187@us.ibm.com>
10376
10377 * doc/sourcebuild.texi (Test Suites): Document testing support for
10378 gcov and profile-directed optimizations; describe gcc.misc-tests.
10379
1d5b4e0b
JH
10380Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
10381
10382 PR target/10077
10383 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
10384
60ba917e
EB
103852003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
10386
10387 * doc/rtl.texi (Comparison operations): Update to
10388 record the allowed comparison modes.
10389
2abe3e28
AH
103902003-04-07 Aldy Hernandez <aldyh@redhat.com>
10391
496324d0
DN
10392 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
10393 V2SI_type_node to opaque_V2SI_type_node. Rename all
10394 V2SF_type_node to opaque_V2SF_type_node.
10395 (rs6000_init_builtins): Define opaque_V2SI_type_node and
10396 opaque_V2SF_type_node.
10397 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
10398 opaque_V2SF_type_node are opaque types.
2abe3e28 10399
9a318d30
R
104002003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
10401
10402 * gcse.c (replace_store_insn): Use single_set.
10403
546d2adb
NS
104042003-04-07 Nathan Sidwell <nathan@codesourcery.com>
10405
10406 Change gcov file interface to single file at a time.
10407 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
10408 Convert to C89 prototypes.
10409 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
10410 gcov_error, gcov_modified): New static variables.
10411 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
10412 functions.
10413 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
10414 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
10415 (gcov_read_summary, gcov_write_summary): Adjust.
10416 (gcov_save_position, gcov_reserve_length, gcov_write_length):
10417 Adjust.
10418 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
10419 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
10420 (da_file_position, da_file_seek, da_file_write, da_file_read):
10421 Remove.
10422 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
10423 * gcov.c (gcov_type): Don't typedef here.
10424 (IN_GCOV): #define
10425 (read_graph_file, read_count_file): Adjust.
10426 * gcov-dump.c (gcov_type): Don't typedef here.
10427 (IN_GCOV): #define.
10428 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
10429 Remove FILE parameter, adjust.
10430 (struct tag_format): Adjust proc member.
10431 (dump_file): Adjust.
10432 * libgcov.c (IN_LIBGCOV): #define.
10433 (gcov_exit): Adjust.
10434 * loop-init.c: Don't #include gcov-io.h
10435 * profile.c (struct counts_entry): New structure to hold counter
10436 values.
10437 (struct section_reference, struct da_index_entry): Remove.
10438 (bbg_file, da_file): Remove.
10439 (htab_counts_index_hash, htab_counts_index_eq,
10440 htab_counts_index_del): Replace with ...
10441 (htab_counts_entry_hash, htab_counts_entry_eq,
10442 htab_counts_entry_del): ... these.
10443 (cleanup_counts_index, index_counts_file): Remove.
10444 (read_counts_file): New function.
10445 (get_exec_counts): Adjust.
10446 (compute_branch_probabilities): Don't free the exec counts here.
10447 (branch_prob): Adjust.
10448 (init_branch_prob): Adjust.
10449 (end_branch_prob): Adjust.
10450
5da702b1
AH
104512003-04-07 Aldy Hernandez <aldyh@redhat.com>
10452
496324d0
DN
10453 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
10454 -mfloat-gprs.
5da702b1 10455
496324d0
DN
10456 * config/rs6000/rs6000.c: Delete rs6000_fprs.
10457 Declare rs6000_float_gprs.
10458 Declare rs6000_float_gprs_string.
10459 (rs6000_parse_float_gprs_option): New.
10460 (rs6000_override_options): Genericize rs6000_parse_* calls to use
10461 rs6000_parse_yes_no_option.
10462 Change check for cpu=8540, to use TARGET_E500.
10463 (rs6000_parse_isel_option): Delete.
10464 (rs6000_parse_spe_option): Delete.
10465 (rs6000_parse_vrsave_option): Delete.
5da702b1 10466
496324d0
DN
10467 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
10468 Define rs6000_float_gprs_string.
10469 (TARGET_OPTIONS): Add rs6000_float_gprs option.
5da702b1 10470
496324d0 10471 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
5da702b1 10472
496324d0 10473 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
5da702b1 10474
cde1d5bf
JH
10475Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
10476
10477 PR opt/10024
10478 * cfglayout.c (cfg_layout_redirect_edge):
10479 Redirect any branch edges unified with the fallthru one.
10480 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
10481 case fallthru edges when called via cfglayout.c
10482
d5019ba3
R
104832003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
10484
10485 * c-typeck.c (output_init_element): Check for type == error_mark_node.
10486
093b05b6
KH
104872003-04-07 Kazu Hirata <kazu@cs.umass.edu>
10488
10489 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
10490 split.
10491 (a splitter): Do zero-extension via HImode.
10492
9a94f7f3
JM
104932003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
10494
10495 * doc/invoke.texi: Eliminate extra white-space caused by
10496 @gccoptlist{ on its own line.
10497 * doc/invoke.texi: Ensured there are two spaces between each option.
10498 * doc/invoke.texi: Re-wrapped option lines that were too wide.
10499 Added @gol to options that didn't have them.
10500
85ebf0c6
JM
105012003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
10502
10503 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
10504
d78e771d
ZW
105052003-04-06 Zack Weinberg <zack@codesourcery.com>
10506
10507 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
10508 at the sizes of the relevant structures, rather than relying
10509 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
10510 sizes of any such we don't know about. Use
10511 lang_hooks.identifier_size for IDENTIFIER_NODE.
10512
10513 (initializer_zerop): Use CONSTRUCTOR_ELTS.
10514 * tree.def: Update commentary. Make fourth element of
10515 the definition for all 'c' and 'x' nodes zero.
10516
10517 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
10518 * langhooks-def.h: Update to match.
10519 * langhooks.c: New default, lhd_tree_size.
10520
10521 * c-common.def (SRCLOC): Kill.
10522 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
10523 Remove entirely - was already #if-ed out.
10524
10525
48a79342
ZW
105262003-04-06 Zack Weinberg <zack@codesourcery.com>
10527
10528 * mklibgcc.in: Use a here document to avoid running afoul of
10529 shells that generate control-A from "echo \1".
10530
993f19a8
AH
105312003-04-06 Aldy Hernandez <aldyh@redhat.com>
10532
d78e771d
ZW
10533 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
10534 option.
993f19a8 10535
d78e771d
ZW
10536 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
10537 rs6000_spe.
993f19a8 10538
d78e771d 10539 * config/rs6000/eabi.h (TARGET_E500): Define.
993f19a8 10540
d78e771d
ZW
10541 * config/rs6000/rs6000.h (TARGET_E500): Define.
10542 (TARGET_OPTIONS): Add spe= option.
10543 Declare rs6000_spe and rs6000_spe_string extern.
993f19a8 10544
d78e771d
ZW
10545 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
10546 Change TARGET_SPE to TARGET_E500.
10547 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
10548 !TARGET_FPRS.
10549 (print_operand): Same.
10550 (rs6000_generate_compare): Same.
10551 (output_cbranch): Same.
10552 (rs6000_spe): Declare.
10553 (rs6000_spe_string): Declare.
10554 (rs6000_override_options): Call rs6000_parse_spe_option.
10555 (rs6000_parse_spe_option): New.
993f19a8 10556
95ec27aa
SB
105572003-04-06 Steven Bosscher <steven@gcc.gnu.org>
10558
10559 * hashtable.c (gcc_obstack_init): Delete this function
10560 and everything related to it.
10561 * hashtable.h: Remove prototype.
10562 * bitmap.c (bitmap_element_allocate): Cleanup redundant
10563 defines. Cleanup some unnecessary whitespace.
10564 * defaults.h (obstack_chunk_alloc): Redefine with
10565 appropriate casts for libiberty obstacks.
10566 (obstack_chunk_free): Ditto.
10567 (OBSTACK_CHUNK_SIZE): Define, default to 0.
10568 (gcc_obstack_init): Define as a call to _obstack_begin.
10569 * tree.c (print_obstack_statistics): Delete this unused
10570 function.
10571 * tree.h (obstack): Don't forward-declare.
10572 (print_obstack_statistics): Delete prototype.
10573 (print_obstack_name): Ditto.
10574 (gcc_obstack_init): Ditto.
10575 * rtl.h (gcc_obstack_init): Ditto.
10576 * java/jv-scan.c (gcc_obstack_init): Delete this
10577 function, its prototype and related defines.
10578 * java/jvgenmain.c (gcc_obstack_init): Delete this
10579 function, and related defines.
10580 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
10581 (obstack_chunk_free): Ditto
10582
62e64b0b
GK
105832003-04-06 Geoffrey Keating <geoffk@apple.com>
10584
10585 * dbxout.c (dbxout_handle_pch): Move prototype out from
10586 #if defined DBX_DEBUGGING_INFO.
10587
10b7602f
NS
105882003-04-05 Nathan Sidwell <nathan@codesourcery.com>
10589
10590 * gcov.c (struct arc_info): Replace local_span with cycle.
10591 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
10592 (solve_flow_graph): Set is_call_return.
10593 (add_line_counts): Adjust. In block mode, blocks attach to last line.
10594 (accumulate_line_counts): Find graph cycles, not spanning tree.
10595 (output_branch_count): Adjust.
10596 (output_lines): Adjust.
10597 * doc/gcov.texi: Update.
10598
910c46b5
KH
105992003-04-06 Kazu Hirata <kazu@cs.umass.edu>
10600
10601 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
10602 the second alternative to "#".
10603
ef378bbe
KH
106042003-04-05 Kazu Hirata <kazu@cs.umass.edu>
10605
10606 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
10607 (single_zero_operand): Likewise.
10608
873ceaab
DB
106092003-04-05 Daniel Berlin <dberlin@dberlin.org>
10610
10611 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
10612 * df.c: Include alloc-pool.h, not obstack.h.
10613 (df_ref_obstack): Remove.
10614 (df_ref_pool, df_link_pool): Add pools.
10615 (df_alloc): Init the new pools.
10616 (df_free): And free them.
10617 (df_link_create): Use the pools.
10618 (df_ref_create): Ditto.
10619
5be86fec
KH
106202003-04-05 Kazu Hirata <kazu@cs.umass.edu>
10621
10622 * simplify-rtx.c: Fix formatting.
10623
984e25ac
DE
106242003-04-05 Andrew Pinski <apinski@apple.com>
10625
10626 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
10627 reg with reg1 == reg2 and offset1 = -8.
10628
106292003-04-05 David Edelsohn <edelsohn@gnu.org>
10630
10631 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
10632 multiply costs. Correct Power4 divide costs.
10633 * config/rs6000/power4.md: Restore multiply and FP latency.
10634
94f24ddc
ZD
106352003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10636
10637 * alias.c (find_base_term): Export.
10638 * rtl.h (find_base_term): Declare.
10639 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
10640 instead of flag_exceptions. Move test for parameter passing ...
10641 (store_killed_in_insn): ... here.
10642
92441f83
GP
106432003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10644
10645 PR bootstrap/10267
10646 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
10647 for configuring.
10648
33b49800
GK
106492003-04-04 Geoffrey Keating <geoffk@apple.com>
10650
10651 * dbxout.c (scope_labelno): Add GTY.
10652 (have_used_extensions): Add GTY.
10653 (source_label_number): Add GTY.
10654 (lastfile): Add GTY.
10655 (lastfile_is_base): New.
10656 (base_input_file): New.
10657 (dbxout_handle_pch): New.
10658 (dbx_debug_hooks): Add handle_pch.
10659 (xcoff_debug_hooks): Likewise.
10660 (dbxout_function_end): Remove scope_labelno.
10661 (dbxout_init): Set base_input_file.
10662 (dbxout_handle_pch): New.
10663 (dbxout_source_file): Honour lastfile_is_base.
10664 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
10665 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
10666 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
10667 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
10668 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
10669 * debug.h (struct gcc_debug_hooks): Add handle_pch.
10670 * c-pch.c (pch_init): Don't call start_source_file, but do call
10671 handle_pch.
10672 (c_common_write_pch): Call handle_pch.
10673 (c_common_read_pch): Don't call start_source_file,
06790e5f 10674 or end_source_file.
33b49800 10675
bb056a77
OH
10676Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
10677
d78e771d
ZW
10678 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
10679 use of default attributes to agree MEM_ALIGN macro.
bb056a77 10680
08b0f5f9
JB
10681Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
10682
d78e771d 10683 * dbxout.c (dbxout_type): When printing type index of range type
08b0f5f9
JB
10684 whose bounds are printed in octal format, print type of parent type if
10685 it exists so enumerated type descriptions are not transformed
d78e771d 10686 into unsigned types.
08b0f5f9 10687
45ca2106
KH
106882003-04-04 Kazu Hirata <kazu@cs.umass.edu>
10689
10690 * config/h8300/h8300-protos.h: Add a prototype for
10691 compute_a_shift_cc.
10692 * config/h8300/h8300.c (shift_one): Update the CC status.
10693 (shift_two): Likewise.
10694 (output_a_shift_cc): Set cc_inline and cc_special.
10695 (compute_a_shift_cc): New.
10696 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
10697
7c2aa9d7
RH
106982003-04-04 Richard Henderson <rth@redhat.com>
10699
10700 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
10701
0705a2a2
LR
107022003-04-04 Loren James Rittle <ljrittle@acm.org>
10703
10704 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
10705 * fixinc/fixincl.x: Rebuilt.
10706 * fixinc/tests/base/stdio.h: Regenerated.
10707
1a482881
NS
107082003-04-04 Nathan Sidwell <nathan@codesourcery.com>
10709
10710 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
10711
5d806217
R
10712Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
10713
10714 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
10715 (NORMAL_MODE).
10716 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
10717
0dc5ac92 107182003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
06790e5f 10719
0dc5ac92
GP
10720 * doc/contrib.texi (Contributors): Add entries for Wolfgang
10721 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
10722 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
10723 Danny Smith, and Ulrich Weigand.
10724 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
10725 entry.
10726
5eb7ad07
NC
107272003-04-04 Nick Clifton <nickc@redhat.com>
10728
10729 * config/sparc/sol2-bi.h: Revert previous delta.
10730 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
10731
fdf3bb57
NC
107322003-04-04 Nick Clifton <nickc@redhat.com>
10733
10734 * config/v850/v850.c (expand_prologue): Only use register save
10735 helper functions if long calls are not being used.
10736 Add a clobber of r11 id using long calls.
10737 (pattern_is_ok_for_prologue): Account for the extra clobber.
10738 (construct_save_jarl): Likewise.
10739 * config/v850/v850.md (prolog pattern): Do not use this pattern
10740 for v850e's.
10741
ad3f5759
AS
107422003-04-04 Andreas Schwab <schwab@suse.de>
10743
10744 * stor-layout.c (layout_decl): Avoid syntax error in last change
10745 when PCC_BITFIELD_TYPE_MATTERS is defined but not
10746 EMPTY_FIELD_BOUNDARY.
10747
ed2e5902
JM
107482003-04-03 Jason Merrill <jason@redhat.com>
10749
10750 PR c/10175
10751 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
10752 Look backwards for a line note.
10753
7b43d104
NB
107542003-04-03 Neil Booth <neil@daikokuya.co.uk>
10755
10756 * fix-header.c (read_scan_file): Defer switch processing.
10757
d24ecd21
MA
107582003-04-03 Matt Austern <austern@apple.com>
10759
10760 * cpppch.c (reset_ht): Remove.
10761 (cpp_read_state): Remove loop to reset hashtable identifiers.
10762 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
10763 after pch file is written.
10764 * ggc.h (gt_pch_fixup_stringpool): Declare.
10765 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
10766 hashnode's value to another hashtable, then clear the original.
10767 (saved_ident_hash): Define.
10768 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
10769 store definitions in ident_hash, and clear ident_hash.
10770 (gt_pch_fixup_stringpool): Define. Restore definitions from
10771 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
10772
bcc53e2a
JH
10773Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
10774
10775 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
10776
773eae39
EB
107772003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
10778
10779 PR optimization/10157
10780 * gcse.c (can_copy_p): Rename it to can_copy.
10781 (can_copy_init_p): Remove.
10782 (compute_can_copy): Use can_copy instead of can_copy_p.
10783 (can_copy_p): New exported function. Call compute_can_copy.
10784 (hash_scan_set): Use it.
10785 (gcse_main): Don't call compute_can_copy.
10786 (bypass_jumps): Don't call compute_can_copy.
10787 * rtl.h (can_copy_p): Declare.
10788 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
10789 copy if the mode doesn't support copy operations.
10790
78d55cc8
JM
107912003-04-03 Jason Merrill <jason@redhat.com>
10792
613fa146
JM
10793 * Makefile.in (unstrap): Also remove stage_last.
10794
7bf6b23d
JM
10795 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
10796 (dwarf2out_source_line): Don't do anything if line==0.
10797
78d55cc8 10798 * stor-layout.c (do_type_align): New fn, split out from...
06790e5f 10799 (layout_decl): ...here. Do all alignment calculations for
78d55cc8
JM
10800 FIELD_DECLs here.
10801 (update_alignment_for_field): Not here.
10802 (start_record_layout, debug_rli): Remove unpadded_align.
10803 * tree.h (struct record_layout_info_s): Remove unpadded_align.
10804 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
10805 or DECL_MODE on the CONST_DECLs.
10806 (finish_struct): Don't mess with DECL_ALIGN.
10807
d10f5ecf
JH
10808Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
10809
10810 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
10811
10812Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
8d3b0953 10813
70aadfcc
R
10814 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
10815 function is an interrupt handler.
10816
10817 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
10818 restoring target registers with EH_RETURN_STACKADJ_RTX; use
10819 multiple registers in round-robin fashion.
8d3b0953 10820
de94b46c
KG
108212003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10822
10823 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
10824 * system.h (CHAR_BITFIELD): New.
10825
203dcb74
KH
108262003-04-03 Kazu Hirata <kazu@cs.umass.edu>
10827
10828 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
10829 and LE.
10830 (another peephole2): Likewise.
10831
dc00aebd
NC
108322003-04-03 Nick Clifton <nickc@redhat.com>
10833
10834 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
d78e771d 10835 (DEF_ARCH64_SPEC): Likewise.
dc00aebd 10836
a94f136b
JH
10837Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
10838
10839 * i386.c (constant_address_p): Use legitimate_constant_p.
10840 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
10841
9a2dd2dd
KH
108422003-04-02 Kazu Hirata <kazu@cs.umass.edu>
10843
10844 * config/h8300/h8300-protos.h: Add a prototype for
10845 gtle_operator.
10846 * config/h8300/h8300.c (gtle_operator): New.
10847 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
10848 gtle_operator.
10849 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
10850 and LE.
10851
378683cf
RH
108522003-04-02 Richard Henderson <rth@redhat.com>
10853
10854 * libgcc-std.ver (_Unwind_GetCFA): New.
10855 * unwind-dw2.c (_Unwind_GetCFA): New.
10856 * unwind-libunwind.c (_Unwind_GetCFA): New.
10857 * unwind-sjlj.c (_Unwind_GetCFA): New.
10858 * unwind.h: Declare it.
10859
a67a3220
JH
10860Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
10861
10862 PR inline-asm/8088
10863 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
10864 when MMX/SSE is not available.
10865
11292480
MS
108662003-04-02 Mike Stump <mrs@apple.com>
10867
10868 * doc/install.texi (Specific): Update pointers to apple.com.
10869
a94f136b 10870Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
a5b378d6
JH
10871
10872 * i386.c (override_options): Disable red zone by default on i386.
06790e5f 10873 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
a5b378d6
JH
10874 Do not test TARGET_64BIT together with TARGET_RED_ZONE
10875
8fc9a7ba
KH
108762003-04-02 Kazu Hirata <kazu@cs.umass.edu>
10877
10878 * config/h8300/h8300.md (a peephole2): Tighten the condition.
10879
496e1c4b
RH
108802003-04-02 Richard Henderson <rth@redhat.com>
10881
10882 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
10883
d98cd543
KH
108842003-04-02 Kazu Hirata <kazu@cs.umass.edu>
10885
10886 * config/h8300/h8300.md (a peephole2): New.
10887
b30abdf2
RH
108882003-04-02 Richard Henderson <rth@redhat.com>
10889
10890 * except.c (sjlj_find_directly_reachable_regions): Recognize when
10891 must-not-throw region has been deleted.
10892
ad5eeaa9
RH
108932003-04-02 Richard Henderson <rth@redhat.com>
10894
d78e771d
ZW
10895 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
10896 optimization when flag_exceptions not enabled.
ad5eeaa9 10897
be12c2b0
VM
108982003-04-02 Vladimir Makarov <vmakarov@redhat.com>
10899
10900 * config/rs6000/rs6000.c
10901 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
10902 macros.
10903 (rs6000_issue_rate): Add case for 8540.
10904 (rs6000_use_sched_lookahead): New function.
10905
10906 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
10907 units into MU ones.
10908 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
10909 reservation before retirement.
10910 (ppc8540_multiply, ppc8540_load, ppc8540_store,
10911 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
10912 Remove additional cycle in the reservation before retirement.
10913 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
10914 reservation of ppc8540_issue.
06790e5f 10915
f875310e
AS
109162003-04-02 Andreas Schwab <schwab@suse.de>
10917
10918 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
10919
125ca8fd
RH
109202003-04-01 Richard Henderson <rth@redhat.com>
10921
d78e771d
ZW
10922 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
10923 notes for nothrow calls if flag_forced_unwind_exceptions.
10924 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
10925 (sjlj_find_directly_reachable_regions): Likewise.
10926 (reachable_handlers): Likewise.
10927 (can_throw_external): Likewise.
10928 (collect_one_action_chain): Record cleanups after catch-all and
10929 must-not-throw if flag_forced_unwind_exceptions.
10930 * flags.h (flag_forced_unwind_exceptions): Declare.
10931 * toplev.c (flag_forced_unwind_exceptions): New.
10932 (lang_independent_options): Add it.
125ca8fd
RH
10933 * doc/invoke.text: Add it.
10934
8f744ea9
DM
109352003-04-01 David Mosberger <davidm@hpl.hp.com>
10936
d78e771d
ZW
10937 * config/ia64/crti.asm: Clean up trailing whitespace.
10938 Remove trailing hashes (#) from identifiers.
8f744ea9 10939
d78e771d 10940 * config/ia64/crtn.asm: Ditto.
8f744ea9 10941
d78e771d
ZW
10942 * config/ia64/crtend.asm: Remove trailing hashes (#) from
10943 identifiers.
10944 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
10945 directives. Drop explicit bundling---it just makes the code
10946 harder to read. Don't save/restore gp needlessly.
8f744ea9 10947
d78e771d
ZW
10948 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
10949 identifiers (they're only needed if the identifier would clash
10950 with a register name otherwise).
10951 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
10952 directives. Drop explicit bundling---it just makes the code
10953 harder to read.
10954 (__do_jv_register_classes): Ditto.
10955 (.fini_array): Remove "progbits" (newer
10956 assemblers don't like wrong section-types).
10957 (.init_array): Ditto.
8f744ea9 10958
e129b3f9
RS
109592003-04-01 Roger Sayle <roger@eyesopen.com>
10960
10961 PR fortran/9974
15d4fd98 10962 * gcse.c (reg_killed_on_edge): New function to test whether the
e129b3f9
RS
10963 given reg is overwritten by any instruction queued on an edge.
10964 (bypass_block): Ignore substitutions killed on incoming edges.
10965 Don't bypass outgoing edges that have queued instructions.
10966
fe0002ee
AO
109672003-04-01 Alexandre Oliva <aoliva@redhat.com>
10968
10969 * real.h (EXP_BITS): Make room for...
10970 (struct real_value): ... added canonical bit.
10971 (struct real_format): Added pnan.
10972 (mips_single_format, mips_double_format, mips_extended_format,
10973 mips_quad_format): New.
10974 * real.c: Copy p to pnan in all formats.
10975 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
10976 (real_nan): Use pnan to compute significand's shift.
10977 (real_identical): Disregard significand in canonical
10978 NaNs.
10979 (real_hash): Likewise. Take signalling into account.
10980 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
10981 Disregard significand bits in canonical NaNs. Set all bits of
10982 canonical NaN if !qnan_msb_set.
10983 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
10984 qnan_msb_set to tell the base double format.
10985 (ibm_extended_format): Use 53 as pnan.
10986 (mips_single_format, mips_double_format, mips_extended_format,
10987 mips_quad_format): Copied from the corresponding ieee/ibm
10988 formats, with qnan_msb_set false.
10989 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
10990 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
10991 * config/mips/mips.c (override_options): Use mips_single_format
10992 and mips_double_format. Default TFmode to mips_quad_format.
10993 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
10994 * config/mips/t-irix6: Likewise.
10995 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
10996 * config/fp-bit.c (pack_d, unpack_d): Obey it.
10997
481a8181
GK
109982003-04-01 Geoffrey Keating <geoffk@apple.com>
10999
11000 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
11001 (live_image_destructor): Reset image to initial state.
11002 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
11003
375ffbe6
EB
110042003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
11005
11006 * config/sparc/sparc.c (input_operand): Accept bare
11007 CONSTANT_P_RTX operands.
11008
47a3dae1
ZD
110092003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11010
11011 * gcse.c (struct ls_expr): Added pattern_regs field.
11012 (ldst_entry): Initialize it.
11013 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
11014 (store_ops_ok): Use regs precomputed by them.
11015 (find_loads, store_killed_in_insn, load_kills_store): Change return
11016 type to bool.
11017 (store_killed_before, store_killed_after): Take position of register
11018 set in account.
11019 (reg_set_info): Store position of the setter.
11020 (gcse_main): Enable store motion.
11021 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
11022 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
11023 sharing.
11024 (simple_mem): Enable store motion of non-symbol mems.
11025 (regvec): Type changed.
11026 (LAST_AVAIL_CHECK_FAILURE): New.
11027 (compute_store_table_current_insn): New.
11028 (build_store_vectors): Computation of availability and anticipatability
11029 moved ...
11030 (compute_store_table, find_moveable_store): ... here.
11031 (delete_store): Remove senseless comment.
11032 (store_motion): Reorganize.
11033
77d4f3a4
KB
110342003-04-01 Kevin Buettner <kevinb@redhat.com>
11035
11036 * config/mips/mips.c (override_options): Provide mappings for
11037 HI_REGNUM and LO_REGNUM.
11038 * config/mips/mips.h (MD_DBX_FIRST): Define.
11039
7d4444ea
FS
110402003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11041
11042 * combine.c (merge_outer_ops): Fix typo.
11043
11044 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
11045
9259f3b0
DE
110462003-04-01 David Edelsohn <edelsohn@gnu.org>
11047
11048 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
11049 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
11050 imul_compare. Add lmul_compare.
11051 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
11052 in second pair of dispatch slots. Model stores more accurately.
11053 Tweak multiply model. Add bypasses for CR instructions dependent
11054 on complicated compares.
11055 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
11056 (muldi3): Add lmul_compare patterns.
11057 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
11058 and FPSTORE_UX to split instructions and add COMPARE,
11059 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
11060 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
11061 (rs6000_rtx_costs): Separate POWER4 multiply case.
11062
7fe317e4
UW
110632003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
11064
11065 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
11066 Do nothing if __builtin_return_address was not used.
11067
e1fea6ee
JH
11068Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
11069
11070 * i386.md (test patterns): Allow memory operand in operand1.
11071
d744e06e
AH
110722003-02-31 Aldy Hernandez <aldyh@redhat.com>
11073
d78e771d
ZW
11074 * testsuite/gcc.c-torture/execute/simd-3.c: New.
11075
11076 * expr.c (expand_expr): Handle VECTOR_CST.
11077 (const_vector_from_tree): New.
11078
11079 * varasm.c (output_constant): Handle VECTOR_CST.
11080
11081 * c-typeck.c (digest_init): Build a vector constant from a
11082 VECTOR_TYPE.
11083
11084 * config/rs6000/rs6000.c: Remove prototype for
11085 easy_vector_constant.
11086 (easy_vector_constant): Add mode parameter. Rewrite to handle
11087 more easy constants.
11088 (rs6000_emit_move): Pass mode to easy_vector_constant.
11089 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
11090 (emit_easy_vector_insn): New.
11091 (easy_vector_same): New.
11092 (EASY_VECTOR_15): New macro.
11093 (EASY_VECTOR_15_ADD_SELF): New macro.
11094 (bdesc_2arg): Rename to xorv2si3.
11095 (easy_vector_constant_add_self): New.
11096 (input_operand): Allow vector constants.
11097
11098 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
11099 easy_vector_constant, easy_vector_constant_add_self.
11100 (EXTRA_CONSTRAINT): Add 'W'.
11101
11102 * config/rs6000/rs6000-protos.h: Add prototype for
11103 easy_vector_constant, emit_easy_vector_insn.
11104
11105 * config/rs6000/altivec.md (xorv8hi3): New.
11106 (xorv16qi3): New.
11107 Remove all _const0 patterns.
11108 (movv4si_internal): Rewrite to use code. Add vector constant to
11109 vector alternative. Add splitter.
11110 (movv8hi_internal): Same.
11111 (movv16qi_internal): Same.
11112 (movv4sf_internal): Same.
11113 Change the unspecs for vspltis* to use constants.
11114
11115 * config/rs6000/spe.md ("xorv4hi3"): New.
11116 ("spe_evxor"): Rename to xorv2si3.
11117 ("xorv1di3"): New.
11118 Remove all _const0 patterns.
11119 (movv2si_internal): Rewrite to use code. Add vector constant to
11120 alternatives. Add splitter.
11121 (movv4hi_internal): Add vector constant to alternatives.
11122 (movv1di_internal): Same.
11123 (movv2sf_internal): Same.
d744e06e 11124
46e33d43
MM
111252003-03-31 Mark Mitchell <mark@codesourcery.com>
11126
11127 PR c/9936
11128 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
11129 variably-sized arrays in parameters.
11130 (set_save_expr_context): New function.
11131 (c_expand_body): Use it, via walk_tree.
11132
73a39fc4
EC
111332003-03-31 Eric Christopher <echristo@redhat.com>
11134
11135 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
11136 (combinable_i3pat): Remove call to expand_field_assignment and
11137 #if 0'd code.
11138
6b665219
MM
111392003-03-31 Mark Mitchell <mark@codesourcery.com>
11140
11141 PR c++/10278
11142 * c-common.c (finish_label_address_expr): Handle the
11143 error_mark_node.
11144
6c06208f
RH
111452003-03-31 Richard Henderson <rth@redhat.com>
11146
11147 * real.c (real_identical): Reorg so as to not compare
11148 signalling for normals.
11149
11789584
SC
111502003-03-31 Stephane Carrez <stcarrez@nerim.fr>
11151
11152 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
11153
c25292ce
SC
111542003-03-31 Stephane Carrez <stcarrez@nerim.fr>
11155
11156 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
11157 notes as they are boggus.
11158 (m68hc11_gen_movqi): Likewise.
11159
07faf2d6
SC
111602003-03-31 Stephane Carrez <stcarrez@nerim.fr>
11161
11162 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
11163 save the soft registers after the frame pointer so that gdb can unwind
11164 the frame more easily.
11165 (expand_epilogue): Likewise in opposite order; allow to use X register
11166 as scratch if the return value is by reference.
11167
adff28c3
JM
111682003-03-31 Jason Merrill <jason@redhat.com>
11169
11170 PR java/10145
11171 * stor-layout.c (update_alignment_for_field): Respect
11172 DECL_USER_ALIGN for zero-length bitfields, too.
11173 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
11174 fields.
11175
c419b113
MA
111762003-03-31 Matt Austern <austern@apple.com>
11177
11178 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
11179 (count_defs): Keep track of number of defs as well as total size.
11180 (write_defs): Put every definition in cpp_savedstate's defs array.
11181 (comp_hashnode): Define. Comparison function for qsort.
11182 (cpp_write_pch_deps): Sort definitions before writing them.
11183 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
11184 (collect_ht_nodes): Define.
11185 (cpp_valid_state): When verifying that undefined identifiers in
11186 the pch file are still undefined, read a sorted list of undefined
11187 identifiers, collect all defined identifiers into a sorted list,
11188 and walk through both lists to make sure there's no match.
73a39fc4 11189
ef3a7d56
KH
111902003-03-31 Kazu Hirata <kazu@cs.umass.edu>
11191
11192 * config/h8300/h8300.md (a peephole2): New.
11193
5ccd517a
MM
111942003-03-31 Michael Matz <matz@suse.de>
11195
11196 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
11197
111982003-03-31 Segher Boessenkool <segher@koffie.nl>
c8ae788f
SB
11199
11200 PR target/10177
11201 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
11202 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
11203 all call-clobbered registers as used.
11204
7f1fc38e
MM
112052003-03-31 Michael Matz <matz@suse.de>
11206
11207 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
11208 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
11209
27283c73
NS
112102003-03-31 Nathan Sidwell <nathan@codesourcery.com>
11211
11212 * gcov.c: Add -a & -u options.
11213 (struct arc_info): Add local_span, is_call_non_return,
11214 is_nonlocal_return, is_unconditional flags, remove is_call flag.
11215 (struct block_info): Add flags, is_call_site, is_nonlocal_return
11216 members. Make encodings a union with span member.
11217 (struct function_info): Add blocks_executed, line, src, line_next
11218 members.
11219 (struct coverage_info): Make branches a union with blocks member.
11220 (struct source_info): Add functions member.
11221 (object_summary, program_count): New global variables.
11222 (flag_all_blocks, flag_unconditional): New flags.
11223 (find_source, output_branch_count): New functions.
11224 (print_usage): Adjust.
11225 (options): Adjust.
11226 (process_args): Adjust.
11227 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
11228 <GCOV_TAG_BLOCKS>: Read flags.
11229 <GCOV_TAG_LINES>: Adjust.
11230 (read_count_file): Process SUMMARY tags.
11231 (solve_flow_graph): Set is_unconditional and clear is_call_site
11232 appropriately.
11233 (add_branch_counts): Adjust. Don't count unconditional branches.
11234 (add_line_counts): Deal with all-blocks mode, accumulate block
11235 coverage.
11236 (accumulate_line_counts): Adjust, generate local spanning tree for
11237 all-blocks mode.
11238 (output_lines): Adjust.
11239 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
11240 * doc/gcov.texi: Document.
11241
212d9313
KH
112422003-03-31 Kazu Hirata <kazu@cs.umass.edu>
11243
63855aa6 11244 * config/h8300/h8300.md: Organize peephole2's that transform
212d9313
KH
11245 (compare (reg:HI) (const_int)).
11246
03f2ea93
RS
112472003-03-31 Roger Sayle <roger@eyesopen.com>
11248
11249 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
11250 (init_emit_once): Initialize dconstm2 and dconsthalf here.
11251 * real.h (dconstm2, dconsthalf): Add prototypes here.
11252 * real.c (real_sqrt): Use dconsthalf rather than local copy.
11253 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
11254 exp(x/2.0) remember to fold the division if possible.
11255 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
11256 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
11257 1.0/(x*x) and pow(x,0.5) as sqrt(x).
11258
155de338
KH
112592003-03-31 Kazu Hirata <kazu@cs.umass.edu>
11260
11261 * config/h8300/h8300.md (a new peephole2): New.
11262
98d3d336
RS
112632003-03-31 Richard Sandiford <rsandifo@redhat.com>
11264
11265 * gcse.c (simple_mem): Return false for floating-point accesses
11266 if flag_float_store is true.
11267
6b2d1c9e
RS
112682003-03-30 Roger Sayle <roger@eyesopen.com>
11269
11270 * gcse.c (gcse_constant_p): New function to identify constants
11271 suitable for constant propagation, including COMPARE with two
11272 integer constant arguments.
11273 (hash_scan_set): Use gcse_constant_p.
11274 (find_avail_set): Likewise.
11275 (cprop_insn): Likewise.
11276 (do_local_cprop): Likewise.
11277 (find_implicit_sets): Likewise.
11278 (find_bypass_set): Likewise.
11279
af829441
MK
112802003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
11281
11282 * except.h: Remove definition of varray_type.
11283
3d1f4922
RH
112842003-03-30 Richard Henderson <rth@redhat.com>
11285
11286 PR opt/10011, opt/10252:
d78e771d
ZW
11287 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
11288 before post-gcse cse pass.
3d1f4922 11289
9311f3f6
RS
112902003-03-30 Roger Sayle <roger@eyesopen.com>
11291
11292 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
11293
ececa172
DD
112942003-03-30 DJ Delorie <dj@redhat.com>
11295
11296 * profile.c (instrument_edges): Make sure any newly created
11297 jump insns have correct jump label info.
11298
e1233a7d
RH
112992003-03-30 Richard Henderson <rth@redhat.com>
11300
11301 * cfgbuild.c (make_edges): Use tablejump_p.
11302 * cfgcleanup.c (label_is_jump_target_p): Likewise.
11303 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
11304 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
11305 (try_redirect_by_replacing_jump): Likewise.
11306 (redirect_edge_and_branch): Likewise.
11307 * cse.c (fold_rtx): Likewise.
11308 * jump.c (delete_related_insns): Likewise.
11309 * rtlanal.c (get_jump_table_offset): Likewise.
11310 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
11311
78e68f88
GDR
113122003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
11313
d78e771d
ZW
11314 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
11315 (STRICT2_WARN): Likewise.
73a39fc4 11316
15dda4d3
KG
113172003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11318
11319 PR other/6955
11320 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
11321 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
11322
5bf92e20
RH
113232003-03-30 Richard Henderson <rth@redhat.com>
11324
11325 PR c/10083
11326 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
11327 don't zero_extend const inputs.
11328
9a8075a1
KH
113292003-03-30 Kazu Hirata <kazu@cs.umass.edu>
11330
11331 * reload1.c (reload_cse_move2add): Fix a comment typo.
11332
f3926c48
KH
113332003-03-30 Kazu Hirata <kazu@cs.umass.edu>
11334
11335 * config/h8300/h8300.md (a peephole2): Remove useless code.
11336
39ecf301
KH
113372003-03-29 Kazu Hirata <kazu@cs.umass.edu>
11338
11339 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
11340 (*iorsi3_and_lshiftrt): Likewise.
11341 (*iorsi3_zero_extract): Likewise.
11342
d4048ff6
KH
113432003-03-29 Kazu Hirata <kazu@cs.umass.edu>
11344
11345 * config/h8300/h8300.md (*insv_si_8_8): New.
11346 (*insv_si_8_8_lshiftrt_8): Likewise.
11347 (a peephole2): Likewise.
11348
62d08205
GP
113492003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11350
60ef8bdd 11351 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
73a39fc4 11352 Uniformly use bugfix instead of bug fix.
60ef8bdd
GP
11353
113542003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
73a39fc4 11355
62d08205
GP
11356 PR doc/895
11357 * ONEWS: Remove those items that already appear in the EGCS
11358 release notes on our web pages.
11359
e87a88d3
AM
113602003-03-29 Alan Modra <amodra@bigpond.net.au>
11361
11362 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
11363 TARGET_HARD_FLOAT. Reformat.
11364 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
11365
ce4a8f7d
ACY
113662003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
11367
11368 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
11369 work on Solaris 2.5.1.
11370
12f76820
KH
113712003-03-28 Kazu Hirata <kazu@cs.umass.edu>
11372
11373 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
11374 section of h8300.md
11375 (*addsi3_and_nor_r_1): Likewise.
11376
7d798969
UW
113772003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
11378
11379 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
11380 set up before any trapping memory access if flag_non_call_exceptions.
11381
00dcfe80
AM
113822003-03-29 Alan Modra <amodra@bigpond.net.au>
11383
11384 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
11385
11386 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
11387
d869a8c4
NN
113882003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
11389
11390 * configure.in: Clarify comments.
11391 * configure: Regenerate.
11392
5c033b9f
UW
113932003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
11394
73a39fc4 11395 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
5c033b9f
UW
11396 label even if pool empty when generating PIC.
11397 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
11398
d18ad191
KH
113992003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
11400 Dhananjay Deshpande <dhananjayd@kpit.com>
11401
11402 PR target/10205
11403 * config/h8300/h8300.c (h8300_initial_elimination_offset):
11404 Correct the offset computation when TARGET_NORMAL.
11405
0c85dbfd
EB
114062003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
11407
11408 PR target/10067
11409 * config/sparc/sparc.md (jump pattern): Correct order
11410 when issuing the annuling marker.
11411
f7670e7b
EB
114122003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
11413
11414 PR c/8281
11415 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
11416 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11417
c9280dfe
AM
114182003-03-28 Alan Modra <amodra@bigpond.net.au>
11419
11420 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
11421 globalize_label.
11422 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
73a39fc4 11423 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
c9280dfe
AM
11424 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11425 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11426 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11427 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11428 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
11429
e81eb37f
AM
114302003-03-28 Alan Modra <amodra@bigpond.net.au>
11431
11432 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
11433 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
11434 notes after hoisting.
11435 (load_mems): Adjust replace_loop_mems call.
11436
1ce324c3 114372003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
d78e771d 11438 Richard Henderson <rth@redhat.com>
1ce324c3
EB
11439
11440 PR target/10114 and PR target/10084
11441 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
11442
c6cf19a8
RH
114432003-03-27 Richard Henderson <rth@redhat.com>
11444
11445 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
11446
9ddae796
RS
114472003-03-27 Roger Sayle <roger@eyesopen.com>
11448
11449 * fold-const.c (fold_inf_compare): New function to simplify FP
11450 comparisons against +Infinity or -Infinity.
11451 (fold): Optimize floating point comparisons against Infs and NaNs.
11452
01e60c33
JJ
114532003-03-27 Janis Johnson <janis187@us.ibm.com>
11454
11455 * libgcov.c: Provide only dummy functions if libc is not available.
11456
ad59ba20
RH
114572003-03-27 Richard Henderson <rth@redhat.com>
11458
11459 * real.h (struct real_value): Add signalling.
11460 (EXP_BITS): Decrement.
11461 * real.c (get_canonical_qnan): Don't set MSB-1.
11462 (get_canonical_snan): Likewise. Set signalling.
11463 (real_identical): Compare signalling.
11464 (round_for_format): Remove force-one-bit on code.
11465 (real_nan): Likewise. Set signalling.
11466 (encode_ieee_single): Add force-one-bit code; honor signalling.
11467 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
11468 (decode_ieee_single): Set signalling.
11469 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
11470
940bbb74
OH
114712003-03-27 Olivier Hainque <hainque@act-europe.fr>
11472
11473 PR ada/9953
11474 * ada/Makefile.in (gnatlib configuration for HPUX): Split
11475 the general section for HPUX into specific sections for
11476 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
11477 11 case.
11478
c7d325c8
GN
114792003-03-27 Glen Nakamura <glen@imodulo.com>
11480
11481 PR opt/10087
11482 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
11483 while incrementing giv.
11484 (record_biv): Check for duplicate biv locations and
11485 set (struct induction *) v->same if found.
11486
f18ab437
DM
114872003-03-27 David Mosberger <davidm@hpl.hp.com>
11488
d78e771d
ZW
11489 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
11490 v0.9 API change: replace read of UNW_REG_HANDLER with
11491 unw_get_proc_info().
11492 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
11493 with unw_get_proc_info().
11494 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
11495 unw_get_proc_info().
f18ab437 11496
eaff4b90
VM
114972003-03-27 Vladimir Makarov <vmakarov@redhat.com>
11498
11499 * config/rs6000/8540.md: Use presence_set instead of absence_set.
11500
3684a055
RH
115012003-03-26 Richard Henderson <rth@redhat.com>
11502
11503 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
11504
de132314
RS
115052003-03-26 Roger Sayle <roger@eyesopen.com>
11506
11507 PR bootstrap/10051, PR bootstrap/10169.
11508 * mips-tfile.c (init_file): Don't provide a static initializer.
11509 (initialize_init_file): Initialize the contents of init_file.
11510 (add_file): Call initialize_init_file if not already initialized.
11511
6f84708a
UW
115122003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
11513
11514 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
11515 registers used for global asm variables.
11516 (s390_frame_info, s390_arg_frame_offset): Likewise.
11517 (s390_emit_prologue, s390_emit_epilogue): Likewise.
11518
5e8006fa
VM
115192003-03-26 Vladimir Makarov <vmakarov@redhat.com>
11520
d78e771d 11521 * config/rs6000/8540.md: New file.
73a39fc4 11522
5e8006fa
VM
11523 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
11524 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
11525 reservations for imul.
11526
11527 * config/rs6000/rs6000.md: Include 8540.md. Change
11528 delayed_compare onto mult_compare for insns generating
11529 multiplication.
11530 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
11531 New type attribute values.
11532
11533 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
11534 fpsimple instead of fp.
11535 (*divsf3_gpr): Use type vecfdiv instead of fp.
11536 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
11537 instead of vecfloat.
11538 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
11539 (spe_brinc): Use type brinc instead of veccomplex.
11540 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
11541 veccomplex.
11542 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
11543 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
11544 *movv2sf_internal): Define type attribute values for all
11545 alternatives.
11546 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
11547 of fpcompare.
11548 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
11549 instead of fpcompare.
73a39fc4 11550
29ae9364
DE
115512003-03-26 David Edelsohn <edelsohn@gnu.org>
11552
11553 * config/rs6000/power4.md: Allow delay between dispatch and
11554 function units for simple instructions. Correct store units.
11555 Allow branch to occupy as many dispatch slots as necessary.
11556
be565ad7
JJ
115572003-03-26 Jakub Jelinek <jakub@redhat.com>
11558
11559 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
11560 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
11561 zero extend old to it.
11562 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
11563 operand.
11564
27e484bc
EB
115652003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
11566
11567 PR target/7784
11568 * reload.c (find_reloads_address): Handle
11569 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
11570 all base registers.
11571
b47161ec
MA
115722003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
11573
11574 PR other/10203
11575 * version.c: Reference the GCC web site in the URL.
11576
611f0729
AM
115772003-03-26 Alan Modra <amodra@bigpond.net.au>
11578
11579 * c-incpath.c (add_standard_paths): Add both "translated" and
11580 non-translated header paths.
11581
e4e7d312
LR
115822003-03-25 Loren James Rittle <ljrittle@acm.org>
11583
11584 * doc/install.texi (*-*-freebsd*): Update with known status.
11585
2e2255ff
JM
115862003-03-21 Jason Merrill <jason@redhat.com>
11587
11588 PR optimization/10171
11589 * unroll.c (unroll_loop): Don't delete the jump at the end unless
11590 we also delete a jump at the beginning.
11591
8725a499
SC
115922003-03-25 Stephane Carrez <stcarrez@nerim.fr>
11593
11594 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
11595 contributor.
11596
3504dad3
JH
11597Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
11598
11599 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
11600 constants are not expensive.
11601
cb9a1d9b
JH
11602Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
11603
11604 PR opt/10056
11605 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
11606 jump jumping to the next instruction.
11607 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
11608
d6d05f8d
GP
116092003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11610
11611 * doc/passes.texi (Passes): Properly document that we do not
11612 perform jump2 any longer; remove command-line option -dJ.
11613
d2fc7725
EB
116142003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
11615
11616 PR optimization/8746
11617 * config/i386/i386.md (and promoting splitters): Disable HImode to
11618 SImode promoting when the sign bit matters and is not preserved, or
11619 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
11620 for size.
11621
beb14cfe
KH
116222003-03-24 Kazu Hirata <kazu@cs.umass.edu>
11623
11624 * config/h8300/h8300.md (a peephole2): Extend to support loads
11625 in QImode and HImode.
11626
dbcedbc4
SC
116272003-03-24 Stephane Carrez <stcarrez@nerim.fr>
11628
11629 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
11630 _return_far
11631 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
11632 (MULTILIB_EXCEPTIONS): Likewise.
11633 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
11634 by calling some board support routine.
11635 ("call_value"): Likewise.
11636 ("*return_void"): Likewise for return.
11637 ("*return_16bit"): Likewise.
11638 ("*return_32bit"): Likewise.
11639 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
11640 for 68HC11 too.
73a39fc4 11641 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
dbcedbc4
SC
11642 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
11643 -mlong-calls for 68HC11.
11644 * config/m68hc11/larith.asm (declare_near): New macro.
11645 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
11646 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
11647 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
11648 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
11649 (__mulhi32): Likewise.
11650 (ret): Update macro for 68HC11.
11651 (__far_trampoline): Implement for 68HC11.
11652 (__call_a16, __call_a32, __return_void, __return_16): New support
11653 routines for 68HC11 memory bank switching calling support.
11654 (__return_32): Likewise.
11655
696fe23c
NB
116562003-03-24 Neil Booth <neil@daikokuya.co.uk>
11657
11658 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
11659
05253aed
JJ
116602003-03-24 Janis Johnson <janis187@us.ibm.com>
11661
11662 * doc/install.texi (Testing): Mention test result links from build
11663 status pages.
11664
f8928391
MM
116652003-03-24 Mark Mitchell <mark@codesourcery.com>
11666
11667 * function.c (put_var_into_stack): Change bool parameter to int.
11668 (gen_mem_addressof): Likewise.
11669 * rtl.h (gen_mem_addressof): Likewise.
11670 * tree.h (put_var_into_stack): Likewise.
11671 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
11672 gen_mem_addressof or put_var_into_stack.
11673 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
11674 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
11675
b980d725
KH
116762003-03-24 Kazu Hirata <kazu@cs.umass.edu>
11677
11678 * config/h8300/h8300.md (a peephole2): New.
11679
2ff1fb45
JJ
116802003-03-24 Jakub Jelinek <jakub@redhat.com>
11681
11682 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
11683
8b5777db
GP
116842003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11685
11686 * doc/contrib.texi (Contributors): Update Janis Johnson.
11687
02484af9
EB
116882003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
11689
11690 PR target/10072
11691 * combine.c (simplify_if_then_else): Check that the mode
11692 has MODE_INT class before applying the (OP Z (mult COND C2))
11693 transformation.
11694
941bc659
EB
116952003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
11696
11697 PR optimization/9414
11698 * config/sparc/sparc.md (widening peepholes): Use
11699 widen_memory_access instead of change_address.
11700
f29a2bd1
MM
117012003-03-23 Mark Mitchell <mark@codesourcery.com>
11702
11703 PR c++/7086
11704 * c-typeck.c (c_mark_addressable): Adjust calls to
11705 put_var_into_stack.
11706 * expr.c (expand_expr): Likewise.
11707 * function.c (put_var_into_stack): Add rescan parameter. Do not
11708 call fixup_var_refs when rescan is false.
11709 (gen_mem_addressof): Likewise.
11710 (assign_parms): Adjust calls to put_var_into_stack.
11711 (setjmp_protect): Likewise.
11712 (setjmp_protect_args): Likewise.
11713 * rtl.h (gen_mem_addressof): Change prototype.
11714 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
11715 * tree.h (put_var_into_stack): Change prototype.
11716
fa9b4904
AB
117172003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
11718
b099daeb 11719 PR middle-end/9967
fa9b4904
AB
11720 * builtins.c (expand_builtin_fputs): When optimizing for size,
11721 don't transform fputs into fwrite.
11722
068d2c9d
MM
117232003-03-23 Glen Nakamura <glen@imodulo.com>
11724
11725 PR c/8224
11726 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
11727 when signedness changes for division or modulus.
11728
c967e28c
AM
117292003-03-24 Alan Modra <amodra@bigpond.net.au>
11730
11731 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
11732 globalize_label.
11733
766dec0e
RS
117342003-03-23 Roger Sayle <roger@eyesopen.com>
11735
11736 PR c/10178
11737 * stmt.c (expand_end_case_type): Check for overflow in range when
11738 determining whether to use a bit-test implementation.
11739
ef3e9886
RH
117402003-03-23 Richard Henderson <rth@redhat.com>
11741
11742 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
11743 before flow2.
11744 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
11745
bd2eae18
RH
117462003-03-23 Richard Henderson <rth@redhat.com>
11747
11748 PR opt/10116
11749 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
11750 from then_bb or else_bb after flow2.
11751
62c9aa5f
ZW
117522003-03-23 Zack Weinberg <zack@codesourcery.com>
11753
11754 * configure.in: Check whether it is necessary to link against
11755 libm to use ldexp.
11756 * configure: Regenerate.
11757 * Makefile.in: Add LDEXP_LIB substitution variable.
11758
4d1da12a
KH
117592003-03-23 Kazu Hirata <kazu@cs.umass.edu>
11760
11761 * config/h8300/h8300.md: Fix comment typos.
11762
7772f0a9
JDA
117632003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11764
11765 * pa.c (output_cbranch): Fix typo in comment.
11766
3ce6bef0
RH
117672003-03-22 Richard Henderson <rth@redhat.com>
11768
11769 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
11770 after reload.
11771
7a9cdb10
DD
117722003-03-22 DJ Delorie <dj at redhat dot com>,
11773 Bruce Korb <bkorb at gnu dot org>
11774
11775 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
11776 buggy Solaris 2.6 mutex/cond initializers.
11777 (solaris_mutex_init): Rename to solaris_mutex_init_2.
11778 * fixinc/fixincl.x: Regenerate.
11779 * fixinc/tests/base/pthread.h: Update.
00af168c
BK
11780 * fixinc/fixincl.c(initialize): be explicit about the default case
11781 and indicate verbose level when being very, very verbose.
11782 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
7a9cdb10 11783
8330e2c6
AJ
117842003-03-22 Andreas Jaeger <aj@suse.de>
11785
11786 * config/i386/i386.c (ix86_init_machine_status): Return value.
11787
02a57c73
JDA
117882003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11789
11790 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
11791 conditional branch to the following instruction. Use next_real_insn
11792 instead of next_active_insn.
11793 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
11794 instead of next_active_insn.
11795
97c6f7ad
UW
117962003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
11797
c967e28c
AM
11798 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
11799 instead of 'm' constraint in forced-split alternatives.
97c6f7ad
UW
11800 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
11801 VALIDATE_ADDRESS parameter to operand_subword.
11802
c8fcf20c
KH
118032003-03-22 Kazu Hirata <kazu@cs.umass.edu>
11804
11805 * config/h8300/h8300.c (notice_update_cc): Correctly handle
11806 the case where the set destination is STRICT_LOW_PART.
11807
21c0e624
SS
118082003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
11809
11810 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
11811 c30 instead of a c40 processor.
11812
70e1b8fc
AM
118132003-03-22 Alan Modra <amodra@bigpond.net.au>
11814
11815 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
11816
d9b2742a
ZW
118172003-03-21 Zack Weinberg <zack@codesourcery.com>
11818
11819 * c-common.c: Include intl.h.
11820 (shadow_warning): Rewrite to allow better diagnostic translations.
11821 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
11822 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
11823 use it throughout.
11824 * Makefile.in (c-common.o): Add intl.h.
11825
cbbf876b
NN
118262003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
11827
bea41393
NN
11828 * config.gcc: Remove 'float_format'.
11829
cbbf876b
NN
11830 * fixproto: Define NULL and size_t in generated stdlib.h and
11831 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
11832 Rearrange file generation loop for readability. Generate time.h,
11833 string.h if missing.
11834 * tsystem.h: Include <string.h>, <time.h> unconditionally.
11835 * config.gcc: Blow away POSIX defines.
11836
84fcbe0a
SC
118372003-03-22 Stephane Carrez <stcarrez@nerim.fr>
11838
11839 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
11840
639a8102
SC
118412003-03-22 Stephane Carrez <stcarrez@nerim.fr>
11842
11843 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
11844 writing .interrupt command.
11845 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
11846 if it's a far or near function.
11847 ("call_value"): Likewise.
11848 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
11849 near attributes.
11850 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
11851 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
11852 (m68hc11_initial_elimination_offset): Set current_function_far
11853 according to attributes.
11854 (expand_prologue): Likewise.
11855 (trap_handler_symbol): New global to keep track of trap handlers.
11856 (m68hc11_encode_section_info): Mark symbol as far if needed; set
11857 trap symbol.
11858 (m68hc11_is_far_symbol): New function.
11859 (m68hc11_is_trap_symbol): New function.
11860 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
11861 (m68hc11_is_trap_symbol): Declare.
11862
62c9aa5f 118632003-03-21 Jan Hubicka <jh@suse.cz>
d7394366
JH
11864
11865 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
11866 only when amount of saved regs changed.
11867 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
11868 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
11869
62c9aa5f 118702003-03-21 Jan Hubicka <jh@suse.cz>
5dc96d60
JH
11871
11872 PR inline-asm/7916
11873 * function.c (instantiate_virtual_regs_lossage): New function.
11874 (instantiate_virtual_regs_1): Use it.
11875 (instantiate_virtual_regs): Do not continue in substition when insn has
11876 been deleted.
11877
c5c15353
KH
118782003-03-21 Kazu Hirata <kazu@cs.umass.edu>
11879
11880 * combine.c (make_field_assignment): Fix a warning.
11881
5c1c25f0
KH
118822003-03-21 Kazu Hirata <kazu@cs.umass.edu>
11883
11884 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
11885
6b13641d
DJ
118862003-03-21 Dale Johannesen <dalej@apple.com>
11887
11888 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
11889 priority for R2 on Darwin.
11890 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
11891
6e814b8d
KH
118922003-03-21 Kazu Hirata <kazu@cs.umass.edu>
11893
11894 * combine.c (make_field_assignment): Remove unnecessary AND
11895 when storing into zero_extract.
11896
2d295af5
ZW
118972003-03-21 Zack Weinberg <zack@codesourcery.com>
11898
11899 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
11900 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
11901 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
11902 in comment.
11903
c0510d84
DD
119042003-03-21 DJ Delorie <dj@redhat.com>
11905
11906 * optabs.c (init_integral_libfuncs): Make sure we init at least up
11907 to "long long" size words.
11908
fe86047c
UW
119092003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
11910
11911 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
11912 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
11913 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
11914
526278c9
VR
119152003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11916
11917 PR doc-bug/9813
11918 * doc/extend.texi: Move misplaced paragraph about underscores in
11919 variables in macros.
11920
731458a4 119212003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2d295af5 11922 Richard Henderson <rth@redhat.com>
731458a4
EB
11923
11924 PR optimization/8366
11925 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
11926 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
11927 PIC+SYMBOLIC_CONST in other modes than Pmode.
11928 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
11929 the form PIC+SYMBOLIC_CONST as mode dependent.
11930
f3cd0185
DD
119312003-03-21 DJ Delorie <dj@redhat.com>
11932
11933 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
11934 sure we always emit at least one insn.
11935
70e5e841
CF
119362003-03-21 Christopher Faylor <cgf@redhat.com>
11937
11938 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
11939 stub t-cygming. Use common target header cygming.h. Add extra
11940 c_target_obj and cxx_target_obj file. Default cygwin to posix
11941 threading. Enforce i386 as float format.
11942 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
11943 Remove cygwin.h as target header. Use common target header
11944 cygming.h Enforce i386 as float format. Correct typo.
11945 * config/i386/cygming.h: New file, containing definitions
11946 common to mingw32 and cygwin.
11947 * config/i386/cygwin.h: Remove definitions common to cygwin and
11948 mingw. Simplify special spec logic. Define "wrappers" around
11949 certain include path defines to accommodate -mno-cygwin.
11950 Remove some #if 0'ed code.
2d295af5 11951 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
70e5e841
CF
11952 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
11953 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
11954 * config/i386/mingw32.h: Remove definitions common to cygwin and
11955 mingw.
11956 (EXTRA_OS_CPP_BUILTINS): Adjust.
11957 (TARGET_VERSION): Define.
11958 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
11959 mingw32.h definitions.
11960 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
11961 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
11962 Add compilation rules for cygwin1.o cygwin2.o.
11963 * config/i386/cygwin1.c: New file.
11964 * config/i386/cygwin2.c: New file.
11965 * config/i386/t-cygming: New makefile stub.
11966
4bddea4c
RH
119672003-03-20 Richard Henderson <rth@redhat.com>
11968
11969 * fold-const.c (extract_muldiv_1): Revert changing order of
11970 operands in case MULT_EXPR of 2003-02-16 patch.
11971
b3411d7e 119722003-03-20 Daniel Berlin <dberlin@dberlin.org>
06790e5f 11973 Merge changes from new-regalloc-branch
b3411d7e
DB
11974
11975 From Michael Matz <matz@suse.de>
11976 * df.c (df_ref_record_1): Move init of loc to safe point.
11977 Only recurse on interesting things in parallels.
11978 Handle CLASS_CANNOT_CHANGE_MODE smarter.
11979 (df_uses_record): Ditto.
2d295af5 11980
b3411d7e
DB
11981 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
11982 it's already okay to use memory operands in (IE doesn't require
11983 adding another insn or anything).
11984
05d482b9
RH
119852003-03-20 Richard Henderson <rth@redhat.com>
11986
11987 PR middle-end/6348
11988 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
11989 different from word_mode.
11990
86a36a0e
KH
119912003-03-20 Kazu Hirata <kazu@cs.umass.edu>
11992
11993 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
11994 source operand to those that can be extracted with bld.
11995
228692e2
RE
119962003-03-20 Richard Earnshaw <rearnsha@arm.com>
11997
11998 PR 10066
11999 * arm.md (UNSPEC_PIC_BASE): New constant.
12000 (pic_add_dot_plus_four): Wrap with unspec.
12001 (pic_add_dot_plus_eight): Likewise.
12002
d0940a55
KH
120032003-03-20 Kazu Hirata <kazu@cs.umass.edu>
12004
12005 * config/h8300/h8300.md (*insv_si_1_n): New.
12006 (*insv_si_1_n_lshiftrt): Likewise.
12007
c876997f
RS
120082003-03-20 Roger Sayle <roger@eyesopen.com>
12009
12010 * fold-const.c (fold_mathfn_compare): New function to simplify
12011 comparisons against built-in math functions. Fold comparisons
12012 of sqrt against constants.
12013 (fold): Call fold_mathfn_compare when appropriate.
12014
952a6df7
RE
120152003-03-20 Richard Earnshaw <rearnsha@arm.com>
12016
12017 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
12018 information.
12019
8826ff0f
PB
120202003-03-20 Per Bothner <pbothner@apple.com>
12021
12022 Various cleanups to help compile server.
12023
b4e46cea
PB
12024 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
12025 and pass that to _cpp_init_hashtable.
12026 (cpp_read_main_file): Drop hash_table* argument; don't call
12027 _cpp_init_hashtable.
12028 * cpplib.h: Update declarations to match.
12029 * c-opts.c (c_common_init_options): Pass ident_hash to
12030 cpp_create_reader.
12031 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
12032 * fix-header.c (read_scan_file): Likewise pass NULL table to
12033 cpp_create_reader rather than cpp_read_main_file.
12034
12035 * cppfiles.c (cpp_rename_file): Generalized and renamed
12036 to cpp_change_file.
12037 * cpplib.h: Update declaration to match.
12038 * c-opts.c (push_command_line_line, finish_options): Change
12039 cpp_rename_file calls to cpp_change_file.
2d295af5 12040
8826ff0f 12041 * line-map.c (add_line_map): Allow leaving the outermost file.
2d295af5 12042 Allowing entering an outermost-file after the initial time.
8826ff0f
PB
12043
12044 * toplev.c (pop_srcloc): Allow popping from initial file.
12045
015c3186
KH
120462003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
12047
12048 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
12049
101cb92a
KH
120502003-03-20 Kazu Hirata <kazu@cs.umass.edu>
12051
12052 * config/h8300/h8300.md (a peephole2): New.
12053
f4613a2e
KH
120542003-03-20 Kazu Hirata <kazu@cs.umass.edu>
12055
12056 * config/h8300/h8300.md (*addsi3_and_r_1): New.
12057 (*addsi3_and_not_r_1): Likewise.
12058
31260fb8
LR
120592003-03-19 Loren James Rittle <ljrittle@acm.org>
12060
12061 * Makefile.in (STRICT2_WARN): Add @WERROR@.
12062 (GCC_WARN_CFLAGS): Remove $(WERROR).
12063 (fixinc.sh-warn): New.
12064 * ada/Make-lang.in (ada-warn): Add $(WERROR).
12065 * cp/Make-lang.in (cp-warn): Add $(WERROR).
12066 * f/Make-lang.in (f-warn): Add $(WERROR).
12067 * java/Make-lang.in (java-warn): Add $(WERROR).
12068 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
12069
2bd3ecad
NN
120702003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
12071
12072 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
12073 langhooks-def.h (lhd_tree_dump_dump_tree),
12074 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
12075 Change return type from 'int' to 'bool'. Replace 0 and 1 with
12076 true and false in return statements.
12077
9eb0ef7a
KB
120782003-03-19 Kevin Buettner <kevinb@redhat.com>
12079
12080 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
12081 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
12082 DWARF_INITIAL_LENGTH_SIZE.
12083 (output_compilation_unit_header, output_pubnames, output_aranges)
12084 (output_line_info): Output 0xffffffff escape value for 64-bit
12085 DWARF extension.
12086 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
12087
8b5642e0 120882003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
0796c16a
UW
12089
12090 * config/s390/s390.c (s390_preferred_reload_class): Do not
12091 force constants to the pool unless necessary.
12092 (s390_decompose_address): Prefer to use pointer as base,
12093 not index register.
12094 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
12095 Q alternative.
2d295af5 12096 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
0796c16a
UW
12097 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
12098 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
12099 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
12100 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
12101
62c9aa5f 121022003-03-19 Jan Hubicka <jh@suse.cz>
d9b40e8d
JH
12103
12104 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
12105 * i386.c (use_fast_prologue_epilogue): Remove.
12106 (ix86_frame): New field save_regs-using_mov;
12107 (ix86_compute_frame_layout): Decide on fast prologues;
12108 allocate saved registers in red zone.
12109 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
12110
31488c64
NC
121112003-03-19 Nick Clifton <nickc@redhat.com>
12112
12113 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
12114
685d0e07
JDA
121152003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12116
12117 PR 10062
12118 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
12119 * pa-protos.h (output_lbranch): New prototype.
12120 * pa.c (compute_frame_size): Change size of the frame marker on the
12121 64-bit ports to 48 bytes.
12122 (pa_output_function_prologue): Document why SAVE_SP is set.
12123 (hppa_expand_prologue): Save previous stack pointer into frame marker
12124 on targets which use the hpux unwind library.
12125 (output_cbranch): Use output_lbranch.
12126 (output_lbranch): New function to output long unconditional branches.
12127 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
12128 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
12129 64-bit ports.
12130 * pa.md (jump): Use output_lbranch.
12131 (allocate_stack): New expander for dynamic stack allocation.
12132
6a04f4e0
AM
121332003-03-19 Alan Modra <amodra@bigpond.net.au>
12134
178274da
AM
12135 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
12136 when debugging on XCOFF targets. Delete "abi" temp.
12137
6a04f4e0
AM
12138 PR target/10073
12139 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
12140
6b2300b3
JJ
121412003-03-18 Jakub Jelinek <jakub@redhat.com>
12142
12143 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
12144 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
12145 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
12146
12147 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
12148 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
12149 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
12150
5ba6918e
GK
121512003-03-18 Geoffrey Keating <geoffk@apple.com>
12152
6788f5ca
GK
12153 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
12154 the result of machopic_function_base_name.
12155 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
12156 string rather than a static array.
12157
5ba6918e
GK
12158 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
12159
12160 * gengtype.c: Include rtl.h.
12161 (enum rtx_code): Don't define.
12162 (rtx_format): Make declaration match rtl.h.
12163 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
12164 users.
12165 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
12166 * Makefile.in (gengtype.o): Update dependencies.
12167
e0ec941e
AS
121682003-03-18 Andreas Schwab <schwab@suse.de>
12169
12170 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
12171 martin@blom.org.
12172
8291cc0e
GK
121732003-03-18 Geoffrey Keating <geoffk@apple.com>
12174
f83b236e
GK
12175 * function.c (next_block_index): Mark with GTY.
12176
8291cc0e
GK
12177 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
12178
b39eb2f9
RH
121792003-03-18 Richard Henderson <rth@redhat.com>
12180
12181 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
12182 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
12183 until after reload.
12184
6c537d03
RH
121852003-03-18 Richard Henderson <rth@redhat.com>
12186
12187 * builtins.c (expand_builtin_unop): New target_mode operand;
12188 use it to convert the result to the correct mode.
12189 (expand_builtin): Update all callers.
12190
fe03d631
UW
121912003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
12192
12193 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
12194
62c9aa5f 121952003-03-18 Jan Hubicka <jh@suse.cz>
45183e03 12196
75fbf7d9
JH
12197 * i386.md: Fix previous commit that mistakely applied the patch
12198 twice.
12199
45183e03
JH
12200 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
12201 canonicalized.
12202 (memrefs_conflict_p): Likewise.
12203 (addr_side_effect_eval): Canonicalize the constructed address.
12204
62c9aa5f 122052003-03-18 Jan Hubicka <jh@suse.cz>
8dfa3bb0
JH
12206
12207 * i386.md (cvtts?2si peep2): New.
12208
1e788887
KH
122092003-03-18 Kazu Hirata <kazu@cs.umass.edu>
12210
12211 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
12212
94e001a9
AS
122132003-03-18 Andreas Schwab <schwab@suse.de>
12214
12215 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
12216 for format.
12217
bdaa131b
JM
122182003-03-17 Jason Merrill <jason@redhat.com>
12219
12220 PR c++/10091
12221 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
12222 an unaligned member of TREE_ADDRESSABLE type.
12223
ffcfcb5f
AM
122242003-03-18 Alan Modra <amodra@bigpond.net.au>
12225
12226 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
12227 (TARGET_PROFILE_KERNEL): Define.
12228 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
12229 (PROFILE_BEFORE_PROLOGUE): Don't define.
12230 (PROFILE_KERNEL): Remove hacks.
12231 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
12232 (rs6000_stack_info): No need to save lr if just for profiling when
70e1b8fc
AM
12233 TARGET_PROFILE_KERNEL.
12234 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
ffcfcb5f
AM
12235 (output_function_profiler): Localize label generation. Emit code
12236 for kernel profiling.
12237
9b98dc74
KH
122382003-03-17 Kazu Hirata <kazu@cs.umass.edu>
12239
12240 * config/h8300/h8300-protos.h: Add a prototype for
12241 byte_accesses_mergeable_p.
12242 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
12243 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
12244 (a splitter): Likewise.
12245 (*iorsi3_ashift_16_ashift_24): Likewise.
12246 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
12247
d41c4351
KG
122482003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12249
12250 * dwarf2asm.h: Delete obsolete comment.
12251 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
12252 dw2_asm_output_pcrel, dw2_asm_output_addr,
12253 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
12254 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
12255 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
12256 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
12257
6970c06a
ZW
122582003-03-17 Zack Weinberg <zack@codesourcery.com>
12259
12260 * c-tree.h (struct lang_identifier): Remove error_locus field.
12261 (IDENTIFIER_ERROR_LOCUS): Kill.
12262 (record_function_scope_shadow): New prototype.
12263 * c-typeck.c (build_external_ref): Don't complain if
12264 decl is error_mark_node. When not at file scope, bind the
12265 decl's local value to error_mark_node to suppress further
12266 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
12267
12268 * c-decl.c (get_function_binding_level): New static function.
12269 (record_function_scope_shadow): New exported function.
12270 (c_make_fname_decl): Use get_function_binding_level.
12271
405a98aa
SE
122722003-03-17 Steve Ellcey <sje@cup.hp.com>
12273
12274 * stmt.c (tail_recursion_args): Call promote_mode to set
12275 unsignedp flag correctly before calling convert_move.
12276
df86c7e2
ZD
122772003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12278
12279 * loop-unroll.c (decide_peel_completely,
12280 decide_unroll_constant_iterations, decide_unroll_stupid,
12281 decide_unroll_runtime_iterations, decide_peel_simple): Set
12282 loop->has_desc.
12283
62c9aa5f 122842003-03-17 Jan Hubicka <jh@suse.cz>
dbccdc42
JH
12285
12286 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
12287
b36a8cc2
OH
122882003-03-17 Olivier Hainque <hainque@act-europe.fr>
12289
12290 * function.c (assign_parms): For a struct value address passed as
12291 first argument, delay the function's result RTL setup code until
12292 after the emission of parameter conversions.
6970c06a 12293
94833648
DL
122942003-03-17 Dave Love <fx@gnu.org>
12295 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
aeefc21d
DL
12296
12297 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
12298 __arch64__ to match Compaq cc.
12299
783e2989
NB
123002003-03-17 Neil Booth <neil@daikokuya.co.uk>
12301
12302 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
12303 (c_common_init): Set EBCDIC in cpp options.
12304 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
12305 not conditional compilation.
12306 * cpplib.h (struct cpp_options): New entry EBCDIC.
12307
72ecfc60
NB
123082003-03-17 Neil Booth <neil@daikokuya.co.uk>
12309
12310 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
12311
47009d11
MH
123122003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12313
12314 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
12315 argument to 0 for redirect_jump.
47009d11 12316
bafb714b
MM
123172003-03-16 Mark Mitchell <mark@codesourcery.com>
12318
12319 PR c++/8805
12320 * except.c (eh_region_u_cleanup): Add prev_try.
12321 (expand_eh_region_end_cleanup): Set it.
12322 (reachable_handlers): Use it to skip over cleanup blocks.
12323
30492adf
AJ
123242003-03-17 Andreas Jaeger <aj@suse.de>
12325
12326 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
12327
7b3464ee
AM
123282003-03-17 Alan Modra <amodra@bigpond.net.au>
12329
12330 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
12331 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
12332 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
12333 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
12334
4f5c0f7e
RH
123352003-03-16 Richard Henderson <rth@redhat.com>
12336
6970c06a
ZW
12337 * simplify-rtx (simplify_binary_operation): Don't abort for
12338 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
4f5c0f7e 12339
3c298c88
RH
123402003-03-16 Richard Henderson <rth@redhat.com>
12341
6970c06a
ZW
12342 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
12343 optimize_size as well.
3c298c88 12344
fe91bac5
SC
123452003-03-16 Stephane Carrez <stcarrez@nerim.fr>
12346
12347 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
12348 for D register to specify the low part of it, aka B.
12349 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
12350 the register if we are loading 1 or -1 to it; avoid using temp
12351 register when moving X/Y to Y/X.
12352 (m68hc11_gen_movqi): Likewise.
12353 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
12354
ddc67067
MM
123552003-03-14 Mark Mitchell <mark@codesourcery.com>
12356
12357 PR optimization/9016
12358 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
12359 into the constant pool.
12360
0a71919d
FH
123612003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
12362
12363 PR target/9164
12364 * tree.c (get_narrower): For extensions with unchanged bit number,
12365 return the unsignedness of the outer mode.
12366
46ea50cb
RS
123672003-03-16 Roger Sayle <roger@eyesopen.com>
12368
12369 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
12370 to avoid "may be used uninitialized" warning on ia64-hpux.
12371 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
12372
012c387f
AJ
123732003-03-16 Andreas Jaeger <aj@suse.de>
12374
12375 * configure.in: Improve check for memcheck.h.
12376 * configure: Regenerated.
12377
7d1c4aae
NB
123782003-03-16 Neil Booth <neil@daikokuya.co.uk>
12379
12380 * doc/cppopts.texi: Remove documentation of -A-.
12381
e20798d1
ZW
123822003-03-15 Zack Weinberg <zack@codesourcery.com>
12383
12384 * doc/libgcc.texi: Remove @tie.
12385
4af16369
JZ
123862003-03-15 Josef Zlomek <zlomekj@suse.cz>
12387
12388 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
12389 (rtx_pair): Added new element update_label_nuses, renamed to
12390 replace_label_data.
12391 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
12392 replace_label_data instead of rtx_pair.
12393 * loop.c (load_mems): Likewise.
12394 * rtlanal.c (replace_label): Replace label in pool constants and in
12395 INSN_LIST (in REG_LABEL note).
12396 (subrtx_p): Renamed to rtx_referenced_p.
12397 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
12398 LABEL_REF with CODE_LABEL, traverse constants from pool.
12399
d2184e79
AH
124002003-03-15 Aldy Hernandez <aldyh@redhat.com>
12401 Zack Weinberg <zack@codesourcery.com>
12402
12403 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
12404 * doc/libgcc.texi: New file.
12405 * doc/interface.texi: Delete paragraph about libgcc interface.
12406 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
12407
8cadae7e
JM
124082003-03-15 Jason Merrill <jason@redhat.com>
12409
ae0e5982
JM
12410 PR debug/9039
12411 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
12412
8cadae7e
JM
12413 PR debug/6387
12414 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
12415 function DIEs at toplevel.
12416 (decls_for_scope): At -g1, don't descend into subblocks.
12417
2436a91b
UW
124182003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
12419
12420 * varasm.c (struct rtx_const): Change type of un.addr member
12421 to struct holding an additional 'symbol' member.
12422 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
12423 with equal string addresses as equal.
12424 (simplify_subtraction): Adapt to struct rtx_const change.
12425
151c68c3
NB
124262003-03-15 Neil Booth <neil@daikokuya.co.uk>
12427
12428 * fix-header.c (read_scan_file): Read main file before handling -D.
12429
6a87d634
RS
124302003-03-15 Roger Sayle <roger@eyesopen.com>
12431
12432 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
12433 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
12434 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
12435 (find_sub_basic_blocks): Likewise.
12436 * cgraphunit.c (cgraph_expand_functions): Likewise.
12437 * dwarf2out.c (prune_unused_types): Likewise.
12438 * expr.c (store_field): Likewise.
12439 * genextract.c (print_path): Likewise.
12440 * haifa-sched.c (schedule_insn): Likewise.
12441 * lcm.c (compute_antinout_edge): Likewise.
12442 * loop-unroll.c (decide_peel_once_rolling): Likewise.
12443 * ra-colorize.c (ra_colorize_free_all): Likewise.
12444 * ra-debug.c (dump_igraph): Likewise.
12445 (debug_hard_reg_set): Likewise.
12446 * reg-stack.c (reg_to_stack): Likewise.
12447 * rtlanal.c (refers_to_regno_p): Likewise.
12448 * tracer.c (layout_superblocks): Likewise.
12449
49c46444
NB
124502003-03-15 Neil Booth <neil@daikokuya.co.uk>
12451
12452 * fix-header.c (read_scan_file): Fix thinko.
12453
1fe668e5
GN
124542003-03-15 Glen Nakamura <glen@imodulo.com>
12455
12456 * reload1.c (choose_reload_regs): Use && instead of ||
12457 with REG_CANNOT_CHANGE_MODE_P condition.
12458
c1bad961
NB
124592003-03-15 Neil Booth <neil@daikokuya.co.uk>
12460
12461 * Makefile.in: Update.
12462 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
12463 * c-lex.c (init_c_lex): Register builtins hook is dead.
12464 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
12465 (c_common_decode_option): Don't call cpp_handle_option.
12466 Handle -A, -D and -U.
12467 (handle_deferred_opts): Simplify.
12468 (finish_options): Define builtins and command line macros.
12469 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
12470 * cppinit.c: Don't include intl.h.
12471 (init_builtins): Rename cpp_init_builtins. No hook to call.
12472 (init_library): Don't need to sort options.
12473 (cpp_create_reader): Don't set pending.
12474 (cpp_destroy): Don't free pending.
12475 (struct pending_option, cl_directive_handler, struct cpp_pending,
12476 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
12477 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
12478 cl_options, cpp_handle_option): Remove.
12479 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
12480 cpp_finish_options): Remove.
12481 (cpp_init_builtins): New.
12482 * fix-header.c (read_scan_file): Update to handle -D. Fix
12483 handling of -I. Replace call to cpp_finish_options.
12484
d8eed979
MH
124852003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12486
12487 PR optimization/9387
12488 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
12489 for conditional returns.
12490
af75fb67
JM
124912003-03-14 Jason Merrill <jason@redhat.com>
12492
12493 PR optimization/6871
12494 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
12495
255c10b1
NB
124962003-03-14 Neil Booth <neil@daikokuya.co.uk>
12497
12498 * c-opts.c (finish_options): New.
12499 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
12500 (missing_arg): Handle OPT_include and OPT_imacros.
12501 (c_common_init, c_common_parse_file): Use finish_options.
12502 (handle_deferred_opts): Update.
12503 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
12504 (cpp_finish_options): Don't handle -imacros here.
12505 (no_fil): Remove.
12506 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
12507
027fbf43
JJ
125082003-03-14 Jakub Jelinek <jakub@redhat.com>
12509
12510 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
12511 rs6000_maybe_dead if !fromprolog.
12512
23345bbb
NB
125132003-03-14 Neil Booth <neil@daikokuya.co.uk>
12514
12515 * Makefile.in: Update.
12516 * c-common.h (fe_file_change, pp_file_change): New.
12517 * c-lex.c (init_c_lex): Don't set cb_file_change.
12518 (c_common_parse_file): Move to c-opts.c.
12519 (cb_file_change): Rename fe_file_change.
12520 * c-opts.c: Include debug.h.
12521 (warn_unused_macros, include_cursor): New.
12522 (push_command_line_include, cb_file_change): New.
12523 (COMMAND_LINE_OPTIONS): Handle -include.
12524 (c_common_decode_option): Use local warn_unused_macros.
12525 Handle OPT_include.
12526 (c_common_post_options): Set file change callback.
12527 (handle_deferred_opts): Skip -include. Don't free the array.
12528 (c_common_init): Call cpp_finish_options here, and push an
12529 initial -include file.
12530 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
12531 (preprocess_file): Don't call cpp_finish_options.
12532 (init_pp_output): Don't set the file change callback.
12533 (pp_file_change): Return if no line commands or no output.
12534 * cpphash.h (next_include_file, first_unused_line): Remove.
12535 * cppinit.c (include_head, include_tail): Remove.
12536 (cpp_destroy): Don't free -include chain.
12537 (cpp_finish_options): Don't handle -include, or worry about
12538 -Wunused-macros.
12539 (_cpp_maybe_push_include_file): Remove.
12540 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
12541 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
12542 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
12543 Used flag is set based upon the state of the warn_unused_macros
12544 flag, and so use of first_unused_line is unnecessary.
12545
62c9aa5f 125462003-03-13 Jan Hubicka <jh@suse.cz>
cd648cec
JH
12547
12548 * cselib.c (clear_table): Do not take argument; always clear just
12549 used slots.
12550 (cselib_process_insn): Update call of clear_table
12551 (cselib_init): Do not call clear_table.
12552 (cselib_finish): Clear table.
12553
12554 * cse.c (count_reg_usage): Do not check side_effects_p.
12555 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
12556 like noop.
12557 (find_reg_equal_equiv_note): Do not use find_reg_note.
12558
35d9c403
RH
125592003-03-14 Richard Henderson <rth@redhat.com>
12560
12561 PR target/9700
1fe668e5 12562 * config/alpha/alpha.c (alpha_va_start): Account for
35d9c403
RH
12563 current_function_pretend_args_size in the AP offset.
12564
12565 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
12566 (INITIAL_ELIMINATION_OFFSET): Move out of line.
12567 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
12568 (alpha_initial_elimination_offset) New.
12569 * config/alpha/alpha-protos.h: Update.
12570
f43f4314
JJ
125712003-03-14 Jakub Jelinek <jakub@redhat.com>
12572
12573 * stmt.c (expand_start_case): Call emit_queue ().
12574
35d9c403
RH
125752003-03-14 Chris Demetriou <cgd@broadcom.com>
12576 Alexandre Oliva <aoliva@redhat.com>
a0a89ed0
CD
12577
12578 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
12579 words in new abis.
12580
f650843f
EB
125812003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
12582
12583 PR optimization/8396
12584 * tree-inline.c (initialize_inlined_parameters): Make sure the value
12585 of read-only constant arguments is passed with the right type.
12586
a721a601
SB
125872003-03-14 Steven Bosscher <steven@gcc.gnu.org>
12588
12589 * doc/extend.texi (Function Names): Make the example compilable.
12590
a12f8290
DE
125912003-03-13 David Edelsohn <edelsohn@gnu.org>
12592
12593 * config/rs6000/rs6000.c (processor_target_table): Really allow
12594 GP optional instructions on Power4.
12595
125962003-03-13 Roger Sayle <roger@eyesopen.com>
36dbb93d
RS
12597
12598 * calls.c (flags_from_decl_or_type): Factor and remove redundant
12599 conditional tests.
12600
c4775f82
MS
126012003-03-13 Mike Stump <mrs@apple.com>
12602
12603 * ggc-page.c (struct page_entry): Remove varray.h header.
12604 Add index_by_depth field.
12605 Remove save_in_use_p field.
12606 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
12607 by_depth_max, by_depth, and save_in_use fields.
12608 (INITIAL_PTE_COUNT): Add.
12609 (save_in_use_p_i): Add.
12610 (save_in_use_p): Add.
12611 (adjust_depth): Add.
12612 (move_ptes_to_front): Add.
12613 (push_depth): Add.
12614 (push_by_depth): Add.
12615 (prefetch): Add.
12616 (free_page): Add support for and use faster data structures.
12617 (ggc_alloc): Likewise.
12618 (init_ggc): Likewise.
12619 (ggc_recalculate_in_use_p): Likewise.
12620 (ggc_pop_context): Likewise.
12621 (clear_marks): Likewise.
12622 (ggc_pch_read): Likewise.
12623 * Makefile.in (ggc-page.o): Remove varray.h.
12624
3bed2930
NN
126252003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
12626
7210d5ae
NN
12627 * ChangeLog: Rotated last year's entries to...
12628 * ChangeLog.8: New.
12629
1fe668e5 12630 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
3bed2930
NN
12631 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
12632 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
12633 config/ia64/ia64-protos.h, config/ia64/ia64.c,
12634 config/ia64/ia64.h, config/ia64/ia64.md,
12635 config/ia64/itanium1.md, config/ia64/itanium2.md,
12636 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
12637 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
12638
3bd104d1
AH
126392003-03-13 Aldy Hernandez <aldyh@redhat.com>
12640
d2184e79
AH
12641 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
12642 Differentiate endianness.
12643 (s6000_override_options): Use cpu type instead of TARGET_SPE.
3bd104d1 12644
2ed0b52a
NC
126452003-03-13 Nick Clifton <nickc@redhat.com>
12646
b17fe233 12647 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
d2184e79
AH
12648 LDM instructions with writeback enabled.
12649 (output_return_instruction): Likewise.
b17fe233 12650
2ed0b52a
NC
12651 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
12652 (CALL_USED_REGISTERS): Remove definition.
12653 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
12654
f1384257
AM
126552003-03-13 Alan Modra <amodra@bigpond.net.au>
12656
12657 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
12658 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
12659 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
12660 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
12661 (rs6000_legitimize_address): Formatting.
12662 (rs6000_emit_move): Likewise.
12663 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
12664 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
12665 (rs6000_elf_select_section): Comment reason for shlib being
12666 set for ABI_AIX.
12667 (rs6000_elf_unique_section): Likewise.
12668 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
12669 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
12670 as well as flag_pic.
12671 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
12672 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
12673 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
12674
599aedd9
RH
126752003-03-13 Richard Henderson <rth@redhat.com>
12676
12677 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
12678
12679 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
12680 (ia64_gp_save_reg): Remove.
12681 (struct ia64_frame_info): Move to the beginning of the file;
12682 add reg_save_gp.
12683 (ia64_expand_call): Rearrange for new call patterns.
12684 (ia64_reload_gp): New.
12685 (ia64_split_call): New.
12686 (ia64_compute_frame_size): Allocate reg_save_gp.
12687 (ia64_expand_prologue): Save reg_save_gp.
12688 (ia64_expand_epilogue): Don't restore gp.
12689 (ia64_hard_regno_rename_ok): Remove R4 hack.
12690 (ia64_function_ok_for_sibcall): New.
1fe668e5 12691 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
599aedd9
RH
12692 call try_split on sibcall pattern.
12693 * config/ia64/ia64-protos.h: Update.
12694 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
12695 Rename from nopic versions. Confiscate 2nd argument to call as
12696 a marker.
12697 (call_pic, call_value_pic, sibcall_pic): Remove.
12698 (call_gp, call_value_gp, sibcall_gp): New.
12699 (builtin_setjmp_setup): Remove.
12700 (builtin_setjmp_receiver): Call ia64_reload_gp.
12701
e7d9d16b
NN
127022003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
12703
1fe668e5 12704 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2ff8f7ac
NN
12705 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
12706 "GNU CC" with "GCC".
12707
4db9c756
NN
12708 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
12709 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
12710 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
12711 GCC, not GNU CC.
12712
63b025a5
NN
12713 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
12714 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
12715
54a7b573
NN
12716 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
12717 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
12718 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
12719 "GNU CC" with "GCC".
12720
301ee2f3
NN
12721 * config/v850/lib1funcs.asm, config/v850/rtems.h,
12722 config/v850/v850-c.c, config/v850/v850-protos.h,
12723 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
12724 GCC, not GNU CC.
12725
e7d9d16b
NN
12726 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
12727 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
12728 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
12729 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
12730 GNU CC.
12731
93c98498
BK
127322003-03-12 Benjamin Kosnik <bkoz@redhat.com>
12733
12734 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
12735
e531258e
NN
127362003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
12737
706ae11c
NN
12738 * fixinc/fixinc.interix: Remove dead code (most of it).
12739 * fixinc/fixinc.dgux: Remove.
12740
e531258e
NN
12741 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
12742 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
12743
eab9e742
JDA
127442003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12745
12746 * pa.c (pa_init_builtins): Fix warning.
12747
03d0dce1
SE
127482003-03-12 Steve Ellcey <sje@cup.hp.com>
12749
12750 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
12751 (ASM_OUTPUT_XDATA_SHORT): Remove.
12752 (ASM_OUTPUT_XDATA_INT): Remove.
12753 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
12754 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
12755 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
12756 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
12757
847311f4
AL
127582003-03-12 Andrew Lewycky <andrew@mxc.ca>
12759
12760 PR c++/7050
12761 * expr.c (store_expr): Don't attempt to store void-typed trees,
12762 just evaluate them for side effects.
12763
c19b12cb
NB
127642003-03-12 Neil Booth <neil@daikokuya.co.uk>
12765
12766 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
12767 * cppinit.c (push_include): Move with changes to cppfiles.c.
12768 (cpp_read_main_file): Mark named operators here...
12769 (cpp_finish_options): ...not here. Update.
12770 (_cpp_maybe_push_include_file): Update.
12771 * cpplib.h (cpp_push_include, cpp_rename_file): New.
12772
ad9c4d9f
NN
127732003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
12774
847311f4
AL
12775 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
12776 _gcc_COMPUTE_GAS_VERSION.
12777 * configure.in: Use them.
12778 * configure: Regenerate.
ad9c4d9f 12779
8d49831d
BW
127802003-03-12 Bob Wilson <bob.wilson@acm.org>
12781
d2184e79 12782 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
8d49831d 12783 to detect carry.
d2184e79 12784 (subdi3): Reorder emitted instructions.
8d49831d 12785
bfa2615f
AJ
127862003-03-12 Andreas Jaeger <aj@suse.de>
12787
12788 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
12789 NETBSD_OS_CPP_BUILTINS_LP64.
12790
73458fb7
NN
127912003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
12792
12793 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
12794 Rearrange. Reorganize.
12795 * configure.in: Rearrange.
12796 * configure: Regenerate.
12797
00530a21
AJ
127982003-03-12 Andreas Jaeger <aj@suse.de>
12799
d2184e79
AH
12800 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
12801 LP64 targets.
00530a21 12802
d2184e79
AH
12803 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
12804 _LP64.
00530a21 12805
d2184e79
AH
12806 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
12807 _LP64 macros here.
12808 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
00530a21 12809
d2184e79
AH
12810 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
12811 NETBSD_OS_CPP_BUILTINS_LP64.
12812 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
12813 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
00530a21 12814
d2184e79 12815 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
00530a21 12816
62c9aa5f 128172003-03-12 Jan Hubicka <jh@suse.cz>
5474eed5
JH
12818
12819 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
12820
8c35a61a 128212003-03-12 Daniel Jacobowitz <drow@mvista.com>
59a7f9bf
DJ
12822
12823 Fix PR target/9797 and PR c/9853.
12824 * stmt.c (expand_decl_init): Call push_temp_slots () and
12825 pop_temp_slots ().
12826
62c9aa5f 128272003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
1aa03f38
R
12828
12829 * sh.c: Include basic-block.h.
12830 (sh_output_mi_thunk, emit_load_ptr): New functions.
12831 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
12832
6f8c9bd1
NC
128332003-03-12 Nick Clifton <nickc@redhat.com>
12834
12835 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
12836 (CALL_USED_REGISTERS): Likewise.
12837 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
12838 describing how this value is calculated.
12839
b2522d2b
HPN
128402003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
12841
12842 * configure.in (rlim_t): Define to long if no valid definition
12843 found in sys/resource.h.
12844 * config.in, configure: Regenerate.
12845
f7248b51
NB
128462003-03-12 Neil Booth <neil@daikokuya.co.uk>
12847
12848 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
12849 TARGET_OS_CPP_BUILTINS.
12850 * config/mcore/mcore-pe.h: Similarly.
12851 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
12852 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
12853
8a7d6cb3
EB
128542003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
12855
12856 PR c/9928
12857 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
12858 only if it is a VAR_DECL.
12859
db1077d3
EB
128602003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
12861
12862 PR optimization/9888
12863 * config/i386/i386.md (jcc_1): Fix range.
12864 (jcc_2): Likewise.
12865 (jump): LIkewise.
12866 (doloop_end_internal): Likewise.
12867
6ca23bff 128682003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
1fe668e5 12869
6ca23bff
DS
12870 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
12871 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
12872 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
12873 DLL_IMPORT_EXPORT_PREFIX and "i."
12874 (i386_pe_dllexport_name_p): Here.
12875 (i386_pe_dllimport_name_p): Here.
d2184e79 12876 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
6ca23bff
DS
12877 not 9 chars when getting identifier name.
12878 (i386_pe_mark_dllimport): Here.
12879 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
12880 not 9 chars when getting identifier name. Correct comment.
12881 (i386_pe_strip_name_encoding): Here. Add comments for different
12882 cases.
12883 (gen_fastcall_suffix): Break down xmalloc() argument to
12884 components.
12885 (gen_stdcall_suffix): Likewise.
12886 Update copyright year.
12887
9b73c90a
EB
128882003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
12889
12890 PR optimization/9888
12891 * config/i386/i386.md (movsi_1): Remove special alternatives
12892 for %eax register.
12893 (movsi_1_nointernunit): Likewise.
12894 (movhi_1): Likewise.
12895 * config/i386/i386.c (memory_address_length): Do not use
12896 short displacement when there is no base.
12897 (ix86_attr_length_address_default): Handle LEA instructions.
12898
21282b1e
NB
128992003-03-12 Neil Booth <neil@daikokuya.co.uk>
12900
12901 * c-cppbuiltin.c (builtin_define_std): Make non-static.
12902
7358f10d
LR
129032003-03-11 Loren James Rittle <ljrittle@acm.org>
12904
12905 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
12906 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
12907 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
12908 * config/freebsd.h (CPP_PREDEFINES): Remove.
12909 (TARGET_OS_CPP_BUILTINS): New.
12910 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
12911 instead of TARGET_OS_CPP_BUILTINS.
12912 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
12913
d00bc0a2
GK
129142003-03-11 Geoffrey Keating <geoffk@apple.com>
12915
12916 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
12917
9b7b447f
AH
129182003-03-11 Aldy Hernandez <aldyh@redhat.com>
12919
d2184e79
AH
12920 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
12921 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9b7b447f 12922
d2184e79 12923 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9b7b447f 12924
62c9aa5f 129252003-03-11 Alexandre Oliva <aoliva@redhat.com>
18a47d21
AO
12926
12927 * toplev.c (independent_decode_option): Return success for --help,
12928 --target-help and --version.
12929
62c9aa5f 129302003-03-11 Alexandre Oliva <aoliva@redhat.com>
c0a579df
AO
12931
12932 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
12933 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
12934 specified.
12935 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
12936 DRIVER_SELF_SPECS.
12937 (LINK_SPEC): Let endian options affect the linker emulation name.
12938
62c9aa5f 129392003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
ea45c4b0
R
12940
12941 * sh.md (reload_inqi): Fix mode for source in second set.
12942
62c9aa5f 129432003-03-11 Jan Hubicka <jh@suse.cz>
7101fb18
JH
12944
12945 * cselib.c (cselib_invalidate_mem_1): Move too ...
12946 (cselib_invalidate_mem): ... here; use new list
12947 (dummy_val, first_containing_mem): New static variables.
12948 (clear_table): Initialize first_containing_mem.
12949 (discard_useless_values): Compact the containing_mem list.
12950 (add_mem_for_addr): Add to the list.
12951 * cselib.h (cselib_val): Add next_containing_mem.
12952
b5044283
AH
129532003-03-11 Aldy Hernandez <aldyh@redhat.com>
12954
d2184e79
AH
12955 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
12956 instructions for e500.
b5044283 12957
cd6a5007
NB
129582003-03-11 Neil Booth <neil@daikokuya.co.uk>
12959
12960 * Makefile.in: Update.
12961 * c-cppbuiltin.c: Include tm_p.h.
12962
41f3a930
AH
129632003-03-11 Aldy Hernandez <aldyh@redhat.com>
12964
d2184e79 12965 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
41f3a930 12966
d2184e79
AH
12967 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
12968 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
12969 (_Unwind_SetGR): Same.
12970 (_Unwind_GetGRPtr): New.
12971 (_Unwind_SetGRPtr): New.
12972 (uw_update_context_1): Use accesor functions instead of accessing
12973 context->reg[] directly.
12974 (uw_install_context_1): Same.
12975 (execute_cfa_program): Same.
12976 (__frame_state_for): Same.
41f3a930 12977
d2184e79
AH
12978 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
12979 the synthetic register offset.
41f3a930 12980
d2184e79 12981 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
41f3a930 12982
d2f55c5c
HPN
129832003-03-11 Hans-Peter Nilsson <hp@axis.com>
12984
12985 * config/cris/cris.md: Remove lingering EGCS reference.
12986 ("*extopqihi_side_biap"): For HI operation, match
12987 cris_additive_operand_extend_operator, not
12988 cris_operand_extend_operator. Adjust condition.
12989 ("*extopqihi_side", "*extopqihi"): Ditto.
12990 ("*extopqisi_side_biap"): Correct operand numbers in condition.
12991 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
12992 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
12993 ("*extophisi_swap"): Ditto.
12994 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
12995 PLUS, not cris_operand_extend_operator. Adjust condition and
12996 output template.
12997 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
12998 * config/cris/cris.h (PREDICATE_CODES): Add
12999 cris_additive_operand_extend_operator.
13000 * config/cris/cris.c (cris_additive_operand_extend_operator):
13001 New predicate.
13002
37bd08f8
HP
130032003-03-11 Hartmut Penner <hpenner@de.ibm.com>
13004
13005 * df.c (read_modify_subreg_p): Change from static to global.
13006 * df.h (read_modify_subreg_p): Add prototype.
13007 * sched-deps.c (sched_analyze_1): Generate true dependency for
1fe668e5 13008 strict_low_part, certain subregs and zero/sign_extract.
37bd08f8 13009
cb60f38d
NB
130102003-03-11 Neil Booth <neil@daikokuya.co.uk>
13011
13012 * Makefile.in: Update.
13013 * c-common.c: Don't include real.h or except.h.
13014 (REGISTER_PREFIX): Remove.
13015 (builtin_define_std, builtin_define_with_value,
13016 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
13017 builtin_define_type_max, builtin_define_type_precision,
13018 builtin_define_float_constants): Move to c-cppbuiltin.c.
13019 (c_stddef_cpp_builtins): New.
13020 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
13021 * c-cppbuiltin.c: New, extracted from c-common.c.
13022 (define__GNUC__): New.
13023 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
13024 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
13025 (cpp_unique_options): Don't support no-gcc.
13026 (do_spec_1): Remove support of version specs.
13027 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
13028 * doc/passes.texi: Update.
13029 * doc/tm.texi: Update.
13030
31ca3635
AH
130312003-03-10 Aldy Hernandez <aldyh@redhat.com>
13032
d2184e79 13033 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
31ca3635 13034
ab82a49f
AP
130352003-03-10 Andrew Pinski <apinski@apple.com>
13036
13037 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
13038 is on should not get here.
13039 (machopic_indirect_data_reference): If dynamic-no-pic is on just
13040 generate high/low parts of the address.
13041 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
13042 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
13043 symbol and labels with a new reg. Dynamic-no-pic does not have a
13044 pic_offset_table_rtx.
13045 (machopic_select_section): Change references of flag_pic to
1fe668e5 13046 MACHOPIC_INDIRECT.
ab82a49f
AP
13047 (machopic_asm_out_destructor): Likewise.
13048 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
13049 reference of flag_pic to MACHOPIC_INDIRECT.
13050 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
13051 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
13052 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
13053 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
13054 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
13055 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
13056 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
13057 (TARGET_DYNAMIC_NO_PIC): Define.
13058 (SUBTARGET_SWITCHES): Define, have sub-target switches for
1fe668e5 13059 dynamic-no-pic.
ab82a49f
AP
13060 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
13061 rs6000_override_options to here. Dynamic-no-pic overrides
13062 pic.
13063 (CC1_SPEC): Change from not static then pic to not static and not
13064 dynamic-no-pic then pic.
13065 * config/rs6000/rs6000.c (rs6000_override_options): Move the
13066 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
13067 (rs6000_legitimize_reload_address): Add case for loading floating in
13068 dynamic-no-pic.
13069 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
13070 of flag_pic to MACHOPIC_INDIRECT.
13071 (secondary_reload_class): Conditional change the reference of
13072 flag_pic to MACHOPIC_INDIRECT.
13073 (rs6000_output_mi_thunk): Change reference of flag_pic to
13074 MACHOPIC_INDIRECT.
13075 (output_profile_hook): Likewise.
13076 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
13077 * config/rs6000/rs6000.md (movdf_low): Add the case for
13078 MACHO_DYNAMIC_NO_PIC_P.
13079 (call): Change references for flag_pic in TARGET_MACHO to
13080 MACHOPIC_INDIRECT.
13081 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
13082 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
13083 * doc/invoke.texi (-mdynamic-no-pic): Document.
87d7d780
DP
13084
130852003-03-10 Devang Patel <dpatel@apple.com>
1fe668e5 13086
87d7d780
DP
13087 PR c++/9394
13088 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
13089 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
13090 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
13091 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
13092 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
13093 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
1fe668e5 13094
6b856d15
SB
130952003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
13096
13097 PR optimization/7189
13098 * toplev.c (rest_of_compilation): Move
13099 check_function_return_warnings up to just after
13100 delete_unreachable_blocks.
13101
2d8d15b7
SC
131022003-03-10 Stephane Carrez <stcarrez@nerim.fr>
13103
13104 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
13105 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
13106 Declare.
13107 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
13108 for reg rename optimization to avoid using Z and Y registers.
13109
0e01d661
SC
131102003-03-10 Stephane Carrez <stcarrez@nerim.fr>
13111
13112 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
13113 when adding to X and Y since leax/leay are fast.
13114 ("*addhi3"): Accept 'I' constraint when adding to address register.
13115 ("rotlhi3"): Operand 1 must be a register_operand.
13116 (peephole2): New peephole to optimize some adds.
13117 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
13118 to represent -2 .. 2 small integer range.
13119
ae5b570e
SC
131202003-03-10 Stephane Carrez <stcarrez@nerim.fr>
13121
13122 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
13123 each 16-bit rotation.
13124
52999738
ZW
131252003-03-10 Zack Weinberg <zack@codesourcery.com>
13126
13127 * c-opts.c (add_prefixed_path): Don't use concat. When
13128 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
13129 cpp_GCC_INCLUDE_DIR_len characters.
13130
5c242421
SB
131312003-03-10 Segher Boessenkool <segher@koffie.nl>
13132
52999738 13133 * testsuite/gcc.dg/altivec-9.c: New file.
5c242421 13134
52999738
ZW
13135 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
13136 (rs6000_emit_prologue): Use rs6000_frame_related instead.
5c242421 13137
b4053702
AH
131382003-03-10 Aldy Hernandez <aldyh@redhat.com>
13139
52999738
ZW
13140 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
13141 vectors.
13142 (__ev_convert_u64): Remove macro. Define as inline.
13143 (__ev_convert_s64): Same.
b4053702 13144
c19de7aa
AH
131452003-03-10 Aldy Hernandez <aldyh@redhat.com>
13146
52999738
ZW
13147 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
13148 (rs6000_stack_t): Add spe_64bit_regs_used.
c19de7aa 13149
52999738
ZW
13150 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
13151 spe_64bit_regs_used, and use it to determine the size of the
13152 frame.
13153 (spe_func_has_64bit_regs_p): New.
13154 (spe_synthesize_frame_save): New.
13155 (rs6000_frame_related): Handle SPE synthetic registers.
13156 (rs6000_emit_prologue): Only save in 64-bits if the function used
13157 any registers in 64-bit mode.
13158 (rs6000_emit_epilogue): Same, but for restore.
c19de7aa 13159
29ad9694
RE
131602003-03-10 Richard Earnshaw <rearnsha@arm.com>
13161
13162 * arm.h (enum floating_point_type): Delete. Replace with...
13163 (enum fputype): ... new.
13164 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
13165 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
13166 * arm.md (attr fpu): Reworked for new underlying enum values.
13167 * arm.c (arm_fpu_arch): Now enum fputype.
13168 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
13169 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
13170 Update uses of arm_fpu_arch and arm_fpu_tune.
13171
39811184
JZ
131722003-03-10 Josef Zlomek <zlomekj@suse.cz>
13173
52999738 13174 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
39811184
JZ
13175 (try_crossjump_to_edge): Replace refereces to one jump table by
13176 references to identical jump table.
13177 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
13178 (replace_label): Moved to rtlanal.c.
13179 (struct rtx_pair): Moved to rtl.h.
52999738 13180 * rtl.h (struct rtx_pair): Moved from loop.c.
39811184
JZ
13181 (replace_label): New extern function.
13182 (subrtx_p): New extern function.
13183 (tablejump_p): New extern function.
52999738 13184 * rtlanal.c (replace_label): Moved from loop.c.
39811184
JZ
13185 (subrtx_p_1): New static function.
13186 (subrtx_p): New function.
13187 (tablejump_p): New function.
13188
62c9aa5f 131892003-03-10 Jan Hubicka <jh@suse.cz>
ec3ae3da 13190
912b79e7
JH
13191 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
13192
ec3ae3da
JH
13193 * cfgcleanup.c (merge_blocks): Return where to iterate next.
13194 (try_optimize_cfg): Use return value of merge_blocks
13195
e0fd3e7a
MM
131962003-03-10 Michael Matz <matz@suse.de>
13197
13198 * cfg.c (unchecked_make_edge): New.
13199 (cached_make_edge): Use it.
13200 * basic-block.h (unchecked_make_edge): Declare.
13201 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
13202
82955615
RE
132032003-03-10 Richard Earnshaw <rearnsha@arm.com>
13204
13205 * fpa.md: New file. Move all patterns relating to FPA co-processor
13206 to here...
13207 * arm.md: ... from here.
13208 (cirrus.md, fpa.md): Include at end of description.
13209 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
13210 (pic_load_addr_based): Remove register constraint from expander.
13211 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
13212 (sordered, sungt, sunle, sunge, sunlt): Likewise.
13213 (eh_epilogue, tablejump): Likewise.
13214
22672fc4
RK
132152003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13216
13217 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
13218 on operands if it has a PLACEHOLDER_EXPR.
13219
f7b3ab8a
DE
132202003-03-09 David Edelsohn <edelsohn@gnu.org>
13221 Mostafa Hagog
13222
13223 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
13224 condition.
13225
cc956ba2
NB
132262003-03-09 Neil Booth <neil@daikokuya.co.uk>
13227
13228 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
13229 * config/ip2k/ip2k.h: Similarly.
13230 * config/m32r/m32r.h: Similarly.
13231 * config/m68hc11/m68hc11.h: Similarly.
13232 * config/mn10200/mn10200.h: Similarly.
13233 * config/mn10300/mn10300.h: Similarly.
13234 * config/pdp11/pdp11.h: Similarly.
13235 * config/v850/v850.h: Similarly.
13236 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
13237 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
13238 * config/mips/iris3.h: Remove #if 0 block.
13239
132402003-03-09 Roger Sayle <roger@eyesopen.com>
13241 Joern Rennecke <joern.rennecke@superh.com>
13242
13243 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
13244 pending argument upon return from handle_braces here.
13245 (do_spec_2): Instead handle it upon return from do_spec_1 here.
13246
6544fbcb
RS
132472003-03-09 Roger Sayle <roger@eyesopen.com>
13248 Joern Rennecke <joern.rennecke@superh.com>
13249
13250 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
13251 pending argument upon return from handle_braces here.
13252 (do_spec_2): Instead handle it upon return from do_spec_1 here.
13253
e1a04212
FS
132542003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13255
13256 * varasm.c (make_decl_one_only): Use declare_weak().
13257
4677862a
JDA
132582003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13259
13260 PR middle-end/9986
13261 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
13262 after the common builtins.
13263 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
13264 * pa.c (TARGET_INIT_BUILTINS): Define.
13265 (pa_init_builtins): New function.
13266
13267 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
13268 space has been allocated for the outgoing arguments, set the arg
13269 pointer for a call emitted after virtuals have been instantiated
13270 using the stack pointer offset, otherwise abort.
13271
2de12bc4
DD
132722003-03-09 DJ Delorie <dj@redhat.com>
13273
13274 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
13275
17136dde
RE
132762003-03-09 Richard Earnshaw <rearnsha@arm.com>
13277
13278 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
13279 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
13280 conversion to integer.
13281 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
13282
f937d5e6
RS
132832003-03-09 Roger Sayle <roger@eyesopen.com>
13284
13285 * builtins.def: Fix typo and improve grammar.
13286 * loop-unroll.c (decide_peel_completely): Tidy log message.
13287
c5979bc6
KH
132882003-03-09 Kazu Hirata <kazu@cs.umass.edu>
13289
13290 * config/h8300/h8300.md (*tstsi_upper_bit): New.
13291 (*iorsi3_e2f): Likewise.
13292
4f4ebda3
KH
132932003-03-08 Kazu Hirata <kazu@cs.umass.edu>
13294
13295 * config/h8300/h8300.c (h8300_and_costs): Return the number of
13296 assembly instructions needed.
13297 (h8300_shift_costs): Likewise.
13298
c366ade5
HPN
132992003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
13300
02af0d9b
HPN
13301 * config/cris/aout.h (ENDFILE_SPEC): Undef.
13302
a3600c71
HPN
13303 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
13304 moves from here ...
13305 * expr.c (emit_move_insn_1): ... to here.
13306
a6e464ae
HPN
13307 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
13308 (TARGET_OS_CPP_BUILTINS): New macro.
13309 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
13310 (TARGET_OS_CPP_BUILTINS): New macro.
13311 (CPP_PREDEFINES): Don't define. Move old definitions and...
13312 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
13313 (TARGET_CPU_CPP_BUILTINS): New macro.
13314 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
13315 definitions and the optional __PIC__, __pic__ and
13316 __NO_UNDERSCORES__ definitions to...
13317 (TARGET_OS_CPP_BUILTINS): New macro.
13318
d8a25128
HPN
13319 * flags.h (flag_leading_underscore): Declare.
13320
c366ade5
HPN
13321 * c-opts.c (c_common_post_options): On fopen failure, return
13322 false, not NULL.
13323
32b0bbaa
HPN
133242003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
13325
13326 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
13327 config.h.
13328 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
13329 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
13330
ad220576
NB
133312003-03-08 Neil Booth <neil@daikokuya.co.uk>
13332
13333 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
13334 CPP_PREDEFINES.
13335 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
13336 CPP_PREDEFINES.
13337
4bfec483
NB
133382003-03-08 Neil Booth <neil@daikokuya.co.uk>
13339
13340 * c-common.h (c_common_init, c_common_post_options): Update.
13341 * c-objc-common.c (c_objc_common_init): Update for new prototype.
13342 * c-opts.c (saved_lineno): New.
13343 (c_common_post_options, c_common_init): Update prototypes,
13344 move call to cpp_read_main_file from latter to former.
13345 * c-tree.h (c_ojbc_common_init): Update.
13346 * langhooks-def.h (lhd_post_options): New.
13347 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
13348 * langhooks.c (lhd_post_options): New.
13349 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
13350 * toplev.c (no_backend): New.
13351 (process_options): Call post_options hook and set main_input_filename
13352 and input_filename here.
13353 (lang_dependent_init, do_compile): post_options hook moved to
13354 process_options.
13355 * objc/objc-act.c (objc_init): Update prototype.
13356 * objc/objc-act.h (objc_init): Update prototype.
13357
9dd04ab5
RS
133582003-03-08 Roger Sayle <roger@eyesopen.com>
13359
13360 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
13361 a complex or vector type, using a load in the original mode.
13362
62c9aa5f 133632003-03-08 Jan Hubicka <jh@suse.cz>
988d1653
JH
13364
13365 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
13366 * gt-cgraph.h: New GC file.
13367 * cgraph.c (known_fns): New static variable.
13368 (cgraph_node): Add the decl into varray.
13369
73ba39fc
HPN
133702003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
13371
13372 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
13373
3b684012
RE
133742003-03-08 Richard Earnshaw <rearnsha@arm.com>
13375
13376 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
13377 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
13378 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
13379 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
13380 All callers changed.
13381 * arm.md, arm.h, arm-protos.h: Updated.
13382
13383 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
13384 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
13385 * arm.c (arm_regno_class, f_register_operand): Updated.
13386
fa5848c7
HPN
133872003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
13388
13389 * config/cris/cris.h: Remove EGCS references.
1fe668e5 13390 (CPP_SPEC): Remove "-$".
fa5848c7
HPN
13391 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
13392
4555be98
NB
133932003-03-08 Neil Booth <neil@daikokuya.co.uk>
13394
13395 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
13396 preference to CPP_PREDEFINES.
13397
39a91264
NB
133982003-03-08 Neil Booth <neil@daikokuya.co.uk>
13399
13400 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
13401
9571a6b9
KH
134022003-03-08 Kazu Hirata <kazu@cs.umass.edu>
13403
13404 * config/h8300/h8300.md (*extzv_16_8): New.
13405
62c9aa5f 134062003-03-08 Jan Hubicka <jh@suse.cz>
18d13f34
JH
13407
13408 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
13409 * cgraph.h: (cgraph_local_info): Add can_inline_once
13410 (cgraph_global_info): Add inline_once.
13411 (cgraph_node): Add previous.
13412 (cgraph_remove_node): New.
13413 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
13414 function.
13415 (cgraph_optimize): Call it.
13416 (cgraph_finalize_function): Set inlinable flags.
13417 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
13418 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
13419 (cgraph_expand_function): Likewise.
52999738 13420 * cgraph.c
18d13f34
JH
13421 (cgraph_node): Put nodes into doubly linked chain.
13422 (cgraph_remove_node): New function.
13423 * flags.h (flag_inline_functions_called_once): Declare.
13424 * tree-inline.c: Include cgraph.h
13425 (inlinable_functions_p): Add extra argument to bypass limits.
13426 (expand_call_inline): Obey cgraph flag.
13427 * tree-inline.h (tree_inlinable_function_p): Update prototype.
13428
72b8d451
ZD
134292003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13430
13431 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
13432 irreducible loops.
13433
13434 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
13435 loops info correctly.
13436
ed97aa66
EB
134372003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
13438
13439 PR middle-end/7796
13440 * unroll.c (calculate_giv_inc): Handle constants being
13441 loaded with LSHIFTRT.
13442
d7b53ca4
DE
134432003-03-07 David Edelsohn <edelsohn@gnu.org>
13444
13445 * config/rs6000/rs6000.c (processor_target_table): Do not disable
13446 GP optional instructions on Power3, Power4, 620, and 630.
13447
3dc575ff
KH
134482003-03-07 Kazu Hirata <kazu@cs.umass.edu>
13449
13450 * calls.c: Fix comment formatting.
13451 * cfgloopanal.c: Likewise.
13452 * cfgloopmanip.c: Likewise.
13453 * combine.c: Likewise.
13454 * dwarf2out.c: Likewise.
13455 * ggc-common.c: Likewise.
13456 * langhooks.c: Likewise.
13457 * loop-unroll.c: Likewise.
13458 * loop.c: Likewise.
13459 * ra-build.c: Likewise.
13460 * sbitmap.c: Likewise.
13461 * toplev.c: Likewise.
13462
9bcd9715
JW
134632003-03-07 James E Wilson <wilson@tuliptree.org>
13464
ed97aa66 13465 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
9bcd9715 13466
6e5c4eaf
GK
134672003-03-07 Geoffrey Keating <geoffk@apple.com>
13468
13469 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
13470 support -no-integrated-cpp.
13471
13472 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
13473 than langhooks.name.
13474
50aac998
MM
134752003-03-07 Michael Matz <matz@suse.de>
13476
13477 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
13478 (DF_FOR_REGALLOC): New.
13479 * df.c (df_ref_record): Set DF_REF_STRIPPED.
13480 (read_modify_subreg_p): Simplify.
13481 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
13482 Use DF_FOR_REGALLOC.
13483 * ra.h (struct web): New member subreg_stripped.
13484 (invalid_mode_change_regs): Declare.
13485 * ra.c (invalid_mode_change_regs): New.
13486 (init_ra): Initialize it.
13487 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
13488 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
13489 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
13490 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
13491 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
13492
37f74dcf
RE
134932003-03-07 Richard Earnshaw <rearnsha@arm.com>
13494
13495 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
13496 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
13497 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
13498 machine description file from ...
13499 * cirrus.md: ... here.
13500
203b3521
KH
135012003-03-06 Kazu Hirata <kazu@cs.umass.edu>
13502
13503 * config/h8300/h8300.md (a peephole2): Don't use
13504 reg_overlap_mentioned_p.
13505
8643e92d
GK
135062003-03-06 Geoffrey Keating <geoffk@apple.com>
13507
13508 * c-pch.c: Include langhooks.h.
13509 (IDENT_LENGTH): New.
13510 (get_ident): New.
13511 (pch_ident): Delete.
13512 (pch_init): Use get_ident, IDENT_LENGTH.
13513 (c_common_valid_pch): Likewise. Also, use actual language
13514 in warning message.
13515 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
13516
13517 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
13518 c-parse.in.
13519 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
13520 gt-objc-objc-act.h.
13521 (gt-objc-objc-act.h): New rule.
13522 * objc/lang-specs.h: Support PCH.
13523 * objc/objc-act.c: Include gt-objc-objc-act.h.
13524 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
13525 (build_selector_reference_decl): Move idx out, mark for PCH.
13526 (build_class_reference_decl): Likewise.
13527 (build_objc_string_decl): Move *_idx out, mark for PCH.
13528 (build_tmp_function_decl): Move xxx out, mark for PCH.
13529
7f3d8013
DJ
135302003-03-06 Dale Johannesen <dalej@apple.com>
13531
13532 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
13533 global functions for inlining on Darwin.
13534
14484a78
VM
135352003-03-06 Vladimir Makarov <vmakarov@redhat.com>
13536
13537 * haifa-sched.c (schedule_block): Don't call reorder when sorting
13538 is prohibited.
13539
9d10c9a9
NB
135402003-03-06 Neil Booth <neil@daikokuya.co.uk>
13541
13542 * Makefile.in (c-ppoutput.o): Update.
13543 * c-common.h (init_pp_output): New.
13544 (preprocess_file): Update.
13545 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
13546 Register builtins.
13547 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
13548 Make call to cpp_read_main_file common to whether preprocessing
13549 or not. Don't register builtins.
13550 * c-ppoutput.c: Include c-pragma.h.
13551 (setup_callbacks): Rename init_pp_output.
13552 (preprocess_file): No longer setup callbacks or call
13553 cpp_read_main_file.
13554 * cpphash.h (_cpp_init_mbchar): New.
13555 * cppinit.c (init_library): Call _cpp_init_mbchar.
13556 * cpplex.c (_cpp_init_mbchar): New.
13557
37f5242b
RS
135582003-03-06 Roger Sayle <roger@eyesopen.com>
13559
13560 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
13561 MEM, try loading the MEM into a register and taking the low-part
13562 of that, to help CSE see the use of the MEM in its true mode.
13563
c876997f 135642003-03-05 Tom Tromey <tromey@redhat.com>
f3922fd2
DD
13565
13566 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
13567 Define.
13568
c876997f 135692003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
f3922fd2
DD
13570
13571 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
13572 operand 2.
13573 ("*ineqbranchsi"): Likewise.
13574
c876997f 135752003-03-05 Andrew Haley <aph@cambridge.redhat.com>
f3922fd2
DD
13576
13577 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
13578 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
13579 register store followed by a stack increment.
13580
c876997f 135812003-03-05 Chris Moller <cmoller@redhat.com>
f3922fd2
DD
13582
13583 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
13584 to inhibit saving CARRY_REGS.
13585
13586 * config/stormy16/stormy16.c (xs_hi_general_operand):
13587 added predicate to detect and error-out on out-of-range
13588 const_ints for movhi.
52999738 13589 * config/stormy16/stormy16.md (movhi): use
f3922fd2
DD
13590 xs_hi_general_operand.
13591
13592 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
13593 added a check for local vbl size overflow.
13594 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
13595 added predicate to detect and error-out on out-of-range
13596 const_ints for addhi and subhi.
52999738 13597 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
f3922fd2
DD
13598 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
13599
13600 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
13601 add a term to accept PRE_MODIFY addresses.
13602 * config/stormy16/stormy16.c (xstormy16_expand_move):
13603 add code to expand PRE_MODIFY addresses to an add followed
13604 by a move.
13605
4c28216d
JM
136062003-03-06 Jason Merrill <jason@redhat.com>
13607
13608 * tree-inline.c (inlinable_function_p): Revert earlier change
13609 pending investigation.
13610
0135f343
KH
136112003-03-06 Kazu Hirata <kazu@cs.umass.edu>
13612
13613 * config/h8300/h8300.md (a new peephole2): New.
13614
62c9aa5f 136152003-03-06 Jan Hubicka <jh@suse.cz>
5c2e00ee
JH
13616
13617 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
13618
323658ea
ZD
136192003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13620
13621 * dwarf2out.c (size_of_die): Compute size of external reference to
13622 die correctly.
13623
2b18b49b
HPN
136242003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
13625
13626 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
13627 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
13628 expanders.
13629
1a71a5b0
RS
136302003-03-05 Roger Sayle <roger@eyesopen.com>
13631
13632 * expr.h (lang_expand_expr): Delete obsolete prototype.
13633
26d249eb
KH
136342003-03-05 Kazu Hirata <kazu@cs.umass.edu>
13635
13636 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
13637
8b41a8da
KH
136382003-03-05 Kazu Hirata <kazu@cs.umass.edu>
13639
13640 * config/h8300/h8300.md (a peephole2): Generalize to
13641 accept a memory operand.
13642
62c9aa5f 136432003-03-05 Olivier Hainque <hainque@act-europe.fr>
39ee7fa9
OH
13644
13645 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
13646 * config/alpha/alpha.c (print_operand, case '+'): New.
13647 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
13648 (call_value_osf_1_noreturn): Likewise.
13649
62c9aa5f 136502003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
cda26058
RK
13651
13652 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
13653 (expand_end_bindings): Likewise.
13654
98857de8
JDA
136552003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13656
13657 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
13658 (epilogue): Don't generate return_external_pic when emitting PA 2.0
13659 code.
13660
96714395
AH
136612003-03-05 Aldy Hernandez <aldyh@redhat.com>
13662
52999738 13663 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
96714395 13664
52999738 13665 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
96714395 13666
52999738 13667 * hooks.c (hook_rtx_rtx_null): New.
96714395 13668
52999738 13669 * hooks.h (hook_rtx_rtx_null): Protoize.
96714395 13670
52999738
ZW
13671 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
13672 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
96714395 13673
52999738 13674 * target.h (struct gcc_target): Add dwarf_register_span.
96714395 13675
52999738
ZW
13676 * dwarf2out.c (multiple_reg_loc_descriptor): New.
13677 (one_reg_loc_descriptor): New.
13678 (reg_loc_descriptor): Add support for values that span more than
13679 one register.
96714395 13680
62c9aa5f 136812003-03-05 Jan Hubicka <jh@suse.cz>
b255a036
JH
13682
13683 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
13684 * alias.c: Include cgraph.h
13685 (mark_constant_function): Use cgraph_rtl_info.
13686 * calls.c: Include cgraph.h
13687 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
13688 calls.
13689 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
13690 * cgraph.c (cgraph_rtl_info): New function.
13691 * cgraph.h (cgraph_rtl_info): Declare
13692 (cgraph_rtl_info): Likewise.
13693 * function.h (struct function): Add recursive_call_emit.
13694 * toplev.c: Include cgraph.h.
13695 (rest_of_compilation): Set preferred_incoming_stack_boundary.
13696
0eb933a0
KH
136972003-03-05 Kazu Hirata <kazu@cs.umass.edu>
13698
13699 * config/h8300/h8300.c (output_simode_bld): Clear the
13700 destination first if possible.
13701 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
13702 alternative.
13703 (extzv_1_r_inv_h8300hs): Likewise.
13704
35b07080
ZD
137052003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13706
13707 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
13708 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
13709 * cfgloop.c (flow_loop_free): Made global.
13710 (establish_preds): New static function.
13711 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
13712 (get_loop_exit_edges): New.
13713 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
13714 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
13715 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
13716 loops.
13717 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
13718 removability of an edge.
13719 (fix_irreducible_loops): New static function.
13720 (find_path, remove_path): Add ability to remove enclosing loops.
13721 (unloop): New.
13722 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
13723 flags.
13724 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
13725 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
13726 not neccessary.
13727 (decide_peel_completely, peel_loops_completely): Allow complete peeling
13728 of non-duplicable once rolling loops.
13729 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
13730
62c9aa5f 137312003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
bb182d23
R
13732
13733 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
13734 for align_jumps is 4.
13735
13736 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
13737 use GENERAL_REGS.
13738
f2d0440f
SC
137392003-03-05 Stephane Carrez <stcarrez@nerim.fr>
13740
13741 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
13742 according to va_arg type.
13743 (EXPAND_BUILTIN_VA_ARG): Remove.
13744 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
13745 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
13746
165b263e
DE
137472003-03-05 David Edelsohn <edelsohn@gnu.org>
13748
13749 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
13750 else clauses.
13751
8c38a24f
MM
137522003-03-05 Michael Matz <matz@suse.de>
13753
13754 * i386/i386.c (ix86_save_reg): Also test
13755 current_function_uses_const_pool.
13756
336d0d96
MM
137572003-03-05 Michael Matz <matz@suse.de>
13758
13759 * unwind.h: Add the GPL exception.
13760 * Makefile.in (USER_H): Add unwind.h.
13761
be2fa211
EB
137622003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
13763
13764 PR c/9799
13765 * c-typeck.c (push_init_level): Add sanity check.
13766
62c9aa5f 137672003-03-05 Jan Hubicka <jh@suse.cz>
dafc5b82
JH
13768
13769 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
13770 RTL inlining is done.
13771
13772 * cgraphunit.c (cgraph_mark_local_functions): New local function.
13773 (cgraph_optimize): Mark local functions.
13774 * i386-protos.h (init_cumulative_args): Update prototype.
13775 * i386.c (init_cumulative_args): Use register passing convention for
13776 local functions.
13777
13778 * cgraph.c (cgraph_global_info_ready): New global variable
13779 (cgraph_local_info, cgraph_global_info): New functions.
13780 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
13781 structures.
13782 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
13783 Declare.
13784 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
13785 (cgraph_mark_functions_to_output): Use inline_many.
13786 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
13787 (cgraph_expand_functions): Expand inline functions last.
13788 (cgraph_optimize): Do not emit uneeded functions.
13789
006c9f4a
SE
137902003-03-04 Steve Ellcey <sje@cup.hp.com>
13791
13792 * expr.c (convert_modes): Check for legal hard register.
13793
65ebbf81
TT
137942003-03-04 Tom Tromey <tromey@redhat.com>
13795
13796 * doc/sourcebuild.texi (Front End Directory): Document tags.
13797 * configure: Rebuilt.
13798 * configure.in (target_list): Added tags.
13799 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
13800 TAGS files by reference.
13801 * objc/Make-lang.in (objc.tags): New target.
13802
ec4a0419
ZD
138032003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13804
13805 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
13806 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
13807 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
13808 gcov_read_string, gcov_write_length): Modified to enable reading/
13809 writing of whole .da file just once.
13810 (da_file_open, da_file_close, da_file_eof, da_file_error,
13811 da_file_position, da_file_seek, da_file_write, da_file_read): New
13812 functions.
13813 (actual_da_file, actual_da_file_position, actual_da_file_length,
13814 actual_da_file_buffer, actual_da_file_buffer_size): New static
13815 functions.
13816 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
13817 just once.
13818
13819
79dbeefc
AS
138202003-03-04 Andreas Schwab <schwab@suse.de>
13821
13822 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
13823 offset without frame pointer.
13824
3ac1a319
SE
138252003-03-04 Steve Ellcey <sje@cup.hp.com>
13826
13827 * expr.c (expand_expr): Call promote_mode to set unsignedp.
13828
db720d9a
DJ
138292003-03-04 Daniel Jacobowitz <drow@mvista.com>
13830
13831 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
13832 * configure: Regenerated.
13833 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
13834
9a79ab7e
AJ
138352003-03-04 Andreas Jaeger <aj@suse.de>
13836
13837 * configure.in: Check for <memcheck.h>.
52999738 13838 * configure: Regenerated.
9a79ab7e
AJ
13839
13840 * config.in: Define HAVE_MEMCHECK_H.
13841
13842 * ggc-common.c: Use <memcheck.h> if available instead of
13843 <valgrind.h>.
13844 * ggc-page.c: Likewise.
13845 * cppfiles.c: Likewise.
13846
a8f0e848
KH
138472003-03-04 Kazu Hirata <kazu@cs.umass.edu>
13848
13849 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
13850
2ad1815d
EB
138512003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
13852
13853 PR c/9262
13854 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
13855 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
13856
62c9aa5f 138572003-03-04 Jan Hubicka <jh@suse.cz>
e2483ef7
JH
13858
13859 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
13860 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
13861 for -O3.
13862
34a86c2b
NN
138632003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
13864
13865 * configure.in: Delete three unused variables. Move a variable
13866 definition closer to its use. Simplify use_collect2 logic. Start to
13867 organize. Simplify tests for in-tree gas and ld.
13868 * configure: Regenerate.
13869
63973df3
NB
138702003-03-04 Neil Booth <neil@daikokuya.co.uk>
13871
13872 * Makefile.in: Update.
13873 * c-common.c (flag_no_line_commands, flag_no_output,
13874 flag_dump_macros, flag_dump_includes): New.
13875 * c-common.h (flag_no_line_commands, flag_no_output,
13876 flag_dump_macros, flag_dump_includes, preprocess_file): New.
13877 (init_c_lex): Update prototype.
13878 * c-lex.c (init_c_lex): Update prototype; move some code to
13879 c_common_init.
13880 * c-opts.c (preprocess_file): Subsume into c_common_init.
13881 (c_common_decode_option): Update flags.
13882 (c_common_init): Move code from preprocess_file and init_c_lex.
13883 (sanitize_cpp_opts): Update.
13884 * c-ppoutput.c: New, cppmain.c almost verbatim.
13885 * cpphash.h (struct printer): Remove.
13886 (struct cpp_reader): Remove print.
13887 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
13888 cpp_preprocess_file): Remove.
13889 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
13890 and dump_includes.
13891 * cppmain.c: Remove.
13892 * doc/passes.texi: Update.
13893
95f3f59e
JDA
138942003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13895
13896 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
13897 (assign_stack_local_1): Perform overall stack alignment only when
6356f892 13898 STACK_ALIGNMENT_NEEDED is nonzero.
95f3f59e
JDA
13899 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
13900
13901 * pa.c (compute_frame_size): Rename fsize to size. Account for
13902 alignment to a word boundary before general register save block. Only
13903 account for double-word alignment before floating point register save
13904 block if one or more are saved. Don't allocate space for %r3 when
13905 frame pointer is needed.
13906 (hppa_expand_prologue): Include alignment to word boundary in local
13907 frame size.
13908 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
13909 (STACK_ALIGNMENT_NEEDED): Define.
13910
234c071b
KB
139112003-03-04 Kevin Buettner <kevinb@redhat.com>
13912
13913 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
13914 global register variables.
13915
f12448c8
AO
139162003-03-04 Alexandre Oliva <aoliva@redhat.com>
13917
13918 * reload.c (reload_adjust_reg_for_mode): New function.
13919 (subst_reloads): Call it.
13920 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
13921 * reload.h (reload_adjust_reg_for_mode): Declare.
13922 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
13923 Call it.
13924
f9d36a92
JW
139252003-03-03 James E Wilson <wilson@tuliptree.org>
13926
13927 * optabs.c (add_equal_note): Delete SUBREG_REG use.
13928 Fixes PR c/7872.
13929
8dfb356f
KH
139302003-03-03 Kazu Hirata <kazu@cs.umass.edu>
13931
13932 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
13933 (*ixorsi3_lshiftrt_16): New.
13934 (*iorsi3_ashift_16): Remove.
13935
0d9bf032
KH
139362003-03-03 Kazu Hirata <kazu@cs.umass.edu>
13937
13938 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
13939 pattern.
13940
b89a3806
GK
139412003-03-03 Geoffrey Keating <geoffk@apple.com>
13942
13943 * doc/install.texi (Specific): Update entry for powerpc-darwin.
13944
568d661d
RH
139452003-03-03 Richard Henderson <rth@redhat.com>
13946
13947 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
13948
3317bab1
DE
139492003-03-03 David Edelsohn <edelsohn@gnu.org>
13950
13951 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
13952 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
13953 (rs6000_variable_issue): Do not return negative value.
13954 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
13955 scheduling pass.
13956
03275f81
ZD
139572003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13958
13959 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
13960 prune_unused_types calls.
13961
d1a74aa7
JM
139622003-03-03 Jason Merrill <jason@redhat.com>
13963
13964 * tree-inline.c (find_builtin_longjmp_call): Save and restore
13965 lineno and input_filename.
13966 (find_alloca_call): Likewise.
13967 (inlinable_function_p): Run the langhook earlier.
13968
13969 * calls.c (compute_argument_addresses): Give the new MEMs a
13970 minimum alignment of PARM_BOUNDARY.
13971
62c9aa5f 139722003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
d44cc404
R
13973
13974 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
13975 subtarget_asm_isa_spec.
13976 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
13977 (ASM_SPEC): Define as SH_ASM_SPEC.
13978 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
13979 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
13980 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
13981 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10f4f635
R
13982
13983 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
13984 and align_jumps if not set.
13985 Force align_jumps to be at least 2.
13986 When relaxing, force align_functions to be at least the maximum of
13987 align_loops, align_jumps and 4.
13988 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
13989 (sh_loop_align): Honour align_loops_log.
13990
13991 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
13992 to check for indirect_jump_scratch.
13993 (indirect_jump_scratch): Add second set.
13994 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
13995 when looking for indirect_jump_scratch.
13996 Extract scratch register taking new structure of indirect_jump_scratch
13997 into account.
13998 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
13999
62c9aa5f 140002003-03-03 Jan Hubicka <jh@suse.cz>
f7da1e9a 14001
09e2bf48
JH
14002 * calls.c (rtx_for_function_call): Take the address as an argument
14003 (expand_call): Do not modify the expression.
14004
f7da1e9a
JH
14005 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
14006 optimizing.
14007
426ace7f
KH
140082003-03-03 Kazu Hirata <kazu@cs.umass.edu>
14009
14010 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
14011 TARGET_H8300H and TARGET_H8300S.
14012
6967a126
KH
140132003-03-03 Kazu Hirata <kazu@cs.umass.edu>
14014
14015 * config/h8300/h8300.md (a peephole2): New.
14016
1f7e8790
KH
140172003-03-03 Kazu Hirata <kazu@cs.umass.edu>
14018
14019 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
14020 operands[0] and operands[1] are different.
14021
140222003-03-03 Kazu Hirata <kazu@cs.umass.edu>
2807791e
KH
14023
14024 * reload1.c (reload_cse_move2add): Remove variable success.
14025
a2581175
KG
140262003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14027
14028 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
14029 warnings.
14030
ef1ecf87
RH
140312003-03-02 Richard Henderson <rth@redhat.com>
14032
14033 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
14034 * config.in, configure: Rebuild.
14035 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
9a79ab7e 14036 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
ef1ecf87
RH
14037 paired ldtoffx and ldxmov annotations.
14038 (load_symptr_internal1): Remove.
14039 (load_symptr_high, load_symptr_low): New.
14040
82f6e3eb
NB
140412003-03-02 Neil Booth <neil@daikokuya.co.uk>
14042
14043 * c-incpath.c (add_path): Fix sysp assignment.
14044
bc522472
KG
140452003-03-02 Kurt Garloff <garloff@suse.de>
14046
14047 * params.def: Introduce parameter max-inline-insns-rtl for
14048 a separate limit for the RTL inliner.
14049 * params.h: Likewise.
14050 * integrate.c (function_cannot_inline_p): Use it.
9a79ab7e 14051 * toplev.c (decode_f_option): Set multiple parameters
bc522472
KG
14052 controlling inlining with -finline-limit.
14053 * params.def: Fix orthographic and typographic errors.
14054 * doc/invoke.texi: Document parameters controlling inlining
14055 and the way -finline-limit sets multiple of them.
14056
14057 * tree.h (struct tree_decl): Introduce inlined_function_flag,
14058 recording whether the function became eligible for inlining
14059 by a compiler flag rather than the declaration.
14060 Provide DID_INLINE_FUNC macro to access it.
14061 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
14062 * cp/decl.c (grokfndecl): Likewise.
14063 * toplev.c (rest_of_compilation): Likewise.
14064 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
14065 * print-tree.c (print_node): Report it.
14066 * params.def: Introduce new max-inline-insns-auto limit.
14067 * params.h: Likewise.
14068 * tree-inline.c (inlinable_function_p): Apply it to functions
14069 with DID_INLINE_FUNC set.
14070 * toplev.c (decode_f_option): Initialize it from -finline-limit
14071 value.
14072 * doc/invoke.texi: Document new parameter.
14073
b9f4b20a
GK
140742003-03-02 Geoffrey Keating <geoffk@apple.com>
14075
14076 * fix-header.c (read_scan_file): Don't reference simplify_path.
14077
97d322cc
SC
140782003-03-02 Stephane Carrez <stcarrez@nerim.fr>
14079
14080 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
14081 min/max instructions by default as may result in reload errors.
14082
65fb64fe
SC
140832003-03-02 Stephane Carrez <stcarrez@nerim.fr>
14084
14085 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
14086 avoid reload problems; define split for it.
14087
b45e9837
SC
140882003-03-02 Stephane Carrez <stcarrez@nerim.fr>
14089
14090 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
14091 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
14092 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
9a79ab7e 14093 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
b45e9837
SC
14094 rotatert and rotate.
14095 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
14096 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
14097 ("*rotrhi3_addr"): New split for shift insns on address register.
14098 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
14099 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
14100 (___rotrhi3): Likewise.
14101 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
14102
b1cbe78c
NB
141032003-03-02 Neil Booth <neil@daikokuya.co.uk>
14104
14105 * toplev.c (aux_base_name): Moved from toplev.h.
14106 (filename): Constify.
14107 (lang_dependent_init): Don't duplicate name.
14108 (process_options): Set aux_base_name here, not...
14109 (do_compile): ...here. Change protoype.
14110 (toplev_main): Move some code from do_compile.
14111 * toplev.h: Remove aux_base_name.
14112
b059c02a
KH
141132003-03-02 Kazu Hirata <kazu@cs.umass.edu>
14114
14115 * config/h8300/h8300-protos.h: Add a prototype for
14116 iorxor_operator.
14117 * config/h8300/h8300.c (print_operand): Handle 'c'.
14118 (iorxor_operator): New.
14119 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
14120 * config/h8300/h8300.md (*iorhi3_zext): Remove.
14121 (*iorsi3_zexthi): Likewise.
14122 (*iorsi3_zextsi): Likewise.
14123 (*xorhi3_zextqi): Likewise.
14124 (*xorsi3_zexthi): Likewise.
14125 (*xorsi3_zextsi): Likewise.
14126 (*ixorhi3_zext): New.
14127 (*ixorsi3_zext_qi): Likewise.
14128 (*ixorsi3_zext_hi): Likewise.
14129
986b1f13
NB
141302003-03-02 Neil Booth <neil@daikokuya.co.uk>
14131
14132 * c-incpath.c (remove_component_p, simplify_path): Move back to
14133 cppfiles.c.
14134 (remove_duplicates): Use cpp_simplify_path.
14135 * c-incpath.h (simplify_path): Remove.
14136 * c-lex.c: Don't include c-incpath.h.
14137 (init_c_lex): Remove simplify_path.
14138 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
14139 (find_or_create_entry, validate_pch): Revert.
14140
8a035a6b
AH
141412003-03-02 Ashif Harji <asharji@uwaterloo.ca>
14142
14143 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
14144 an external cpp during compilation.
14145 (option_map): Likewise.
14146 * objc/lang-specs.h (default_compilers): Similarly.
14147 * doc/invoke.texi: Document -no-integrated-cpp flag.
14148
23cdb465
KH
141492003-03-02 Kazu Hirata <kazu@cs.umass.edu>
14150
14151 * config/h8300/h8300.md (zero_extendqisi2): Change to an
14152 expander.
14153 (*zero_extendqisi2_h8300): New.
14154 (*zero_extendqisi2_h8300hs): New.
14155 (two splitters): New.
14156
29efb633
KG
141572003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14158
14159 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
14160
36bf3f1b
KH
141612003-03-01 Kazu Hirata <kazu@cs.umass.edu>
14162
14163 * config/h8300/h8300.md (a peephole2): Remove dead code.
14164
08291658
RS
141652003-03-01 Roger Sayle <roger@eyesopen.com>
14166
14167 PR c++/9367
14168 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
14169 (BT_FN_INT_CONST_STRING_VALIST_ARG,
14170 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
14171 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
14172 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
14173 BT_FN_INT_STRING_CONST_STRING_VAR,
14174 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
14175 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
14176 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
14177 ATTR_NONNULL_3): Also include the nothrow attribute.
14178 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
14179 vsnprintf, vscanf, vsscanf): Don't define attributes here.
14180 * builtins.def (putchar, puts): Make full C89 built-ins.
14181 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
14182 vsscanf, vsnprintf, vsprintf): New built-ins.
14183 * c-common.c (c_common_nodes_and_builtins): Handle new macro
14184 DEF_FUNCTION_TYPE_VAR_3.
14185
14186 * doc/extend.texi: Document these new built-in functions.
14187
e5258f85
KH
141882003-03-01 Kazu Hirata <kazu@cs.umass.edu>
14189
14190 * config/h8300/h8300.md (a peephole2): New.
14191
85bb9c2a
RE
141922003-03-01 Richard Earnshaw <rearnsha@arm.com>
14193
14194 * predict.c (estimate_bb_frequencies): Correctly set
14195 real_values_initialized after initialization.
14196
5793b276
NB
141972003-03-01 Neil Booth <neil@daikokuya.co.uk>
14198
14199 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
14200 cppinit.o, cppdefault.o, fix-header): Update.
14201 * c-incpath.c: New file.
14202 * c-incpath.h: New file.
14203 * c-lex.c: Include c-incpath.h.
14204 (init_c_lex): Register path simplifier.
14205 * c-opts.c: Include cppdefault.h and c-incpath.h.
14206 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
14207 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
14208 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
14209 (missing_arg, c_common_decode_option): Handle them.
14210 (c_common_post_options): Register include chains.
14211 (print_help): Update.
14212 * cppdefault.h (struct default include): Update.
14213 Move some macros to ...
14214 * cppdefault.c: ... here.
14215 (cpp_include_defaults): Add extra field add_sysroot.
14216 * cppfiles.c (include_file, search_from, find_or_create_entry,
14217 cpp_included, find_include_file, remap_filename): Update for
14218 renaming of search_path to cpp_path, and of the chain headers.
14219 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
14220 * cpphash.h (struct search_path): Move to cpplib.h.
14221 (struct cpp_buffer, struct cpp_reader): Update.
14222 (_cpp_simplify_pathname): Remove.
14223 * cppinit.c: Don't include prefix.h and cppdefault.h.
14224 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
14225 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
14226 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
14227 no_pth, cpp_handle_options): Remove.
14228 (struct pending_option): Remove chain members.
14229 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
14230 cpp_handle_option): Update.
14231 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
14232 (struct cpp_options): Remove quote_include, bracket_include,
14233 include_prefix, include_prefix_len, verbose, ignore_srcdir,
14234 no_standard_includes, no_standard_cplusplus_includes.
14235 (struct cpp_callbacks): Add simplify_path.
14236 (cpp_handle_options): Remove.
14237 * fix-header.c: Include c-incpath.h.
14238 (read_scan_file): Update to use c-incpath functionality.
14239 * doc/passes.texi: Update.
14240
6620997b
KH
142412003-03-01 Kazu Hirata <kazu@cs.umass.edu>
14242
14243 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
14244 satisfies EXTRA_CONSTRAINT 'U'.
14245
82b4dc2e
KH
142462003-03-01 Kazu Hirata <kazu@cs.umass.edu>
14247
14248 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
14249 register.
14250 (*tst_extzv_memqi_1_n): Change to a splitter.
14251 (a peephole2): Update.
14252
c4f6b78e
RE
142532003-03-01 Richard Earnshaw <rearnsha@arm.com>
14254
14255 * predict.c (estimate_bb_frequencies): Initialize the sreal
14256 constants once per compilation.
14257
9552a3e3
RH
142582003-02-28 Richard Henderson <rth@redhat.com>
14259
14260 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
14261
73c68f61
SS
142622003-02-28 scott snyder <snyder@fnal.gov>
14263
14264 * flags.h: Add flag_eliminate_unused_debug_types.
14265 * toplev.c: Add flag_eliminate_unused_debug_types.
14266 (f_options): Add -feliminate-unused-debug-types.
14267 * dwarf2out.c (struct file_table): Add emitted member.
14268 (splice_child_die): Fix the parent pointer for the child being
14269 spliced.
14270 (lookup_filename): Maintain file_table.emitted array. Don't
14271 output .file directive here.
14272 (maybe_emit_file): (new)
14273 (init_file_table): Set up file_table.emitted.
14274 (dwarf2out_source_line): Use maybe_emit_file.
14275 (dwarf2out_start_source_file): Use maybe_emit_file.
14276 (dwarf2out_init): Use maybe_emit_file.
14277 (prune_unused_types_walk_attribs): (new)
14278 (prune_unused_types_mark): (new)
14279 (prune_unused_types_walk): (new)
14280 (prune_unused_types_prune): (new)
14281 (prune_unused_types): (new)
14282 (dwarf2out_finish): Call prune_unused_types if
14283 flag_eliminate_unused_debug_types is set.
14284 * doc/invoke.texi (Option Summary): Add
14285 -feliminate-unused-debug-types.
14286 (Debugging Options): Likewise.
14287
d8fad4ea
GK
142882003-02-28 Geoffrey Keating <geoffk@apple.com>
14289
14290 * doc/invoke.texi: Change .pch to .gch.
14291 * cppfiles.c (open_file_pch): Likewise.
14292 * gcc.c (default_compilers): Likewise.
14293
9855905c
AH
142942003-02-28 Aldy Hernandez <aldyh@redhat.com>
14295
52999738 14296 * floatlib.c: Remove.
9855905c 14297
3695c25f
JM
142982003-02-28 Jason Merrill <jason@redhat.com>
14299
14300 * stor-layout.c (variable_size): Leave a "minus 1" outside the
14301 SAVE_EXPR.
14302
f8f0e566
DE
143032003-02-28 David Edelsohn <edelsohn@gnu.org>
14304
14305 * config/rs6000/power4.md: Add compare bypass.
14306
35501efe
JT
143072003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
14308
14309 * config/netbsd.h: Update copyright years.
14310 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
14311 -pthread is specified on the command line.
14312
8f7ee471
DJ
143132003-02-28 Dale Johannesen <dalej@apple.com>
14314
52999738 14315 * loop.c (struct movable): Add insert_temp, shrink savemode.
8f7ee471 14316 (scan_loop): Accept invariants that require copying; mark as
52999738 14317 insert_temp.
8f7ee471
DJ
14318 (combine_movables): Don't combine insert_temp movables.
14319 (move_movables): Insert copies for insert_temp movables.
14320 Don't record the info based on regno for insert_temp's.
14321
67c2b45f
JS
143222003-02-28 Joel Sherrill <joel@OARcorp.com>
14323
14324 PR 9638/other
9a79ab7e 14325 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
67c2b45f
JS
14326 this constant defaults to 1.
14327
066f1538
BW
143282003-02-28 Bob Wilson <bob.wilson@acm.org>
14329
14330 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
14331
b8c53e96
RE
143322003-02-28 Richard Earnshaw <rearnsha@arm.com>
14333
9a79ab7e 14334 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
b8c53e96
RE
14335 ARMv5e processor, not just for XScale. Instructions are predicable.
14336 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
14337
b93828f3
NC
143382003-02-28 Nick Clifton <nickc@redhat.com>
14339
14340 * config/arm/arm.c (note_invalid_constants): Change parameter type
14341 from bool to int.
14342
3c042316
KH
143432003-02-28 Kazu Hirata <kazu@cs.umass.edu>
14344
14345 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
14346 test of bit 7.
14347 (*tst_extzv_memqi_1_n): Likewise.
14348 (a peephole2): New.
14349
c876997f 143502003-02-28 Richard Sandiford <rsandifo@redhat.com>
28727f1f
RS
14351
14352 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
14353 #ifndef __mips16.
14354
62c9aa5f 143552003-02-28 Jan Hubicka <jh@suse.cz>
10a3fdd9
JH
14356
14357 * combine.c (gen_lowpart_for_combine): Update handling of
14358 subregs_of_mode
14359 * flow.c (life_analysis, mark_used_regs): Likewise.
14360 * regclass.c (subregs_of_mode): Turn into single bitmap.
14361 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
14362 dealing with subregs_of_mode
14363 * regs.h (subregs_of_mode): Update prototype.
14364
9d18e06b
JZ
143652003-02-28 Josef Zlomek <zlomekj@suse.cz>
14366
14367 * emit-rtl.c (set_reg_attrs_for_parm): New function.
14368 * rtl.h (set_reg_attrs_for_parm): New exported function.
14369 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
14370 set_reg_attrs_from_mem.
14371
95456d43
RS
143722003-02-27 Roger Sayle <roger@eyesopen.com>
14373 Zack Weinberg <zack@codesourcery.com>
14374
14375 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
14376
28ae9fed
KH
143772003-02-27 Kazu Hirata <kazu@cs.umass.edu>
14378
14379 * reload1.c (sext_for_mode): Remove.
14380 (reload_cse_move2add): Use trunc_int_for_mode instead of
14381 sext_for_mode.
14382 (move2add_note_store): Likewise.
14383 Reset register information if we see a set in non-integer
14384 mode.
14385
d47719fd
DE
143862003-02-27 David Edelsohn <edelsohn@gnu.org>
14387
30e7f17e
DE
14388 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
14389 option.
14390 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
14391 * config/rs6000/aix51.h: Same.
14392 * config/rs6000/aix52.h: Same.
d47719fd
DE
14393 * config/rs6000/power4.md: Additional VMX bypasses.
14394
7a69a172
GB
143952003-02-27 Geert Bosch <bosch@gnat.com>
14396
14397 * toplev.c (print_version): Add indentation for GGC heuristics and
14398 output after printing version information.
14399
678e68fc
JW
144002003-02-27 James E Wilson <wilson@tuliptree.org>
14401
14402 * combine.c (simplify_comparison): Require integral mode when
14403 permuting SUBREG with AND.
14404
986704f1
SE
144052003-02-27 Steve Ellcey <sje@cup.hp.com>
14406
14407 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
14408
1e3af7f6
NC
144092003-02-27 Nick Clifton <nickc@redhat.com>
14410
14411 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
14412 deleted when cirrus instructions were added.
14413
51b7c247
JT
144142003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
14415
14416 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
14417 POSIX thread support by default.
14418
3eae722d
RS
144192003-02-27 Roger Sayle <roger@eyesopen.com>
14420
14421 * config/i386/cygwin.h: Don't include any other files directly.
14422 * config/i386/mingw32.h: Don't include cygwin.h directly.
14423 * config.gcc (cygwin, mingw32, uwin): Instead make these files
14424 explicit in the tm_files variable.
14425
6fc19dc9
AM
144262003-02-27 Alan Modra <amodra@bigpond.net.au>
14427
14428 * config/rs6000/rs6000.md: Add TI constant splitter.
14429
c41536f5
AO
144302003-02-26 Alexandre Oliva <aoliva@redhat.com>
14431
65c04548
AO
14432 * builtins.c (purge_builtin_constant_p): Handle subreg of
14433 constant_p_rtx too.
14434
c41536f5
AO
14435 * function.c (assign_stack_local_1): Truncate constant added to
14436 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
14437
dccd5213
DE
144382003-02-26 David Edelsohn <edelsohn@gnu.org>
14439
14440 * config.gcc: Add power4 to PowerPC with_cpu list.
14441
62c9aa5f 144422003-02-26 Jan Hubicka <jh@suse.cz>
47a5d8e7
JH
14443
14444 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
14445
cb9e4555
ZD
144462003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14447
14448 * gcov-dump.c (print_prefix): Fix signedness warning.
14449 * gcov-io.h (struct counter_section, struct counter_section_data): New.
14450 (struct function_info): n_arc_counts field removed, n_counter_sections,
14451 counter_sections fields added.
14452 (struct gcov_info): arc_counts, n_arc_counts fields removed,
14453 n_counter_sections, counter_sections fields added.
14454 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
14455 profile sections.
14456 * profile.h (MAX_COUNTER_SECTIONS): New.
14457 (struct section_info): New.
14458 (struct profile_info): count_instrumented_edges,
14459 count_edges_instrumented_now fields removed, n_sections, section_info
14460 fields added.
14461 (find_counters_section): Declare.
14462 * profile.c (struct function_list): count_edges field removed,
14463 n_counter_sections, counter_sections fields added.
14464 (set_purpose, label_for_tag, build_counter_section_fields,
14465 build_counter_section_value, build_counter_section_data_fields,
14466 build_counter_section_data_value, build_function_info_fields,
14467 build_function_info_value, build_gcov_info_fields,
14468 build_gcov_info_value): New static functions.
14469 (find_counters_section): New function.
14470 (instrument_edges, get_exec_counts, compute_branch_probabilities,
14471 branch_prob, create_profiler): Modified to support multiple profile
14472 sections.
14473
b0d7ef9a
JDA
144742003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14475
14476 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
14477 is 8 * STACK_BOUNDARY.
14478 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
14479
f6e91562
MM
144802003-02-26 Michael Matz <matz@suse.de>
14481
14482 * ra-colorize.c (merge_moves): Fix list handling.
14483
f0375c66
NC
144842003-02-26 Nick Clifton <nickc@redhat.com>
14485
14486 * config/arm/arm.c (is_load_address): Rename to...
52999738
ZW
14487 (arm_memory_load_p) ... this and make it check for SUBREGs and
14488 constant loads that will be converted into loads from the
14489 minipool.
14490 (is_cirrus_insn): Rename to ...
14491 (arm_cirrus_insn_p): ... this, for consistency. Replace test
14492 of CIRRUS_NO with CIRRUS_NOT.
14493 (cirrus_reorg): Use renamed functions.
14494 (note_invalid_constants): Change from a void function to bool.
14495 Add an extra parameter, saying whether the fixups should be
14496 pushed. Return true if fixups are needed.
14497 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
14498 of CIRRUS_NO with CIRRUS_NOT.
14499 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
14500 other floating point co-processors can also affect this.
14501 * config/arm/arm.md ("type" attribute): Add mav_farith and
14502 mav_dmult. Replace references to "cirrus_type" attribute with
14503 "type".
14504 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
14505 ("cirrus_type" attribute): Delete - use "type" instead.
14506 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
14507 'normal'.
f0375c66 14508
62c9aa5f 145092003-02-25 Jan Hubicka <jh@suse.cz>
0d446150
JH
14510
14511 * objc-act.c: Include cgraph.h
14512 (mark_referenced_methods): New function.
14513 (objc_init): Call it.
14514 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
14515
14516 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
14517 mode.
14518
14519 * optabs.c (expand_fix): Do not widen the input operand.
14520
14521 * expr.c (emit_group_store): Fix crash when converting single
14522 register into complex register.
14523
14524 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
14525 * alias.c: Include timevar.h
14526 (init_alias_analysis): Set timevar
14527 * jump.c: Include timevar.h
14528 (rebuild_jump_labels): Set timevar
14529 * regcalss.c: Include timevar.h
14530 (reg_scan): Set timevar
14531 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
14532
b17d5d7c
ZD
145332003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14534
14535 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
14536
14537 * Makefile.in (loop-unroll.o): New.
14538 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
14539 (unroll_and_peel_loops): Declare.
14540 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
14541 flag_old_unroll_loops.
14542 * loop.c (loop_invariant_p): Ditto.
14543 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
14544 flag_old_unroll_all_loops.
14545 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
14546 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
14547 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
14548 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
14549 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
14550 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
14551 PARAM_MAX_ONCE_PEELED_INSNS): New.
14552 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
14553 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
14554 instead of old one.
14555 (flag_peel_loops): New.
14556 (lang_independent_options): The new flags added.
14557 (rest_of_compilation): Call new unroller.
14558 (process_options): Setup flags for coexistence of old and new unroller.
14559 * doc/invoke.texi: Document new options.
14560 * doc/passes.texi: Document new unroller pass.
14561
244f7aa9
DB
145622003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
14563
14564 * fixinc/fixincl.x: Regenerate
14565
1d14f992
JZ
145662003-02-26 Josef Zlomek <zlomekj@suse.cz>
14567
14568 * function.c (assign_parms): Set reg_attrs for parameters passed in
14569 registers.
14570
8ace9f18
AM
145712003-02-26 Alan Modra <amodra@bigpond.net.au>
14572
38a84391 14573 PR target/9681
8ace9f18
AM
14574 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
14575
9a29ee42
DE
145762003-02-25 David Edelsohn <edelsohn@gnu.org>
14577
14578 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
14579 pseudo-op.
14580
8beccec8
RS
145812003-02-25 Roger Sayle <roger@eyesopen.com>
14582
14583 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
14584 * cse.c (invalidate_skipped_set): Likewise.
14585 * integrate.c (subst_constants): Likewise.
14586 * jump.c (reversed_comparison_code_parts): Likewise.
14587 * loop.c (canonicalize_condition): Likewise.
14588 * simplify-rtx.c (simplify_relational_operation): Likewise.
14589
b052d8ee
RS
145902003-02-25 Roger Sayle <roger@eyesopen.com>
14591
14592 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
14593 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
14594 the appropriate macro to define built-in function.
14595 (fmod,fmodf,fmodl): New built-in functions.
14596
14597 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
14598
8d454008
RH
145992003-02-25 Richard Henderson <rth@redhat.com>
14600
14601 * config/i386/i386.c (function_arg): Pass variable sized
14602 structures correctly on the stack.
14603
fc943f55
KH
146042003-02-25 Kazu Hirata <kazu@cs.umass.edu>
14605
14606 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
14607 does not reduce the cost of SET.
14608
14f00213
FS
146092003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14610
14611 PR target/9732
14612 * config/rs6000/rs6000.c (first_reg_to_save): Handle
14613 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
14614 (rs6000_emit_prologue): Likewise.
14615 (rs6000_emit_epilogue): Likewise.
14616 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
14617 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
14618
8164b171
RH
146192003-02-25 Richard Henderson <rth@redhat.com>
14620
14621 * real.c (real_to_integer2): Force overflow result only for
14622 unsigned overflow.
14623
9e48c409
KH
146242003-02-25 Kazu Hirata <kazu@cs.umass.edu>
14625
14626 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
14627
3044064c 146282003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
52999738 14629 Richard Henderson <rth@redhat.com>
3044064c
VM
14630
14631 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4e21585b 14632 there is no similar load.
3044064c 14633
15aab9c0 146342003-02-25 Vladimir Makarov <vmakarov@redhat.com>
52999738 14635 Richard Henderson <rth@redhat.com>
15aab9c0
VM
14636
14637 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
14638 sched-rgn.c.
14639 (add_forward_dependence): New function prototype.
14640
14641 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
14642 sched-init.h.
14643 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
14644 them to haifa-sched.c.
14645
14646 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
14647 haifa_classify_insn): Move them from sched-rgn.c.
14648
14649 * sched-deps.c (add_dependence): Return flag of creating a new
14650 entry.
14651 (add_forward_dependence): New function.
14652 (compute_forward_dependences): Use the function.
9a79ab7e 14653
15aab9c0
VM
14654 * sched-ebb.c (earliest_block_with_similiar_load): New function.
14655 (add_deps_for_risky_insns): New function.
14656 (schedule_ebb): Call the function.
14657
146582003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9 14659
52999738
ZW
14660 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
14661 TARGET_VECTOR_OPAQUE_P. Document accordingly.
c8e4f0e9 14662
52999738
ZW
14663 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
14664 opaque types fail.
c8e4f0e9 14665
52999738
ZW
14666 * c-typeck.c (comptypes): Change call to vector_types_compatible
14667 to vector_opaque_p.
14668 (convert_for_assignment): Call vector_opaque_p instead of
14669 vector_types_compatible.
14670 (really_start_incremental_init): Disallow initialization of opaque
14671 types.
c8e4f0e9 14672
52999738
ZW
14673 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
14674 Define TARGET_VECTOR_OPAQUE_P.
14675 (TARGET_INITIALIZER): Same.
c8e4f0e9 14676
52999738
ZW
14677 * target.h (struct gcc_target): Remove vector_types_compatible.
14678 Add vector_opaque_p.
c8e4f0e9 14679
52999738
ZW
14680 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
14681 Remove.
14682 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
14683 a vector type. Change return type to bool.
14684 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
14685 (TARGET_VECTOR_OPAQUE_P): Define.
c8e4f0e9 14686
52999738
ZW
14687 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
14688 target hook.
14689 Include target.h.
14690 (cp_parser_init_declarator): Fix typo in function comments.
c8e4f0e9 14691
62c9aa5f 146922003-02-25 Jan Hubicka <jh@suse.cz>
fa1a0d02
JH
14693
14694 * Makefile.in (lcm.o): Add dependency on function.h
14695 * lcm.c (function.h): Include.
14696 * i386.c (machine_function, ix86_stack_locals,
14697 * ix86_save_varrargs_registers) : Move to
14698 ...
14699 * i386.h (machine_function, ix86_stack_locals,
14700 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
14701 (ix86_optimize_mode_switching): New.
14702 * i386.md (fix patterns): Set ix86_optimize_mode_switching
14703
b103bfef
NC
147042003-02-25 Nick Clifton <nickc@redhat.com>
14705
14706 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
14707 of fourth arg is 'fndecl' not 'indirect'. Update comment
14708 describing the function's parameters.
14709
62c9aa5f 147102003-02-24 Jan Hubicka <jh@suse.cz>
2d21f7d6
JH
14711
14712 * combine.c (simplify_shift_const): Fix previous patch.
14713
2bac97f7
JL
147142003-02-24 Jeff Law <law@redhat.com>
14715
14716 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
14717 alternative.
14718 (testsi_1, testhi_1, testqi_1): Likewise.
14719
f8dc212b
RO
147202003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14721
14722 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
14723 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
14724 * doc/extend.texi (Tru64 Pragmas): Reflect this.
14725
14726 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
9a79ab7e 14727 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
f8dc212b
RO
14728 * fixinc/fixincl.x: Regenerate.
14729 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
14730 testcase.
14731 Fixes PR c/5059, c/6126, other/9671.
9a79ab7e 14732
44ee6e9e
RS
147332003-02-24 Roger Sayle <roger@eyesopen.com>
14734
14735 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
14736 from handle_braces in "%{...}".
14737
463f02cd
KK
147382003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
14739
14740 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
14741 (prepare_move_operands): Handle TLS operands.
14742 (tls_symbolic_operand): New.
14743 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
14744 (legitimize_pic_address): Do nothing for the TLS symbol.
14745 (sh_encode_section_info): Handle TLS case.
14746 (sh_strip_name_encoding): Drop TLS encoding.
14747 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
14748 * config/sh/sh.h (SH_TLS_ENCODING): Define.
14749 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
14750 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
14751 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
14752 * config/sh/sh.md: Define TLS UNSPEC constants.
14753 (type): Add tls_load.
14754 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
14755 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
14756 ("tls_initial_exec"): New insn.
14757 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
14758 ("load_gbr"): New insn.
14759
14760 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
52999738 14761 * configure: Regenerate.
463f02cd 14762
8403445a
AM
147632003-02-24 Alan Modra <amodra@bigpond.net.au>
14764
6fc19dc9 14765 PR 9297, PR 9722
8403445a
AM
14766 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
14767 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
14768 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
14769 (enum block_op_methods): Reorder for better store_expr optimization.
14770 * expr.c (store_expr): Test bit 1 of "want_value" for call param
14771 stores, test bit 0 for original want_value meaning. Pass
14772 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
14773 recursive calls, and calls to expand_param.
14774 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
14775 expected, set target to 0 rather than to subtarget. Formatting.
14776
ef906381
KH
147772003-02-23 Kazu Hirata <kazu@cs.umass.edu>
14778
14779 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
14780
16226f1e
KG
147812003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14782
14783 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
14784 new default behavior.
14785 * ggc-common.c: Include sys/resource.h.
14786 (ggc_rlimit_bound): New function.
14787 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
14788 defaults to account for rlimits.
14789
9e555526
RH
147902003-02-22 Richard Henderson <rth@redhat.com>
14791
14792 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
14793
147942003-02-22 Kelley Cook <kelley@dwhoops.info>
14795
52999738 14796 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
9e555526
RH
14797 (ix86_tune_string): Rename from ix86_cpu_string.
14798
9d913bbf
KC
147992003-02-22 Kelley Cook <kelleycook@comcast.net>
14800
52999738
ZW
14801 * config/i386/i386.c: Replace "mcpu" with "mtune".
14802 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
14803 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
14804 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
14805 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
9d913bbf 14806
d2c172bf
AS
148072003-02-23 Andreas Schwab <schwab@suse.de>
14808
14809 * config.gcc: Delete references to m68k/t-linux and
14810 m68k/t-linux-aout.
14811 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
14812
62c9aa5f 148132003-02-22 Jan Hubicka <jh@suse.cz>
b3de7382
JH
14814
14815 * toplev.c (rest_of_compilation): Apply fotgotten hunk
14816 of track scheduling patch.
14817
62c9aa5f 148182003-02-22 Jan Hubicka <jh@suse.cz>
90b8be73
JH
14819
14820 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
14821 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
14822
62c9aa5f 148232003-02-22 Jan Hubicka <jh@suse.cz>
764c4414
JH
14824
14825 * c-decl.c (c_expand_body_1): Fix.
14826
62c9aa5f 148272003-02-22 Jan Hubicka <jh@suse.cz>
1c4a429a
JH
14828
14829 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
14830
14831 * cfgcleanup.c (try_forward_edges): Don't check loop structures
14832 when not optimizing.
14833 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
14834 when not expensive.
14835 * toplev.c (rest_of_compilation): Duplicate loop headers only when
14836 optimizing; Delete trivially dead insns early; fix optimize check.
14837
14838 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
14839 dependency on cgraph.h
14840 * c-decl.c: Include cgraph.h
14841 (finish_function): Update call of tree_inlinable_function_p.
14842 * c-objc-common.c: Include cgraph.h
14843 * cgraph.h: New file.
14844 * cgraphunit.c: New file.
14845 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
14846 (cgraph_nodes, cgraph_n_nodes): Globalize.
14847 (cgraph_finalize_function, cgraph_finalize_compilation_unit
14848 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
14849 Move into cgraphunit.c
14850 * tree-inline.c: Include cgraph.h
14851 * tree-inline.c: Include cgraph.h
14852
1e2115dc
JZ
148532003-02-22 Josef Zlomek <zlomekj@suse.cz>
14854
14855 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
14856 for copying a register.
14857
26182e15
SB
148582003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
14859
14860 PR other/3782
14861 * toplev.c (process_options): If flag_detailed_statistics is set,
14862 then set time_report as well.
14863
b6553814
SB
14864 PR c/8828
14865 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
14866 insns. Update comments to reflect what the function really does.
14867
c0a47a61
RS
148682003-02-21 Roger Sayle <roger@eyesopen.com>
14869
14870 * fold-const.c (omit_one_operand): No longer static.
14871 * tree.h (omit_one_operand): Prototype here.
14872 (div_and_round_double): Keep fold-const.c prototypes together.
14873 * builtins.c (builtin_mathfn_code): Handle binary built-in
14874 funtions, such as "pow" and "atan2".
14875 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
14876 Simplify optimizations using "type" the builtin's return type.
14877
51928907
HPN
148782003-02-22 Hans-Peter Nilsson <hp@axis.com>
14879
5b296d93
HPN
14880 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
14881 Fix functionalization typo.
14882
51928907
HPN
14883 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
14884 in an asm.
14885
9ac121af
KG
148862003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14887
14888 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
14889 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
14890 documentation.
14891 * ggc-common.c: Include params.h
14892 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
14893 init_ggc_heuristics): New functions.
14894 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
14895 init_ggc_heuristics): Prototype.
14896 * toplev.c (print_version): Output GGC heuristics.
14897 (parse_options_and_default_flags): Call init_ggc_heuristics.
14898
62c9aa5f 148992003-02-22 Jan Hubicka <jh@suse.cz>
453ee231
JH
14900
14901 * i386.c (def_builtin): Special case 64bit builtins.
14902 (MASK_SSE164, MASK_SSE264): New constants.
14903 (builtin_description): Add 64bit builtins.
14904 (ix86_init_mmx_sse_builtins): Likewise.
14905 * i386.h (enum ix86_builtins): Likewise.
14906 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
14907 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
14908 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
14909 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
14910 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
14911 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
14912 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
14913
62c9aa5f 149142003-02-22 Jan Hubicka <jh@suse.cz>
d50672ef
JH
14915
14916 * i386.c (builtin_description): Add __builtin_ia32_paddq and
14917 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
14918 and __builtin_ia32_psubq128.
14919 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
14920 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
14921 (mmx_adddi3, mmx_subdi3): New.
14922 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
14923 * xmmintrin.h (_mm_movepi64_pi64): New.
14924 (_mm_add_epi64, _mm_sub_epi64): fix.
14925 (_mm_mul_pu16): Rename to...
14926 (_mm_mul_su32): ... this one.
14927
14928 * builtins.c (expand_builtin_expect): Do not predict
14929 flag_guess_branch_prob is not set.
14930 * c-semantics.c (expand_stmt): Likewise.
14931 * predict.c (predict_insn): Likewise.
14932 * stmt.c (expand_continue_loop): Likewise.
14933 * toplev.c (rest_of_compilation): Do not call
14934 note_prediction_to_br_prob and note_prediction_to_br_prob
14935 when not optimizing.
14936
62c9aa5f 149372003-02-21 Jan Hubicka <jh@suse.cz>
9809a362
JH
14938
14939 * cfgrtl.c (commit_edge_insertions): Call
14940 find_many_sub_basic_block only when some code has been emitted.
14941 (commit_edge_insertions_watch_calls): Bring into sync with
14942 commit_edge_insertions
14943
62c9aa5f 149442003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
a93d1ba2
R
14945
14946 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
14947
14948 * sh.md (binary_sf_op): Use extra constant operand instead of
14949 negating constant operand 4.
14950 * sh.c (sh_expand_binop_v2sf): Supply it.
14951
a8d0ddaf
ZW
149522003-02-21 Zack Weinberg <zack@codesourcery.com>
14953
14954 * cpphash.h (struct lexer_state): Add directive_wants_padding.
14955 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
14956 for directives of type INCL.
14957 (glue_header_name, parse_include): Use get_token_no_padding.
14958 * cppmacro.c (replace_args): If directive_wants_padding,
14959 provide padding tokens.
14960
902ac719
KH
149612003-02-21 Kazu Hirata <kazu@cs.umass.edu>
14962
14963 * config/h8300/h8300.md (a peephole2): New.
14964
62c9aa5f 149652003-02-21 Jan Hubicka <jh@suse.cz>
9dca2ad5
JH
14966
14967 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
14968 (commit_edge_insertions): Call find_many_sub_basic_blocks
14969
14970 * reg-stack.c (convert_regs): Cleax aux for blocks.
14971
62c9aa5f 149722003-02-21 Jan Hubicka <jh@suse.cz>
64465d27
JH
14973
14974 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
14975
9e7d0b92
GN
149762003-02-21 Glen Nakamura <glen@imodulo.com>
14977
14978 PR optimization/8613
14979 * builtins.c (expand_builtin): Emit postincrements before expanding
14980 builtin functions.
14981
a7582c8c
BE
149822003-02-21 Ben Elliston <bje@redhat.com>
14983
14984 PR other/5634
14985 * doc/install.texi (Configuration): Explain using $HOME instead of
14986 the ~ metacharacter when referring to home directories.
14987
91710e62
AO
149882003-02-20 Alexandre Oliva <aoliva@redhat.com>
14989
14990 * configure.in (TARGET_SYSTEM_ROOT): Set default to
14991 ${exec_prefix}/${target_alias}/sys-root. Match explicit
14992 '${exec_prefix}' (in addition to the expansion thereof) as
14993 relocatable.
14994 * configure: Rebuilt.
14995
d64f6f86
KH
149962003-02-20 Kazu Hirata <kazu@cs.umass.edu>
14997
14998 * config/h8300/h8300.md (addhi3_incdec): Change the name to
14999 *addhi3_incdec.
15000 (addsi3_incdec): Change the name to *addsi3_incdec.
15001
fd7acc30
RS
150022003-02-20 Roger Sayle <roger@eyesopen.com>
15003
15004 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
15005
1c2de642
TM
150062003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
15007
15008 PR fortran/9038
15009 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
15010 options to be ignored.
15011 (c_common_decode_option): Ignore them when preprocessing.
15012
62c9aa5f 150132003-02-20 Jan Hubicka <jh@suse.cz>
b9422b69 15014
fd7acc30
RS
15015 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
15016 global variables.
15017 (lang_independent_options): Add -fsched2-use-superblocks
15018 -fsced2-use-traces.
b9422b69
JH
15019 (rest_of_compilation): Deal with it.
15020 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
15021 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
15022 Declare.
b9422b69
JH
15023 * rtl.h (reg_to_stack): Update prototype.
15024 * reg-stack.c (reg_to_stack): Return when something has changed;
15025 update liveness when executing after superblock scheduling.
15026
15027 * combine.c (simplify_shift_const): Simplify few special cases
15028 into constants.
15029
a62bfff2
DE
150302003-02-20 David Edelsohn <edelsohn@gnu.org>
15031
15032 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
15033 (add.,subf.,neg.): Change attribute to fast_compare.
15034 All DFA descriptions updated.
15035
dbbf88d1
NS
150362003-02-20 Nathan Sidwell <nathan@codesourcery.com>
15037
15038 Change base class access representation.
15039 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
15040 TREE_VIA_PRIVATE): Remove.
15041 (BINFO_BASEACCESSES): New binfo elt.
15042 (BINFO_BASEACCESS): New accessor.
15043 (BINFO_ELTS): Increase.
15044 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
15045 (access_public_node, access_protected_node,
15046 access_private_node): New global nodes.
15047 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
15048 * dbxout.c (dbxout_type): Adjust.
15049 * dwarf2out.c (gen_inheritance_die): Add access parameter.
15050 (gen_member_die): Adjust.
15051 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
15052 (output_type): Adjust.
15053 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
15054
15055 Change base class access representation. Share virtual base
15056 binfos.
15057 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
15058 call.
15059 * cp/class.c (build_base_path): Likewise.
15060 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
15061 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
15062 (make_new_vtable): Adjust.
15063 (force_canonical_binfo_r): Delete.
15064 (force_canonical_binfo): Delete.
15065 (mark_primary_virtual_base): Delete.
15066 (dfs_unshared_virtual_bases): Delete.
15067 (mark_primary_bases): Adjust.
15068 (maybe_warn_about_overly_private_class): Adjust.
15069 (dfs_base_derived_from): Delete.
15070 (base_derived_from): Follow the inheritance chain.
15071 (struct find_final_overrider_data): Add vpath member.
15072 (dfs_find_final_overrider): Adjust.
15073 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
15074 (find_final_overrider): Adjust.
15075 (update_vtable_entry_for_fn): Adjust.
15076 (modify_all_vtables): Adjust.
15077 (walk_subobject_offsets): Adjust.
15078 (layout_nonempty_base_or_field): Adjust.
15079 (layout_empty_base): Remove last parameter. Adjust.
15080 (build_base_field): Adjust.
15081 (build_base_fields): Adjust.
15082 (propagate_binfo_offsets): Remove last parameter. Adjust.
15083 (dfs_set_offset_for_unshared_vbases): Delete.
15084 (layout_virtual_bases): Adjust.
15085 (finish_struct_1): Adjust.
15086 (init_class_processing): Don't init access nodes.
15087 (dfs_get_primary_binfo): Delete.
15088 (get_primary_binfo): Adjust.
15089 (dump_class_hierarchy_r): Remove most derived arg, add IGO
15090 parameter. Adjust.
15091 (dump_class_hierarchy): Adjust.
15092 (finish_vtbls): Adjust.
15093 (get_original_base): Delete.
15094 (build_vtt_inits): Adjust.
15095 (dfs_build_secondary_vptr_vtt_inits): Adjust.
15096 (dfs_ctor_vtable_bases_queue_p): Adjust.
15097 (build_ctor_vtbl_group): Adjust.
15098 (dfs_accumulate_vtbl_inits): Adjust.
15099 (build_vtbl_initializer): Adjust.
15100 (build_vbase_offset_vtbl_entries): Adjust.
15101 (add_vcall_offset_vtbl_entries_1): Adjust.
15102 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
15103 (access_*_node): Remove.
15104 (CANONICAL_BINFO): Delete.
15105 (BINFO_UNSHARED_MARKED): Remove.
15106 (BINFO_MARKED): Set LANG_FLAG_0 directly.
15107 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
15108 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
15109 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
15110 Delete.
15111 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
15112 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
15113 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
15114 Delete.
15115 (BINFO_DEPENDENT_BASE_P): New.
15116 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
15117 index.
15118 (markedp, unmarkedp): Adjust.
15119 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
15120 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
15121 find_vbase_instance, binfo_for_vbase): Delete.
15122 (copied_binfo, original_binfo): Declare.
15123 (finish_base_specifier): Add virtual_p arg.
15124 (unshare_base_binfos): Delete.
15125 (copy_base_binfos): Declare.
15126 (reverse_path): Delete.
15127 * cp/decl.c (xref_basetypes): Access and virtuality passed
15128 differently. Don't copy direct base binfos here. Call
15129 copy_base_binfos.
15130 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
15131 (initialize_vtbl_ptrs): Adjust.
15132 (expand_member_init): Adjust.
15133 * cp/parser.c (cp_parser_base_specifier): Adjust.
15134 * cp/pt.c (instantiate_class_template): Adjust.
15135 (get_template_base_recursive): Adjust.
15136 * cp/rtti.c (get_pseudo_ti_init): Adjust.
15137 (get_pseudo_ti_desc): Adjust.
15138 * cp/tree.c (unshare_base_binfos): Rename to ...
15139 (copy_base_binfos): ... here, reimplement.
15140 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
15141 (reverse_path): Remove.
15142 * cp/typeck.c (get_delta_difference): Adjust error messages.
15143 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
15144 * cp/search.c (lookup_base_r): Adjust.
15145 (dynamic_cast_base_recurse): Adjust.
15146 (canonical_binfo): Remove.
15147 (dfs_canonical_queue): Remove.
15148 (dfs_assert_unmarked_p): Remove.
15149 (assert_canonical_unmarked): Remove.
15150 (shared_marked_p, shared_unmarked_p): Remove.
15151 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
15152 (dfs_access_in_type): Adjust.
15153 (access_in_type): Adjust.
15154 (dfs_accessible_queue_p): Adjust.
15155 (dfs_accessible_p): Adjust.
15156 (is_subobject_of_p_1, is_subobject_of_p): Remove.
15157 (struct lookup_field_info): Remove from_dep_base_p field.
15158 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
15159 (lookup_field_r): Remove dependent base code.
15160 (lookup_member): Likewise.
15161 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
15162 (dfs_unmarked_real_bases_queue_p): Remove.
15163 (dfs_marked_real_bases_queue_p): Remove.
15164 (dfs_skip_vbases): Remove.
15165 (dfs_get_pure_virtuals): Adjust.
15166 (markedp, unmarkedp): Adjust.
15167 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
15168 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
15169 (dfs_unmark): Adjust.
15170 (dfs_get_vbase_types):Remove.
15171 (dfs_build_inheritance_graph_order): Remove.
15172 (get_vbase_types): Remove
15173 (dfs_find_vbase_instance): Remove.
15174 (find_vbase_instance): Remove.
15175 (dfs_debug_unmarkedp): Adjust.
15176 (dependent_base_p): Remove.
15177 (dfs_push_type_decls): Adjust.
15178 (dfs_push_decls): Adjust.
15179 (dfs_no_overlap_yet): Adjust.
15180 (copied_binfo): New function.
15181 (original_binfo): New function.
15182 (binfo_for_vbase): Remove.
15183
15184 Change base class access representation.
15185 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
15186 (add_interface_do): Likewise.
15187
6d6ab190
DE
151882003-02-20 David Edelsohn <edelsohn@gnu.org>
15189
a8d0ddaf
ZW
15190 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
15191 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
15192 insn reservations.
15193 (power4-fpstore): Compact.
15194
2dd5df7c
KH
151952003-02-20 Kazu Hirata <kazu@cs.umass.edu>
15196
15197 * config/h8300/h8300.md (*iorsi3_w): New.
15198
8fa08316
JZ
151992003-02-20 Josef Zlomek <zlomekj@suse.cz>
15200
15201 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
15202 * rtl.c (reg_note_name): Likewise.
15203 * rtl.h (enum reg_note): Likewise.
15204 * doc/invoke.texi: Likewise.
15205 * doc/rtl.texi: Likewise.
15206
c8717368
JZ
152072003-02-20 Josef Zlomek <zlomekj@suse.cz>
15208
15209 * bb-reorder.c (find_traces_1_round): Fix comment typo.
15210
3bc400cd
RS
152112003-02-19 Roger Sayle <roger@eyesopen.com>
15212
15213 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
15214 addition in the presence of signaling NaNs.
15215
b5a49c0b
KW
152162003-02-19 Krister Walfridsson <cato@df.lth.se>
15217
15218 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
15219
472f2723
KH
152202003-02-19 Kazu Hirata <kazu@cs.umass.edu>
15221
15222 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
15223 ORing with 0xffff??00 with the highest bit of the ?? part set.
15224 (compute_logical_op_length): Update.
15225 (compute_logical_op_cc): Likewise.
15226
6d9cc15b
JZ
152272003-02-19 Josef Zlomek <zlomekj@suse.cz>
15228
15229 * bb-reorder.c (find_traces_1_round): Fixed condition for small
15230 destination block with multiple predecessors.
15231 (connect_traces): Check whether the block is a start of trace.
15232
62c9aa5f 152332003-02-19 Jan Hubicka <jh@suse.cz>
563a317a
JH
15234
15235 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
15236 * function.c (assign_params): Likewise.
15237 * arm-protos.h (arm_init_cumulative_args): Update prototype.
15238 * arm.c (arm_init_cumulative_args): Update function.
15239 * arm.h (INIT_CUMULATIVE_ARGS): Update.
15240 * avr-protos.h (init_cumulative_args): Update prototype.
15241 * avr.c (init_cumulative_args): Update function.
15242 * avr.h (INIT_CUMULATIVE_ARGS): Update.
15243 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
15244 * d30v.c (d30v_init_cumulative_args): Update function.
15245 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
15246 * frv-protos.h (frv_init_cumulative_args): Update prototype.
15247 * frv.c (frv_init_cumulative_args): Update function.
15248 * frv.h (INIT_CUMULATIVE_ARGS): Update.
15249 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
15250 * pa.h (INIT_CUMULATIVE_ARGS): Update.
15251 * sparc-protos.h (init_cumulative_args): Update prototype.
15252 * sparc.c (init_cumulative_args): Update function.
15253 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
15254 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
15255
be9d08c2
KH
152562003-02-19 Kazu Hirata <kazu@cs.umass.edu>
15257
15258 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
15259 (*ashiftsi_sextqi_7): Likewise.
15260
f23147fe
RO
152612003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15262
15263 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
15264 ISO C99 and C++.
15265
15266 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
15267 for C++ on IRIX 6.5.1[89].
15268 * fixinc/tests/base/internal/sgimacros.h: New file.
15269
15270 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
15271 * fixinc/tests/base/internal/wchar_core.h: New file.
a8d0ddaf 15272
f23147fe
RO
15273 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
15274 socklen_t definition.
15275 * fixinc/fixincl.x: Regenerate.
15276 * fixinc/tests/base/sys/socket.h: New file.
15277 Fixes PR libgcj/9652.
15278
62c9aa5f 152792003-02-19 Jan Hubicka <jh@suse.cz>
30e4d9d4
JH
15280
15281 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
15282
2792d578
DE
152832003-02-19 David Edelsohn <edelsohn@gnu.org>
15284
15285 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
15286 align_jumps_max_skip and align_loops_max_skip.
15287
152882003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
15289
15290 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
15291 test size if named section.
15292
48a5f2fa
DJ
152932003-02-19 Daniel Jacobowitz <drow@mvista.com>
15294
15295 * expr.c (expand_expr): Use gen_int_mode for the argument
15296 to gen_rtx_MULT.
15297
62c9aa5f 152982003-02-19 Jan Hubicka <jh@suse.cz>
9e889775
JH
15299
15300 * i386.md (cosxf2): Fix conditional.
15301
f4c07fbf
KH
153022003-02-19 Kazu Hirata <kazu@cs.umass.edu>
15303
15304 * config/h8300/h8300.md (extendqisi2): Change to an expander.
15305 (*extendqisi2_h8300): New.
15306 (*extendqisi2_h8300hs): Likewise.
15307
590734b6
KH
153082003-02-19 Kazu Hirata <kazu@cs.umass.edu>
15309
15310 * config/h8300/h8300-protos.h: Update the prototype for
15311 split_adds_subs. Remove the prototypes for
15312 const_int_le_2_operand and const_int_le_6_operand.
15313 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
15314 (const_int_le_2_operand): Remove.
15315 (const_int_le_6_operand): Likewise.
15316 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
15317 for const_int_le_2_operand and const_int_le_6_operand.
15318 * config/h8300/h8300.md: Update all uses of split_adds_subs.
15319 (a peephole2): New.
15320
62c9aa5f 153212003-02-18 Jan Hubicka <jh@suse.cz>
c001c39b
JH
15322
15323 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
15324 (cgraph_expand_function): Rewrite.
15325
2f51bb1d 153262003-02-18 Matt Austern <austern@apple.com>
3bc400cd 15327
2f51bb1d 15328 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 15329 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 15330
ff6e1a2f
KH
153312003-02-18 Kazu Hirata <kazu@cs.umass.edu>
15332
15333 * config/h8300/h8300.c (general_operand_src): Always check
15334 MODE.
15335 (general_operand_dst): Likewise.
15336
78bd5210
RS
153372003-02-18 Roger Sayle <roger@eyesopen.com>
15338
15339 * convert.c (convert_to_real): Also optimize (float)log(x) into
15340 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
15341
9f3a9a08
KK
153422003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
15343
a8d0ddaf 15344 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 15345 (sh_cannot_copy_insn_p): New.
a8d0ddaf 15346 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 15347
d7ddbe24
RH
153482003-02-18 Richard Henderson <rth@redhat.com>
15349
15350 * c-common.c (handle_used_attribute): Accept static data too.
15351
153522003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 15353 Aldy Hernandez <aldyh@redhat.com>
22d324c1 15354
a8d0ddaf 15355 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 15356
a8d0ddaf 15357 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 15358
a8d0ddaf
ZW
15359 * target-def.h (TARGET_INITIALIZER): Add
15360 TARGET_VECTOR_TYPES_COMPATIBLE.
15361 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 15362
a8d0ddaf 15363 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 15364
a8d0ddaf
ZW
15365 * c-typeck.c (comptypes): Take into account
15366 TARGET_VECTOR_TYPES_COMPATIBLE.
15367 (convert_for_assignment): Same.
22d324c1 15368
a8d0ddaf
ZW
15369 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
15370 (rs6000_spe_vector_types_compatible): New.
15371 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 15372
e5378e8d
AS
153732003-02-19 Andreas Schwab <schwab@suse.de>
15374
15375 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
15376 * toplev.c: Include langhooks-def.h.
15377
fcc11c35
CD
153782003-02-18 Chris Demetriou <cgd@broadcom.com>
15379
15380 * config/mips/mips.h (enum processor_type): Sort entries
15381 alphabetically.
15382 * config/mips/mips.md (define_attr cpu): Sync with processor_type
15383 enum values, including adding entries that were missing.
15384
62c9aa5f 153852003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
29db2a1e 15386
3bc400cd
RS
15387 * sh.c (calc_live_regs): Also check GET_CODE when checking if
15388 initial value for PR_REG is still the PR_REG register.
29db2a1e 15389
582d11e6
JW
153902003-02-18 Jim Wilson <wilson@redhat.com>
15391
15392 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
15393 instruction in output template.
15394 (bsp_value): Change output template from string to C code, add %,
15395 before actual instruction.
15396 (flushrs): Mark as not predicable.
15397
3edc4b23
KW
153982003-02-18 Krister Walfridsson <cato@df.lth.se>
15399
15400 * inclhack.def (netbsd_bogus_semicolon): New fix.
15401 * fixincl.x: Rebuilt.
15402 * tests/base/ctype.h: Update.
15403
080ea642
RS
154042003-02-18 Roger Sayle <roger@eyesopen.com>
15405
15406 * fold-const.c (negate_expr_p): New function to determine whether
15407 an expression can be negated cheaply.
15408 (fold) [MINUS_EXPR]: Use it to determine whether to transform
15409 -A - B into -B - A for floating point types.
15410
e360ab39
RS
154112003-02-18 Roger Sayle <roger@eyesopen.com>
15412
15413 * sbitmap.c (sbitmap_resize): New function.
15414 * sbitmap.h (sbitmap_resize): Prototype here.
15415 * recog.c (split_all_insns): Use sbitmap_resize.
15416
6b00cbc7
KH
154172003-02-18 Kazu Hirata <kazu@cs.umass.edu>
15418
15419 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
15420 insn length.
15421 (extendqisi2): Likewise.
15422 (*extendhisi2_h8300): Likewise.
15423
2b59501b 154242003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 15425
2b59501b
MA
15426 * langhooks.h, langhooks-def.h: introduce new langhook,
15427 final_write_globals, with write_global_declarations as default.
15428 * toplev.c: Move invocation of wrapup_global_declarations from
15429 compile_file to new function, write_global_declarations. Change
15430 compile_file to use final_write_globals hook. Change
15431 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
a8d0ddaf
ZW
15432 conditional.
15433
131efcd8
JDA
154342003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15435
15436 * pa.md: Correct and enhance comment.
15437
e17aafd1
GK
154382003-02-18 Geoffrey Keating <geoffk@apple.com>
15439
15440 * gcc.c (validate_switches): Don't scan past closing '}'.
15441
f57a2e3a
BE
154422003-02-18 Ben Elliston <bje@redhat.com>
15443
15444 PR c++/1607
15445 * doc/extend.texi (Function Attributes): Document the effect of
15446 the C++ "this" parameter on the counting of arguments for the
15447 "format" and "format_arg" attributes.
15448
9b0c0e9f
AH
154492003-02-17 Aldy Hernandez <aldyh@redhat.com>
15450
a8d0ddaf
ZW
15451 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
15452 (__ev_stdw): Same.
15453 (__ev_stdh): Same.
9b0c0e9f 15454
62c9aa5f 154552003-02-17 Jan Hubicka <jh@suse.cz>
35a3fa09
JH
15456
15457 * recog.c (split_all_insns): Fix memory overflow.
15458
6dc50366
KH
154592003-02-17 Kazu Hirata <kazu@cs.umass.edu>
15460
15461 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
15462 (cmphi): Likewise.
15463 (*cmphi_h8300): Likewise.
15464 (*cmphi_h8300hs): Likewise.
15465 (cmpsi): Likewise.
15466 (7 peephole2): Likewise.
15467
62c9aa5f 154682003-02-16 Jan Hubicka <jh@suse.cz>
096daf41
JH
15469
15470 * c-typeck.c (build_c_cast): Fold constant variables into
15471 initial values.
15472
35113fde
GP
154732003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15474
15475 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
15476 (Binaries): Ditto for Sinix/Reliant Unix.
15477
3a1944a6
RE
154782003-02-16 Richard Earnshaw <rearnsha@arm.com>
15479
15480 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
15481 not overlap the final result register.
15482
cdd4b0d4
AB
154832003-02-16 Arend Bayer <arend.bayer@web.de>
15484 Richard Henderson <rth@redhat.com>
15485
ddb9eedd 15486 PR c/8068
cdd4b0d4
AB
15487 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
15488 rearrange mult arguments for less recursion.
15489 (extract_muldiv): New. Prevent runaway recursion.
15490
616f273a
DS
154912003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
15492
15493 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
15494 MASK_ALIGN_DOUBLE.
15495
881b2a96
RS
154962003-02-15 Roger Sayle <roger@eyesopen.com>
15497
15498 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
15499 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
15500 (ext_80387_constants_table): Global table of 80387 special constants
15501 guarded by ext_80387_constants_init flag when not initialized.
15502 (init_ext_80387_constants): New function to initialize this table.
15503 (standard_80387_constant_p): Extend to recognize extra 80387
15504 constants, in XFmode, on processors where this is a win.
15505 (standard_80387_constant_opcode): New function to return the
15506 opcode associated with standard_80387_constant_p.
15507 (standard_80387_constant_rtx): New function to return the XFmode
15508 CONST_DOUBLE associated with standard_80387_constant_p.
15509 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
15510
15511 * config/i386/i386-protos.h (standard_80387_constant_opcode):
15512 Prototype here.
15513 (standard_80387_constant_rtx): Likewise.
15514
15515 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
15516 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
15517 *movtf_integer): Simplify using new standard_80387_constant_opcode.
15518
d203738b
GK
155192003-02-15 Geoffrey Keating <geoffk@apple.com>
15520
15521 * doc/invoke.texi (Optimize Options): Correct @option syntax.
15522
0b077eac
RH
155232003-02-15 Richard Henderson <rth@redhat.com>
15524
15525 * Makefile.in (cfglayout.o): Depend on TARGET_H.
15526 * cfglayout.c: Include target.h.
15527 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
15528 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
15529 * target.h (struct gcc_target): Add cannot_copy_insn_p.
15530
15531 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
15532 (TARGET_CANNOT_COPY_INSN_P): New.
15533 (override_options): Revert 2003-02-08 hack.
15534
9a71ece1
RH
155352003-02-15 Richard Henderson <rth@redhat.com>
15536
15537 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
15538 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
15539
b54cf83a
DE
155402003-02-15 David Edelsohn <edelsohn@gnu.org>
15541
15542 * config/rs6000/rs6000.h (processor_type): Add PPC440.
15543 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15544 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15545 TARGET_SCHED_VARIABLE_ISSUE): Define.
15546 (rs6000_use_dfa_pipeline_interface): New function.
15547 (rs6000_multipass_dfa_lookahead): New Function.
15548 (rs6000_variable_issue): New function.
15549 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
15550 (rs6000_issue_rate): Add PPC440.
15551 * config/rs6000/rs6000.md (unspec list): Correct typo.
15552 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
15553 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
15554 cmp, delayed_cr, mfcr, mtcr.
15555 (automata_option): Set "ndfa".
15556 (extendMMNN2): Update attributes.
15557 (movcc_internal1): Discourage move to non-cr0. Update
15558 attributes.
15559 (movMM_update): Update attributes.
15560 (cmpMM_internal): Update attributes.
15561 (sCC CR materialization): Update attributes.
15562 (branch patterns): Do not discourage non-cr0.
15563 (cr logical patterns): Prefer destructive register allocation.
15564 Update attributes.
15565 (movesi_from_cr): Update attribute.
15566 (mtcrf_operation): Update attribute.
15567 (mtcrfsi): Update attribute.
15568 * config/rs6000/40x.md: New file.
15569 * config/rs6000/603.md: New file.
15570 * config/rs6000/6xx.md: New file.
15571 * config/rs6000/7450.md: New file.
15572 * config/rs6000/7xx.md: New file.
15573 * config/rs6000/mpc.md: New file.
15574 * config/rs6000/power4.md: New file.
15575 * config/rs6000/rios1.md: New file.
15576 * config/rs6000/rios2.md: New file.
15577 * config/rs6000/rs64.md: New file.
15578 [Some DFA descriptions based on work by Michael Hayes]
15579
99dc7277
RH
155802003-02-15 Richard Henderson <rth@redhat.com>
15581
15582 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
15583 successors with multiple predecessors.
15584 (connect_traces): Try harder to copy traces of length 1.
15585
15586 * function.h (struct function): Add computed_goto_common_label,
15587 computed_goto_common_reg.
15588 * function.c (free_after_compilation): Zap them.
a8d0ddaf 15589 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
15590 indirect branch per function.
15591
5f24e0dc
RH
155922003-02-15 Richard Henderson <rth@redhat.com>
15593
15594 * cfgcleanup.c: Include params.h.
15595 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
15596 too many outgoing edges from a block.
15597 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
15598 * params.def (max-crossjump-edges): New.
15599 * doc/invoke.texi: Document it.
15600
9381bbc9
RH
156012003-02-15 Richard Henderson <rth@redhat.com>
15602
a8d0ddaf
ZW
15603 * recog.c (split_all_insns): Include new blocks in life update;
15604 do a global life update.
9381bbc9 15605
e898926c
DS
156062003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
15607
15608 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
15609 Update copyright.
15610 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
15611 -mno-cygwin case.
15612
ce65116b
FH
156132003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
15614
15615 PR optimization/7702
15616 * reload1.c (reload_cse_simplify_set): Honor
15617 CANNOT_CHANGE_MODE_CLASS.
15618
fe7496dd
AO
156192003-02-14 Alexandre Oliva <aoliva@redhat.com>
15620
15621 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
15622 function.
15623 * config/mn10300/mn10300-protos.h: Declare it.
15624 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
15625 attribute cc of instructions that may use clr.
15626
6017c719
KH
156272003-02-14 Kazu Hirata <kazu@cs.umass.edu>
15628
15629 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
15630 (x - (x & y)) is found.
15631
9fb28a67
RO
156322003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15633
15634 * configure.in: Fix typo.
15635 * configure: Regenerate.
15636
60f469fa
KH
156372003-02-14 Kazu Hirata <kazu@cs.umass.edu>
15638
15639 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
15640
8fd73754 156412003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 15642
a8d0ddaf 15643 PR opt/2391
ce65116b
FH
15644 * combine.c: Fix spelling in comment.
15645 (cached_nonzero_bits): New function.
15646 (cached_num_sign_bit_copies): New function.
8fd73754
AN
15647 (nonzero_bits_with_known): New macro.
15648 (num_sign_bit_copies_with_known): New macro.
ce65116b 15649 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
15650 arguments. Change calls from nonzero_bits to
15651 nonzero_bits_with_known.
ce65116b 15652 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
15653 three new arguments. Change calls from num_sign_bit_copies to
15654 num_sign_bit_copies_with_known.
ce65116b
FH
15655 (nonzero_bits): New macro.
15656 (num_sign_bit_copies): New macro.
15657 (update_table_tick): Don't traverse identical subexpression more
8fd73754 15658 than once.
ce65116b 15659 (get_last_value_validate): Likewise.
8fd73754 15660
ddb0ae00
ZW
156612003-02-13 Zack Weinberg <zack@codesourcery.com>
15662
15663 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
15664 * function.h (struct emit_status): Length of regno_pointer_align
15665 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
15666 not regno_pointer_align_length (i.e. length actually used, not
15667 length as allocated)
15668
15669 * config/i386/i386.c (struct stack_local_entry): New.
15670 (struct machine_function): Replace huge array with alist.
15671 (assign_386_stack_local): Change to match.
15672
c20b55c0
JDA
156732003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
15674
15675 * inclhack.def (hpux_long_double): Tighten select and add bypass
15676 regexp.
15677 * fixincl.x: Rebuilt.
15678
ffc8f11e
JZ
156792003-02-13 Josef Zlomek <zlomekj@suse.cz>
15680
15681 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
15682 edge and block ends with a jump insn it must be simple jump.
15683
047d636f
DJ
156842003-02-13 Daniel Jacobowitz <drow@mvista.com>
15685
15686 * Makefile.in (PREPROCESSOR_DEFINES): Add
15687 @TARGET_SYSTEM_ROOT_DEFINE@.
15688 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
15689 is specified or if building a cross compiler.
15690 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
15691 if the sysroot is under $exec_prefix.
15692 * configure: Regenerated.
15693 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
15694 defined.
15695 (struct default_include): Add add_sysroot field.
15696 (cpp_SYSROOT): Declare.
15697 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
15698 field.
15699 (cpp_SYSROOT): New variable.
15700 * cppinit.c (cpp_create_reader): Initialize
15701 CPP_OPTION (pfile, sysroot).
15702 (init_standard_includes): Handle add_sysroot. Do not
15703 add unrelocated copies of relocated directories.
15704 (COMMAND_LINE_OPTIONS): Add -isysroot.
15705 (cpp_handle_option): Handle -isysroot.
15706 * cpplib.h (struct cpp_options): Add sysroot member.
15707 * gcc.c (The Specs Language): Update description of %I.
15708 (target_system_root_changed): New variable.
15709 (process_command): Conditionalize make_relative_prefix call
15710 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
15711 target_system_root_changed.
15712 (do_spec_1): Add -isysroot to %I.
15713 * doc/invoke.texi (Spec Files): Update description of %I.
15714 * doc/install.texi (--with-sysroot): Update comment about
15715 relocation.
15716
4302db79
KH
157172003-02-13 Kazu Hirata <kazu@cs.umass.edu>
15718
15719 * config/h8300/h8300.md (a peephole2): New.
15720
e0d9cc77 157212003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 15722 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
15723
15724 * doc/install.texi (Specific): Update three SCO-related URLs.
15725
9fb93b00
AS
157262003-02-13 Andreas Schwab <schwab@suse.de>
15727
15728 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
15729 Parenthesize properly.
15730 (NPREDECESORS): Parenthesize properly.
15731
22ffcc6f
GDR
157322003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
15733
15734 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
15735
1fb54135
RS
157362003-02-12 Roger Sayle <roger@eyesopen.com>
15737
15738 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
15739 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
15740
15741 * reg-stack.c (subst_stack_regs_pat): Add support for binary
15742 UNSPEC instructions (e.g. "fpatan").
15743
19a7414e
MS
157442003-02-12 Mike Stump <mrs@apple.com>
15745
15746 * varray.c (element_size): Remove.
15747 (uses_ggc): Remove.
15748 (element): Add.
15749 (varray_init): Use new interface.
15750 (varray_grow): Use new interface.
15751 (varray_clear): Use new interface.
15752
e589cc6e
AH
157532003-02-12 Aldy Hernandez <aldyh@redhat.com>
15754
ddb0ae00
ZW
15755 * config/rs6000/spe.h: Add casts to the arguments of the following
15756 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
15757 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
15758 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
15759 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
15760 __ev_get_u16, __ev_get_s16.
e589cc6e 15761
2bbfc542
KH
157622003-02-12 Kazu Hirata <kazu@cs.umass.edu>
15763
15764 * config/h8300/h8300.md (a peephole2): New.
15765
62c9aa5f 157662003-02-12 Jan Hubicka <jh@suse.cz>
e72fcfe8
JH
15767
15768 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
15769 (OBJS): Add callgraph.o
15770 (callgraph.o): New.
15771 * c-decl.c (expand_body_1): Break out from ...
15772 (expand_body): This one; change calling convention
15773 (finish_function): Move some of expand_body logic here.
15774 (c_expand_deferred_function): Update call of expand_body
15775 (c_expand_stmt): Use c_expand_body_1.
15776 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
15777 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
15778 * c-tree.h (c_expand_body): Declare.
15779 * callgraph.c: New file.
15780 * flags.h (flag_unit_at_a_time): Declare.
15781 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
15782 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
15783 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
15784 * langhooks.h (struct lang_hooks_for_callgraph): New.
15785 (struct lang_hooks): Add callgraph field.
15786 * toplev.c (flag_unit_at_a_time): New.
15787 (lang_independent_options): Add flag_unit_at_a_time.
15788 (process_options): Disable unit-at-a-time mode for frontends not
15789 supporting callgraph.
15790 * tree-inline.c (typedef struct inline_data): Add "decl"
15791 (expand_call_inline): Update callgraph.
15792 (optimize_inline_calls): Set id.decl.
15793 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
15794 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
15795 cgraph_calls_p): Declare.
15796 * invoke.texi (-funit-at-a-time): Document
15797
9037b0c7
AH
157982003-02-12 Aldy Hernandez <aldyh@redhat.com>
15799
ddb0ae00
ZW
15800 * config/rs6000/spe.h: Fix misc formatting.
15801 (__ev_create_ufix32_fs): Cast ev argument.
15802 (__ev_create_sfix32_fs): Same.
15803 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
15804 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 15805
55ae46b1
RM
158062003-02-12 Ranjit Mathew <rmathew@hotmail.com>
15807
15808 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
15809 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
15810
3963c2e0
ZW
158112003-02-12 Zack Weinberg <zack@codesourcery.com>
15812
15813 * cpplib.c (do_include_common): Move warnings for
15814 #include_next and #import out to callers. Use early-return
15815 instead of nested ifs. Don't do check_eol here.
15816 (parse_include): Do check_eol here with the rest of the
15817 parsing stuff.
15818 (do_include_next, do_import): Now handle warnings.
15819
d1a86812
GP
158202003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15821
15822 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
15823
62c9aa5f 158242003-02-12 Jan Hubicka <jh@suse.cz>
6efcd268
JH
15825
15826 * predict.c (estimate_probability): Fix roundoff error.
15827
9083b5da
KH
158282003-02-12 Kazu Hirata <kazu@cs.umass.edu>
15829
15830 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
15831 (two peephole2): New.
15832
86bc9b19
KH
158332003-02-12 Kazu Hirata <kazu@cs.umass.edu>
15834
15835 * config/h8300/h8300.md (several peephole2): Replace
15836 find_regno_note with peep2_reg_dead_p.
15837
ceda50e9
RH
158382003-02-11 Richard Henderson <rth@redhat.com>
15839
15840 * gcse.c (lookup_set): Remove unused argument PAT. Update
15841 both callers.
15842
886e0865
GK
158432003-02-11 Geoffrey Keating <geoffk@apple.com>
15844
15845 * diagnostic.c (real_abort): New.
15846 (diagnostic_report_diagnostic): Call real_abort on error.
15847 * diagnostic.h (diagnostic_abort_on_error): New.
15848 (struct diagnostic_context): Add abort_on_error field.
15849 * toplev.c (setup_core_dumping): New.
15850 (decode_d_option): Handle 'H' case.
15851 * doc/invoke.texi (Debugging Options): Document -dH.
15852
76438597
NN
158532003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
15854
15855 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
15856 which refers to obsolete directories.
15857
09b568fc
RH
158582003-02-11 Richard Henderson <rth@redhat.com>
15859
15860 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
15861
62c9aa5f 158622002-10-21 Jan Hubicka <jh@suse.cz>
8b978a57
JH
15863
15864 * i386.c (contains_128bit_aligned_vector_p): New function.
15865 (ix86_function_arg_boundary): Properly align vector modes.
15866
a3259be8
BW
158672003-02-11 Bob Wilson <bob.wilson@acm.org>
15868
15869 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
15870 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
15871 as a SET pattern.
15872
da52a069
RS
158732003-02-11 Roger Sayle <roger@eyesopen.com>
15874
15875 * builtins.c: Fix failure caused by commiting wrong patch.
15876
d58f6584
DJ
158772003-02-11 Dale Johannesen <dalej@apple.com>
15878 * ra-build.c (compare_and_free_webs): Relax checking.
15879 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
15880 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
15881
22fd5743
FH
158822003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
15883
15884 PR optimization/9651
15885 * rtlanal.c (may_trap_p): Handle FIX.
15886
3462df62
DJ
158872003-02-11 Dave Jones <davej@codemonkey.org.uk>
15888
15889 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
15890 * doc/invoke.texi: Extra alias.
15891
a693fbb9
GK
158922003-02-11 Geoffrey Keating <geoffk@apple.com>
15893
15894 * config/rs6000/host-darwin.c: Fix comment.
15895
bb157ff4
DE
158962003-02-11 David Edelsohn <edelsohn@gnu.org>
15897
15898 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
15899 predicate for mod result.
15900
16ddb599
JDA
159012003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15902
15903 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
15904 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
15905 * fixincl.x: Rebuilt.
15906 * tests/base/stdlib.h: Update.
15907 * tests/base/ctype.h: New file.
15908
62c9aa5f 159092003-02-11 Jan Hubicka <jh@suse.cz>
6f0d3566
JH
15910
15911 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
15912
d0a5295a
RH
159132003-02-11 Richard Henderson <rth@redhat.com>
15914
15915 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
15916 appropriated as globals.
15917 (ix86_expand_clrstr): Similarly.
15918 * config/i386/i386.md (cmpstrsi): Similarly.
15919
9672132f
KH
159202003-02-11 Kazu Hirata <kazu@cs.umass.edu>
15921
15922 * config/h8300/h8300.md (a peephole2): Add a case of 255.
15923
b5e01d4b
RS
159242003-02-11 Roger Sayle <roger@eyesopen.com>
15925
15926 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
15927 (pow_optab, atan2_optab): Define corresponding macros.
15928 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
15929 * genopinit.c (optabs): Implement pow_optab and atan2_optab
15930 using pow?f3 and atan2?f3 patterns.
15931 * builtins.c (expand_errno_check): New function to update errno
15932 if necessary, split out from expand_builtin_mathfn.
15933 (expand_builtin_mathfn): Use expand_errno_check.
15934 (expand_builtin_mathfn_2): New function to handle expanding binary
15935 math functions, reusing the code in expand_errno_check.
15936 (expand_builtin): Handle the pow and atan2 math built-ins,
15937 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
15938 expand_builtin_mathfn_2.
15939
15940 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
15941
62c9aa5f 159422003-02-11 Jan Hubicka <jh@suse.cz>
cb119f82
JH
15943
15944 * combine.c (combine_simplify_rtx): Fix folding of
15945 nested float_truncates.
15946
a05566a3
KH
159472003-02-11 Kazu Hirata <kazu@cs.umass.edu>
15948
15949 * config/h8300/h8300.md (a peephole2): Fix a typo.
15950
20ae4500
RE
159512003-02-11 Richard Earnshaw <rearnsha@arm.com>
15952
15953 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
15954 register number.
15955
717d8b71
KH
159562003-02-11 Kazu Hirata <kazu@cs.umass.edu>
15957
15958 * config/h8300/h8300-protos.h: Add a prototype for
15959 gtuleu_operator.
15960 * config/h8300/h8300.c (gtuleu_operator): New.
15961 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
15962 * config/h8300/h8300.md (a peephole2): New.
15963
62c9aa5f 159642003-02-11 Jan Hubicka <jh@suse.cz>
e36e8f52
JH
15965
15966 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
15967
62c9aa5f 159682003-02-11 Jan Hubicka <jh@suse.cz>
c728da61
JH
15969
15970 * predict.c (choose_function_section): Choose sections correctly.
15971
4cc0fdd2
JDA
159722003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15973
15974 * reload1.c (first_label_num): New.
15975 (reload): Index offsets_known_at and offsets_at using difference of
15976 label number and first label number. Don't use offset pointers.
15977 (set_label_offsets, set_initial_label_offsets): Likewise.
15978
44b1fa11
RS
159792003-02-10 Roger Sayle <roger@eyesopen.com>
15980
15981 * mips-tfile.c (init_file): Add missing initializers in the
15982 "#ifdef __alpha" case.
15983 (file_offset, max_file_offset): Declare as unsigned long.
15984 (write_varray): Cast to "unsigned long" in comparisons against
15985 either file_offset or max_file_offset.
15986 (write_object): Likewise.
15987 (read_seek): Likewise.
15988 (copy_object): Likewise. Declare "ifd" as int to match its use
15989 in add_ext_symbol, and avoid signed/unsigned conditional warning.
15990
2948ade7 159912003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 15992 Aldy Hernandez <aldyh@redhat.com>
2948ade7 15993
3963c2e0
ZW
15994 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
15995 override options which have been specified on the command line.
2948ade7 15996
2a4e6df4
KH
159972003-02-10 Kazu Hirata <kazu@cs.umass.edu>
15998
15999 * config/h8300/h8300.md (abssf2): New.
16000 (*abssf2_h8300): Likewise.
16001 (*abssf2_h8300hs): Likewise.
16002
411e2759
PE
160032003-02-10 Phil Edwards <pme@gcc.gnu.org>
16004
16005 * tree.c (build_tree_list): Fix parameter names in comment.
16006
2b24fc41
JJ
160072003-02-10 Janis Johnson <janis187@us.ibm.com>
16008
16009 * config/rs6000/ppc64-fp.c: New file.
16010 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
16011
aa634f11
JZ
160122003-02-10 Josef Zlomek <zlomekj@suse.cz>
16013
16014 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 16015 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
16016 (make_reorder_chain_1): Deleted.
16017 (find_traces): New function.
16018 (rotate_loop): New function.
16019 (mark_bb_visited): New function.
16020 (find_traces_1_round): New function.
16021 (copy_bb): New function.
16022 (bb_to_key): New function.
16023 (better_edge_p): New function.
16024 (connect_traces): New function.
16025 (copy_bb_p): New function.
16026 (get_uncond_jump_length): New function.
16027 (reorder_basic_blocks): Use new functions (Software Trace Cache).
16028 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
16029 boundaries.
16030
17edbda5
AH
160312003-02-10 Aldy Hernandez <aldyh@redhat.com>
16032
16033 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
16034
57116c34
DN
160352003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
16036
16037 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 16038 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 16039
4f448245
NC
160402003-02-10 Nick Clifton <nickc@redhat.com>
16041
16042 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
16043 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
16044 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
16045 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
16046 config/arm/freebsd.h, config/arm/linux-elf.h,
16047 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
16048 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
16049 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
16050 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
16051 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
16052 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
16053 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
16054 and reformat as appropriate.
16055
19190d27
KH
160562003-02-10 Kazu Hirata <kazu@cs.umass.edu>
16057
16058 * config/h8300/clzsi2.c: Remove.
16059 * config/h8300/ctzsi2.c: Likewise.
16060 * config/h8300/paritysi2.c: Likewise.
16061 * config/h8300/popcountsi2.c: Likewise.
16062 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
16063 ctzsi2, paritysi2, and popcountsi2.
16064
ecf92f82 160652003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 16066 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
16067
16068 PR c/7741
16069 * c-decl.c (duplicate_decls): Discard the initializer of the
16070 new decl when the types are conflicting.
16071
ac5e69da
JZ
160722003-02-10 Josef Zlomek <zlomekj@suse.cz>
16073
16074 * Makefile.in (sreal.o): Added.
16075 (predict.o): Depends on sreal.h instead of real.h.
16076 * sreal.c: New file.
16077 * sreal.h: New file.
16078 * predict.c: Use sreal.c instead of real.c.
16079
9b6b54e2
NC
160802003-02-10 Nick Clifton <nickc@redhat.com>
16081
16082 * Contributed support for the Cirrus EP9312 "Maverick"
16083 floating point co-processor. Written by Aldy Hernandez
3963c2e0 16084 <aldyh@redhat.com>.
9b6b54e2
NC
16085 (config/arm/arm.c): Add Cirrus support.
16086 (config/arm/arm.h): Likewise.
16087 (config/arm/aout.h): Likewise.
16088 (config/arm/arm.md): Likewise.
16089 (config/arm/arm-protos.h): Likewise.
16090 (config.gcc): Likewise.
16091 (doc/invoke.texi): Describe new -mcpu value and new
16092 -mcirrus-fix-invalid-insns switch,
16093 (cirrus.md): New file.
16094
62c9aa5f 160952003-02-10 Jan Hubicka <jh@suse.cz>
949824fe
JH
16096
16097 * combine.c (combine_simplify_rtx): Simplify using
16098 (float_truncate (float x)) is (float x)
16099 (float_extend (float_extend x)) is (float_extend x).
16100
546ff777
AM
161012003-02-10 Alan Modra <amodra@bigpond.net.au>
16102
16103 * calls.c (try_to_integrate): Tidy stack_usage_map access.
16104 (emit_library_call_value_1): Likewise. Formatting.
16105 (store_one_arg): Likewise.
16106
626098f9 161072003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 16108 Aldy Hernandez <aldyh@redhat.com>
626098f9 16109
3963c2e0
ZW
16110 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
16111 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
16112 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
16113 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
16114 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
16115 docs. Add range test for immediate value.
626098f9
AH
16116
161172003-02-09 Aldy Hernandez <aldyh@redhat.com>
16118
3963c2e0
ZW
16119 Rename spe_evxor to xorv2si3.
16120 (xorv4hi3): New.
16121 (xorv1di3): New.
626098f9 16122
8d23a2c8 161232003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 16124
8d23a2c8
GN
16125 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
16126 tag.
16127
62c9aa5f 161282003-02-10 Jan Hubicka <jh@suse.cz>
fdc4b40b
JH
16129
16130 * i386.c (vector_move_operand): New predicate.
16131 (ix86_expand_vector_move): Be happy about 0.
16132 * i386.h (PREDICATE_CODES): Add sse-move_operand.
16133 * i386.md (mov*_internal): Add 'C' alternative.
16134
62c9aa5f 161352003-02-09 Jan Hubicka <jh@suse.cz>
35c28a13
JH
16136
16137 * i386.md (floathi*): Deal with SSE.
16138
62c9aa5f 161392003-02-09 Jan Hubicka <jh@suse.cz>
852c8ba1
JH
16140
16141 * simplify-rtx.c (simplify_unary_operation,
16142 simplify_binary_operation): Deal with vector modes
16143 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
16144
c876997f 161452003-02-09 Richard Sandiford <rsandifo@redhat.com>
2382b79f
RS
16146
16147 * toplev.c (rest_of_compilation): Recompute register usage after
16148 split_all_insns.
16149
8275b011
RH
161502003-02-09 Richard Henderson <rth@redhat.com>
16151
16152 * libgcc-std.ver (__clztf2): New.
16153 (__ctztf2, __popcounttf2, __paritytf2): New.
16154 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
16155 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
16156 adjust code to match the different type sizes.
16157 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
16158 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
16159
16160 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
16161 TImode; select word_mode and twice that.
16162 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
16163 select the modes from float, double, and long double.
16164 (init_optabs): Remove duplicate initializations.
16165
794aca5d
WB
161662003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
16167
16168 * doc/install.texi: Squeeze and streamline section on
16169 testing and regression checking.
16170
62c9aa5f 161712003-02-09 Jan Hubicka <jh@suse.cz>
d9deed68
JH
16172
16173 * i386.md (ahi?v*3): Set third operand type to TImode.
16174 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
16175
16176 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
16177 integer mode.
16178
16179 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
16180 Change code so they are arithmetic expressions now.
16181 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
16182 simplify_ternary_operation): Deal with VEC_* expressions.
16183
16184 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
16185
62c9aa5f 161862003-02-08 Jan Hubicka <jh@suse.cz>
83fd323c
JH
16187
16188 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
16189 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
16190 possibly got duplicated.
16191
4ee7aa60
RH
161922003-02-08 Richard Henderson <rth@redhat.com>
16193
16194 * config/alpha/alpha.c (override_options): Turn off explicit
16195 relocs until post-peep2 code duplication resolved.
16196
c117dddc
KH
161972003-02-08 Kazu Hirata <kazu@cs.umass.edu>
16198
16199 * optabs.c (expand_unop): Widen clz properly when clz is done
16200 via libcall.
16201
8aa063fb
KH
162022003-02-08 Kazu Hirata <kazu@cs.umass.edu>
16203
16204 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
16205 * config/h8300/crti.asm: Likewise.
16206 * config/h8300/crtn.asm: Likewise.
16207 * config/h8300/ctzsi2.c: Likewise.
16208 * config/h8300/fixunssfsi.c: Likewise.
16209 * config/h8300/h8300-protos.h: Likewise.
16210 * config/h8300/h8300.c: Likewise.
16211 * config/h8300/h8300.h: Likewise.
16212 * config/h8300/h8300.md: Likewise.
16213 * config/h8300/paritysi2.c: Likewise.
16214 * config/h8300/popcountsi2.c: Likewise.
16215 * config/h8300/rtems.h: Likewise.
16216
01a132bb
ZD
162172003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16218
16219 * doc/invoke.texi: Documentation for my previous commit.
16220 * doc/passes.texi: Ditto.
16221
617b465c
ZD
162222003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16223
16224 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
16225 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
16226 Declare.
16227 (DLTHE_FLAG_UPDATE_FREQ): New.
16228 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
16229 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
16230 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
16231 fix_bb_placement, fix_bb_placements, place_new_loop,
16232 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
16233 New static functions.
16234 (fix_loop_placement, can_duplicate_loop_p,
16235 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
16236 New functions.
16237
16238 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
16239 unswitch_loops): Declare.
16240 * loop-init.c: New file.
16241 * loop-unswitch.c: New file.
16242 * Makefile.in (loop-init.o, loop-unswitch.o): New.
16243 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
16244 * toplev.c (DFI_loop2): New dump.
16245 (flag_unswitch_loops): New.
16246 (lang_independent_options): Add it.
16247 (rest_of_compilation): Call new loop optimizer.
16248 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
16249
3bd03194
KH
162502003-02-08 Kazu Hirata <kazu@cs.umass.edu>
16251
16252 * config/h8300/clzsi2.c: New.
16253 * config/h8300/ctzsi2.c: Likewise.
16254 * config/h8300/paritysi2.c: Likewise.
16255 * config/h8300/popcountsi2.c: Likewise.
16256 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
16257
d865b122
DE
162582003-02-07 David Edelsohn <edelsohn@gnu.org>
16259
16260 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
16261 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 16262 (ctzsi2): New pattern.
d865b122
DE
16263 (ffssi2): Use clz instead of unspec.
16264 (clzdi2): Rename from cntlzd2.
94993909 16265 (ctzdi2): New pattern.
d865b122
DE
16266 (ffsdi2): Use clz instead of unspec.
16267
8f37dd98
LR
162682003-02-07 Loren James Rittle <ljrittle@acm.org>
16269
16270 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
16271 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
16272 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
16273 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
16274
83205b9b
WB
162752003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
16276
16277 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
16278
710ee3ed
RH
162792003-02-07 Richard Henderson <rth@redhat.com>
16280
16281 PR 9226
3963c2e0
ZW
16282 * gcse.c (local_cprop_find_used_regs): New.
16283 (local_cprop_pass): Use it.
710ee3ed 16284
3ef879d2
FF
162852003-02-07 Fred Fish <fnf@intrinsity.com>
16286
16287 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 16288 precedence bugs.
3ef879d2 16289
a0f0e963 162902003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 16291
3963c2e0 16292 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 16293
46847aa6
RS
162942003-02-07 Roger Sayle <roger@eyesopen.com>
16295
16296 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
16297 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
16298 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
16299 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
16300 builtin functions (and their __builtin_* variants).
16301 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
16302 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
16303 when not optimizing.
16304
16305 * doc/extend.texi: Document new pow and atan2 builtins, and
16306 their float and long double variants. Realphabetize builtins.
16307
62c9aa5f 163082003-02-07 Jan Hubicka <jh@suse.cz>
c48d6750
JH
16309
16310 * i386.md (sse2_nandv2di3): Fix.
16311
5e062767
DS
163122003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
16313
16314 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
16315 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
16316 definition.
16317 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
16318 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
16319
62c9aa5f 163202003-02-07 Jan Hubicka <jh@suse.cz>
3f755ed0
JH
16321
16322 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
16323
0816bcd2
DB
163242003-02-07 Daniel Berlin <dberlin@dberlin.org>
16325
16326 * cfg.c (dump_flow_info): Add back accidently deleted line.
16327
7bf0a593
AP
163282003-02-07 Andrey Petrov <petrov@netbsd.org>
16329
16330 * optabs.c (expand_float): Search wider integer modes first.
16331
01e4596e
BW
163322003-02-07 Bob Wilson <bob.wilson@acm.org>
16333
16334 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
16335 based on preprocessor flag.
16336
fbef91d8
RS
163372003-02-07 Roger Sayle <roger@eyesopen.com>
16338 Richard Henderson <rth@redhat.com>
16339
16340 * gcse.c (implicit_sets): New.
16341 (compute_hash_table_work): Include them in hash table.
16342 (find_implicit_sets, fis_get_condition): New.
16343 (one_cprop_pass): Allocate and free implicit_sets; call
16344 find_implicit_sets before building hash table.
16345
6713831e
JT
163462003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
16347
16348 * config/t-netbsd (USER_H): Revert previous change.
16349
10d2dbe2
GG
163502003-02-07 Gabor Greif <ggreif@lucent.com>
16351
16352 * doc/c-tree.texi (Namespaces): Fix typo.
16353
62c9aa5f 163542003-02-07 Jan Hubicka <jh@suse.cz>
d1d3c9a6
JH
16355
16356 * regrename.c (do_replace, find_oldest_value_reg,
16357 copyprop_hardreg_forward_1): Update register attributes.
16358
1b1f249d
VM
163592003-02-06 Vladimir Makarov <vmakarov@redhat.com>
16360
16361 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
16362 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
16363 variables starting with underscore.
16364 (struct unit_usage): New structure.
16365 (unit_usages, cycle_alt_unit_usages): New global variables.
16366 (check_unit_distribution_in_reserv): Remove it.
16367 (store_alt_unit_usage): New function.
16368 (check_regexp_units_distribution): Rewrite it.
16369
90330d31
JDA
163702003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16371
16372 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
16373 target_cpu_default.
16374 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
16375 if not MASK_NO_SPACE_REGS.
16376 (output_call): Adjust return pointer, don't load new space register
16377 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
16378 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
16379 TARGET_NO_SPACE_REGS is true.
16380 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
16381 conditions.
16382 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
16383 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
16384 true. Use bve when TARGET_64BIT is true.
16385
d1164330
RH
163862003-02-06 Richard Henderson <rth@redhat.com>
16387
16388 * combine.c (nonzero_bits): Fix double break.
16389
5fbf0217 163902003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 16391 Richard Henderson <rth@redhat.com>
5fbf0217
EB
16392
16393 PR c/9530
16394 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
16395 from functions that return a float to functions that don't.
16396
62c9aa5f 163972003-02-06 Jan Hubicka <jh@suse.cz>
8f62128d
JH
16398
16399 * i386.c (x86_inter_unit_moves): New variable.
16400 (ix86_secondary_memory_needed): Fix 64bit case, honor
16401 TARGET_INTER_UNIT_MOVES
16402 * i386.h (x86_inter_unit_moves): Declare.
16403 (TARGET_INTER_UNIT_MOVES): New macro.
16404 * i386.md (movsi_1): Cleanup constraints; disable
16405 when not doing inter-unit moves.
16406 (movsi_1_nointernunit): New.
16407 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
16408 (movdi_1_rex64_nointerunit): New.
16409 (mivsf_1): disable when not doing inter-unit moves.
16410 (movsf_1_nointerunit): New.
16411
16412 * basic-block.h (inside_basic_block_p): Declare.
16413 * cfgbuild.c (inside_basic_block_p): Make global.
ed446835 16414 * haifa-sched.c (unlink_other_notes): Deal with NOT_INSN_BASIC_BLOCK.
8f62128d
JH
16415 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
16416 update CFG.
16417 (fix_basic_block_boundaries, add_missing_bbs): New.
16418 (rank): Use profile.
16419 (scheudle_ebbs): Rely on CFG; update coments.
16420
476d9098
GK
164212003-02-05 Geoffrey Keating <geoffk@apple.com>
16422
16423 * Makefile.in (host_hook_obj): New.
16424 (OBJS): Add $(host_hook_obj).
16425 (host_default.o): New rule.
16426 * config.gcc (host_hook_obj): New, default to host-default.o.
16427 (powerpc-*-darwin*): Use host-darwin.o.
16428 (out_host_hook_obj): New.
16429 * configure: Regenerate.
16430 * configure.in: Print information about out_host_hook_obj, substitute
16431 into output files.
16432 * host-default.c: New file.
16433 * hosthooks.h: New file.
16434 * toplev.c (general_init): Call host_hooks.extra_signals.
16435 * config/rs6000/host-darwin.c: New file.
16436 * config/rs6000/x-darwin: New file.
16437 * doc/hostconfig.texi: Add documentation for new host hook.
16438 Rearrange existing documentation.
16439
69bd9368
RS
164402003-02-05 Roger Sayle <roger@eyesopen.com>
16441
16442 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
16443 with *targetm.delegitimize_address.
16444 (rtl_for_decl_location): Likewise.
16445 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
16446 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
16447
16448 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
16449 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
16450 prototype.
16451 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
16452 i386_simplify_dwarf_addr. Made static. Prototyped.
16453 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
16454 i386_simplify_dwarf_addr to ix86_delegitimize_address.
16455 (ix86_find_base_term): Likewise.
16456 (maybe_get_pool_constant): Likewise.
16457
16458 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
16459 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
16460 prototype.
16461 * config/s390/s390.c (s390_delegitimize_address): Renamed from
16462 s390_simplify_dwarf_addr. Made static. Prototyped.
16463 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
16464
7127fd58
RH
164652003-02-05 Richard Henderson <rth@redhat.com>
16466
8dde7a2c 16467 PR c/8602
3963c2e0
ZW
16468 * integrate.c (output_inline_function): Reset input_filename
16469 and lineno from the decl before rest_of_compilation.
7127fd58 16470
7dba8395
RH
164712003-02-05 Richard Henderson <rth@redhat.com>
16472
16473 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
16474 (CTZ_DEFINED_VALUE_AT_ZERO): New.
16475 * doc/rtl.texi, doc/tm.texi: Document them.
16476
16477 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
16478 of the value at zero properly.
16479 * fold-const.c (tree_expr_nonnegative_p): Likewise.
16480 * simplify-rtx.c (simplify_unary_operation): Likewise.
16481
16482 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
16483 (CTZ_DEFINED_VALUE_AT_ZERO): New.
16484
16485 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
16486 (TARGET_EXPAND_BUILTIN): Remove.
16487 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
16488 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
16489 (enum arm_builtins): Remove.
16490 * config/arm/arm.md (UNSPEC_CLZ): Remove.
16491 (clzsi2): Rename from clz; use clz instead of unspec.
16492 (ctzsi2): New.
16493 * config/arm/arm-protos.h: Update.
16494
62c9aa5f 164952003-02-05 Jan Hubicka <jh@suse.cz>
8d705469
JH
16496
16497 * i386-protos.h (x86_emit_floatuns): Declare.
16498 * i386.c (x86_emit_floatuns): New global function.
16499 * i386.md (floatunssisf2, floatunsdisf2,
16500 floatunsdidf2): New patterns.
16501
bc810602
ZD
165022003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16503
16504 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
16505
07938cec
HB
165062003-02-05 Hans Boehm <Hans.Boehm@hp.com>
16507
16508 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
16509 config/ia64/linux.h
16510
c876997f 165112003-02-05 Roger Sayle <roger@eyesopen.com>
ca9398d1
RS
16512
16513 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
16514
4f6ae35d
JJ
165152003-02-05 Jakub Jelinek <jakub@redhat.com>
16516
16517 PR optimization/8555
16518 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
16519 instead of aborting.
16520
8acfdd43
RH
165212003-02-04 Richard Henderson <rth@redhat.com>
16522
16523 * config/i386/i386.md (UNSPEC_BSF): Remove.
16524 (ffssi2): Split into cmove and no_cmove insns and splitters;
16525 lose pentium float trick for now.
16526 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
16527 (ctzsi2, clzsi2, bsr): New.
16528
c407570a
RH
165292003-02-04 Richard Henderson <rth@redhat.com>
16530
16531 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
16532 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
16533 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
16534 (ffsdi2): Use popcount instead of unspec.
16535 (popcountdi2): Rename from *popcnt.
16536 (ctzdi2, clzdi2, getf_exp_tf): New.
16537
4b3cf522
KH
165382003-02-04 Kazu Hirata <kazu@cs.umass.edu>
16539
16540 * genconfig.c (main): Generate CC0_P.
16541 * rtl.h (CC0_P): Remove.
16542
dfff898c
RH
165432003-02-04 Richard Henderson <rth@redhat.com>
16544
16545 * libgcc2.h, libgcc2.c (__ffsSI2): New.
16546 (__ffsDI2): Rename from __ffsdi2.
16547 * mklibgcc.in (lib2funcs): Add _ffssi2.
16548
0c9ed856
RH
165492003-02-04 Richard Henderson <rth@redhat.com>
16550
16551 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
16552 rounds with a "bit table" lookup.
16553
9537511b
UW
165542003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
16555
16556 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 16557 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
16558 reloads for operands where a mandatory reload was already pushed.
16559
1efd0b97
RH
165602003-02-04 Richard Henderson <rth@redhat.com>
16561
16562 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
16563 builtins instead of inline assembly.
16564
087fc75a 165652003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 16566
087fc75a
FH
16567 PR c/9376
16568 * libgcc2.c (__subvdi3): Fix typo.
16569
62c9aa5f 165702003-02-04 Jan Hubicka <jh@suse.cz>
f0f0d98e
JH
16571
16572 * i386.md (movti_rex64): Fix constraint.
16573
62c9aa5f 165742003-02-04 Jan Hubicka <jh@suse.cz>
09f26fb5
JH
16575
16576 * i386.md (vector push splitters): Fix typo in resolving conflict.
16577
ff6e2d3e
RB
165782003-02-04 Rodney Brown <rbrown64@csc.com.au>
16579
16580 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
16581
9e80ada7
PE
165822003-02-04 Phil Edwards <pme@gcc.gnu.org>
16583
16584 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
16585 for recent libstdc++. Remove formatting cruft.
16586
79c758fb
JJ
165872003-02-04 Jakub Jelinek <jakub@redhat.com>
16588
16589 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
16590 attribute even if input file name is absolute, but one of the
16591 includes is relative.
16592
b3a8389d
JM
165932003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
16594
16595 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
16596 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
16597 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
16598
dabb3f04
RH
165992003-02-03 Richard Henderson <rth@redhat.com>
16600
16601 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
16602 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
16603 return type to "int". Shuffle declarations and undef int trap.
16604 * libgcc2.h: Remove their declarations.
16605 * optabs.c (expand_unop): Force outmode to int for bitops.
16606
985d0d50
BW
166072003-02-03 Bob Wilson <bob.wilson@acm.org>
16608
16609 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
16610 coprocessor registers before floating-point registers.
16611 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
16612 to account for a previously removed register.
16613 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
16614 Delete unused macros.
16615
62c9aa5f 166162003-02-03 Jan Hubicka <jh@suse.cz>
7f0e57bd
JH
16617
16618 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
16619 (mov*_internal): Fix predicates; require one of operands to not be
16620 memory.
16621 (SSE?MMX move expanders): Fix predicates; force one of operands to
16622 register.
16623 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
16624 (movups/movupd/movdqu patterns): Force one of operands to not be
16625 memory.
16626
c876997f 166272003-02-03 Roger Sayle <roger@eyesopen.com>
7daebb7a
RS
16628
16629 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
16630 takes a single rtx and returns it unmodified.
16631 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 16632 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
16633 field to target structure.
16634 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
16635 for delegitimize_address target using hook_rtx_rtx_identity.
16636 (TARGET_INITIALIZER): Initialize delegitimize_address field
16637 using TARGET_DELEGITIMIZE_ADDRESS macro.
16638 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
16639 extensions of constant pool references. Use delegitimize_address
16640 to undo the obfuscation of "-fpic".
16641 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
16642
16643 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
16644 i386_simplify_dwarf_addr.
16645 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
26182e15 16646 (maybe_get_pool_constant): Likewise.
7daebb7a 16647
62c9aa5f 166482003-02-03 Jan Hubicka <jh@suse.cz>
84520a20
JH
16649
16650 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
16651
62c9aa5f 166522003-02-03 Jan Hubicka <jh@suse.cz>
035b2a34
JH
16653
16654 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
16655
1f143d5a
KG
166562003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16657
16658 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
16659 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
16660
4b550d9f
AS
166612003-02-02 Andreas Schwab <schwab@suse.de>
16662
16663 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
16664
0732a089
RE
166652003-02-02 Richard Earnshaw <rearnsha@arm.com>
16666
16667 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
16668 (epilogue_insns): Likewise.
16669
f269f54f
JDA
166702003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16671
16672 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
16673
611ad29e
JDA
166742003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16675
16676 * pa-protos.h (attr_length_millicode_call): Remove second argument.
16677 (attr_length_indirect_call, attr_length_indirect_call,
16678 attr_length_save_restore_dltp): New prototypes.
16679 * pa.c (attr_length_millicode_call): Remove second argument. Check
16680 INSN_ADDRESSES_SET_P in distance calculation.
16681 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
16682 INSN_ADDRESSES.
16683 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
16684 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
16685 Call attr_length_call directly.
16686 (attr_length_indirect_call, output_indirect_call,
16687 attr_length_save_restore_dltp): New functions.
16688 * pa.md (attr_length_millicode_call): Drop second argument from all
16689 patterns.
16690 (return_internal_pic): Delete.
16691 (return_external_pic): Remove use of PIC register and pic operand and
16692 flag checks.
16693 (epilogue): Use return_internal for both normal and pic code.
16694 (call, call_value): Emit new 32-bit pic patterns for symref and
16695 indirect calls. Remove uses for arg pointer and pic register.
16696 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
16697 call_reg_pic_post_reload, call_val_symref_pic,
16698 call_val_symref_pic_post_reload, call_val_reg_pic,
16699 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
16700 Implement define_split and define_peephole2 patterns for pre reload
16701 patterns.
16702 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
16703 call_value_internal_reg_64bit): Shorten names.
16704 (all call patterns): Explicitly indicate registers used and clobbered.
16705 Use attr_length_indirect_call and attr_length_save_restore_dltp for
16706 attribute length calculation. Move code generation for indirect calls
16707 to output_indirect_call.
16708 (sibcall, sibcall_value): Don't restore PIC register.
16709 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
16710 register retore.
16711
8cacda7c
GP
167122003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16713
16714 * doc/install.texi (Testing): Simplify and compress instructions
16715 concerning Dejagnu.
16716
cbc158bb
JDA
167172003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16718
16719 * collect2.c (pexecute_pid): Rename to pid.
16720 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
16721 pid.
16722
dcef1843
GK
167232003-02-01 Geoffrey Keating <geoffk@apple.com>
16724
16725 * doc/extend.texi (Function Attributes): Remove documentation
16726 for PowerPC Windows NT function attributes..
16727
5d7bed9d
DJ
167282003-02-01 Daniel Jacobowitz <drow@mvista.com>
16729
16730 * dwarf2out.c (gen_type_die): Check for typedefs before calling
16731 for TYPE_MAIN_VARIANT.
16732
53585c36
RH
167332003-02-01 Richard Henderson <rth@redhat.com>
16734
16735 * libgcc2.c: Include auto-host.h.
16736 (ATTRIBUTE_HIDDEN): New.
16737 (__clz_tab): Don't declare here for clz and ctz.
16738 (__clzsi2, __clzdi2): Use count_leading_zeros.
16739 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
16740 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
16741 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
16742 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
16743
bc8a6d63
RH
167442003-02-01 Richard Henderson <rth@redhat.com>
16745
16746 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
16747 to the conditional.
16748 (ashlsi3_1_zext splitter): Likewise.
16749
2928cd7a
RH
167502003-02-01 Richard Henderson <rth@redhat.com>
16751
16752 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
16753 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
16754 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
16755 return type to Wtype.
16756
16757 * libgcc-std.ver (GCC_3.4): Fix inheritance.
16758
16759 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
16760 expander input constraint.
16761
167622003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
16763
ff6e2d3e
RB
16764 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
16765 OTI_parity.
16766 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
16767 * optabs.c (widen_clz, expand_parity): New.
16768 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
16769 for libcalls to clz, ctz, popcount, and parity.
16770 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
16771 parity_optab, and set up libfunc handlers.
16772 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
16773 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
16774 __popcount_tab): New.
16775 * libgcc2.h: Declare them.
16776 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
16777 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
16778 and parity_optab.
16779 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
16780 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
16781 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
16782 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
16783 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
16784 BUILT_IN_PARITYLL): New.
16785 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
16786 and add optab argument.
16787 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
16788 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
16789 * expr.c (expand_expr): Handle them.
16790 * fold-const.c (tree_expr_nonnegative_p): Likewise.
16791 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
16792 * reload1.c (eliminate_regs): Handle them.
16793 (elimination_effects): Likewise.
16794 * function.c (instantiate_virtual_regs_1): Likewise
16795 * genattrtab.c (check_attr_value): Likewise.
16796 * simplify-rtx.c (simplify_unary_operation): Likewise.
16797 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
16798 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
16799 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
16800 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
16801 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
16802 __builtin_arm_clz.
16803 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
16804 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
16805 * doc/extend.texi (Other Builtins): Add new builtins.
16806 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 16807
112f7223
UW
168082003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
16809
16810 * reload.c: Revert 2003-01-31 change.
16811
62c9aa5f 168122003-02-01 Jan Hubicka <jh@suse.cz>
434c87d4
JH
16813
16814 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
16815
271bd540
RS
168162003-02-01 Richard Sandiford <rsandifo@redhat.com>
16817
16818 * flags.h (flag_volatile): Remove declaration.
16819 (flag_volatile_global, flag_volatile_static): Likewise.
16820 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
16821 * toplev.c (flag_volatile): Remove definition.
16822 (flag_volatile_global, flag_volatile_static): Likewise.
16823 (f_options): Remove corresponding entries here.
16824 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
16825 or flag_volatile_static.
16826 * doc/invoke.texi: Remove documentation of -fvolatile,
16827 -fvolatile-global and -fvolatile-static.
16828
17e6098e
JDA
168292003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16830
16831 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
16832 updating of total_code_bytes from prologue to epilogue.
16833
2f278625
UW
168342003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
16835
16836 * reload.c (find_reloads): Do not use the mode specified in the insn
16837 pattern as reload mode for address operands. Do not generate optional
16838 reloads for operands where a mandatory reload was already pushed.
16839 Generate optional reloads only in the final pass though find_reloads.
16840 (have_replacement_p): New function.
16841
05c425a9
GP
168422003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16843
16844 * doc/install.texi (Testing): Remove a reference to our obsolete
16845 /testresults web pages and strip redundant information concerning
16846 test results.
16847 (Binaries): Refer to Microsoft Windows instead of listing all
16848 possible variants.
16849
62c9aa5f 168502003-02-01 Jan Hubicka <jh@suse.cz>
b0c42aed
JH
16851
16852 * loop.c (emit_prefetch_instructions): Do conversion at right place in
16853 RTL chain.
16854
16855 * combine.c (simplify_set): Reverse order of ragumetns to
16856 REG_CANNOT_CHANGE_MODE_P
16857 * df.c (df_def_record_1): Likewise.
16858 * recog.c (register_operand): Likewise.
16859 * simplify-rtx.c (simplify_subreg): Likewise.
16860 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
16861 CANNOT_CHANGE_MODE_CLASS.
16862 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
16863 Likewise.
16864 * reload.c (push_reload): Likewise.
16865 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
16866 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
16867 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
16868 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
16869 * mips.c (mips_cannot_change_mode_class): Update.
16870 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
16871 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
16872 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
16873 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
16874 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
16875 * sh.c (sh_cannot_change_mode_class): Update.
16876 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
16877 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
16878
1f61a15d
GK
168792003-01-31 Geoffrey Keating <geoffk@apple.com>
16880
16881 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
16882 change to LINK_COMMAND_SPEC in gcc.c.
16883
7c712dcc
LR
168842003-01-31 Jan Hubicka <jh@suse.cz>
16885
16886 PR c/9506
16887 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
16888
e137391e
JDA
168892003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16890
16891 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
16892 duplicated code.
16893
1824b90d
NS
168942003-01-31 Nathan Sidwell <nathan@codesourcery.com>
16895
16896 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
16897 (BINFO_ELTS): New #define.
16898 * stor-layout.c (finalize_record_size): Don't set them.
16899 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
16900 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
16901 (BINFO_LANG_ELTS): New #define.
16902 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
16903 * java/class.c (make_class): Use BINFO_ELTS.
16904 (set_super_info): Likewse.
16905 (add_interface_do): Likewise.
16906 * objc/objc-act.c (start_class): Use BINFO_ELTS.
16907
8f9a402c
DS
169082003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
16909
16910 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
16911 (times): Don't ever declare if not HAVE_TIMES.
16912 (clock): Don't ever declare if not HAVE_CLOCK.
16913
cdd1f01b
RH
169142003-01-30 Richard Henderson <rth@redhat.com>
16915
16916 * flow.c (update_life_info): Zap life info after cleanup_cfg.
16917 (regno_uninitialized): Use correct live at function entry set.
16918 (regno_clobbered_at_setjmp): Likewise.
16919
16920 * expr.c (store_expr): Promote all MEM intermediates to regs.
16921
6bc82793
KH
169222003-01-30 Kazu Hirata <kazu@cs.umass.edu>
16923
16924 * config/arm/arm.c: Fix comment typos.
16925 * config/arm/arm.h: Likewise.
16926 * config/arm/netbsd-elf.h: Likewise.
16927 * config/arm/netbsd.h: Likewise.
16928
f099d360
GK
169292003-01-30 Geoffrey Keating <geoffk@apple.com>
16930
16931 * gengtype.c (struct walk_type_data): Add needs_cast_p.
16932 (walk_type): Set needs_cast_p in walk_type_data.
16933 (write_types_process_field): Supply casts when required to suppress
16934 warnings.
16935 (write_root): Cast gt_pch_n_S to suppress warning.
16936 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
16937 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
16938 when they might exist.
16939 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
16940 insn-conditions.o, and rs6000.o.
16941
52895e1a
RH
169422003-01-30 Richard Henderson <rth@redhat.com>
16943
16944 * ggc-page.c (G.context_depth_allocations): New.
16945 (G.context_depth_collections): New.
16946 (alloc_page): Set G.context_depth_allocations.
16947 (ggc_collect): Set G.context_depth_collections.
16948 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
16949 (ggc_pop_context): Early exit for no allocations or collections.
16950
c35c7e52
RH
169512003-01-30 Richard Henderson <rth@redhat.com>
16952
16953 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
16954
e43dd89d
RE
169552003-01-30 Richard Earnshaw <rearnsha@arm.com>
16956
16957 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
16958 size, the link register is always saved if any other register is
16959 saved.
16960
87a902e4
KH
169612003-01-30 Kazu Hirata <kazu@cs.umass.edu>
16962
16963 * config/h8300/h8300-protos.h: Update the prototype for
16964 compute_plussi_cc.
16965 (cpp_reader): Declare before it is used.
16966 * config/h8300/h8300.c (compute_plussi_cc): Change the return
16967 type to int.
16968 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
16969 see an unknown H8 variant.
16970
169712003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 16972
ff6e2d3e 16973 PR target/9316
0186a143
RC
16974 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
16975 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
16976 * config/rs6000/t-rtems: New file. multilib variants to match OS.
16977 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
16978 rs6000/t-ppcgas so we get the desired multilibs.
16979
f55d7103
NC
169802003-01-30 Nick Clifton <nickc@redhat.com>
16981
16982 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
16983 when popping saved IP register off the stack.
16984
b6d08ca1
KH
169852003-01-30 Kazu Hirata <kazu@cs.umass.edu>
16986
16987 * config/rs6000/aix43.h: Fix comment typos.
16988 * config/rs6000/aix51.h: Likewise.
16989 * config/rs6000/aix52.h: Likewise.
16990 * config/rs6000/altivec.h: Likewise.
16991 * config/rs6000/rs6000.c: Likewise.
16992 * config/rs6000/rs6000.h: Likewise.
16993 * config/rs6000/rs6000.md: Likewise.
16994 * config/rs6000/spe.md: Likewise.
16995
14d22dd6
MM
169962003-01-29 Mark Mitchell <mark@codesourcery.com>
16997
16998 * c-common.c (builtin_define_float_constants): Define
16999 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
17000
825db093
KH
170012003-01-30 Kazu Hirata <kazu@cs.umass.edu>
17002
17003 * config/sh/lib1funcs.asm: Fix comment typos.
17004 * config/sh/linux.h: Likewise.
17005 * config/sh/sh.c: Likewise.
17006 * config/sh/sh.md: Likewise.
17007
f1d5271a
LR
170082003-01-30 Loren James Rittle <ljrittle@acm.org>
17009
17010 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
17011
266a9ef1
AO
170122003-01-30 Alexandre Oliva <aoliva@redhat.com>
17013
17014 * config/fp-bit.h (__make_dp): Declare if TMODES.
17015
0889116d
KH
170162003-01-29 Kazu Hirata <kazu@cs.umass.edu>
17017
17018 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
17019 general_operand_src and general_operand_dst.
17020
c8c99a68
DE
170212003-01-29 David Edelsohn <edelsohn@gnu.org>
17022
17023 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
17024 Return true for variable sized types.
17025 (rs6000_va_arg): Handle variable sized types passed by reference
17026 on non-SVR4 ABI.
17027
ccf4d512
RE
170282003-01-29 Richard Earnshaw <rearnsha@arm.com>
17029
17030 * arm.c (arm_legtimize_address): New function.
17031 * arm-protos.h (arm_legtimize_address): Add prototype.
17032 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
17033 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
17034 do ... while (0)
17035
0889116d 170362003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 17037
7429b411 17038 PR bootstrap/9296
0680c8fb 17039 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 17040 depended on it being defined until now.
0680c8fb 17041
7429b411 170422003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 17043
7429b411 17044 PR target/9295
c934274a
JS
17045 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
17046 RTEMS code knows which C++ initialization style the toolset
7429b411 17047 configuration is using.
c934274a 17048
0889116d 170492003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 17050
7429b411 17051 PR bootstrap/9293
ff6e2d3e 17052 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 17053 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 17054
0889116d 170552003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 17056
7429b411 17057 PR bootstrap/9292
64abe03e
JS
17058 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
17059 RTEMS threads.
17060 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 17061
2f12fb2b
NC
170622003-01-29 Nick Clifton <nickc@redhat.com>
17063
17064 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
17065 not $(srcdir).
17066
cf0150b9
AH
170672003-01-29 Andrew Haley <aph@redhat.com>
17068
17069 * tree-inline.c (walk_tree): Add CHAR_TYPE.
17070
62c9aa5f 170712003-01-29 Jan Hubicka <jh@suse.cz>
9b74f3ea
JH
17072
17073 * i386.md (subdi3_carry_rex64): Fix typo.
17074
e150159c
SS
170752003-01-28 Stan Shebs <shebs@apple.com>
17076
17077 * coretypes.h (cpp_reader): Forward declare struct.
17078 * c-pragma.h (cpp_reader): Remove forward declaration.
17079 * hashtable.h (cpp_reader): Likewise.
17080 * scan.h (cpp_reader): Likewise.
17081 * tree.h (cpp_reader): Likewise.
17082 * config/darwin-protos.h (cpp_reader): Likewise.
17083 * config/arm/arm-protos.h (cpp_reader): Likewise.
17084 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
17085 struct cpp_reader in prototypes.
17086
53b50ac1
CC
170872003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
17088
17089 * doc/install.texi: Add documentation for installation into
17090 tooldirs and with DESTDIR.
17091
021aa6ed
RH
170922003-01-28 Richard Henderson <rth@redhat.com>
17093
17094 * config.gcc (ia64*-*-aix*): Remove.
17095 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
17096 * config/ia64/unwind-aix.c: Remove file.
17097
c1c1d123
AS
170982003-01-28 Andreas Schwab <schwab@suse.de>
17099
ff6e2d3e
RB
17100 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
17101 register.
17102 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
17103 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
17104 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
17105 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
17106 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
17107 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
17108 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 17109
6d09ef27
RS
171102003-01-28 Richard Sandiford <rsandifo@redhat.com>
17111
17112 * combine.c (nonzero_bits): Fix check for negative divide operands.
17113
1e1bd14e
RH
171142003-01-28 Richard Henderson <rth@redhat.com>
17115
17116 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
17117 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
17118
e37135f7
RH
171192003-01-28 Richard Henderson <rth@redhat.com>
17120
17121 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
17122
75642f32
RH
17123 * config/cris/cris.c (cris_address_cost): Make static.
17124 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
17125 * config/cris/cris.h (ADDRESS_COST): Remove.
17126 * config/cris/cris-protos.h: Update.
17127
e37135f7 171282003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
17129
17130 * regclass.c (init_reg_autoinc): New function.
17131 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 17132 here...
1f80c9ef 17133 (init_regs): to here. Avoids reinitialization for each function,
26182e15 17134 saving compilation time.
1f80c9ef 17135
9fbd3e41
JM
171362003-01-28 Jason Merrill <jason@redhat.com>
17137
17138 * cpplib.h (struct cpp_options): Add warn_deprecated field.
17139 * cppinit.c (cpp_create_reader): Turn it on by default.
17140 * c-opts.c (c_common_decode_option): Set it.
17141 * cpplib.c (do_pragma_once): Only complain about #pragma once
17142 if warn_deprecated is set.
17143
fe352c29 171442003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 17145
1e1bd14e
RH
17146 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
17147 * loop.c (scan_loop): Move movables on -Os rich-register targets.
17148 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 17149
dcefdf67
RH
171502003-01-28 Richard Henderson <rth@redhat.com>
17151
17152 * target.h (targetm.address_cost): New.
17153 * target-def.h (TARGET_ADDRESS_COST): New.
17154 (TARGET_RTX_COSTS): Uncomment. Oops.
17155 * cse.c (address_cost): Use new target hook.
17156 (default_address_cost): New.
17157 * output.h (default_address_cost): Declare.
17158 * hooks.c (hook_int_rtx_0): New.
17159 * hooks.h (hook_int_rtx_0): Declare.
17160 * loop.c (combine_givs_p): Remove if 0 code.
17161 * system.h (ADDRESS_COST): Poison.
17162
17163 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
17164 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
17165 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
17166 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
17167 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
17168 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
17169 config/xtensa/xtensa.c, config/xtensa/xtensa.h
17170 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
17171 (ADDRESS_COST): Remove.
17172
17173 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
17174 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
17175 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
17176 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
17177 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
17178 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
17179 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
17180 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 17181 config/mips/mips.c, config/mips/mips.h,
dcefdf67 17182 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 17183 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
17184 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
17185 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
17186 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
17187 config/vax/vax.c, config/vax/vax.h
17188 (foo_address_cost): Make static.
17189 (TARGET_ADDRESS_COST): New.
17190 (ADDRESS_COST): Remove.
17191
17192 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
17193 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
17194 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
17195 config/stormy16/stormy16.h
17196 (ADDRESS_COST): Move code ...
17197 (foo_address_cost): ... here.
17198 (TARGET_ADDRESS_COST): New.
17199
17200 * config/m32r/m32r.c (m32r_address_cost): Remove.
17201 * config/m32r/m32r-protos.h: Update.
17202
17203 * config/mmix/mmix.c (mmix_address_cost): Remove.
17204 * config/mmix/mmix-protos.h: Update.
17205
17206 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
17207 mn10300_address_cost; move unsig allocation ...
17208 (mn10300_address_cost): ... here.
17209 (TARGET_ADDRESS_COST): New.
17210 * config/mn10300/mn10300-protos.h: Update.
17211 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
17212
75642f32
RH
17213 * doc/tm.texi: Update.
17214
58fb7809
VM
172152003-01-28 Vladimir Makarov <vmakarov@redhat.com>
17216
17217 * haifa-sched.c (schedule_insn): Return necessary cycle advance
17218 after issuing the insn.
17219 (rank_for_schedule): Make a insn with /S the highest priority
17220 insn.
17221 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
17222 (choose_ready): Check SCHED_GROUP_P.
17223 (schedule_block): Advance cycle after issuing insn if it is
17224 necessary. Don't reorder insns if there is an insn with /S.
17225 (set_priorities): Ignore schedule groups.
17226
17227 * sched-deps.c (remove_dependence, group_leader): Remove the
17228 functions.
17229 (add_dependence): Ignore schedule groups.
17230 (set_sched_group_p): Don't make copy of dependencies from previous
17231 insn of the schedule group. Add anti-dependency to the previous
17232 insn of the schedule group.
17233 (compute_forward_dependences): Ignore schedule groups.
17234
17235 * sched-ebb.c (init_ready_list): Ignore schedule groups.
17236
17237 * sched-rgn.c (init_ready_list): Ditto.
17238 (can_schedule_ready_p): Ditto.
ff6e2d3e 17239
371c988b
VM
172402003-01-28 Vladimir Makarov <vmakarov@redhat.com>
17241
17242 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
17243 register to another one.
17244
40cdfd5a
RH
172452003-01-28 Richard Henderson <rth@redhat.com>
17246
17247 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
17248
a77b7e32
RS
172492003-01-28 Roger Sayle <roger@eyesopen.com>
17250
17251 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
17252
3620944c
RS
172532003-01-28 Richard Sandiford <rsandifo@redhat.com>
17254
17255 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
17256 class contains a floating-point register, return the size of the
17257 mode in half words.
17258
62c9aa5f 172592003-01-28 Jan Hubicka <jh@suse.cz>
e6e81735 17260
26182e15
SB
17261 * i386.c (ix86_carry_flag_operator): New predicate.
17262 (fcmov_operator): Fix whitespace.
17263 (ix86_expand_carry_flag_compare): Deal with floating point.
17264 (ix86_expand_int_movcc): Deal with fp; update insn expansion
17265 (ix86_expand_int_addcc): Likewise.
17266 (ix86_expand_strlensi_unroll_1): likewsie.
17267 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
17268 * i386.md (add?i_carry_rex64): Use new predicate.
17269 (sub?i3_carry_rex64): Likewise.
17270 (x86_mov?icc_0_m1*): Likewise.
e6e81735 17271
43196589
AS
172722003-01-28 Andreas Schwab <schwab@suse.de>
17273
32214c32
AS
17274 * cfgloopmanip.c (create_preheader): Initialize src to avoid
17275 warning.
17276
17277 * expmed.c (emit_store_flag): Fix cast to avoid sign
17278 comparison warning.
17279
43196589
AS
17280 * combine.c (force_to_mode): Add cast to fix warning when
17281 STORE_FLAG_VALUE is negative.
17282
3c50106f
RH
172832003-01-27 Richard Henderson <rth@redhat.com>
17284
17285 * Makefile.in (cse.o): Depend on TARGET_H.
17286 * cse.c (rtx_cost): Use targetm.rtx_costs.
17287 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
17288 * doc/tm.texi: Update.
ff6e2d3e 17289
3c50106f
RH
17290 * target.h (targetm.rtx_costs): New.
17291 * target-def.h (TARGET_RTX_COSTS): New.
17292 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
17293 * hooks.h: Update.
17294
17295 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
17296 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
17297 * config/alpha/alpha.h (PROCESSOR_MAX): New.
17298 (CONST_COSTS, RTX_COSTS): Remove.
17299
17300 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
17301 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
17302 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
17303 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
17304 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
17305 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
17306 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
17307 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
17308 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
17309 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
17310 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
17311 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
17312 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
17313 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
17314 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
17315 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
17316 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
17317 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
17318 config/v850/v850.c, config/v850/v850.h,
17319 config/xtensa/xtensa.c, config/xtensa/xtensa.h
17320 (CONST_COSTS, RTX_COSTS): Move code ...
17321 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
17322
17323 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
17324 (arm_rtx_costs, TARGET_RTX_COSTS): New.
17325 * config/arm/arm-protos.h: Update.
17326 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
17327
17328 * config/avr/avr.h (CONST_COSTS): Move code ...
17329 * config/avr/avr.c (avr_rtx_costs): ... here.
17330 (default_rtx_costs): Make static.
17331 * config/avr/avr-protos.h: Update.
17332
17333 * config/h8300/h8300.c (const_costs): Make static.
17334 (h8300_and_costs, h8300_shift_costs): Likewise.
17335 * config/h8300/h8300-protos.h: Update.
17336
17337 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
17338 (CONST_COSTS): Move code ...
17339 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
17340 default_rtx_costs; update for signature change.
17341 * config/ip2k/ip2k-protos.h: Update.
17342
17343 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
17344 (CONST_COSTS): Move code ...
17345 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
17346 (TARGET_RTX_COSTS): New.
17347 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
17348 * config/m68hc11/m68hc11-protos.h: Update.
17349
17350 * config/m68k/m68k.c (const_int_cost): Make static.
17351 * config/m68k/m68k-protos.h: Update.
17352
17353 * config/mcore/mcore.c (mcore_const_costs): Make static.
17354 (mcore_and_cost, mcore_ior_cost): Likewise.
17355 * config/mcore/mcore-protos.h: Update.
17356
17357 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
17358 (mmix_rtx_cost_recalculated): Remove.
17359 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
17360 * config/mmix/mmix-protos.h: Update.
17361
17362 * config/sh/sh.c (shiftcosts): Make static.
17363 (addsubcosts, andcosts, multcosts): Likewise.
17364 * config/sh/sh-protos.h: Update.
17365
17366 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
17367 (sparc_rtx_costs): Make static; update for change in signature.
17368 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
17369 * config/sparc/sparc-protos.h: Update.
17370
17371 * config/v850/v850.c (const_costs): Make static.
17372 * config/v850/v850-protos.h: Update.
17373
17374 * config/vax/vax.h (RTX_COSTS): Remove.
17375 (CONST_COSTS): Move code ...
17376 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
17377 from vax_rtx_cost.
17378 (vax_rtx_costs, TARGET_RTX_COSTS): New.
17379
b9962e0a
RH
173802003-01-27 Richard Henderson <rth@redhat.com>
17381
17382 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 17383 * config/vax/vax-protos.h: Update. Really.
b9962e0a 17384
8a381273
AO
173852003-01-28 Alexandre Oliva <aoliva@redhat.com>
17386
17387 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
17388 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
17389 zero if no hardware floating point.
17390 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
17391 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
17392 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
17393 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
17394 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
17395 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
17396 even FP registers on N32 and N64.
17397 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
17398 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
17399 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
17400 even-register-like alignment to 128-bit arguments.
17401 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
17402 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
17403 on N32 or N64.
17404 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
17405 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
17406 (TPBIT): Set to tp-bit.c.
17407 (tp-bit.c): Create out of fp-bit.c.
17408
820e01be
GDR
174092003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
17410
17411 * c-parse.in: Remove '%expect 32' directive in objc mode.
17412
23af32e6
NS
174132003-01-27 Nathan Sidwell <nathan@codesourcery.com>
17414
17415 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
17416 (LIBGCOV): New variable.
17417 (libgcc.mk): Add LIBGCOV.
17418 (LIBGCC_DEPS): Add libgcov.c.
17419 (libgcov.a): New target.
17420 (clean): Remove libgcov.a.
17421 (install-libgcc): Do libgcov too.
17422 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
17423 with libgcov.a.
17424 * libgcc2.c (L_gcov): Move into ...
17425 * libgcov.c: ... here. New file.
17426 * mklibgcc.in: Add libgcov rules.
17427 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
17428
17429 * doc/invoke.texi (profile-arcs, test-coverage): Update and
17430 clarify.
ff6e2d3e 17431
23af32e6
NS
17432 * profile.c (index_counts_file): Remove duplicate check for open file.
17433
9fe42917 174342003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
17435
17436 * gcc/doc/invoke.texi (Optimization Options): Group together
17437 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 17438 out of this section. Group floating point flags together.
d4463dfc
JQ
17439 (Code Gen Options): Move trapv and bounds-check to here.
17440
244d05fb
JZ
174412003-01-27 Josef Zlomek <zlomekj@suse.cz>
17442
17443 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
17444
c552c146
RE
174452003-01-27 Richard Earnshaw <rearnsha@arm.com>
17446
17447 PR optimization/9090
17448 * function.c (purge_addressof_1): After pushing an addressed register
17449 onto the stack, simplify the result.
17450
90a21764
VR
174512003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
17452
17453 * doc/extend.texi: Fix typo.
17454
9a376494
VR
174552003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
17456
17457 * doc/cppopts.texi: Fix typo.
17458 * doc/objc.texi: Likewise.
17459 * doc/passes.texi: Likewise.
17460
f004e5f3
AO
174612003-01-27 Alexandre Oliva <aoliva@redhat.com>
17462
17463 * real.c (ibm_extended_format): Add 53 to minimum exponent.
17464 (encode_ibm_extended): Adjust.
17465
58c60e52
GDR
174662003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
17467
17468 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
17469 timevar_id enumerations.
17470
e869aa39
KH
174712003-01-26 Kazu Hirata <kazu@cs.umass.edu>
17472
17473 * combine.c: Fix formatting.
17474
74fb4811
KH
174752003-01-26 Kazu Hirata <kazu@cs.umass.edu>
17476
17477 * doc/gccint.texi: Update the copyright.
17478
3bcf1b13
KH
174792003-01-26 Kazu Hirata <kazu@cs.umass.edu>
17480
17481 * doc/cpp.texi: Fix typos.
17482 * doc/extend.texi: Likewise.
17483 * doc/gty.texi: Likewise.
17484 * doc/install.texi: Likewise.
17485 * doc/passes.texi: Likewise.
17486 * doc/rtl.texi: Likewise.
17487 * doc/tm.texi: Likewise.
17488
9e4f94de
KH
174892003-01-26 Kazu Hirata <kazu@cs.umass.edu>
17490
17491 * config/ia64/fde-glibc.c: Fix comment typos.
17492 * config/ia64/hpux.h: Likewise.
17493 * config/ia64/ia64.c: Likewise.
17494 * config/ia64/ia64.h: Likewise.
17495 * config/ia64/unwind-ia64.c: Likewise.
17496
4aae8a9a
KH
174972003-01-26 Kazu Hirata <kazu@cs.umass.edu>
17498
17499 * config/i386/i386-modes.def: Fix comment typos.
17500 * config/i386/i386.c: Likewise.
17501 * config/i386/i386.md: Likewise.
17502
35d8c8e2
SB
175032003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
17504
17505 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
17506 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
17507 ASM_FINISH_DECLARE_OBJECT before defining it.
17508 * toplev.c (rest_of_decl_compilation): Don't define
17509 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
17510 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
17511 parameters for DWARF2 targets because they _are_ used.
17512
ea976606
AO
175132003-01-26 Alexandre Oliva <aoliva@redhat.com>
17514
b44cf3d9
AO
17515 * fp-bit.h: Define macros for TFmode floating-point constants
17516 in IBM-extended TFmode types.
17517 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
17518 widths.
17519 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
17520 TFmode type.
17521
ea976606
AO
17522 * config/fp-bit.h: Define macros for TFmode floating-point
17523 constants in IEEE quad TFmode type. Declare functions according
17524 to L_ macros.
17525 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
17526 (TFtype, TItype, UTItype): Define if TMODES is defined.
17527 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
17528 (F_T_BITOFF, D_T_BITOFF): Define.
17529 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
17530 guaranteed to be wide enough.
17531 * config/fp-bit.c: Check for L_ macros for tf functions.
17532 (__thenan_tf): New.
17533 (nan): Adjust.
17534 (pack_d, unpack_d): Support IEEE 854 quad type.
17535 (_fpmul_parts): Support TFmode. Compute exponent adjustment
17536 from FRAC_NBITS, FRAC_BITS and NGARDS.
17537 (usi_to_float): Cast constants to be shifted to fractype
17538 instead of assuming long long is wide enough.
17539 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
17540
fd7fd61e
AJ
175412003-01-26 Andreas Jaeger <aj@suse.de>
17542
17543 * df.c: Remove prototype of unused function df_regno_rtl_debug.
17544
8ae91fc0
AO
175452003-01-26 Alexandre Oliva <aoliva@redhat.com>
17546
88e83acb
AO
17547 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
17548 (DBBIT_FUNCS): Added _df_to_tf.
17549 (TPBIT_FUNCS): New.
17550 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
17551 (LIBGCC_DEPS): Added TPBIT.
17552 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
17553
2cd622c3
AO
17554 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
17555 been able to move the result to target.
17556
8ae91fc0
AO
17557 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
17558 for the appropriate mode.
17559
c3297561
AO
17560 * calls.c (emit_library_call_value_1): Handle return values
17561 in a PARALLEL.
17562
187515f5
AO
17563 * rtl.c (get_mode_alignment): Moved to...
17564 * stor-layout.c: ... here.
17565
6ebd2ef4
AO
17566 * print-rtl.c (print_rtx): Don't print MEM details in
17567 GENERATOR_FILEs.
17568
7890e8f3
MH
175692003-01-26 Michael Hayes <mph@paradise.net.nz>
17570
17571 * df.h: Update comments, tidy formatting.
17572 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
17573 REVERSE, UNION, INTERSECTION. All uses updated.
17574 (OLD_DF_INTERFACE): Remove.
17575 (struct insn_info): Remove commented out insn field.
17576 * df.c: Update comments, tidy formatting.
17577 (df_def_table_realloc): Remove.
17578
17579
b820d2b8
AM
175802003-01-26 Alan Modra <amodra@bigpond.net.au>
17581
17582 * calls.c (save_fixed_argument_area): Tidy.
17583 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
17584 (expand_call): Comment typo fixes. Don't init low_to_save. Start
17585 call chain loop at 1 if !try_tail_call. Formatting.
17586 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
17587 Use save_fixed_argument_area and restore_fixed_argument_area.
17588
42510de4
MH
175892003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17590
17591 * df.c (df_uses_record): Handle CC0.
17592
acf9fa5f
UW
175932003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
17594
1e1bd14e
RH
17595 * reload.c (maybe_memory_address_p): New function.
17596 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 17597
5a09edba
KK
175982003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
17599
17600 * final.c (shorten_branches): Align the address of code label
1e1bd14e 17601 when computing initial lengths and addresses.
5a09edba 17602
f5818c0c
KH
176032003-01-25 Kazu Hirata <kazu@cs.umass.edu>
17604
17605 * config/m68hc11/m68hc11.md: Fix a comment typo.
17606
21ff35fb
AJ
176072003-01-25 Andreas Jaeger <aj@suse.de>
17608
17609 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
17610 TARGET_MACHO.
17611
7821bfc7
RS
176122003-01-25 Roger Sayle <roger@eyesopen.com>
17613
17614 * gcse.c (bypass_last_basic_block): New global variable.
17615 (bypass_block): Use redirect_edge_and_branch_force to redirect
17616 fall-through edges. Use bypass_last_basic_block to determine
17617 which blocks have valid PRE information.
17618 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
17619
62c9aa5f 176202003-01-25 Jan Hubicka <jh@suse.cz>
5f0bea72
JH
17621
17622 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
17623
62c9aa5f 176242003-01-25 Jan Hubicka <jh@suse.cz>
1649d92f
JH
17625 Eric Botcazou <ebotcazou@libertysurf.fr>
17626 PR opt/8492
17627 * gcse.c (one_cprop_pass): Delete unreachable blocks.
17628
6ca86a1a
RH
176292003-01-25 Richard Henderson <rth@redhat.com>
17630
17631 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
17632 from ia64_aix_select_rtx_section.
17633 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
17634 instead of saving and restoring flag_pic.
17635 (ia64_rwreloc_unique_section): Similarly.
17636 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
17637 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
17638 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
17639 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
17640
aa2fb4dd
KH
176412003-01-25 Kazu Hirata <kazu@cs.umass.edu>
17642
17643 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
17644 comment.
17645
c876997f 176462003-01-25 Richard Henderson <rth@redhat.com>
1125849a
RH
17647
17648 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
17649
c876997f 176502003-01-25 Kelley Cook <kelleycook@comcast.net>
3900a23b
KC
17651
17652 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
17653
72e42e26
SB
176542003-01-25 Segher Boessenkool <segher@koffie.nl>
17655
17656 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
17657 type for bitmaps. Use unsigned long.
17658 (nBITMAP_WORD_BITS): New macro.
17659 (BITMAP_WORD_BITS): New macro.
17660 (rest of file): Use it.
17661 * bitmap.c: Use it.
17662
8324663f
RH
176632003-01-25 Richard Henderson <rth@redhat.com>
17664
17665 2002-02-19 Robert Lipe <robertlipe@usa.net>
17666 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
17667
c876997f 176682003-01-25 Roger Sayle <roger@eyesopen.com>
2adc9b0f
RS
17669
17670 * builtins.c (purge_builtin_constant_p): Scan insn stream
17671 sequentially rather than by basic block.
17672 * function.c (purge_addressof): Simplify test with INSN_P.
17673
ad487c38
KH
176742003-01-25 Kazu Hirata <kazu@cs.umass.edu>
17675
8324663f 17676 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 17677
c876997f 176782003-01-25 Roger Sayle <roger@eyesopen.com>
07d9b20d
RS
17679
17680 * function.h (struct function): New field calls_constant_p.
17681 (current_function_calls_constant_p): New macro for above.
17682 * function.c (prepare_function_start): Initialize calls_eh_return
17683 and calls_constant_p.
17684 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
17685 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
17686 when the current_function_calls_constant_p.
17687 * integrate.c (expand_inline_function): Set calls_constant_p if
17688 the function being inlined has calls_constant_p set.
17689
c876997f 176902003-01-25 Roger Sayle <roger@eyesopen.com>
41559112
RS
17691
17692 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
17693 optimizing, even if flag_gcse is true.
17694 * toplev.c (rest_of_compilation): purge_builtin_constant_p
17695 only needs to be called when "optimize > 0 && flag_gcse".
17696
9bb231fd
RS
176972003-01-25 Roger Sayle <roger@eyesopen.com>
17698
17699 * stmt.c (emit_case_bit_tests): New routine to implement suitable
17700 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
17701 (case_bit_test_cmp): New comparison function for "qsort" to order
17702 case_bit_tests by decreasing number of destination nodes.
17703 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
17704 (expand_end_case_type): Use emit_case_bit_tests to implement
17705 suitable switch statments.
17706 (CASE_USE_BIT_TESTS): New target macro to disable the above.
17707 * Makefile.in (stmt.o): Add dependency on optab.h.
17708 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
17709
a073323c
AS
177102003-01-23 Andreas Schwab <schwab@suse.de>
17711
17712 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
17713 __do_global_ctors_aux hidden global and don't put it in
17714 .init_array.
17715 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
17716 instead so that it comes first.
17717
62c9aa5f 177182003-01-25 Jan Hubicka <jh@suse.cz>
36ddc6b0
JH
17719
17720 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
17721 subreg is read/modify.
17722
62c9aa5f 177232003-01-25 Jan Hubicka <jh@suse.cz>
26771da7
JH
17724
17725 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
17726 do libcall for large blocks.
17727 * i386.md (comi patterns): Set type to ssecomi.
17728 (sse2_unpck?pd): Fix mode of vec_select.
17729
17730 * cse.c: Include except.h
17731 (cse_set_around_loop): Do not create new basic blocks.
17732 * Makefile.in (cse.o): Add dependnecy on except.h
17733
62c9aa5f 177342003-01-25 Jan Hubicka <jh@suse.cz>
27a6aa72
JH
17735
17736 * builtins.c (fold_trunc_transparent_mathfn): New function.
17737 (fold_builtin): Use it.
17738 * convert.c (convert_to_real): Re-enable code to convert
17739 math functions; add support for floor familly functions.
17740
cd68f4e4
ZD
177412003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
17742
17743 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
17744 dependencies on coretypes.h and $(TM_H).
17745
62c9aa5f 177462003-01-25 Jan Hubicka <jh@suse.cz>
67945f2e
JH
17747
17748 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
17749
c876997f 177502003-01-24 Stuart Hastings <stuart@apple.com>
095fa594 17751
08f0414b 17752 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 17753
1e4c04e0
MH
177542003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17755
17756 * config/c4x/c4x.md (UNSPEC_BU): New constants.
17757 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
17758 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
17759 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
17760 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
17761 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
17762 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
17763 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
17764
62c9aa5f 177652003-01-24 Jan Hubicka <jh@suse.cz>
a560d4d4 17766
08f0414b 17767 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
17768 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
17769 functions.
17770 (reg_rtx): Do not maintain regno_decl.
17771 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
17772 set_mem_attrs_from_reg): New global function.
17773 (init_emit): Do not initialize regno_decl.
17774 (init_emit_once): initialize reg_attrs_htab.
17775 * final.c (alter_subreg): Do not replace REG by SUBREG.
17776 (gen_mem_expr_from_op): Improve output.
17777 (output_asm_operands): Likewise.
17778 * function.c (assign_params): Do not set REGNO_DECL.
17779 * function.h (struct function): Kill regno_decl.
17780 (REGNO_DECL): Kill.
17781 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
17782 * print_rtl.c (print_rtx): Output REG information.
17783 * regclass.c (reg_scan_mark_refs): Update attrs.
17784 * reload1.c (alter_reg): Likewise.
17785 * simplify_rtx.c (simplify_subreg): Likewise.
17786 * stmt.c (expand_decl): Likewise.
17787 * rtl.def (REG): Add new field.
17788 * rtl.h (struct reg_attrs): New.
17789 (rtunion_def): At rtreg.
17790 (X0MEMATTR): Add checking.
17791 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
17792 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
17793 Declare.
17794 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
17795
1d0ea52e
BW
177962003-01-24 Bob Wilson <bob.wilson@acm.org>
17797
17798 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
17799 (xtensa_emit_call, print_operand): Fix printf format strings
17800 to avoid compile warnings.
17801 (xtensa_function_prologue, xtensa_function_epilogue): Change type
17802 of "size" argument to HOST_WIDE_INT to fix compile warnings.
17803 * config/xtensa/xtensa-protos.h
17804 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
17805
62c9aa5f 178062003-01-24 Jan Hubicka <jh@suse.cz>
272f51a3
JH
17807
17808 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
17809 (implicit_built_in_decls): New global array.
17810 (mathfn_built_in): New global function.
17811 (fold_trunc_transparent_mathfn): New static function
17812 (expand_builtin_strstr, expand_bultin_strchr,
17813 expand_builtin_strpbrk, expand_builtin_strcpy,
17814 expand_builtin_strncpy, expand_bultin_strcmp,
17815 expand_bultin_strncat, expand_builtin_fputs): Use
17816 implicint_built_in_decls.
17817 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
17818 * builtins.def: Fix comments.
17819 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
17820 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
17821 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
17822 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
17823 (DEF_C99_C90RES_BULTIN): New.
17824 (*f, *l builtins): Update.
17825 * c-common.c (DEF_BUILTIN): Initialize implicit array.
17826 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
17827 * convert.c (strip_float_extensions): New global function.
17828 * tree.h (DEF_BUILTIN): Accept 10 arguments.
17829 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
17830 Declare.
17831 * java/builtins.c (define_builtin): Handle implicit.
17832 (DEF_BUILTIN): Update.
17833 * tm.texi (TARGET_C99_FUNCTIONS): Document.
17834 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
17835 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
17836 when using glibc2.
17837
1f37a5b2
BW
178382003-01-24 Bob Wilson <bob.wilson@acm.org>
17839
17840 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
17841 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
17842 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
17843 * config/xtensa/crti.asm: New file.
17844 * config/xtensa/crtn.asm: New file.
17845 * config/xtensa/t-elf: New file.
17846 * config/xtensa/t-linux: New file.
17847 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
17848 Move various CFLAGS settings to new t-elf file.
17849
84f5e1b1
RH
178502003-01-24 Richard Henderson <rth@redhat.com>
17851
17852 PR optimization/4382
17853 * tree-inline.c (find_builtin_longjmp_call_1): New.
17854 (find_builtin_longjmp_call): New.
17855 (inlinable_function_p): Use it.
17856
09b2e78d
ZD
178572003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
17858
17859 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
17860 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
17861 * config/i386/i386.c (function_arg_pass_by_reference): New.
17862 (ix86_va_arg): Support arguments passed by reference.
17863
3d436d2a
ZD
178642003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
17865
17866 * cfgloopanal.c: New file.
17867 * cfgloopmanip.c: New file.
17868 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
17869 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
17870 cfglayout.o): Add dependency on cfgloop.h.
17871 (cfgloop.o): Add flags.h dependency.
17872 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
17873 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
17874 (struct loop, struct loops, flow_loops_find, flow_loops_update,
17875 flow_loops_free, flow_loops_dump, flow_loop_dump,
17876 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
17877 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
17878 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
17879 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
17880 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
17881 find_common_loop, verify_loop_structure): Declarations moved to ...
17882 * cfgloop.h: New file.
17883 * bb-reorder.c (reorder_basic_blocks): Modified.
17884 * cfglayout.c: Include cfgloop.h.
17885 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
17886 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
17887 (break_superblocks): New static function.
17888 (cfg_layout_finalize): Use it.
17889 (cfg_layout_split_block): New function.
17890 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
17891 fields.
17892 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
17893 changed.
17894 (cfg_layout_split_block): Declare.
17895 * cfgloop.c: Include cfgloop.h and flags.h.
17896 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
17897 get_loop_body): Avoid signed versus unsigned comparison warnings.
17898 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
17899 loop_latch_edge): Modified.
17900 (verify_loop_structure): Modified to use flags stored in loop structure;
17901 check irreducible loops.
17902 (cancel_loop, cancel_loop_tree): New functions.
17903 (estimate_probability): Use loop analysis code for predictions.
17904 (estimate_loops_at_level): Avoid signed versus unsigned comparison
17905 warnings.
17906 * doloop.c: Include cfgloop.h.
17907 * loop.c: Include cfgloop.h.
17908 * predict.c: Include cfgloop.h.
17909 * toplev.c: Include cfgloop.h.
17910 * unroll.c: Include cfgloop.h.
17911 * tracer.c (tracer): Modified.
17912
a38b3eea
KH
179132003-01-24 Kazu Hirata <kazu@cs.umass.edu>
17914
17915 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
17916
fd3cd001
UW
179172003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
17918
17919 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
17920 * configure: Regenerate.
17921
17922 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
17923 (tls_symbolic_reference_mentioned_p): Add prototype.
17924 (s390_tls_get_offset): Add prototype.
17925 (emit_pic_move): Remove prototype, replace by ...
17926 (emit_symbolic_move): .. this new prototype.
17927
17928 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
17929 (tls_model_chars): New global variable.
17930 (s390_encode_section_info): Encode TLS model.
17931 Use targetm.binds_local_p to check for local symbols.
17932 (s390_strip_name_encoding): New function.
17933 (TARGET_STRIP_NAME_ENCODING): Define.
17934
17935 (get_thread_pointer): New function.
21ff35fb 17936 (legitimize_tls_address): New function.
fd3cd001
UW
17937 (legitimize_address): Call it.
17938 (emit_pic_move): Remove, replace by ...
17939 (emit_symbolic_move): ... this new function.
17940
17941 (larl_operand): Handle TLS operands.
17942 (legitimate_constant_p): Likewise.
17943 (s390_decompose_address): Likewise.
17944 (s390_cannot_force_const_mem): New function.
17945 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
17946
17947 (s390_output_symbolic_const): Handle TLS unspecs.
17948 (print_operand): New code 'J'.
17949 (machine_function): Add struct member 'some_ld_name'.
17950 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
17951
17952 (enum s390_builtin): New type.
17953 (code_for_builtin_64, code_for_builtin_31): New global variables.
17954 (s390_init_builtins, s390_expand_builtin): New functions.
17955 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
17956
17957 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
17958 (ASM_OUTPUT_LABELREF): Define.
17959 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
17960
17961 * config/s390/s390.md: Define TLS UNSPEC constants.
17962 ("movdi", "movsi"): Handle TLS operands.
17963 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
17964 ("*tls_load_64", "*tls_load_31"): New insns.
17965 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 17966 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
17967 "bas_tls_64", "bas_tls_31"): New insns.
17968
01f4962d
NS
179692003-01-24 Nathan Sidwell <nathan@codesourcery.com>
17970
17971 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
17972 spe ABI is configured, if requested.
17973
70b91854
VR
179742003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
17975
17976 * doc/passes.texi: Fix typo.
17977
b8089d8d
AS
179782003-01-24 Andreas Schwab <schwab@suse.de>
17979
17980 * stor-layout.c (excess_unit_span): Only define if used.
17981
38df970e
JQ
179822003-01-24 Jerry Quinn <jlquinn@optonline.net>
17983
17984 * gcc/doc/invoke.texi (Optimization Options): List -O levels
17985 for each optimization flag.
17986
dff23a65
KH
179872003-01-24 Kazu Hirata <kazu@cs.umass.edu>
17988
17989 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
17990
05739753
VR
179912003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
17992
17993 * doc/bugreport.texi: Use @command instead of @code for commands.
17994 * doc/collect2.texi: Likewise.
17995 * doc/headerdirs.texi: Likewise.
17996 * doc/invoke.texi: Likewise.
17997 * doc/standards.texi: Likewise.
17998 * doc/tm.texi: Likewise.
17999 * doc/trouble.texi: Likewise.
18000
06bea5aa
NC
180012003-01-24 Nick Clifton <nickc@redhat.com>
18002
18003 * config/arm/arm.c (use_return_insn): Do not use a single return
18004 instruction for interrupt handelrs which have to create a stack
18005 frame.
18006 (arm_expand_prologue): Do not pre-bias the return address of
18007 interrupt handlers which create a stack frame.
18008
180092003-01-24 Nick Clifton <nickc@redhat.com>
18010
18011 * Add sh2e support:
18012
18013 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
18014
18015 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
18016 med_cbranches. Fix logic in short_cbranches.
18017
18018 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
18019
18020 * config/sh/sh.md (delay for cbranch): Don't annul delay
18021 slots on SH2e.
18022 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
18023 cbranch with unfilled delay slot on SH2e.
18024 (output_branch): Fill with a nop the delay slot of a
18025 branch that required a delay slot but didn't get one.
18026
18027 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
18028
18029 * doc/invoke.texi (SH options): Document -m2e.
18030 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
18031 * config/sh/lib1funcs.asm: Likewise.
18032 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
18033 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
18034 not __sh1__.
18035 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
18036 SH2E up.
18037 (SH3E_BIT): Renamed to...
18038 (SH_E_BIT): ... this. Replace all uses.
18039 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
18040 Replace all uses of TARGET_SH3E with TARGET_SH2E.
18041 (TARGET_SWITCHES): Added 2e.
18042 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
18043 (processor_type): Added PROCESSOR_SH2E.
18044 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
18045 TARGET_SH2E, except in sqrtsf2_i.
18046 (attribute cpu): Added sh2e.
18047 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
18048 (MULTILIB_MATCHES): Use m2e multilib for m3e.
18049 * config.gcc: Add sh2e target support.
18050
65ca2d60
PE
180512003-01-24 Phil Edwards <pme@gcc.gnu.org>
18052
18053 Rename -W to -Wextra.
18054 * c-decl.c: Update comments.
18055 * c-typeck.c: Likewise.
18056 * flags.h: Likewise.
18057 * function.c: Likewise.
18058 * stmt.c: Likewise.
18059 * toplev.c: Update comments.
18060 (W_options): Add 'extra'.
18061 (display_help): Remove '-W'.
18062 (decode_W_option): Special warn_uninitialized treatment in the case
18063 of -Wextra.
18064 * doc/invoke.texi: Update with new entries.
18065
3de9c088
RH
180662003-01-23 Richard Henderson <rth@redhat.com>
18067
8324663f
RH
18068 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
18069 in no-else-block case. Add commentary.
3de9c088 18070
49691411
KG
180712003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18072
b4862477
KG
18073 * configure.in: Revert last change.
18074
180752003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18076
18077 * configure.in: Don't include ansidecl.h in tconfig.h.
ed446835 18078 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED): Define if IN_LIBGCC2.
49691411
KG
18079 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
18080 ATTRIBUTE_UNUSED.
18081
18082 * configure: Regenerate.
18083
c4db7ecb
FS
180842003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18085
18086 PR java/6748
18087 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
18088 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
18089 kernels.
18090
fc69c47c
KG
180912003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18092
18093 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
18094
adbe6dfd
UW
180952003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
18096
18097 * genattrtab.c (write_attr_get): Mark 'insn' paramter
18098 as ATTRIBUTE_UNUSED.
18099
76a318e9
RE
181002003-01-23 Richard Earnshaw <rearnsha@arm.com>
18101
18102 * arm.c (thumb_base_register_rtx_p): New function.
18103 (thumb_index_register_rtx_p): New function.
18104 (thumb_legitimate_address_p): New function.
18105 (thumb_legitimate_offset_p): New function.
18106 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 18107 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
18108 definitions.
18109 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
18110 (THUMB_LEGITIMATE_OFFSET): Delte.
18111 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
18112 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
18113 (thumb_legitimate_offset_p): Likewise.
18114
9a600d0c
AS
181152003-01-23 Andreas Schwab <schwab@suse.de>
18116
18117 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
18118
2d110c0a
KG
181192003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18120
18121 * fixinc/Makefile.in (FL_LIST): Revert last change.
18122
2d1d9215
VR
181232003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
18124
18125 PR other/7341
18126 * invoke.texi (ftest-coverage): Fix broken cross-reference.
18127 Change @code to @command for gcov command.
18128
18129 * gcc.texi: Adjust title of gcov section.
18130 Adjust copyright.
18131 * gcov.texi: Likewise.
18132
34ee7f82
RS
181332003-01-22 Roger Sayle <roger@eyesopen.com>
18134
18135 PR optimization/8423
18136 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
18137 its argument is constant, or 0 if !flag_gcse.
18138 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
18139 if it's argument is constant.
18140 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
18141 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
18142 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
18143 * builtins.c (purge_builtin_constant_p): New function to force
18144 instantiation of any remaining CONSTANT_P_RTX nodes.
18145 * rtl.h (purge_builtin_constant_p): Prototype here.
18146 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
18147 pass after GCSE and before loop.
18148 (flag_gcse): No longer static.
18149 * flags.h (flag_gcse): Prototype here.
18150
bab0b43b
UW
181512003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
18152
18153 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
18154 introduced by last change.
18155
7e657a61
AS
181562003-01-22 Andreas Schwab <schwab@suse.de>
18157
18158 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
18159
75a3503b
KH
181602003-01-22 Kazu Hirata <kazu@cs.umass.edu>
18161
18162 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
18163 request a scratch reg on H8S when the shift count is 8.
18164
4888ec5d
UW
181652003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
18166
18167 * config/s390/s390-protos.h (preferred_la_operand_p):
18168 Remove second parameter.
18169 * config/s390/s390.c (preferred_la_operand_p): Likewise.
18170 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
18171 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
18172 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
18173 Add peepholes to transform ADD to LOAD ADDRESS.
18174
6b990f6b
RE
181752003-01-22 Richard Earnshaw <rearnsha@arm.com>
18176
18177 * arm.c (arm_address_register_rtx_p): New function.
18178 (arm_legitimate_address_p): New function.
18179 (arm_legitimate_index_p): New function.
18180 (legitimize_pic_address): Use arm_legitimate_index_p.
18181 * arm-protos.h (arm_legtimate_address_p): Add prototype.
18182 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
18183 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
18184
f0bf1270
HP
181852003-01-22 Hartmut Penner <hpenner@de.ibm.com>
18186
18187 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
18188 * config/s390/2064.md (define_bypass): Correct 'Load' and
18189 'Load-address' bypass values.
21ff35fb 18190
fcb6a0f5
AS
181912003-01-22 Andreas Schwab <schwab@suse.de>
18192
18193 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
18194
c24b8026
ZW
181952003-01-21 Zack Weinberg <zack@codesourcery.com>
18196
18197 * genautomata.c (output_internal_insn_latency_func,
18198 output_print_reservation_func): Short circuit when there is no
18199 automaton to generate code for.
18200
38afe605
KG
182012003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18202
18203 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
18204 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
18205
d24652ee
GK
182062003-01-21 Geoffrey Keating <geoffk@apple.com>
18207
18208 * config/rs6000/rs6000.md: Remove warning.
18209 (builtin_setjmp_receiver): Likewise.
18210 * config/darwin.c (update_stubs): Slightly improve terrible hack
18211 with identifiers. Add comment pointing out problems with it.
18212 (update_non_lazy_ptrs): Likewise.
18213
1c99d804
RH
182142003-01-21 Richard Henderson <rth@redhat.com>
18215
18216 * dwarf2out.c (lookup_filename): Fix printf format warning.
18217 * system.h (fread_unlocked, fwrite_unlocked): Undef.
18218
18219 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
18220 (fixincl.o-warn, gnu-regex.o-warn): New.
18221 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
18222 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
18223 * fixinc/fixincl.c (process): Fix printf format warning.
18224
f0b886ab
UW
182252003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
18226
18227 * dwarf2out (output_file_names): Don't crash if called
18228 with empty file_table.
18229
490c57bb
ZW
182302003-01-21 Zack Weinberg <zack@codesourcery.com>
18231
18232 * genautomata.c (output_internal_insn_latency_func): Add
18233 missing break statement to generated code.
18234
100e3acb
RS
182352003-01-21 Roger Sayle <roger@eyesopen.com>
18236
18237 * stmt.c (same_case_target_p): New function to determine whether
18238 two case labels branch to the same target. Split out from...
18239 (group_case_nodes): ... here. Use same_case_target_p instead.
18240 (strip_default_case_nodes): Remove explicit case nodes
18241 that branch to the default destination.
18242 (expand_end_case_type): Call strip_default_case_nodes after
18243 group_case_nodes, to simplify the case-list before we count it.
18244 Only generate table_label RTX when actually needed. Try to share
18245 thiscase->exit_label and thiscase->data.case_stmt.default_label
18246 when a switch has no explicit default case. Simplify test for
18247 constant index.
18248
e8e8c1e5
KH
182492003-01-21 Kazu Hirata <kazu@cs.umass.edu>
18250
18251 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
18252 \t.
18253 (*negsf2_h8300hs): Likewise.
18254 (*addsi3_lshiftrt_16_zexthi): Likewise.
18255 (*iorhi3_lshiftrt_8): Likewise.
18256
044b4de3
UW
182572003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
18258
18259 * dwarf2out.c (fde_table_in_use): Mark GTY.
18260 (dwarf2out_cfi_label_num): New variable, marked GTY.
18261 (dwarf2out_cfi_label): Use it instead of static label_num.
18262 * emit-rtl.c (label_num): Mark GTY.
18263
cfedf91b
KH
182642003-01-21 Kazu Hirata <kazu@cs.umass.edu>
18265
18266 * config/h8300/h8300.c (output_plussi): Support H8/300.
18267 (compute_plussi_length): Likewise.
18268 (compute_plussi_cc): Likewise.
18269 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
18270 output assembly instructions.
18271
dd859b8a
KG
182722003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18273
1f5b3282
KG
18274 * calls.c (fix_unsafe_tree): Prototype.
18275
dd859b8a
KG
18276 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
18277 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
18278 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
18279 c-parse.o-warn): Add -Wno-error.
18280 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
18281
18282 * configure.in (--enable-werror): Add new flag.
18283 * doc/install.texi (--enable-werror): Document.
18284 * configure: Regenerate.
18285
18286 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
18287
4f9365e2
AS
182882003-01-21 Andreas Schwab <schwab@suse.de>
18289
18290 * genautomata.c (output_internal_insn_latency_func): Fix missing
18291 close paren in output.
18292
a543eb5e
ZW
182932003-01-21 Zack Weinberg <zack@codesourcery.com>
18294
18295 * genautomata.c: Space savings in generated code:
18296 (output_dfa_insn_code_func): Split out the table-enlargement
18297 path to an out-of-line static function, dfa_insn_code_enlarge.
18298 (output_internal_insn_latency_func): Use a lookup table for the
18299 default latencies.
18300 (output_print_reservation_func): Use a lookup table for the
18301 strings.
18302
292e35a3
CE
183032003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
18304
18305 PR opt/7507
18306 * calls.c (fix_unsafe_tree): Split out from ...
18307 (expand_call): ... here. Use it on the function address too.
18308
d8d0f5af
RH
183092003-01-20 Richard Henderson <rth@redhat.com>
18310
18311 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
18312
5b50aa9d
RH
183132003-01-20 Richard Henderson <rth@redhat.com>
18314
515e1c9f 18315 PR opt/7154
5b50aa9d
RH
18316 * stmt.c (expand_asm_operands): Validize memory operands.
18317
7a174a15
RH
183182003-01-20 Richard Henderson <rth@redhat.com>
18319
18320 PR opt/8848
18321 * ifcvt.c (noce_process_if_block): Correct arguments to
18322 modified_between_p for no-else-block case.
18323
9ac7ebba
KH
183242003-01-20 Kazu Hirata <kazu@cs.umass.edu>
18325
18326 * config/h8300/h8300.c (const_costs): Remove a warning.
18327 (output_plussi): Likewise.
18328 (compute_plussi_length): Likewise.
18329 (compute_plussi_cc): Likewise.
18330
309c52b5
KH
183312003-01-20 Kazu Hirata <kazu@cs.umass.edu>
18332
18333 * config/h8300/h8300.md (addsi_h8300): Remove the last
18334 alternative.
18335
b30686ec
KH
183362003-01-20 Kazu Hirata <kazu@cs.umass.edu>
18337
18338 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
18339
87608693
KG
183402003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18341
18342 * system.h (__NO_STRING_INLINES): Define.
18343
475c8250
JDA
183442003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18345
18346 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
18347 is not a scalar int mode.
18348
dbaff908
RS
183492003-01-20 Roger Sayle <roger@eyesopen.com>
18350
18351 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
18352 insn's notes following a substitution inside a libcall.
18353
da8a6064
ZW
183542003-01-20 Zack Weinberg <zack@codesourcery.com>
18355
18356 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 18357 * configure, config.in: Regenerate.
da8a6064
ZW
18358 * cpphash.h: Only typedef 'uchar' if the system doesn't.
18359
a4b1b92a
RH
183602003-01-20 Richard Henderson <rth@redhat.com>
18361
18362 * expr.h (MUST_PASS_IN_STACK): Move implementation...
18363 * calls.c (default_must_pass_in_stack): ... here.
18364
d530b07f
VM
183652003-01-20 Vladimir Makarov <vmakarov@redhat.com>
18366
da8a6064
ZW
18367 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
18368
d530b07f
VM
18369 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
18370
18371 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
18372 Wrap up definition of `insn_alts'.
18373
18374 * genattrtab.c (main): Wrap up `insn_alts'.
18375
351df804
KG
183762003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18377
18378 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
18379 prototyping.
18380 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 18381
351df804
KG
18382 * config.in, configure: Regenerate.
18383
e3289412
NC
183842003-01-20 Nick Clifton <nickc@redhat.com>
18385
18386 * config/arm/arm.md (sibcall_epilogue): Add an
18387 UNSPEC_PROLOGUE_USE to prevent the link register from being
18388 considered dead.
18389
62c9aa5f 183902003-01-20 Jan Hubicka <jh@suse.cz>
5794139a
JH
18391
18392 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
18393
0a18ddf9
AS
183942003-01-20 Andreas Schwab <schwab@suse.de>
18395
18396 * system.h: Don't declare strsignal if the decl test hasn't been
18397 run yet.
18398
d99c740f
KH
183992003-01-20 Kazu Hirata <kazu@cs.umass.edu>
18400
18401 * config/h8300/h8300.c (notice_update_cc): Don't assume that
18402 recog_data.operands[0] is always associated with cc0.
18403
825c5408
DE
184042003-01-19 David Edelsohn <edelsohn@gnu.org>
18405
18406 * collect2.c (ldgetname): Expand declaration to prototype.
18407 * read-rtl.c (atoll): Add prototype.
da3e0142 18408 * system.h (strsignal): Also declare if no declaration found.
825c5408 18409
3bd6d4c4
AO
184102003-01-19 Alexandre Oliva <aoliva@redhat.com>
18411
18412 * config.gcc (mips64*-*-linux*): Added.
18413 * config/mips/linux64.h, config/mips/t-linux64: New file.
18414 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
18415 * config/mips/mips.c (override_options): Use it.
18416 * config/mips/mips.h (TARGET_SWITCHES): Added...
18417 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
18418 * Makefile.in (SPECS): New.
18419 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
18420 * gcc.c (process_command): Move self-spec processing past spec
18421 file loading.
18422 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
18423 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
18424 CRTSTUFF_T_CFLAGS.
18425 (SPECS): Document.
18426 * doc/invoke.texi (-mabi-fake-default): Document.
18427
e9f13564
SC
184282003-01-19 Stephane Carrez <stcarrez@nerim.fr>
18429
18430 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
18431 z_reg, z_reg_qi): Declare static and GTY().
18432 (da_reg): Remove.
18433 (create_regs_rtx): Don't create da_reg.
18434 ("gt-m68hc11.h"): Include for GTY roots.
18435 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
18436 and GTY() here.
18437 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
18438 (m68hc11_soft_tmp_reg): Likewise.
18439 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
18440
32dd366d
KH
184412003-01-18 Kazu Hirata <kazu@cs.umass.edu>
18442
18443 * basic-block.h: Fix comment formatting.
18444 * calls.c: Likewise.
18445 * combine.c: Likewise.
18446 * convert.c: Likewise.
18447 * gcov.c: Likewise.
18448 * haifa-sched.c: Likewise.
18449 * libgcc2.c: Likewise.
18450 * loop.c: Likewise.
18451 * profile.c: Likewise.
18452 * system.h: Likewise.
18453
bc3cb712
RS
184542003-01-18 Roger Sayle <roger@eyesopen.com>
18455
18456 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
18457
25e42e9d
KG
184582003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18459
18460 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
18461
6f9c81f5
DJ
184622003-01-17 Dale Johannesen <dalej@apple.com>
18463
da8a6064 18464 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
18465 (*floatunssidf2_internal): Ditto.
18466
95bd1dd7
KH
184672003-01-17 Kazu Hirata <kazu@cs.umass.edu>
18468
18469 * alias.c: Fix comment typos.
18470 * basic-block.h: Likewise.
18471 * c-common.c: Likewise.
18472 * c-common.h: Likewise.
18473 * c-decl.c: Likewise.
18474 * c-opts.c: Likewise.
18475 * c-pragma.c: Likewise.
18476 * c-pretty-print.h: Likewise.
18477 * cfg.c: Likewise.
18478 * cfganal.c: Likewise.
18479 * cfgbuild.c: Likewise.
18480 * cfgcleanup.c: Likewise.
18481 * cfglayout.c: Likewise.
18482 * cfgrtl.c: Likewise.
18483 * convert.c: Likewise.
18484 * cpphash.h: Likewise.
18485 * cpplex.c: Likewise.
18486 * cpplib.h: Likewise.
18487 * df.h: Likewise.
18488 * diagnostic.c: Likewise.
18489 * diagnostic.h: Likewise.
18490 * dwarf2.h: Likewise.
18491
d5840e09
SS
184922003-01-17 Stan Shebs <shebs@apple.com>
18493
18494 * config/darwin-protos.h: Forward-declare struct cpp_reader.
18495
e607534b
DR
184962003-01-17 Douglas B Rupp <rupp@gnat.com>
18497
18498 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
18499 mistake in last checkin.
18500
fbe5a4a6
KH
185012003-01-17 Kazu Hirata <kazu@cs.umass.edu>
18502
18503 * et-forest.c: Fix comment typos.
18504 * et-forest.h: Likewise.
18505 * except.c: Likewise.
18506 * expr.c: Likewise.
18507 * flags.h: Likewise.
18508 * flow.c: Likewise.
18509 * gcc.c: Likewise.
18510 * gcse.c: Likewise.
18511 * genattrtab.c: Likewise.
18512 * genautomata.c: Likewise.
18513 * gengtype.c: Likewise.
18514 * genrecog.c: Likewise.
18515 * global.c: Likewise.
18516 * gthr-rtems.h: Likewise.
18517
095f9093
KG
185182003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18519
18520 * i386.c (x86_function_profiler): Fix format specifier.
18521
084087e1
RH
185222003-01-17 Richard Henderson <rth@redhat.com>
18523
18524 * gengtype.c (walk_type): Allow paramN_is.
18525
4a13592e
NC
185262003-01-17 Nick Clifton <nickc@redhat.com>
18527
18528 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
18529
01193617
RH
185302003-01-16 Richard Henderson <rth@redhat.com>
18531
18532 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
18533
f030826a
RH
185342003-01-16 Richard Henderson <rth@redhat.com>
18535
18536 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
18537 (alpha_next_sequence_number): Likewise.
18538 (alpha_this_literal_sequence_number): Likewise.
18539 (alpha_this_gpdisp_sequence_number): Likewise.
18540 (struct alpha_funcs, alpha_funcs_num): Likewise.
18541 (struct alpha_links): Fix branch merge error.
18542 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
18543
e1551d47
AO
185442003-01-17 Alexandre Oliva <aoliva@redhat.com>
18545
18546 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
18547 R. Ghazi.
18548
3d042e77
KH
185492003-01-16 Kazu Hirata <kazu@cs.umass.edu>
18550
18551 * ifcvt.c: Fix comment typos.
18552 * lcm.c: Likewise.
18553 * libgcc2.c: Likewise.
18554 * local-alloc.c: Likewise.
18555 * loop.c: Likewise.
18556 * predict.c: Likewise.
18557 * ra-build.c: Likewise.
18558 * ra.c: Likewise.
18559 * ra-colorize.c: Likewise.
18560 * ra.h: Likewise.
18561 * ra-rewrite.c: Likewise.
18562 * regmove.c: Likewise.
18563 * reload.h: Likewise.
18564 * rtlanal.c: Likewise.
18565 * toplev.c: Likewise.
18566 * tree.h: Likewise.
18567 * unwind-dw2-fde-glibc.c: Likewise.
18568 * vmsdbgout.c: Likewise.
18569
c4274b22
RH
185702003-01-16 Richard Henderson <rth@redhat.com>
18571
18572 * dwarf2out.c (struct file_table): Remove.
18573 (FILE_TABLE_INCREMENT): Remove.
18574 (file_table): Make a varray; mark for GC. Update all users.
18575 (file_table_last_lookup_index): Extract from struct file_table.
18576 (output_file_names): Fix unsigned compare warnings.
18577 (add_name_attribute): Remove inline marker.
18578 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
18579 (lookup_filename): Don't manage size of file_table.
18580 (init_file_table): Allocate file_table with GC.
18581 (dwarf2out_init): Don't record main_input_filename here.
18582 (dwarf2out_finish): Do it here instead.
18583
19162d0e
BK
185842003-01-16 Bruce Korb <bkorb@gnu.org>
18585
18586 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
18587
f1e2239f
KK
185882003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
18589
da8a6064
ZW
18590 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
18591 instead of rotldi3_mextr.
f1e2239f 18592
cda1f765
VM
185932003-01-16 Vladimir Makarov <vmakarov@redhat.com>
18594
18595 * haifa-sched.c (move_insn): Restore moving all schedule group.
18596 (set_priorities): Restore taking SCHED_GROUP_P into account.
18597
18598 * sched-deps.c (add_dependence): Restore processing the last group
18599 insn.
18600 (remove_dependence, group_leader): Restore the functions.
18601 (set_sched_group_p): Restore adding dependencies from previous insn
18602 in the group.
18603 (compute_forward_dependences): Restore usage of group_leader.
18604
18605 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
18606 account.
18607
18608 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
18609 account.
18610 (can_schedule_ready_p): Ditto.
18611 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 18612
200097cc
SC
186132003-01-16 Stephane Carrez <stcarrez@nerim.fr>
18614
18615 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
18616 68HC12 pre/post inc/dec side effects.
18617
f411c739
SC
186182003-01-16 Stephane Carrez <stcarrez@nerim.fr>
18619
18620 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
18621
62c9aa5f 186222003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
08c43ea7
R
18623
18624 * sh.md (mshflo_w_x): Fix description of operation.
18625
07488f32
ZW
186262003-01-16 Zack Weinberg <zack@codesourcery.com>
18627
18628 * config/rs6000/rs6000.h: Mention Altivec registers in
18629 commentary. Fix typo.
18630
27dc0551
DE
186312003-01-16 David Edelsohn <edelsohn@gnu.org>
18632
18633 * config/rs6000/rs6000.md (movti_string): Remove clobber.
18634 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
18635 generate PARALLEL with clobber for TARGET_POWER.
18636
0334ef47
KG
186372003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18638
18639 * ra-colorize.c (colorize_one_web): Initialize variable.
18640 * regmove.c (fixup_match_1): Likewise.
18641 * reload1.c (reload_as_needed): Likewise.
18642 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
18643
16f2b86a
ZD
186442003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
18645
18646 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
18647
fc555370
KG
186482003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18649
93d8c755
KG
18650 * dbxout.c (lastfile, cwd): Fix `unused' warning.
18651 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
18652 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
18653 is_main_source, file_table, decl_die_table_in_use,
18654 abbrev_die_table_in_use, line_info_table_in_use,
18655 separate_line_info_table_in_use, pubname_table_in_use,
18656 arange_table_in_use, ranges_table_in_use,
18657 current_function_has_inlines): Likewise.
18658 * flow.c (life_analysis): Likewise.
18659 * genemit.c (gen_insn): Likewise.
18660 * protoize.c (cplus_suffix): Likewise.
18661
0c2ca901
KG
18662 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
18663 * arm.h (ROUND_UP_WORD): Likewise.
18664
fc555370
KG
18665 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
18666 warning.
18667 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
18668 init_emit_once): Likewise.
18669 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
18670 Likewise.
18671 * function.c (assign_stack_temp_for_type): Likewise.
18672 * loop.c (loop_invariant_p): Likewise.
18673 * recog.c (push_operand): Likewise.
18674 * regclass.c (init_reg_sets_1): Likewise.
18675 * reload.c (update_auto_inc_notes): Likewise.
18676 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
18677 * stmt.c (expand_asm_operands): Likewise.
18678 * stor-layout.c (start_record_layout): Likewise.
18679
64510a4f
HB
186802003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
18681
07488f32 18682 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 18683
77480b0b
RH
186842003-01-15 Richard Henderson <rth@redhat.com>
18685
18686 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
18687 also check that GP is being used.
18688 (alpha_find_lo_sum_using_gp): New.
18689 (alpha_does_function_need_gp): Use get_attr_usegp.
18690 * config/alpha/alpha-protos.h: Update.
18691 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
18692 as needed.
18693
a0134312
RS
186942003-01-15 Roger Sayle <roger@eyesopen.com>
18695
18696 * gcse.c (one_cprop_pass): Change function arguments to take both
18697 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
18698 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
18699 (bypass_jumps): New function to perform separate jump bypassing pass.
18700 * rtl.h (bypass_jumps): Add function prototype.
18701 * timevar.def (TV_BYPASS): New timing variable.
18702 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
18703 (dump_file): New entry for the bypass RTL dump file.
18704 (rest_of_compilation): Insert new jump bypassing optimization
18705 pass after loop.
18706 * doc/passes.texi: Document new pass.
18707
4af6a063
JDA
187082003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
18709
18710 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
18711 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
18712 * pa.h (TARGET_SOM_SDEF): Define.
18713 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
18714
51e13b71
SC
187152003-01-16 Stephane Carrez <stcarrez@nerim.fr>
18716
07488f32 18717 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
18718 allocate 4-bytes of locals on 68HC11.
18719 (expand_epilogue): Likewise.
18720 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
18721
f077f169
SC
187222003-01-15 Stephane Carrez <stcarrez@nerim.fr>
18723
18724 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
18725 and -mshort-double to the assembler to specify the ABI.
18726 (LINK_SPEC): Likewise.
18727 (CPP_SPEC): Pass HCS12 specific define.
18728 (MASK_M68S12): New define.
18729 (TARGET_M68S12): Likewise.
18730 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
18731 (TARGET_VERSION): Update.
18732 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
18733 (LINK_SPEC): Update.
18734 (ASM_SPEC): Update.
18735 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
18736 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
18737
c0f684dc
SC
187382003-01-15 Stephane Carrez <stcarrez@nerim.fr>
18739
18740 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
18741 the return code.
18742
6982ae15
JZ
187432003-01-15 Josef Zlomek <zlomekj@suse.cz>
18744
18745 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
18746 flag before setting it.
18747
8cadeff1
RS
187482003-01-15 Roger Sayle <roger@eyesopen.com>
18749
18750 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
18751 when loop condition is known true, i.e. "while (1) { ... }".
18752 (genrtl_for_stmt): Similarly for "for" statements.
18753
03cd8aba
RS
187542003-01-15 Roger Sayle <roger@eyesopen.com>
18755
18756 * real.c (real_sqrt): Return a bool result indicating whether
18757 a floating point exception or trap should be raised.
18758 * real.h (real_sqrt): Update function prototype.
18759 * builtins.c (fold_builtin): Only fold non-trapping square
18760 roots unless we're ignoring errno and trapping math.
18761
4da78214
JDA
187622003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
18763
18764 * expr.h (emit_conditional_add): Add PARAMS to declaration.
18765 * gengtype-lex.l (malloc, realloc): Move defines after include of
18766 system.h. Remove duplicate include of system.h.
18767
9ee0a442
RS
187682003-01-15 Roger Sayle <roger@eyesopen.com>
18769
18770 PR middle-end/9009
18771 * optabs.c (expand_unop): When manipulating the FP sign bit
18772 using integer operations, account for targets with different
18773 integer and FP word orders.
18774 (expand_abs): Likewise.
18775
e3981aab
DE
187762003-01-15 David Edelsohn <edelsohn@gnu.org>
18777
18778 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
18779 file extension in section name.
18780
89c4b810
RE
187812003-01-15 Richard Earnshaw <rearnsha@arm.com>
18782
18783 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
18784 constant offset.
18785
3cd45774
RE
187862003-01-15 Richard Earnshaw <rearnsha@arm.com>
18787
18788 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
18789 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
18790 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
18791 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
18792
62c9aa5f 187932003-01-15 Jan Hubicka <jh@suse.cz>
b1a6f8db
JH
18794
18795 PR f/9258
07488f32 18796 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
18797 (global_conflicts): Set no_stack_reg.
18798 (find_reg): Use it.
18799
18800 * convert.c (convert_to_real): Fold - and abs only when profitable.
18801 * fold-const.c (fold): Fold truncates in - and abs.
18802
d18c7e59
JZ
188032003-01-15 Josef Zlomek <zlomekj@suse.cz>
18804
18805 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
18806
18807 * predict.c (real_inv_br_prob_base): New variable.
18808 (propagate_freq): Use multiply by reciprocal instead of
18809 division. Don't divide by 1.0 at all.
18810 (estimate_bb_frequencies): Similar.
18811
027faee7
AO
188122003-01-15 Alexandre Oliva <aoliva@redhat.com>
18813
18814 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
18815 * configure: Rebuilt.
18816
077dab3b 188172003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 18818
077dab3b
HP
18819 * config/s390/s390.c (s390_safe_attr_type): New function.
18820 (s390_use_dfa_pipeline_interface): New function, return true for z900.
18821 (s390_issue_rate): New function.
18822 (s390_agen_dep_p): New function.
18823 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
18824 (s390_adjust_cost): Return 'cost' if new DFA is used.
18825 (s390_adjust_priority): Delete function.
18826 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
18827 * config/s390/s390.md (atype attribute): Attribute 'atype' default
18828 determined by 'op_type'.
18829 (type attribute): Added more type attributes.
18830 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 18831
077dab3b 188322003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 18833
acfa9d9f
AO
18834 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
18835 forced to memory. Fixes PR bootstrap/9036.
18836
3c0121e4
AO
18837 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
18838 to set $gp before the call.
18839
553eb139
RH
188402003-01-14 Richard Henderson <rth@redhat.com>
18841
18842 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
18843 for force_const_mem.
18844
dd1b7476
KG
188452003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18846
18847 * genattr.c (main): Rearrange output to avoid prototype warning.
18848 * genautomata.c (transform_3): Fix ambiguous-else warning.
18849 * local-alloc.c (requires_inout): Add parentheses around
18850 assignment used as truth-value.
18851 * timevar.c: Move system includes above local includes. Include
18852 toplev.h
18853 * Makefile.in (timevar.o): Depend on toplev.h.
18854
6028880a
DC
188552003-01-14 Denis Chertykov <denisc@overta.ru>
18856
18857 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
18858 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18859
18860 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 18861 attributes.
6028880a
DC
18862 (TARGET_ATTRIBUTE_TABLE): New macro.
18863 (valid_machine_type_attribute): Remove.
18864 (valid_machine_decl_attribute): Remove.
18865 (ip2k_handle_progmem_attribute): New function.
18866 (ip2k_handle_fndecl_attribute): New function.
18867
4a2953e4 188682003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
18869
18870 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
18871 registers to be in correct order. Add rip.
18872
4d77fda2
KH
188732003-01-14 Kazu Hirata <kazu@cs.umass.edu>
18874
18875 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
18876 (*iorsi3_and_lshiftrt_9_sb): Likewise.
18877
62c9aa5f 188782003-01-14 Jan Hubicka <jh@suse.cz>
77f9af81
JH
18879
18880 * convert.c (strip_float_extensions): Look for narrowest type handling
18881 FP constants.
18882
18883 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
18884 float1 CMP float2.
18885 * convert.c (strip_float_extensions): Make global.
18886 * tree.h (strip_float_extensions): Declare.
18887
fd371a93
GDR
188882003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
18889
18890 * timevar.def: define TV_NAME_LOOKUP.
18891 * timevar.c (timevar_pop): Be verbose when aborting.
18892
dcd1c2b8
AS
188932003-01-13 Andreas Schwab <schwab@suse.de>
18894
18895 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
18896 $(parsedir), just move the temporary file at the end.
18897 ($(parsedir)/gengtype-yacc.c): Likewise.
18898
eb4b5f93
AO
188992003-01-13 Alexandre Oliva <aoliva@redhat.com>
18900
18901 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
18902 ${ac_tool_prefix} to ADAC or CC. Protect them from word
18903 splitting.
18904 * configure: Rebuilt.
18905
f7835768
KG
189062003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18907
18908 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
18909 internal_mcount): Don't use PARAMS.
18910 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
18911 ISO C style.
18912 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
18913
38a3dbbb
AS
189142003-01-13 Andreas Schwab <schwab@suse.de>
18915
18916 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
18917 directive.
18918
98dc53e3
KH
189192003-01-13 Kazu Hirata <kazu@cs.umass.edu>
18920
18921 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
18922 (*iorsi3_and_lshiftrt_n_sb): Likewise.
18923
e8f2b18d
MM
189242003-01-12 Mark Mitchell <mark@codesourcery.com>
18925
18926 PR c++/9264
18927 * c-lex.c (c_lex): Set the token value to error_mark_node for
18928 invalid numeric constants.
18929
70f8b89f
KG
189302003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18931
18932 * c-pch.c (asm_file_startpos): Change to `long'.
18933 (pch_init): Use ftell, not ftello.
18934 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
18935 Use `long' instead of `off_t'.
18936 (c_common_read_pch): Likewise.
18937 * ggc-common.c (gt_pch_save): Use long/ftell instead of
18938 off_t/ftello.
18939
8e37cba8
AM
189402003-01-12 Alan Modra <amodra@bigpond.net.au>
18941
18942 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
18943
04f08c8e
RE
189442003-01-11 Richard Earnshaw (rearnsha@arm.com)
18945
18946 * arm-protos.h (struct cpp_reader): Add declaration.
18947
62c9aa5f 189482003-01-11 Jan Hubicka <jh@suse.cz>
a5cf80f0
JH
18949
18950 PR target/9068
18951 * i386.c (output_fp_compare): Fix typo.
18952
bbfb86aa
DE
189532003-01-10 David Edelsohn <edelsohn@gnu.org>
18954
18955 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
18956
223b87b6
GK
189572003-01-10 Geoffrey Keating <geoffk@apple.com>
18958
3859c32a
GK
18959 * Makefile.in (parsedir): New variable.
18960 (docobjdir): New variable.
07488f32 18961 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
18962 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
18963 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
18964 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 18965 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
18966 Use docobjdir.
18967 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
18968 objc.maintainer-clean): Use parsedir.
18969
63af3bd1
GK
18970 * varasm.c (struct constant_descriptor_rtx): Remove unused
18971 `label' field.
18972
223b87b6
GK
18973 * toplev.c (documented_lang_options): Document -Winvalid-pch.
18974
fbadafbc
RH
189752003-01-10 Richard Henderson <rth@redhat.com>
18976
18977 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
18978 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
18979
ab5ecb01
RH
189802003-01-10 Richard Henderson <rth@redhat.com>
18981
18982 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
18983 not INTEGRAL_MODE_P when widening extensions.
18984
7f24e7c5
RH
189852003-01-10 Richard Henderson <rth@redhat.com>
18986
18987 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
18988
6dd05d08
GK
189892003-01-10 Geoffrey Keating <geoffk@apple.com>
18990
19cc0dd4
GK
18991 * ggc-page.c (ggc_collect): Avoid overflow computing
18992 min_expand.
18993
6dd05d08
GK
18994 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
18995 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
18996 Remove calls.
18997 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
18998
62c9aa5f 189992003-01-10 Jan Hubicka <jh@suse.cz>
5f1355ef
JH
19000
19001 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
19002 with weird operands.
19003
0cdca92b 190042003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
19005
19006 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
19007 parameters. Call check_sibcall_argument_overlap if indicated.
19008 (check_sibcall_argument_overlap): Add mark_stored_args_map
19009 parameter. Don't mark parameter area as clobbered if not set.
19010 (expand_call): Adjust calls to above.
19011
190122003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
19013
19014 * configure.in (linker read-only and read-write section mixing):
19015 Squelch some assembler warnings.
19016 * configure: Likewise.
19017
be2c2a4b
HP
190182003-01-10 Hartmut Penner <hpenner@de.ibm.com>
19019
21ff35fb 19020 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
19021 option for S/390 and zSeries.
19022 * config/s390/s390.c (s390_tune_string) New variable.
19023 (s390_cpu_string) Delete variable.
19024 (override_options): Use s390_tune_string instead of
19025 s390_cpu_string.
19026 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
19027
1f450138
KH
190282003-01-10 Kazu Hirata <kazu@cs.umass.edu>
19029
19030 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
19031
d330ce15
JZ
190322003-01-10 Josef Zlomek <zlomekj@suse.cz>
19033
19034 * jump.c (next_nonnote_insn_in_loop): New function.
19035 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
19036 next_nonnote_insn.
19037 (duplicate_loop_exit_test). Likewise.
19038
17211ab5
GK
190392003-01-09 Geoffrey Keating <geoffk@apple.com>
19040
19041 Merge from pch-branch:
19042
19043 2003-01-06 Geoffrey Keating <geoffk@apple.com>
19044
19045 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
19046 load.
19047
19048 2002-12-24 Geoffrey Keating <geoffk@apple.com>
19049
19050 * cpplib.c (count_registered_pragmas): New function.
19051 (save_registered_pragmas): New function.
19052 (_cpp_save_pragma_names): New function.
19053 (restore_registered_pragmas): New function.
19054 (_cpp_restore_pragma_names): New function.
19055 * cpphash.h (_cpp_save_pragma_names): Prototype.
19056 (_cpp_restore_pragma_names): Likewise.
19057 * cpppch.c (struct save_macro_item): Split from save_macro_data.
19058 (struct save_macro_data): New field 'saved_pragmas'.
19059 (save_macros): Update for changes to struct save_macro_data.
19060 (cpp_prepare_state): Call _cpp_save_pragma_names, update
19061 for changes to struct save_macro_data.
19062 (cpp_read_state): Call _cpp_restore_pragma_names, update
19063 for changes to struct save_macro_data.
19064
19065 * cpppch.c (cpp_read_state): Restore the hashtable references
19066 in the cpp_reader.
07488f32 19067
17211ab5
GK
19068 * tree.h (built_in_decls): Mark for PCH.
19069
19070 * dbxout.c (lastfile): Don't mark for PCH.
19071
19072 * ggc.h: Document PCH calls into memory managers.
19073
19074 2002-12-18 Geoffrey Keating <geoffk@apple.com>
19075
19076 * doc/invoke.texi (Precompiled Headers): Document the
19077 directory form of PCH.
19078 * cppfiles.c (validate_pch): New function.
19079 (open_file_pch): Search suitably-named directories for PCH files.
19080
19081 2002-12-14 Geoffrey Keating <geoffk@apple.com>
19082
19083 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
19084 reorder options.
19085 (Type Information): Mention that the information is also
19086 used to implement PCH.
19087 * doc/passes.texi (Passes): Improve documentation of
19088 language-specific files.
19089
19090 2002-12-11 Geoffrey Keating <geoffk@apple.com>
19091
19092 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
19093 (struct walk_type_data): Add reorder_fn field.
19094 (walk_type): Process 'reorder' option.
19095 (write_types_process_field): Reorder parameters to gt_pch_note_object,
19096 call reorder_note_routine.
19097 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
19098 (ggc_wtd): Update for change to struct write_types_data.
19099 (pch_wtd): Likewise.
19100 * ggc.h (gt_pch_note_object): Reorder parameters.
19101 (gt_handle_reorder): New definition.
19102 (gt_pch_note_reorder): New prototype.
19103 * ggc-common.c (struct ptr_data): Add reorder_fn.
19104 (gt_pch_note_object): Reorder parameters.
19105 (gt_pch_note_reorder): New.
19106 (gt_pch_save): Call reorder_fn.
19107 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
19108
19109 * dbxout.c (cwd): Don't mark for PCH.
19110
19111 2002-12-09 Geoffrey Keating <geoffk@apple.com>
19112
19113 * gengtype.c (finish_root_table): Fix some warnings.
19114 (write_root): Handle TYPE_STRING.
19115 * ggc.h (gt_ggc_m_S): Add prototype.
19116 * stringpool.c (gt_ggc_m_S): New function.
19117
19118 2002-11-30 Geoffrey Keating <geoffk@apple.com>
19119
19120 * dwarf2out.c (dw2_string_counter): New.
19121 (AT_string_form): Use it.
19122 (same_dw_val_p): Update for removal of hashtable.h hash tables.
19123
19124 2002-11-22 Geoffrey Keating <geoffk@apple.com>
19125
19126 * dbxout.c: Include gt-dbxout.h.
19127 (lastfile): Mark for PCH/GGC.
19128 (cwd): Likewise.
19129 (struct typeinfo): Likewise.
19130 (typevec): Likewise.
19131 (typevec_len): Likewise.
19132 (next_type_number): Likewise.
19133 (struct dbx_file): Likewise.
19134 (current_file): Likewise.
19135 (next_file_number): Likewise.
19136 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
19137 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
19138 (dbxout_end_source_file): Don't free struct dbx_file.
19139 (dbxout_type): Use GGC to allocate typevec.
19140 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
19141 (GTFILES): Add dbxout.c.
19142 (gt-dbxout.h): New rule.
07488f32 19143
17211ab5
GK
19144 * Makefile.in (c-pch.o): Add debug.h as dependency.
19145 * c-pch.c: Include debug.h.
19146 (pch_init): Call start_source_file to keep nesting right.
19147 (c_common_read_pch): Add orig_name parameter. Call
19148 start_source_file debug hook. Call end_source_file debug hook.
19149 * c-common.h (c_common_read_pch): Update prototype.
19150 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
19151 callback.
19152 * cppfiles.c (struct include_file): Add new field `header_name'.
19153 (find_or_create_entry): Default it to `name'.
19154 (open_file_pch): Set it to the original header file searched for.
19155 (stack_include_file): Don't stack an empty buffer, just handle
19156 PCH files immediately. Pass header_name field to read_pch callback.
19157
19158 2002-11-19 Geoffrey Keating <geoffk@apple.com>
19159
19160 * function.c (funcdef_no): Mark to be saved in a PCH.
19161
19162 2002-11-15 Geoffrey Keating <geoffk@apple.com>
19163
19164 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
19165
19166 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
19167
19168 2002-11-14 Geoffrey Keating <geoffk@apple.com>
19169
19170 * optabs.h (code_to_optab): Add GTY marker.
19171
19172 2002-11-13 Geoffrey Keating <geoffk@apple.com>
19173
19174 * Makefile.in (GTFILES): Add cpplib.h.
19175 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
19176 * c-decl.c (build_compound_literal): Don't use var_labelno.
19177 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
19178 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
19179 * varasm.c (const_labelno): Use gengtype to mark.
19180 (var_labelno): Likewise.
19181 (in_section): Likewise.
19182 (in_named_name): Likewise.
19183 (struct in_named_entry): Likewise.
19184 (in_named_htab): Likewise.
19185 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
19186 (init_varasm_once): Use GGC to allocate in_named_htab.
19187 * config/darwin.c (current_pic_label_num): Mark for PCH.
19188
19189 2002-11-11 Geoffrey Keating <geoffk@apple.com>
19190
19191 * ggc-simple.c (init_ggc_pch): New stub procedure.
19192 (ggc_pch_count_object): Likewise.
19193 (ggc_pch_total_size): Likewise.
19194 (ggc_pch_this_base): Likewise.
19195 (ggc_pch_alloc_object): Likewise.
19196 (ggc_pch_prepare_write): Likewise.
19197 (ggc_pch_write_object): Likewise
19198 (ggc_pch_finish): Likewise.
19199 (ggc_pch_read): Likewise.
19200
19201 2002-11-08 Geoffrey Keating <geoffk@apple.com>
19202
19203 * c-pch.c (c_common_write_pch): Write the macro definitions after
19204 the GCed data.
19205 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
19206 definitions after the GCed data.
19207 * cpplib.c (save_macros): New.
19208 (reset_ht): New.
19209 (cpp_write_pch_deps): Split out of cpp_write_pch.
19210 (cpp_write_pch_state): Split out of cpp_write_pch.
19211 (cpp_write_pch): Delete.
19212 (struct save_macro_data): Delete.
19213 (cpp_prepare_state): New.
19214 (cpp_read_state): Erase and restore initial macro definitions.
19215 * cpplib.h (struct save_macro_data): Forward-declare.
19216 (cpp_write_pch_deps): Prototype.
19217 (cpp_write_pch_state): Prototype.
19218 (cpp_write_pch): Delete prototype.
19219 (cpp_prepare_state): Prototype.
19220 (cpp_read_state): Add fourth argument.
19221
19222 2002-11-04 Geoffrey Keating <geoffk@apple.com>
19223
19224 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
19225 (write_array): Remove warning.
19226
19227 * gengtype.c (contains_scalar_p): New.
19228 (finish_root_table): Add the table to all languages, even if it's
19229 empty.
19230 (write_roots): Output gt_pch_scalar_rtab.
19231 * ggc-common.c (gt_pch_save): Write out scalars.
19232 (gt_pch_restore): Read scalars back.
19233
19234 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
19235 (struct page_entry): Delete pch_page field.
19236 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
19237 (clear_marks): Likewise.
19238 (sweep_pages): Likewise.
19239 (poison_pages): Likewise.
19240 (ggc_print_statistics): Likewise.
19241 (ggc_pch_read): Don't free objects read from a PCH.
19242 Properly set up in_use_p and page_tails.
19243
19244 2002-10-25 Geoffrey Keating <geoffk@apple.com>
19245
19246 * gengtype.c (struct write_types_data): New.
19247 (struct walk_type_data): Make `cookie' const; add extra
19248 prev_val item; add `orig_s' field.
19249 (walk_type): Update prev_val[3].
19250 (write_types_process_field): New.
19251 (write_func_for_structure): Take write_types_data structure.
19252 (write_types): New.
19253 (ggc_wtd): New.
19254 (pch_wtd): New.
19255 (write_types_local_process_field): New.
19256 (gc_mark_process_field): Delete.
19257 (write_local_func_for_structure): New.
19258 (gc_mark_func_name): Delete.
19259 (write_gc_types): Delete.
19260 (write_local): New.
19261 (finish_root_table): Don't include 'ggc_' in PFX.
19262 (write_root): Rename from write_root. Fill pchw field of structures.
19263 (write_array): New.
19264 (write_roots): Rename from write_gc_roots. Split out to write_array.
19265 Update to changes to other routines. Write gt_pch_cache_rtab table.
19266 (main): Write PCH walking routines.
19267 * ggc-common.c: Include toplev.h, sys/mman.h.
19268 (ggc_mark_roots): For cache hashtables, also mark the hash table
19269 and the array of entries.
19270 (saving_htab): New.
19271 (struct ptr_data): New.
19272 (POINTER_HASH): New.
19273 (gt_pch_note_object): New.
19274 (saving_htab_hash): New.
19275 (saving_htab_eq): New.
19276 (struct traversal_state): New.
19277 (call_count): New.
19278 (call_alloc): New.
19279 (compare_ptr_data): New.
19280 (relocate_ptrs): New.
19281 (write_pch_globals): New.
19282 (struct mmap_info): New.
19283 (gt_pch_save): New.
19284 (gt_pch_restore): New.
19285 * ggc-page.c (ROUND_UP_VALUE): New.
19286 (ROUND_UP): New.
19287 (struct page_entry): Add field `pch_page'.
19288 (init_ggc): Use ROUND_UP.
19289 (struct ggc_pch_data): Declare.
19290 (init_ggc_pch): New.
19291 (ggc_pch_count_object): New.
19292 (ggc_pch_total_size): New.
19293 (ggc_pch_this_base): New.
19294 (ggc_pch_alloc_object): New.
19295 (ggc_pch_prepare_write): New.
19296 (ggc_pch_write_object): New.
19297 (ggc_pch_finish): New.
19298 (ggc_pch_read): New.
19299 * ggc.h (gt_pointer_operator): New.
19300 (gt_note_pointers): New.
19301 (gt_pch_note_object): New prototype.
19302 (gt_pointer_walker): New.
19303 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
19304 (LAST_GGC_ROOT_TAB): Update.
19305 (gt_pch_cache_rtab): Declare.
19306 (gt_pch_scalar_rtab): Declare.
19307 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
19308 (LAST_GGC_CACHE_TAB): Update.
19309 (gt_pch_save_stringpool): Declare.
19310 (gt_pch_restore_stringpool): Declare.
19311 (gt_pch_p_S): Declare.
19312 (gt_pch_n_S): Declare.
19313 (struct ggc_pch_data): Forward-declare.
19314 (init_ggc_pch): Declare.
19315 (ggc_pch_count_object): Declare.
19316 (ggc_pch_total_size): Declare.
19317 (ggc_pch_this_base): Declare.
19318 (ggc_pch_alloc_object): Declare.
19319 (ggc_pch_prepare_write): Declare.
19320 (ggc_pch_write_object): Declare.
19321 (ggc_pch_finish): Declare.
19322 (ggc_pch_read): Declare.
19323 (gt_pch_save): Declare.
19324 (gt_pch_restore): Declare.
19325 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
19326 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
19327 const_double_htab, mem_attrs_htab using GGC.
19328 * c-pch.c: Include ggc.h.
19329 (pch_init): Allow reading PCH file back.
19330 (c_common_write_pch): Call gt_pch_save.
19331 (c_common_read_pch): Call gt_pch_restore.
19332 * c-parse.in (init_reswords): Delete now-untrue comment.
19333 Allocate ridpointers using GGC.
19334 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
19335 calling expand_deferred_fns.
19336 * c-common.h (ridpointers): Mark for GTY machinery.
19337 * Makefile.in (stringpool.o): Update dependencies.
19338 (c-pch.o): Update dependencies.
19339 (ggc-common.o): Update dependencies.
19340 * stringpool.c: Include gt-stringpool.h.
19341 (gt_pch_p_S): New.
19342 (gt_pch_n_S): New.
19343 (struct string_pool_data): New.
19344 (spd): New.
19345 (gt_pch_save_stringpool): New.
19346 (gt_pch_restore_stringpool): New.
19347 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 19348
17211ab5
GK
19349 2002-10-04 Geoffrey Keating <geoffk@apple.com>
19350
19351 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
19352 (output_mangled_typename): Don't pass size_t to printf.
19353
19354 * tree.h (union tree_type_symtab): Add tag to `address' field.
19355 (union tree_decl_u2): Add tag to 'i' field.
19356 * varasm.c (union rtx_const_un): Add tags to all fields.
19357 * gengtype.c (struct walk_type_data): New.
19358 (output_escaped_param): Take struct walk_type_data parameter.
19359 (write_gc_structure_fields): Delete.
19360 (walk_type): New.
19361 (write_gc_marker_routine_for_structure): Delete.
19362 (write_func_for_structure): New.
19363 (gc_mark_process_field): New.
19364 (gc_mark_func_name): New.
19365 (gc_counter): Delete.
19366 (write_gc_types): Use write_func_for_structure.
19367 (write_gc_roots): Use walk_type.
19368
19369 2002-10-02 Geoffrey Keating <geoffk@apple.com>
19370
19371 * ggc-common.c (ggc_mark_roots): Delete 'x'.
19372 (ggc_splay_dont_free): Fix warning about unused 'x'.
19373 (ggc_print_common_statistics): Remove warnings.
19374
19375 2002-10-01 Mike Stump <mrs@apple.com>
19376
07488f32
ZW
19377 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
19378 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
19379
19380 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
19381 Catherine Moore <clm@redhat.com>
19382
19383 * Makefile (c-pch.o): Update dependencies.
19384 (LIBCPP_OBJS): Add cpppch.o.
19385 (cpppch.o): New.
19386 * c-common.c (c_common_init): Don't call pch_init here.
19387 * c-common.h (c_common_read_pch): Update prototype.
19388 * c-lex.c (c_common_parse_file): Call pch_init here.
19389 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
19390 (c_common_decode_option): Handle them.
19391 * c-pch.c: Include c-pragma.h.
19392 (save_asm_offset): Delete.
19393 (pch_init): Move contents of save_asm_offset into here, call
19394 cpp_save_state.
19395 (c_common_write_pch): Call cpp_write_pch.
19396 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
19397 cpp_valid_state.
19398 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 19399 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
19400 parameters of cb.read_pch.
19401 * cpphash.h (struct cpp_reader): Add `savedstate' field.
19402 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
19403 `restore_pch_deps' fields.
19404 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
19405 (cpp_save_state): Prototype.
19406 (cpp_write_pch): Prototype.
19407 (cpp_valid_state): Prototype.
19408 (cpp_read_state): Prototype.
19409 * cpppch.c: New file.
19410 * flags.h (version_flag): Remove prototype.
19411 * mkdeps.c (deps_save): New.
19412 (deps_restore): New.
19413 * mkdeps.h (deps_save): Prototype.
19414 (deps_restore): Prototype.
19415 * toplev.c (late_init_hook): Delete.
19416 (version_flag): Make static again.
19417 (compile_file): Don't call late_init_hook.
19418 * toplev.h (late_init_hook): Delete.
19419 * doc/cppopts.texi: Document -fpch-deps.
19420 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
19421
19422 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
19423
19424 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
19425 callers.
19426 (c_common_valid_pch): Rename from c_valid_pch, change callers.
19427 (c_common_read_pch): Rename from c_read_pch, change callers.
19428
19429 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
19430 a space between it and its argument.
19431
19432 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
19433
19434 * c-pch.c: New file.
19435 * toplev.h (late_init_hook): Declare.
19436 * toplev.c (late_init_hook): Define.
19437 (version_flag): Make globally visible.
19438 (compile_file): Call late_init_hook.
19439 (init_asm_output): Make output file seekable.
19440 * gcc.c (default_compilers): Update c-header rule.
19441 * flags.h (version_flag): Declare.
19442 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
19443 fields.
19444 * cppfiles.c (struct include_file): Add 'pch' field.
19445 (INCLUDE_PCH_P): New.
19446 (open_file_pch): New.
19447 (stack_include_file): Handle PCH files specially.
19448 (find_include_file): Call open_file_pch instead of open_file.
19449 (_cpp_read_file): Explain why open_file is used instead of
19450 open_file_pch.
19451 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
19452 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
19453 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
19454 in cpplib callbacks.
19455 * c-common.c (pch_file): Correct comment.
19456 (allow_pch): Define.
19457 (c_common_init): Call pch_init.
19458 * c-common.h (allow_pch): Declare.
19459 (pch_init): Declare.
19460 (c_valid_pch): Declare.
19461 (c_read_pch): Declare.
19462 (c_write_pch): Declare.
19463 * Makefile.in (c-pch.o): New.
19464 (C_AND_OBJC_OBJS): Add c-pch.o.
19465 * doc/invoke.texi (Precompiled Headers): Add index entries,
19466 complete truncated paragraph.
19467
19468 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
19469
19470 * c-common.c: (pch_file): Define.
19471 * c-common.h (pch_file): Declare.
19472 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
19473 (missing_arg): Require --output-pch= to have an argument.
19474 (c_common_decode_option): Handle --output-pch=.
19475 * gcc.c: Document new %V.
19476 (default_compilers): Handle compiling C header files.
19477 (do_spec_1): Implement %V.
19478 (main): Handle "gcc foo.h" without trying to run linker.
19479 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
19480 (Overall Options): Document what the driver does with header files,
19481 document new -x option possibilities.
19482 (Invoking G++): More documentation for PCH.
19483 (Precompiled Headers): New.
19484
19485 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
19486
19487 * ggc.h: Don't include varray.h. Rearrange functions to be more
19488 organized.
19489 (ggc_add_root): Delete.
19490 (ggc_mark_rtx): Delete.
19491 (ggc_mark_tree): Delete.
19492 (struct ggc_statistics): Remove contents.
19493 * ggc-common.c: Remove unneeded includes.
19494 (struct ggc_root): Delete.
19495 (roots): Delete.
19496 (ggc_add_root): Delete.
19497 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
19498 (ggc_print_common_statistics): Remove most of the contents.
19499 * Makefile.in (GGC_H): No longer uses varray.h.
19500 (ggc-common.o): Update dependencies.
19501 (c-parse.o): Add varray.h to dependencies.
19502 (c-common.o): Add varray.h.
19503 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
19504 (mark_ident_hash): Rename to ggc_mark_stringpool.
19505 (init_stringpool): Don't use ggc_add_root.
19506 * c-parse.in: Include varray.h.
19507 * c-common.c: Include varray.h.
19508 * objc/Make-lang.in (objc-act.o): Add varray.h.
19509 * objc/objc-act.c: Include varray.h.
19510
19511 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
19512
19513 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
19514 (dw_cfi_oprnd1_desc): Likewise.
19515
19516 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
19517
19518 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
19519 move out of ifdef.
19520 (alpha_links): Use gengtype to mark; move out of ifdef.
19521 (mark_alpha_links_node): Delete.
19522 (mark_alpha_links): Delete.
19523 (alpha_need_linkage): Use GGC to allocate splay tree, struct
19524 alpha_links, strings. Don't use ggc_add_root.
19525 * ggc-common.c (ggc_splay_alloc): New.
19526 (ggc_splay_dont_free): New.
19527 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
19528 (ggc_mark_tree): Likewise.
19529 (splay_tree_new_ggc): New.
19530 (ggc_splay_alloc): Declare.
19531 (ggc_splay_dont_free): Declare.
19532 * dwarf2asm.c: Include gt-dwarf2asm.h.
19533 (mark_indirect_pool_entry): Delete.
19534 (mark_indirect_pool): Delete.
19535 (indirect_pool): Use gengtype to mark.
19536 (dw2_force_const_mem): Don't use ggc_add_root.
19537 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
19538 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
19539 (gt-dwarf2asm.h): Depend on s-gtype.
19540
19541 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
19542
19543 * tree.h (union tree_type_symtab): Mark `die' field.
19544 * Makefile.in (dwarf2out.o): Update dependencies.
19545 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
19546 hash tables.
19547 (dw_cfi_oprnd1_desc): New function.
19548 (dw_cfi_oprnd2_desc): New function.
19549 (indirect_string_alloc): Delete.
19550 (debug_str_do_hash): New function.
19551 (debug_str_eq): New function.
19552 (mark_limbo_die_list): Delete.
19553 (dwarf2out_init): Don't call ggc_add_root.
19554
30028c85
VM
195552003-01-09 Vladimir Makarov <vmakarov@redhat.com>
19556
19557 The following changes are merged from itanium-sched-branch:
19558
19559 2003-01-08 David Edelsohn <edelsohn@gnu.org>
19560
19561 * doc/md.texi: Clarify assignment of units to automata description.
19562
19563 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
19564
19565 * genautomata.c (unit_decl): Remove members
19566 `the_same_automaton_unit' and
19567 `the_same_automaton_message_reported_p'.
19568 (process_unit_to_form_the_same_automaton_unit_lists,
19569 form_the_same_automaton_unit_lists_from_regexp,
19570 form_the_same_automaton_unit_lists, the_same_automaton_lists):
19571 Remove them.
19572 (annotation_message_reported_p): New global variable.
19573 (check_unit_distribution_in_reserv,
19574 check_regexp_units_distribution): New functions.
19575 (check_unit_distributions_to_automata): Rewrite it.
19576
19577 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
19578
19579 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
19580 Use continue instead of break if cycle is too big.
19581
19582 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
19583
19584 * genautomata.c (check_unit_distributions_to_automata): Output at
19585 most one message for a unit.
19586 (process_unit_to_form_the_same_automaton_unit_lists): Check
19587 automaton of units instead of units themself.
19588
19589 * doc/md.texi: Describe the constraint about assigning unit to
19590 automata.
19591
19592 2002-12-20 Jan Hubicka <jH@suse.cz>
19593 Vladimir Makarov <vmakarov@redhat.com>
19594
19595 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
19596 and `in_set_p'.
19597 (gen_cpu_unit): Initialize the new members.
19598 (process_regexp_cycles): Calculate minimal finish cycle too. Set
19599 up `min_occ_cycle_num'.
19600 (evaluate_max_reserv_cycles): Change the function call.
19601 (CLEAR_BIT): New macro.
19602 (states_union, state_shift): Use the mask.
19603 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
19604 (form_reservs_matter): New function.
19605 (make_automaton): Call the function and use the mask.
19606 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
19607 account.
07488f32 19608
30028c85
VM
19609 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
19610
19611 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
19612
19613 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
19614
19615 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
19616 for Itanium.
19617
19618 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
19619
19620 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
19621 default cpu.
19622
19623 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
19624 2002-10-31 Dale Johannesen <dalej@apple.com>
19625
19626 * haifa-sched.c (find_set_reg_weight): New function.
19627 (find_insn_reg_weight): Use the new function.
19628 (schedule_block): Do sorting ready queue always
19629 after insn issue.
19630
19631 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
19632
19633 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
19634
19635 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
19636
19637 * haifa-sched.c (choice_entry): New structure.
19638 (choice_stack, cycle_issued_insns): New variables.
19639 (max_issue): Rewrite it.
19640 (choose_ready): Set up ready_try for unknown insns too.
19641 (schedule_block): Allocate and free choice_stack. Set up
19642 and modify cycle_issued_insns.
19643
19644 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
19645 with and without filling the bundle.
19646 (bundling): Combine calls of issue_nops_and_insn.
07488f32 19647
30028c85
VM
19648 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
19649
19650 * config/ia64/itanium1.md: New file.
19651
19652 * config/ia64/itanium2.md: New file.
19653
19654 * config/ia64/ia64.md: Move DFA descriptions into the new files.
19655 Remove the old pipeline description.
07488f32 19656
30028c85
VM
19657 * config/ia64/ia64.c (ia64_override_options): Add aliases of
19658 itanium processor names.
07488f32 19659
30028c85
VM
19660 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
19661
19662 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
19663 (ia64_reorg): Set up queried unit codes for Itanium2 too.
19664
19665 * config/ia64/ia64.md: Add descriptions for Itanium2.
19666
19667 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
19668
19669 * config/ia64/ia64.h (processor_type): New enumeration.
19670 (ia64_tune, ia64_tune_string): New external declarations.
19671 (TARGET_OPTIONS): Add option `tune='.
19672
19673 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
19674 variables.
19675 (ia64_override_options): Set up `ia64_tune'.
19676 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
19677 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
19678 (bundling): Add nops for MM-insns only for Itanium.
19679 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
19680 Itanium.
19681
19682 * config/ia64/ia64.md (cpu): New attribute.
19683 (DFA description): Enable it only for Itanium.
07488f32 19684
30028c85
VM
19685 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
19686 Richard Henderson <rth@redhat.com>
19687
19688 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
19689 MASK_EARLY_STOP_BITS.
19690 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
19691 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
19692 `early-stop-bits'.
07488f32 19693
30028c85
VM
19694 * config/ia64/ia64.c (ia64_dfa_new_cycle,
19695 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
19696 instead of TARGET_TUNE_STOP_BITS.
07488f32 19697
30028c85
VM
19698 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
19699 `-mearly-stop-bits'.
19700
19701 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 19702
30028c85
VM
19703 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
19704
07488f32 19705 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
19706 New macros.
19707 (TARGET_SWITCHES): Add entries for the new option.
07488f32 19708
30028c85
VM
19709 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
19710 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
19711 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
19712 global variables.
19713 (ia64_sched_reorder2): Set up `clocks'.
19714 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
19715 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
19716 queue when TARGET_TUNE_STOP_BITS.
19717 (bundling): Insert additional nops for MM-insns.
19718 (final_emit_insn_group_barriers): Add insertion of stop bits
19719 according `stops_p'.
19720 (ia64_reorg): Initiate the new varibales.
19721
19722 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 19723
30028c85
VM
19724 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
19725
19726 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
19727 insns at the end of block insn scheduling.
19728
19729 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
19730
19731 * sched-deps.c (remove_dependence, group_leader): Remove it.
19732 (add_dependence): Add dependence to group leader to.
19733 (set_sched_group_p): Add dependence to the first insn of the
19734 schedule group too.
19735 (sched_analyze_insn): Make dependence to jump as anti-dependence.
19736 Change true dependence by anti-dependence when
19737 `reg_pending_barrier'.
19738
19739 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
19740 add_branch_dependences): Ignore schedule groups.
19741
19742 * sched-ebb.c (init_ready_list): Ditto.
19743
19744 * (move_insn, set_priorities): Ditto.
19745
19746 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
19747 flag is clear after reload.
19748 (adjust_cost): Change cost only for output dependencies.
07488f32 19749
30028c85 19750 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 19751
30028c85
VM
19752 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
19753
19754 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
19755
19756 * target.h (gcc_target): Add member
19757 `dependencies_evaluation_hook'.
19758
19759 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
19760 macro.
19761 (TARGET_SCHED): Add initiatialization of the new member.
19762
19763 * sched-ebb.c: Include `target.h'.
19764 (schedule_ebb): Call `dependencies_evaluation_hook'.
19765
19766 * sched-rgn.c (schedule_region): Call
19767 `dependencies_evaluation_hook'.
19768
19769 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
19770 New macro.
19771 (ia64_dependencies_evaluation_hook): New function.
19772
19773 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
19774 Describe the new hook.
07488f32 19775
30028c85
VM
19776 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
19777
19778 * target.h (gcc_target): Add members
19779 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
19780
19781 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
19782 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
19783 macros.
19784 (TARGET_SCHED): Add initiatialization of the new members.
19785
19786 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
19787 insn scheduling too.
19788 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
19789 initialize `ready_try'.
19790 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
19791 `dfa_new_cycle' says not to do it.
07488f32 19792
30028c85
VM
19793 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
19794 bundling.
19795
19796 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
19797
19798 * config/ia64/ia64.c: Include `hashtab.h'.
19799 (ia64_first_cycle_multipass_dfa_lookahead_guard,
19800 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
19801 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
19802 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
19803 bundle_state_eq_p, insert_bundle_state,
19804 initiate_bundle_state_table, finish_bundle_state_table,
19805 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
19806 get_template, get_next_important_insn, bundling): New functions.
19807 (ia64_internal_sched_reorder): Remove it.
19808 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
19809 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
19810 (ia64_safe_itanium_requires_unit0): Remove it.
19811 (group_barrier_needed_p): Place group barrier right before a real
19812 insn.
19813 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
19814 Remove them.
19815 (bundle_name): New variable.
19816 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
19817 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
19818 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
19819 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
19820 temp_dfa_state, prev_cycle_state): New global variables.
19821 (insn_matches_slot, maybe_rotate, finish_last_head,
19822 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
19823 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
19824 find_best_packet, itanium_reorder, dump_current_packet,
19825 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
19826 (sched_data, sched_ready, sched_types): Remove them.
19827 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
19828 `init_insn_group_barriers'.
19829 (ia64_sched_reorder, ia64_sched_reorder2): Call
19830 ia64_dfa_sched_reorder.
19831 (ia64_variable_issue): Rewrite it.
19832 (bundle_state): New structure.
19833 (index_to_bundle_states, bundle_states_num,
19834 allocated_bundle_states_chain, free_bundle_state_chain): New
19835 global variables.
19836 (ia64_sched_finish): Add stop bits and call `bundling' after the
19837 2nd insn scheduling.
19838 (ia64_use_dfa_pipeline_interface): Return zero always.
19839 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
19840 insn scheduling.
19841 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
19842 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
19843 (ia64_reorg): Add bundling insns.
19844
19845 * doc/tm.texi
19846 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
19847 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 19848
30028c85
VM
19849 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
19850
19851 * config/ia64/ia64.md: Add Itanium1 DFA description.
19852 (itanium_class): Add `nop' and `pre_cycle'. Add
19853 define_function_unit for `nop'.
19854 (nop): Change attribute `itanium_class'.
19855 (pre_cycle): New define_insn.
19856
19857 * config/ia64/ia64-protos.h (bundling_p): New external variable.
19858 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
19859 ia64_produce_address_p): New function prototypes.
19860
19861 * config/ia64/ia64.c (bundling_p): New global variable.
19862 (ia64_use_dfa_pipeline_interface,
19863 ia64_first_cycle_multipass_dfa_lookahead,
19864 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
19865 functions.
19866 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
19867 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
19868 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
19869 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
19870 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
19871 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
19872 (dfa_pre_cycle_insn): New variable.
07488f32 19873
30028c85
VM
19874 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
19875
19876 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
19877 constructions.
19878
19879 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
19880 New function prototypes.
19881
19882 * genattrtab.c (main): Process the new constructions.
19883
19884 * genautomata.c (gen_presence_absence_set,
19885 process_presence_absence_names, process_presence_absence_patterns,
19886 add_presence_absence, check_absence_pattern_sets): Add parameter
19887 `final_p'.
19888 (unit_decl): Add new members `final_presence_list' and
19889 `final_absence_list'.
19890 (unit_pattern_rel_decl): Add new member `final_p'.
19891 (gen_final_presence_set, gen_final_absence_set): New functions.
19892 (process_decls): Use member `final_p'.
19893 (temp_reserv): New global variable.
19894 (reserv_sets_are_intersected): Add processing `final_presence_set'
19895 and `final_absence_set'.
19896 (initiate_states): Allocate `temp_reserv'.
19897 (unit_final_presence_set_table, unit_final_absence_set_table): New
19898 gloabal variables.
19899 (initiate_presence_absence_pattern_sets): Initiate them.
19900 (NDFA_to_DFA): Fix typo.
19901 (output_description): Output `final_presence_set' and
19902 `final_absence_set'.
19903
19904 * doc/md.texi (final_presence_set, final_absence_set): Describe
19905 them.
07488f32 19906
30028c85
VM
19907 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
19908
19909 * genautomata.c (transform_3): Process a missing case (nothing on
19910 unit place).
19911
19912 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
19913
19914 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
19915 comments about queried units and the minimization.
07488f32 19916
30028c85 19917 * doc/md.texi: Ditto.
07488f32 19918
30028c85
VM
19919 * genautomata.c (create_composed_state): Return nonzero if the new
19920 state has been created.
19921 (first_cycle_unit_presence): New function.
19922 (state_is_differed): Add new parameter. Use the new function.
19923 Take queried units into account.
19924 (partition_equiv_class): Pass additional parameter to
19925 `state_is_differed'.
19926 (merge_states): Process composed states too.
19927 (build_automaton, create_automata, output_min_issue_delay_table,
19928 output_tables, output_statistics): Output more information.
19929 (output_reserved_units_table): Use function
19930 `first_cycle_unit_presence'.
19931 (output_tables): Output table of queried units even if the
19932 minimization is switched on.
19933 (write_automata): Output code for querying units even if the
19934 minimization is switched on.
07488f32 19935
30028c85
VM
19936 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
19937
19938 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
19939 syntax of the constructions.
07488f32 19940
30028c85
VM
19941 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
19942 extended syntax of the constructions.
07488f32 19943
30028c85
VM
19944 * genautomata.c (unit_rel_decl): Rename it to
19945 `unit_pattern_rel_decl'.
19946 (pattern_set_el, pattern_reserv): New structures.
19947 (pattern_set_el_t, pattern_reserv_t): New types.
19948 (gen_presence_absence_set): New function.
19949 (process_presence_absence): Remove it.
19950 (process_presence_absence_names,
19951 process_presence_absence_patterns): New functions.
19952 (get_presence_absence_set): Remove it.
19953 (initiate_presence_absence_sets): Rename it on
19954 `initiate_presence_absence_pattern_sets'. Use new function
19955 `form_reserv_sets_list'.
19956 (form_reserv_sets_list, check_presence_pattern_sets,
19957 check_absence_pattern_sets, output_pattern_set_el_list): New
19958 functions.
19959 (unit_decl): Change types of members `presence_list' and
19960 `absence_list'.
19961 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
19962 (decl): Change types of members `excl', `presence', and `absence'.
19963 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
19964 at the end of the vector.
19965 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
19966 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
19967 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
19968 (gen_presence_set, gen_absence_set): Use new function
19969 `gen_presence_absence_set'.
19970 (add_presence_absence): Process `pattern_list' instead of
19971 `source_list'.
19972 (process_decls): USe new functions
19973 `process_presence_absence_names' and
19974 `process_presence_absence_patterns'.
19975 (reserv_sets_are_intersected): Use new function
19976 `check_presence_pattern_sets'.
19977 (presence_set, absence_set): Remove them.
19978 (unit_presence_set_table, unit_absence_set_table): New global
19979 variables.
19980 (output_description): Use new function
19981 `output_pattern_set_el_list'.
19982 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 19983
30028c85
VM
19984 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
19985
19986 * genattr.c (main): Add output of prototype of new interface
19987 function `dfa_clean_insn_cache'.
19988
19989 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
19990 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
19991 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
19992 the generated code.
19993 (write_automata): Call the new function.
07488f32 19994
62c9aa5f 199952003-01-09 Jan Hubicka <jh@suse.cz>
cb297538 19996
17211ab5
GK
19997 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
19998 correctly.
cb297538 19999
3a6e2189
PC
200002003-01-09 Paolo Carlini <pcarlini@unitus.it>
20001
20002 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
20003
62c9aa5f 200042003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
97488870
R
20005
20006 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
20007 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
20008 (CONSTRAINT_LEN): Provide default definition.
20009 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
20010 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
20011 (EXTRA_CONSTRAINT_STR): Likewise.
20012 (REG_CLASS_FROM_CONSTRAINT): Define.
20013 * genoutput.c (check_constraint_len, constraint_len): New functions.
20014 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
20015 constraint / modifier.
20016 (gen_insn): Call check_constraint_len.
20017 * local-alloc.c (block_alloc): Update to use new macros / pass
20018 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
20019 * ra-build.c (handle_asm_insn): Likewise.
20020 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
20021 (constrain_operands, peep2_find_free_register): Likewise.
20022 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
20023 * regmove.c (find_matches): Likewise.
20024 * reload.c (push_secondary_reload, find_reloads): Likewise.
20025 (alternative_allows_memconst): Likewise.
20026 * reload1.c (maybe_fix_stack_asms): Likewise.
20027 (reload_cse_simplify_operands): Likewise.
20028 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
20029 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
20030 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
20031 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
20032 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
20033 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
20034
20035 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
20036
fc182093
KH
200372003-01-09 Kazu Hirata <kazu@cs.umass.edu>
20038
20039 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
20040 length.
20041 (*extzv_1_r_h8300hs): Likewise.
20042 (*extzv_1_r_inv_h8300): Likewise.
20043 (*extzv_1_r_inv_h8300hs): Likewise.
20044
3b1c9927
KH
200452003-01-09 Kazu Hirata <kazu@cs.umass.edu>
20046
20047 * config/h8300/h8300.h (PREDICATE_CODES): New.
20048
867504e6
KH
200492003-01-09 Kazu Hirata <kazu@cs.umass.edu>
20050
20051 * config/h8300/h8300.md (*addsi3_upper): New.
20052 (*iorsi3_shift): Likewise.
20053 (two splitters): Likewise.
20054 (*addsi3_shift): Likewise.
20055 (two splitters): Likewise.
20056
4a69cf79
JZ
200572003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
20058
20059 * Makefile.in (optabs.o): Add dependency on basic-block.h.
20060 * basic-block.h (control_flow_insn_p): Fuction was exported.
20061 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
20062 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
20063 notes only when the region is contained in a single basic block.
20064
4c46ea23
EB
200652003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
20066
20067 PR inline-asm/8832
20068 * tree.h (expand_asm): New prototype.
20069 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
20070 to do so.
20071 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
20072 down to expand_asm.
20073 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
20074 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
20075 (volatile_refs_p) [ASM_INPUT]: Likewise.
20076 (side_effects_p) [ASM_INPUT]: Likewise.
20077
62c9aa5f 200782003-01-09 Jan Hubicka <jh@suse.cz>
f56e86bd
JH
20079
20080 * i386.md (*mul*): FIx constraints; remove confused comment; fix
20081 athlon_decode attributes
20082 (imul/k8 optimization peep2s): New.
20083
20084 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
20085 * i386.md (type attribute): Add ssecomi.
20086 (unit, memory, prefix attributes): Handle ssecomi.
20087 (cvt?2? patterns): Fix athlon_decode attribute
20088 (comi patterns): Set attribute to ssecomi.
20089
20090 PR target/8343
20091 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
20092
98c29f71
RS
200932003-01-09 Richard Sandiford <rsandifo@redhat.com>
20094
20095 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
20096 that match register_operands.
20097 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
20098 register_operand the default case.
20099
bbb818c6
EB
201002003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
20101
20102 PR c/8032
20103 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
20104 an empty element, do not advance the pointer to unfilled
20105 fields if there are pending initializers.
20106
90961eff
AJ
201072003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
20108
20109 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
20110 (install-gcc-tooldir, install-cpp, installdirs,
20111 install-common, install-driver, install-info, install-man,
20112 install-headers, install-include-dir, install-headers-tar,
20113 install-headers-cpio, install-headers-cp, install-mkheaders,
20114 install-collect2, uninstall): Prepend $(DESTDIR) to
20115 destination paths in all (un)installation commands.
20116 (install-driver): Rewrite $(LN) commands to support DESTDIR
20117 with "ln" as well as with "ln -s".
20118 (installdirs): Simply use mkinstalldirs.
20119 (install-libgcc, install-multilib): Also pass DESTDIR.
20120 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
20121 installation destination variable ldir.
20122 * config/alpha/t-osf4, config/arm/t-netbsd,
20123 config/ia64/t-hpux, config/mips/t-iris5-6,
20124 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
20125 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
20126 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
20127 in the definition of SHLIB_INSTALL.
20128 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
20129 $(libsubdir) in the installation commands.
20130
8b26829f
KK
201312003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
20132
20133 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
20134 non-optimizing compile.
20135 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
20136 compile.
20137
fe77449a
DR
201382003-01-08 Douglas B Rupp <rupp@gnat.com>
20139
20140 * config/i386/i386.c (ix86_attribute_table): Add new attributes
20141 ms_struct and gcc_struct.
20142 (ix86_handle_struct_attribute): New function.
20143 (ix86_ms_bitfield_layout_p): Update to take new attributes
20144 into account.
20145 * doc/extend.texi: Document new attributes.
20146 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
20147
98417968
DS
201482003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
20149
07488f32
ZW
20150 PR optimization/8750
20151 * config/i386/i386.c (ix86_expand_prologue): Don't allow
20152 scheduling pass to move insns across __alloca call.
98417968 20153
e46e3130
DJ
201542003-01-08 Dale Johannesen <dalej@apple.com>
20155
07488f32
ZW
20156 * config/rs6000/rs6000.md: Replace *store_multiple_string
20157 with *stmsi[3-8].
e46e3130 20158
c40e5172
JS
201592003-01-08 Jeff Sturm <jsturm@one-point.com>
20160
20161 PR target/9210
20162 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
20163 Set SYMBOL_REF_FLAG on local data sym_ref.
20164
de62b72c 201652003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
20166
20167 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 20168 REG_PARM_STACK_SPACE.
07488f32 20169 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
20170 pretend_args_size.
20171
25839c41
NN
201722003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
20173
20174 * gcc.hlp: Delete.
20175
62c9aa5f 201762003-01-09 Jan Hubicka <jh@suse.cz>
4bdc8610
JH
20177
20178 * i386.c (ix86_expand_int_addcc): Fix thinko.
20179
5b71a4e7
DE
201802003-01-08 David Edelsohn <edelsohn@gnu.org>
20181
20182 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
20183 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
20184 as hook_bool_tree_hwi_hwi_tree_true.
20185 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
20186 (rs6000_emit_epilogue): Same.
20187 (rs6000_output_mi_thunk): Re-implement as RTL.
20188 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
20189 xcoffout_declare_function if any debugging enabled.
20190
2d2a50c3
CD
201912003-01-08 Chris Demetriou <cgd@broadcom.com>
20192
20193 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
20194 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
20195 * config/mips/mips.h (enum processor_type): Rename
20196 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
20197 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
20198 Add PROCESSOR_M4K.
20199 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
20200 (ISA_MIPS32R2): New define.
20201 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
20202 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
20203 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
20204 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
20205 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
20206 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
20207 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
20208 compiling MIPS16 code.
20209 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
20210 comment.
20211 (ISA_HAS_SEB_SEH): New define.
20212 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
20213 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
20214 processor_type value renaming. Add support for MIPS32R2.
20215 Clean up comments, and move "sb1" entry with other MIPS64 CPU
20216 entries.
20217 (override_options): Reimplement -mipsN option handling so that
20218 it will work correctly for -mips32r2. Avoid branch-likely
20219 instructions on MIPS32R2.
20220 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
20221 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
20222 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
20223 (extendhisi2_hw, extendqisi2_hw): New.
20224 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
20225 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
20226 MIPS32R2, and MIPS64.
20227 (LINK_SPEC): Pass -mips32r2 to linker.
20228 * config/mips/t-isa3264: Built -mips32r2 multilibs.
20229 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
20230 for mips32r2 in the -march description. Alphabetically sort
20231 CPU names in the -march description. Add long-missed -mips32
20232 and -mips64 to MIPS option summary.
20233
20234 * config.gcc: Update copyright years to include 2003.
20235 * config/mips/mips.c: Likewise.
20236 * config/mips/mips.h: Likewise.
20237 * config/mips/mips.md: Likewise.
20238 * config/mips/netbsd.h: Likewise.
20239 * doc/invoke.texi: Likewise.
20240
918c4fe4
AS
202412003-01-08 Andreas Schwab <schwab@suse.de>
20242
20243 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
20244 variable.
20245 * configure: Regenerated.
20246
c5e7ce43
KH
202472003-01-08 Kazu Hirata <kazu@cs.umass.edu>
20248
20249 * config/h8300/h8300.c (output_logical_op): Replace byte/word
20250 extraction of det with b0, b1, w0, w2, etc.
20251 (compute_logical_op_length): Likewise.
20252 (compute_logical_op_cc): Likewise.
20253
eb8a8ec4
KH
202542003-01-08 Kazu Hirata <kazu@cs.umass.edu>
20255
20256 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
20257 HIGH on all variants.
20258
62c9aa5f 202592003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 20260
56f15830
JZ
20261 * Makefile.in (PARTITION_H): New.
20262 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
20263 * basic-block.h: Include hard-reg-set.h.
20264
ab57893b
RE
202652003-01-08 Richard Earnshaw <rearnsha@arm.com>
20266
20267 * arm.h (ENABLE_XF_PATTERNS): Delete.
20268 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
20269 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
20270 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
20271 (cmpxf_trap): Delete.
20272 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
20273
62c9aa5f 202742003-01-08 Jan Hubicka <jh@suse.cz>
7b52eede
JH
20275
20276 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
20277 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
20278 (add??cc): New expanders.
20279 * i386.c (expand_int_addcc): New function.
20280 * i386-protos.h (expand_int_addcc): Declare.
20281
20282 * alias.c (memory_modified_1): New static function.
20283 (memory_modified): New static varaible.
20284 (memory_modified_in_insn_p): New global function.
20285 * rtl.h (memory_modified_in_insn_p): Declare.
20286 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
20287 references.
20288
20289 * expr.h (emit_conditional_add): Declare.
20290
74049755
JJ
202912003-01-07 Janis Johnson <janis187@us.ibm.com>
20292
20293 PR other/8947
20294 * doc/invoke.texi (-malign-double): Explain that the option breaks
20295 binary compatibility.
20296
e7edc5a0
AS
202972003-01-08 Andreas Schwab <schwab@suse.de>
20298
20299 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
20300 should come from the generic *-*-linux* entry.
20301
62c9aa5f 203022003-01-07 Jan Hubicka <jh@suse.cz>
9635cfad
JH
20303
20304 * cselib.c (cselib_current_insn_in_libcall): New static variable.
20305 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
20306 we are inside libcall.
20307 * cselib.h (elt_loc_list): Add in_libcall.
20308 * gcse.c (do_local_cprop): Do not copy propagate using insns
20309 in libcalls.
20310
3ee04299
DE
203112003-01-07 David Edelsohn <edelsohn@gnu.org>
20312
20313 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
20314 not normally affect to issue rate.
20315
62c9aa5f 203162003-01-07 Jan Hubicka <jh@suse.cz>
068f5dea
JH
20317
20318 * genopinit.c (optabs): Add addc_optab.
20319 * ifcvt.c (noce_try_store_flag): Rename to ...
20320 (noce_try_addcc): ... this one; handle generic conditional increment.
20321 (noce_process_if_block): Update noce_try_addcc call.
20322 * optabs.c (emit_conditional_add): New.
20323 (init_obtabs): Initialize addc_optab.
20324 * optabs.h (optab_index): Add OTI_addcc.
20325 (addcc_optab): New macro.
20326 * md.texi: Document addMcc
20327
20328 PR target/8322
20329 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
20330 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
20331 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
20332
20333 * reload1.c (delete_output_reload): Avoid repeated attempts
20334 to delete insn.
20335
eb70d86d
AS
203362003-01-07 Andreas Schwab <schwab@suse.de>
20337
e7edc5a0
AS
20338 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
20339 Move --enable-initfini-array check ...
20340 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
20341 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
20342 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
20343 * configure: Rebuild.
eb70d86d 20344
1afdf91c
RH
203452003-01-07 Richard Henderson <rth@redhat.com>
20346
e7edc5a0
AS
20347 * alias.c (find_base_value): Only use new_reg_base_value shortcut
20348 if the register is set once.
1afdf91c 20349
36210500 203502003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 20351
36210500
SP
20352 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
20353 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
20354 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
20355
cb25b0ce
BK
203562003-01-07 Benjamin Kosnik <bkoz@redhat.com>
20357 Sunil Davasam <sunil.k.davasam@intel.com>
20358
07488f32 20359 PR libstdc++/9076
cb25b0ce
BK
20360 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
20361 DW_CFA_same_value, read next and ignore.
20362
94c040bd
RH
203632003-01-07 Richard Henderson <rth@redhat.com>
20364
20365 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
20366
f6cb56fa
DB
203672003-01-07 Daniel Berlin <dberlin@dberlin.org>
20368
20369 * cfg.c: Include alloc-pool.h
20370 (edge_pool): New pool.
20371 (bb_pool): New pool.
20372 (first_deleted_edge): Remove.
20373 (first_deleted_block): Remove.
20374 (init_flow): Alloc/free the pools.
20375 (free_edge): Use pools.
20376 (alloc_block): Ditto.
20377 (expunge_block): Ditto.
20378 (cached_make_edge): Ditto.
20379
20380 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
20381
203822003-01-07 Daniel Berlin <dberlin@dberlin.org>
20383
20384 * et-forest.c: Include alloc-pool.h.
20385 (struct et_forest): Add node_pool and occur_pool.
20386 (et_forest_create): Create the new pools.
20387 (et_forest_delete): Delete them.
20388 (et_forest_add_node): Allocate and free using pools.
20389 (et_forest_add_edge): Ditto.
20390 (et_forest_remove_node): Ditto.
20391 (et_forest_remove_edge): Ditto.
20392
20393 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
20394
f9ac2f95
KH
203952003-01-07 Kazu Hirata <kazu@cs.umass.edu>
20396
20397 * config/h8300/h8300.c (output_logical_op): Simplify and
20398 optimize the handling of SImode.
20399 * config/h8300/h8300.c (compute_logical_op_length): Update
20400 accordingly.
20401 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
20402
83282119
RS
204032003-01-07 Richard Sandiford <rsandifo@redhat.com>
20404
20405 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
20406 big-endian correction to indirect arguments too.
20407
59a4c851
AH
204082003-01-06 Aldy Hernandez <aldyh@redhat.com>
20409
20410 Segher Boessenkool <segher@koffie.nl>
20411
36210500
SP
20412 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
20413 (alt_reg_names): Ditto, fix formatting.
20414 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 20415
7798db98
KH
204162003-01-06 Kazu Hirata <kazu@cs.umass.edu>
20417
20418 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
20419 (output_logical_op): Constify intval and det.
20420 (compute_logical_length): Likewise.
20421 (compute_logical_cc): Likewise.
20422 (output_a_shift): Constify mask.
20423 (h8300_encode_label): Constify len.
20424
4705d102
KH
204252003-01-06 Kazu Hirata <kazu@cs.umass.edu>
20426
20427 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
20428 (h8300_expand_epilogue): Likewise.
20429
98c9a8e8
AH
204302003-01-06 Aldy Hernandez <aldyh@redhat.com>
20431
20432 Segher Boessenkool <segher@koffie.nl>
20433
36210500
SP
20434 * config/rs6000/altivec.md: Remove spaces from assembler
20435 instruction argument lists.
07488f32 20436
86143814
MH
204372003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
20438
20439 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
20440 c4x_assembler_function_p.
20441 (c4x_null_epilogue_p): Complement return value, all uses updated.
20442 (c4x_insert_attributes): Add naked.
20443 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
20444 * doc/extend.texi: Update C4x function attributes.
20445
52fd80fb
RH
204462003-01-06 Richard Henderson <rth@redhat.com>
20447
20448 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
20449 properly when changing "local-ness".
20450 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
20451
a16b43c5
DJ
204522003-01-06 Dale Johannesen <dalej@apple.com>
20453
20454 * config/darwin-protos.h: Add prototypes for new section functions.
20455
ef8dfae6
CD
204562003-01-06 Chris Demetriou <cgd@broadcom.com>
20457
20458 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
20459 to EABI.
20460
44f9a8e4
ZW
204612003-01-06 Zack Weinberg <zack@codesourcery.com>
20462
20463 * hwint.h: If the current compiler has no 64-bit type at all,
20464 make HOST_WIDEST_INT 32 bits.
20465
2610198a
EC
204662003-01-06 Eric Christopher <echristo@redhat.com>
20467
20468 * config/mips/mips.md (movdf_internal2): Fix constraints.
20469
efbd757f
KH
204702003-01-06 Kazu Hirata <kazu@cs.umass.edu>
20471
20472 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
20473
727b9b8c
RS
204742003-01-06 Richard Sandiford <rsandifo@redhat.com>
20475
20476 * config/mips/mips.md (leadi): Use dla rather than la.
20477
4705d102 204782003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
20479
20480 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
20481 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
20482
4705d102 204832003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 20484
44f9a8e4 20485 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
20486 redefinition.
20487
dff0ea43
KH
204882003-01-05 Kazu Hirata <kazu@cs.umass.edu>
20489
20490 * config/h8300/h8300.md (*extzv_8_23): New.
20491
94e6fd3e
JDA
204922003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20493
20494 * pa64-hpux.h (JCR_SECTION_NAME): Define.
20495 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
20496 USE_EH_FRAME_REGISTRY when defining.
20497
cd9b5ca8
KH
204982003-01-05 Kazu Hirata <kazu@cs.umass.edu>
20499
20500 * config/h8300/h8300.c (output_a_shift): Do not output a
20501 variable shift.
20502 * config/h8300/h8300.md (two splitters): New.
20503
1ba8a9c4
RS
205042003-01-05 Richard Sandiford <rsandifo@redhat.com>
20505
20506 * config/mips/mips.md: Disable the movstrsi define_split.
20507
c7c50494
KG
205082003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20509
20510 * alloc-pool.c: Don't include "libiberty.h".
20511 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
20512 * convert.c (convert_to_real): Hide unused variable.
20513
83fa8d7a
KG
205142003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20515
20516 * Makefile.in (gtyp-gen.h): Const-ify.
20517 * gcov-dump.c (tag_table): Likewise.
20518
871dab3e
BK
205192003-01-04 Bruce Korb <bkorb@gnu.org>
20520
20521 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
20522 of *both* the file name and the fix name.
20523
90961eff 205242003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
20525
20526 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
20527 collect2.
20528 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
20529 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
20530 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
20531 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
20532 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
20533 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
20534 elfos.h.
20535 (EH_FRAME_IN_DATA_SECTION): Delete define.
20536 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
20537 (STARTFILE_SPEC): Use crtbegin.o.
20538 (ENDFILE_SPEC): Use crtend.o.
20539 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
20540 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
20541 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
20542 DTOR_LIST_BEGIN): Define.
20543 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
20544 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
20545 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
20546
b0588013
BK
205472002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
20548
20549 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
20550 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
20551 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
20552 Cleanup handling of replacement text.
20553 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
20554
205552003-01-04 Bruce Korb <bkorb@gnu.org>
20556
20557 * fixinc/tests/base/math.h: removed obsolete results
20558 * fixinc/tests/base/stdlib.h: ditto
20559 * fixinc/tests/base/sys/param.h: ditto
20560 * fixinc/tests/base/sys/stat.h: ditto
20561 * fixinc/tests/base/time.h: ditto
20562 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
20563 * fixinc/tests/base/sys/byteorder.h: ditto
20564 * fixinc/inclhack.def: Remove superfluous backslashes
20565
68ee6df6
KH
205662003-01-04 Kazu Hirata <kazu@cs.umass.edu>
20567
20568 * config/h8300/h8300-protos.h: Add prototypes for
20569 the new functions defined below.
20570 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
20571 define.
20572 (dosize): Emit RTL instead of assembly code.
20573 (push): Likewise.
20574 (pop): Likewise.
20575 (h8300_output_function_prologue): Remove.
20576 (h8300_expand_prologue): New.
20577 (h8300_expand_epilogue): New.
20578 (h8300_output_function_epilogue): Do only the reset of
20579 pragma_saveall.
20580 * config/h8300/h8300.md (push_h8300): New.
20581 (push_h8300hs): Likewise.
20582 (pop_h8300): Likewise.
20583 (pop_h8300hs): Likewise.
20584 (*stm_h8300s_2): Change the name to stm_h8300s_2.
20585 (*stm_h8300s_3): Change the name to stm_h8300s_3.
20586 (*stm_h8300s_4): Change the name to stm_h8300s_4.
20587 (*ldm_h8300s_2): New.
20588 (*ldm_h8300s_3): Likewise.
20589 (*ldm_h8300s_4): Likewise.
20590 (return): Likewise.
20591 (*return_1): Likewise.
20592 (prologue): Likewise.
20593 (epilogue): Likewise.
20594 (monitor_prologue): Likewise.
20595
d3c300d2
DJ
205962003-01-03 Dale Johannesen <dalej@apple.com>
20597
20598 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
20599 machopic_picsymbol_stub1.
20600 (EXTRA_SECTION_FUNCTIONS): Ditto.
20601 * rs6000/rs6000.c: Update copyright.
20602 (machopic_output_stub): Use them. Remove an insn from stub code.
20603
6cce57b0
JM
206042003-01-02 Jason Merrill <jason@redhat.com>
20605
4e8dca1c
JM
20606 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
20607
20608 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
20609 static/external decls.
2610198a 20610
6cce57b0
JM
20611 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
20612 outermost scope.
20613 * c-decl.c (c_make_fname_decl): Push the decls there, too.
20614
e392d367
KH
206152003-01-03 Kazu Hirata <kazu@cs.umass.edu>
20616
20617 * config/h8300/h8300-protos.h: Add a prototype for
20618 h8300_current_function_interrupt_function_p.
20619 * config/h8300/h8300.c (interrupt_handler): Remove.
20620 (os_task): Likewise.
20621 (monitor): Likewise.
20622 (pragma_interrupt): New.
20623 (WORD_REG_USED): Use
20624 h8300_current_function_interrupt_function_p.
20625 (dosize): Likewise.
20626 (h8300_output_function_prologue): Likewise.
20627 Do not set interrupt_handler, os_task, monitor.
20628 (h8300_output_function_prologue): Use
20629 h8300_current_function_interrupt_function_p.
20630 Do not set interrupt_handler, os_task, monitor.
20631 (h8300_current_function_interrupt_function_p): New.
20632 (h8300_pr_interrupt): Set pragma_interrupt.
20633 (h8300_insert_attributes): Reset pragma_interrupt.
20634
b15da5b7
GP
206352003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
20636
20637 * doc/install.texi (Configuration): Fix markup for reference to
20638 gcc/config.gcc.
20639
bf16e745
KH
206402003-01-02 Kazu Hirata <kazu@cs.umass.edu>
20641
20642 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
20643 (*iorhi3_two_qi): Likewise.
20644 (*iorsi3_zexthi): Likewise.
20645 (*xorhi3_zextqi): Likewise.
20646 (*xorsi3_zexthi): Likewise.
20647 (*xorsi3_zextqi): Likewise.
20648
8ccf5d5f
KH
206492003-01-02 Kazu Hirata <kazu@cs.umass.edu>
20650
20651 * config/h8300/h8300.c (stack_pointer_operand): New.
20652 (const_int_gt_2_operand): Likewise.
20653 (const_int_ge_8_operand): Likewise.
20654 * config/h8300/h8300.md (a splitter): Likewise.
20655 (a peephole2): Likewise.
20656 * config/h8300/h8300-protos.h: Add prototypes for the new
20657 functions above.
20658
43c6a96a
SB
206592003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
20660
20661 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
20662 objc/objc-act.h: Fix copyright years.
20663
96c4e780
SB
206642003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
20665
20666 * doc/passes.texi: Fix documentation for -fssa-ccp
20667
8ed0a104
NB
206682003-01-02 Neil Booth <neil@daikokuya.co.uk>
20669
20670 * gccbug.in: Update for new categories.
20671
1b9f0361
KH
206722003-01-01 Kazu Hirata <kazu@cs.umass.edu>
20673
20674 * config/h8300/h8300.md: Reorder some patterns.
20675
dc5f17ec
KH
206762003-01-01 Kazu Hirata <kazu@cs.umass.edu>
20677
20678 * config/h8300/h8300.c (output_logical_op): Fix a warning.
20679
cd2801fb
NB
206802003-01-01 Neil Booth <neil@daikokuya.co.uk>
20681
20682 * config/darwin-protos.h, config/c4x/c4x-protos.h,
20683 config/cris/cris-protos.h, config/i370/i370-protos.h,
20684 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
20685 config/v850/v850-protos.h: Use struct, and don't conditionally
20686 compile on GCC_C_PRAGMA_H.
20687
378b1b8e
KH
206882003-01-01 Kazu Hirata <kazu@cs.umass.edu>
20689
20690 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
20691 * config/h8300/h8300-protos.h: Likewise.
20692 * config/sh/sh-protos.h: Likewise.
20693
7106a5bc
KH
206942003-01-01 Kazu Hirata <kazu@cs.umass.edu>
20695
20696 * config/arm/arm-protos.h: Use struct cpp_reader instead of
20697 cpp_reader.
20698 * config/h8300/h8300-protos.h: Likewise.
20699 * config/sh/sh-protos.h: Likewise.
20700
231b51a1
NB
207012003-01-01 Neil Booth <neil@daikokuya.co.uk>
20702
20703 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
20704 arm_pr_long_calls_off): Use struct.
20705 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
20706 : Similarly.
20707 Don't include cpplib.h.
20708 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
20709 sh_pr_nosave_low_regs): Similarly.
20710
0f18b2b0
KH
207112003-01-01 Kazu Hirata <kazu@cs.umass.edu>
20712
20713 * config/h8300/h8300.c: Include cpplib.h.
20714
b9593599
SB
207152003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
20716
20717 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
20718 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
20719 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
20720 "GCC" in the copyright header.
20721
c58b209a
NB
207222003-01-01 Neil Booth <neil@daikokuya.co.uk>
20723
20724 * c-pragma.c (c_register_pragma): New.
20725 (init_pragma): Use it.
20726 * c-pragma.h (cpp_register_pragma): Don't declare.
20727 (c_register_pragma): New.
20728 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
20729 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
20730 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
20731 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
20732 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
20733 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
20734 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
20735 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
20736 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
20737 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
20738 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
20739 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
20740
7210d5ae 20741See ChangeLog.8 for earlier changes.
This page took 2.885526 seconds and 5 git commands to generate.