]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
intrinsic.c (sort_actual): Keep track of type of missing arguments.
[gcc.git] / gcc / ChangeLog
CommitLineData
446f52f4
GS
12004-06-05 Graham Stott <graham.stott@btinternet.com>
2
3 * combine.c(simplify_shift_const): Check shift amount is a
4 CONST_INT.
5
90aa6719
DS
62004-06-05 Danny Smith <dannysmith@users.sourceforge.net>
7
446f52f4
GS
8 * toplev.c (init_asm_output): Add explicit 'b' to mode when
9 opening asm_out_file.
10 * c-pch.c (c_common_write_pch): Remove unnecessary fflush before
11 reading asm_out_file. Replace fflush after reading asm_out_file
12 with fseek.
13 * hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
14 default and add to HOST_HOOKS_INITIALIZER.
15 * hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
16 * ggc-common.c (default_gt_pch_alloc_granularity): New function.
17 (gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
18 to set mmi.offset padding.
19 * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
20 $(srcdir)/config/i386/winnt.c.
21 (i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
22 (i[34567]86-*-uwin*): Likewise.
23 *i[34567]86-*-interix3*): Likewise.
24 * config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
25 * config/i386/host-mingw32.c: New file.
26 * config/i386/x-mingw32: Add rule for host-mingw32.o.
27 * config/i386/winnt.c: (struct extern_list) Tag as GTY.
28 (extern_head): Likewise.
29 (struct export_list) Likewise.
30 (export_head): Likewise.
31 (i386_pe_record_external_function): Use ggc_alloc.
32 (i386_pe_record_exported_symbol): Likewise.
33 Include "gt-winnt.h" at end.
34 * doc/hostconfig.texi: Document
90aa6719
DS
35 HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.
36
859711c5
BI
372004-06-04 Bernardo Innocenti <bernie@develer.com>
38
39 * config/m68k/m68k.h: Remove comments copied over from tm.texi.
40 Rename 68000 and 68k to m68k for consistency in comments. Remove
41 trailing whitespace before EOLs and before TABs.
42 (MAX_CODE_ALIGN): Remove unused macro.
43 (CALL_USED_REGISTERS): Reformat and add comments.
44
f4d8a9ae
FCE
452004-06-04 Frank Ch. Eigler <fche@redhat.com>
46
47 * gcc.c (MFLIB_SPEC): Remove library references, to require users
48 to enumerate -lmudflap* and dependencies when linking.
49
14bbffa1
PB
502004-06-04 Paolo Bonzini <bonzini@gnu.org>
51
52 PR target/15822
53 * dojump.c (do_jump): Fix uninitialized variable tcode1.
54
3a786c62
JQ
552004-06-04 Jerry Quinn <jlquinn@optonline.net>
56
57 * Makefile.in (insn-conditions.o): Back out removal of reload.h.
58 * genconditions.c (write_header): Back out removal of reload.h.
59
2e2052b1
JH
602004-06-04 Jan Hubicka <jh@suse.cz>
61
62 Re-apply hopefully fixed patch:
63 * i386.md (UNSPECV_EH_RETURN): Kill.
64 (eh_return): Use jump_insn.
65 (eh_return_si, eh_return_di): Change pattern to jump instruction.
66
9cf84a3c
JL
672004-06-04 Jeff Law <law@redhat.com>
68
69 * cfgrtl.c (try_redirect_by_replacing_jump): Fix return value.
70
f698d217
SB
712004-06-04 Steven Bosscher <stevenb@suse.de>
72
73 * except.c (for_each_eh_region): New function.
74 * except.h (for_each_eh_region): Add a prototype for it.
75 * tree-cfg.c (update_eh_labels): New function, callback for
76 for_each_eh_region.
77 (label_for_bb): Make global static, unfortunately.
78 (cleanup_dead_labels): Also update label references for
79 exception regions.
80
c759d454
CD
812004-06-03 Chris Demetriou <cgd@broadcom.com>
82
83 * config/mips/mips.c (struct irix_section_align_entry): Fix
84 GTY marker.
85
3d98fa14
GK
862004-06-03 Geoffrey Keating <geoffk@apple.com>
87
88 * toplev.c (check_global_declarations): Don't ask for
89 DECL_ASSEMBLER_NAME unless the function really is declared
90 static and not defined.
91
0524c91d
MA
922004-06-03 Matt Austern <austern@apple.com>
93
94 PR c++/15428
95 * default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
96 for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
97 * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
98 * doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
99 documentation to reflect the new macro name and to clarify its
100 meaning.
101
f698d217 1022004-06-03 Steven Bosscher <stevenb@suse.de>
ed5947c9
SB
103
104 * rtl.def (VAR_LOCATION): Make RTX_EXTRA.
105
c0d594f1
AP
1062004-06-03 Andrew Pinski <pinskia@physics.uc.edu>
107
108 * config/darwin.c (machopic_indirect_data_reference): Copy
109 the SYMBOL_REF_DECL from the original RTX for the new
110 non-lazy pointer RTX.
111
ed5947c9 1122004-06-03 Mark G. Adams <mark.g.adams@sympatico.ca>
a757585a
MA
113
114 * tree.h: Remove include of version.h
115 * c-cppbuiltin.c: Include version.h
116 * diagnostic.c: Include version.h
117 * dwarf2out.c: Include version.h
118 * toplev.c: Include version.h
119 * vmsdbgout.c: Include version.h
120 * Makefile.in: Remove dependency on version.h from TREE_H, and
121 add dependencies to required .o targets
122
59587b18
JQ
1232004-06-03 Jerry Quinn <jlquinn@optonline.net>
124
125 * Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H,
126 CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New.
127 (TARGET_H): Add insn-modes.h.
128 (tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o,
129 loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o,
130 loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o,
131 loop-unroll.o, ddg.o, modulo-sched.o, predict.o,
132 cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H.
133 (toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o,
134 loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o,
135 bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with
136 CFGLAYOUT_H.
137 (ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o):
138 Replace ra.h with RA_H.
139 (resource.o, regrename.o, insn-conditions.o, insn-emit.o,
140 insn-recog.o): Replace resource.h with RESOURCE_H.
141 (ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
142 sched-ebb.o, sched-vis.o, out_object_file): Replace sched-int.h
143 with SCHED_INT_H.
144 (web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
145 ra-rewrite.o): Replace df.h with DF_H.
146 (ddg.o, modulo-sched.o): Replace ddf.h with DDG_H.
147 (tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o):
148 Replace tree-ssa-live.h with TREE_SSA_LIVE_H.
149 (insn-conditions.o): Remove unused reload.h.
150 * cfglayout.h: Add include guard. Include basic-block.h.
151 * cfgloop.h: Add include guard. Include basic-block.h, rtl.h.
152 * ddg.h: Include sbitmap.h, basic-block.h, df.h.
153 * df.h: Add include guard. Include bitmap.h, sbitmap.h,
154 basic-block.h.
155 * genconditions.c: Remove reload.h.
156 * ra.h: Add include guard. Include bitmap.h, sbitmap.h,
157 hard-reg-set.h, insn-modes.h.
158 * resource.h: Add include guard. Include hard-reg-set.h.
159 * sched-int.h: Add include guard. Include insn-attr.h,
160 basic-block.h, rtl.h.
161 * target.h: Add include guard. Include insn-modes.h.
162 * tree-ssa-live.h: Include partition.h.
163
95eec0d6
DB
1642004-06-03 Daniel Berlin <dberlin@dberlin.org>
165 Kenneth Zadeck <zadeck@naturalbridge.com>
166
167 * tree-ssa-ccp.c (varying_ssa_edges): New worklist.
168 (add_var_to_ssa_edges_worklist): Add value argument.
169 Update callers.
170 Use new worklist.
171 (process_ssa_edge_worklist): New function.
172 (tree_ssa_ccp): Move worklist processing core to
173 process_ssa_edge_worklist, and just call that for the two worklists.
174
1752004-06-03 Steven Bosscher <stevenb@suse.de>
6ce2bcb7
SB
176
177 * basic-block.c (tail_recursion_label_list): Don't declare.
178 (CLEANUP_PRE_SIBCALL): Remove. Renumber the other CLEANUP_*
179 accordingly.
180 * cfgbuild.c (find_label_refs): Remove.
181 (find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
182 * cfgcleanup.c (tail_recursion_label_p): Remove.
183 (merge_blocks_move): Do not check for tail recursion.
184 (try_optimize_cfg): Likewise.
185 (cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
186 * cfgrtl.c (tail_recursion_label_list): Remove.
187 * except.c (remove_unreachable_regions): Don't handle
188 CALL_PLACEHOLDER insns.
189 (convert_from_eh_region_ranges_1, can_throw_internal,
190 can_throw_external): Likewise.
191 * function.c (free_after_compilation): Don't clear
192 x_tail_recursion_label.
193 (fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
194 (identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
195 (reorder_blocks_1): Likewise.
196 * function.h (struct function): Remove x_tail_recursion_label
197 member. Don't define tail_recursion_label.
198 * jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
199 * print-rtl.c (print_rtx): Likewise.
200 * rtl.def (CALL_PLACEHOLDER): Remove.
201 * rtl.h (sibcall_use_t): Remove enum.
202 (optimize_sibling_and_tail_recursive_calls,
203 replace_call_placeholder): Remove function prototypes.
204 * stmt.c (tail_recursion_args): Remove.
205 (optimize_tail_recursion): Remove.
206 (expand_return): Don't check for possible tail recursion.
207 * tree.h (optimize_tail_recursion): Remove prototype.
208
ce068299
JH
2092004-06-02 Jan Hubicka <jh@suse.cz>
210
211 * tree-cfg.c (tree_find_edge_insert_loc): Allow inserting before
212 return_stmt.
213
b25a8933
JM
2142004-06-02 Jason Merrill <jason@redhat.com>
215
216 * Makefile.in (TAGS): Don't mess with c-parse.[ch].
217 Do include c-parse.in.
218
3aeb3655
EC
2192004-06-02 Eric Christopher <echristo@redhat.com>
220
221 * c-typeck.c (common_type): Don't lose type qualifiers
222 when creating new variants.
223
3facc4b6
AP
2242004-06-02 Andrew Pinski <pinskia@physics.uc.edu>
225
226 PR tree-optimization/14042
227 PR tree-optimization/14729
228 PR tree-optimization/14736
03a4c969
AP
229 * tree-ssa.c (tree_ssa_useless_type_conversion_1):
230 Check the type which the pointer points to
3facc4b6
AP
231 instead of the pointer types.
232
91fa0e3d
KH
2332004-06-02 Kazu Hirata <kazu@cs.umass.edu>
234
235 PR tree-optimization/15738.
236 * builtins.c (fold_builtin_strchr): Transform
237 strrchr (s, '\0') to strchr (s, '\0').
238
dff008b4
SB
2392004-06-02 Steven Bosscher <stevenb@suse.de>
240
241 * i386.c (ix86_adjust_cost): Don't increase the cost for
242 load+operation for PROCESSOR_PENTIUMPRO, it is already
243 modelled in the DFA description
244
78528714
JQ
2452004-06-01 Jerry Quinn <jlquinn@optonline.net>
246
247 * Makefile.in (EXPR_H): Add insn-config.h, function.h,
248 $(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
249 (ALIAS_H, EMIT_RTL_H): New.
250 (cselib.o): Replace EXPR_H with EMIT_RTL_H.
251 (cfgcleanup.o): Add EMIT_RTL_H.
252 (alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
253 * alias.c: Replace expr.h with emit-rtl.h and alias.h.
254 * attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
255 * cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
256 * expr.h: Add include guard. Include function.h, rtl.h, flags.h,
257 tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
258 (get_varargs_alias_set, get_frame_alias_set, record_base_value,
259 record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
260 (set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
261 set_mem_size): Move to emit-rtl.h.
262 * emit-rtl.h: New.
263 * alias.h: New.
264
95c73b23
EB
2652004-06-01 Eric Botcazou <ebotcazou@act-europe.fr>
266
267 * function.c (walk_fixup_memory_subreg): New parameter 'var'.
268 Call fixup_memory_subreg only if the MEM is equal to 'var'.
269 Adjust recursive calls to self.
270 (fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg.
271
7a3ea201
RH
2722004-06-01 Richard Henderson <rth@redhat.com>
273 Andrew Pinski <pinskia@physics.uc.edu>
274
275 * c-parse.in (OFFSETOF, offsetof_member_designator): New.
276 (primary): Handle offsetof. Add error productions for faux functions.
277 Move component_ref objc checking to build_component_ref.
278 (reswords): Add offsetof.
279 (rid_to_yy): Add offsetof.
280 * c-tree.h (build_offsetof): Declare.
281 * c-common.h (objc_is_public): Declare.
282 * c-typeck.c (build_component_ref): Check objc_is_public.
283 (build_offsetof): New.
284 * stub-objc.c (objc_is_public): New.
285 * objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename
286 from is_public.
287 * ginclude/stddef.h (offsetof): Use __builtin_offsetof.
288 * doc/extend.texi (Offsetof): Move from C++ section to C section
289 and rewrite for __builtin_offsetof.
290
5050d266 2912004-06-01 Peter Barada <peter@the-baradas.com>
dff008b4 292 Peter Jakubek <peter@laseranimation.com>
5050d266
PB
293
294 * config/m68k/m68k.c(m68k_output_mi_thunk): For ColdFire, use %d0 as
295 a scratch to perform an add to memory.
296
225d221a
BI
2972004-06-01 Bernardo Innocenti <bernie@develer.com>
298
299 PR target/14018
300 * config/m68k/m68k.c (m68k_align_loops_string, m68k_align_jumps_string,
301 m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
302 m68k_align_funcs): Remove.
303 (override_options): Remove code to handle -malign-* options.
304 * config/m68k/m68k.h (TARGET_OPTIONS): Remove -malign-* options.
305 (FUNCTION_BOUNDARY, LOOP_ALIGN, LOOP_ALIGN_AFTER_BARRIER): Remove.
306 (m68k_align_loops_string, m68k_align_jumps_string,
307 m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
308 m68k_align_funcs): Remove definitions.
309
1460af95
PE
3102004-06-01 Paul Eggert <eggert@cs.ucla.edu>
311
312 PR target/15626
313 * doc/install.texi (sparc-sun-solaris2*): Document messages issued
314 by the Sun linker in conjunction with the Sun assembler.
315 (sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
316
225d221a 3172004-06-01 Jeff Law <law@redhat.com>
0b068ee9 318
dff008b4
SB
319 * stmt.c (expand_decl): Be more selective about calling
320 mark_reg_pointer.
0b068ee9 321
61c627ed
NP
3222004-06-01 Nicola Pero <nicola@brainstorm.co.uk>
323
324 PR objc/7993
325 * objc-act.c (is_private): Do not emit the 'instance variable %s
326 is declared private' error.
327 (is_public): Emit the error after calling is_private.
328 (lookup_objc_ivar): If the instance variable is private, return 0
329 - the instance variable is invisible here.
330
d3144423
EB
3312004-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
332
333 * doc/invoke.texi (-static-libgcc): Explicitly mention
334 non-GNU linkers.
335
5847e53e
BI
3362004-06-01 Bernardo Innocenti <bernie@develer.com>
337
338 PR target/12968
339 * doc/invoke.texi: Document stack alignment side-effect of -mshort.
340
ec3e6835
JM
3412004-05-31 Joseph S. Myers <jsm@polyomino.org.uk>
342
343 PR c/15749
344 * c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
345 misuses of structures with flexible array members if
346 in_system_header.
347
a4a90b84
EB
3482004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
349
350 PR target/15693
351 * config/sparc/sparc.c (compare_operand): New predicate.
352 * config/sparc/sparc.h (PREDICATE_CODES): Add it.
353 * config/sparc/sparc.md (cmpsi expander): Use it. If the first
354 operand is a ZERO_EXTRACT and the second operand is not zero,
355 force the former to a register.
356 (cmpdi expander): Likewise.
357
133f7a77
GK
3582004-05-31 Geoffrey Keating <geoffk@apple.com>
359
360 * gengtype-lex.l: Catch stray GTY markers in the files gengtype
361 looks at.
362 * alias.c (alias_invariant_size): Make alias_invariant_size
363 static, fix GTY marker.
364
09d98c72
KH
3652004-05-31 Kazu Hirata <kazu@cs.umass.edu>
366
367 PR tree-optimization/15743.
368 * builtins.c (fold_builtin_1): Fold index() and rindex().
369
1f7a8dcc
RS
3702004-05-31 Roger Sayle <roger@eyesopen.com>
371
372 PR middle-end/15069
373 * fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
374 into "X < 0" (where C is the signbit) if X's type is a full mode.
375
1027314a
JDA
3762004-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
377
378 * pa.md: Disable the peephole2 patterns that generate indexed
379 floating-point stores when indexing is disabled.
380
41fd3bac
GDR
3812004-05-31 Gabriel Dos Reis <gdr@integrable-solutions.net>
382
383 * c-pretty-print.c (pp_c_left_bracket): Make a function.
384 (pp_c_right_bracket): Likewise.
385 (pp_c_star): Likewise.
386 (pp_c_ampersand): Define.
387 * c-pretty-print.h (pp_c_left_bracket): Declare.
388 (pp_c_right_bracket): Likewise.
389 (pp_c_star): Likewise.
390 (pp_c_ampersand): Likewise.
391
d3157fb6
EB
3922004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
393
394 * config/sol2.h (__enable_execute_stack): ANSIfy function
395 definition.
396
421563d5
DS
3972004-05-31 Danny Smith <dannysmith@users.sourceforge.net>
398
399 * c-incpath.c (add_path): Canonicalize paths to use '/' if
400 HAVE_DOS_BASED_FILESYSTEM.
401
1c052514
SB
4022004-05-31 Steven Bosscher <stevenb@suse.de>
403
404 * tree-ssa-dom.c (record_equivalences_from_incoming_edge):
405 Only look at case labels if the immediate dominator is also
406 the only predecessor. Don't look for more case labels if the
407 first seen is a case range.
408
e784e649
KH
4092004-05-31 Kazu Hirata <kazu@cs.umass.edu>
410
411 * builtins.c: Add a prototype for fold_builtin_strchr().
412
1999435c
PB
4132004-05-31 Paolo Bonzini <bonzini@gnu.org>
414
415 Revert this patch:
416 2004-05-27 Paolo Bonzini <bonzini@gnu.org>
417
418 * combine.c (gen_binary): Remove.
419 (known_cond, simplify_shift_const
420 find_split_point, combine_simplify_rtx,
421 simplify_if_then_else, simplify_set,
422 simplify_logical, expand_field_assignment,
423 extract_left_shift, force_to_mode,
424 if_then_else_cond, apply_distributive_law,
425 simplify_and_const_int, simplify_shift_const,
426 gen_lowpart_for_combine, simplify_comparison,
427 reversed_comparison): Replace with
428 simplify_gen_binary, simplify_gen_relational or
429 distribute_and_simplify_rtx.
430 (distribute_and_simplify_rtx): New function.
431
97509a89
JDA
4322004-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
433
434 * pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
435 when generating PIC code.
436
3c79fa86
AP
4372004-05-30 Andrew Pinski <pinskia@physics.uc.edu>
438
439 * c-decl.c (c_expand_body_1): Remove and fold back into ...
440 (c_expand_body): here.
441 (c_expand_decl): Move to ...
442 * c-common.c (c_expand_decl): Here and remove check for nested
443 functions.
444 * c-common.h (c_expand_decl): Add prototype.
445 * c-tree.h (c_expand_decl): Remove.
446
1b0f3e79
RS
4472004-05-30 Roger Sayle <roger@eyesopen.com>
448
449 * fold-const.c (combine_comparisons, optimize_bit_field_compare,
450 range_binop, fold_truthop, fold_binary_op_with_conditional_arg,
451 fold_mathfn_compare, fold_inf_compare, fold,
452 fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
453 Use constant_boolean_node where appropriate. Don't bother using
454 fold_convert on the second argument to omit_one_operand.
455
29d64660
RS
4562004-05-30 Roger Sayle <roger@eyesopen.com>
457
458 * doc/c-tree.texi (Expressions): Document FLOOR_DIV_EXPR,
459 CEIL_DIV_EXPR, ROUND_DIV_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR,
460 ROUND_MOD_EXPR, EXACT_DIV_EXPR. Improve documentation of
461 TRUNC_DIV_EXPR, TRUNC_MOD_EXPR and comparison operations.
462 Add missing (but documented) tree nodes to the index.
463
b3dd9f35
SB
4642004-05-30 Steven Bosscher <stevenb@suse.de>
465
466 PR tree-optimization/14819
467 * builtins.c (fold_builtin_strchr): New.
468 (fold_builtin_1): Handle BUILT_IN_STRCHR and BUILT_IN_STRRCHR
469 with fold_builtin_strchr().
470
9cf737f8
KH
4712004-05-30 Kazu Hirata <kazu@cs.umass.edu>
472
473 * bb-reorder.c, builtins.c, c-common.c, c-gimplify.c,
474 c-incpath.c, cgraphunit.c, ddg.c, defaults.h, dwarf2out.c,
475 expmed.c, flags.h, gcc.c, gensupport.c, gimplify.c, global.c,
476 passes.c, reg-stack.c, target.h, toplev.c, tree-alias-ander.c,
477 tree-alias-common.c, tree-cfg.c, tree-complex.c, tree-dfa.c,
478 tree-eh.c, tree-mudflap.c, tree-mudflap.h, tree-outof-ssa.c,
479 tree-phinodes.c, tree-pretty-print.c, tree-ssa-alias.c,
480 tree-ssa-ccp.c, tree-ssa-live.c, tree-ssa-live.h,
481 tree-ssa-pre.c, tree.h, value-prof.h, varasm.c: Fix comment
482 formatting.
483
0f1f6967
SB
4842004-05-30 Steven Bosscher <stevenb@suse.de>
485
486 * gimplify.c (sort_case_labels): New. Split out from...
487 (gimplify_switch_expr): ...here. Use it.
488 * tree-eh.c (lower_try_finally_switch): Sort the labels of
489 the SWITCH_EXPR created here before leaving the function.
490 * tree.c (sort_case_labels): Add prototype.
491
d22b7e14
AP
4922004-05-30 Andrew Pinski <pinskia@physics.uc.edu>
493
494 * fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
495 of BOOLEAN_TYPE.
496
1ea7e6ad
KH
4972004-05-30 Kazu Hirata <kazu@cs.umass.edu>
498
499 * c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c,
500 ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h,
501 fold-const.c, gcc.c, gimplify.c, haifa-sched.c,
502 modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c,
503 tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c,
504 tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix
505 comment typos. Follow spelling conventions.
506
b453c95f
GK
5072004-05-29 Geoffrey Keating <geoffk@apple.com>
508
509 * gengtype-yacc.y: Add NESTED_PTR token.
510 (option): Record `nested_ptr' option.
511 * gengtype-lex.l: Handle `nested_ptr' keyword.
512 * gengtype.c (walk_type): Process `nested_ptr' option.
513 * gengtype.h (struct nested_ptr_data): New.
514 * doc/gty.texi (GTY Options): Document `nested_ptr' option.
515 * stringpool.c (struct string_pool_data): Make 'entries' point to
516 ht_identifier instead of tree.
517 (gt_pch_save_stringpool): Don't adjust pointers.
518 (gt_pch_restore_stringpool): Call ht_load.
519
be00f578
JM
5202004-05-29 Jason Merrill <jason@redhat.com>
521
522 * gimplify.c (gimplify_expr): Don't build a statement list
523 if no gimplification was necessary.
524
ca09cd34
JM
5252004-05-29 Joseph S. Myers <jsm@polyomino.org.uk>
526
527 * pretty-print.c (pp_base_format_text): Support %< instead of %`
528 and %> as well as %'.
529 * c-format.c: Use %< and %>.
530 (gcc_diag_char_table, gcc_cdiag_char_table,
531 gcc_cxxdiag_char_table): Update.
532
5305f6d7
JM
5332004-05-29 Joseph S. Myers <jsm@polyomino.org.uk>
534
535 * c-typeck.c (common_type): Correct comment.
536
d1fe6168
PB
5372004-05-29 Peter Barada <peter@the-baradas.com>
538
28bad6d1
PB
539 * config/m68k/m68k.c (CONST_METHOD): Add MVZ, MVS.
540 * config/m68k/m68k.c (const_method): Likewise.
541 * config/m68k/m68k.c (const_int_cost): Likewise.
542 * config/m68k/m68k.c (const_int_cost): Likewise.
543 * config/m68k/m68k.c (output_move_const_into_data_reg): Likewise.
544
5452004-05-29 Peter Barada <peter@the-baradas.com>
546
547 * config/m68k/m68k.h (EXTRA_CONSTRAINT): add 'U' for register offset
d1fe6168
PB
548 addressing.
549 * config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
550 movsi,movhi,movqi insn patterns.
551
f935f97b
AP
5522005-05-28 Andrew Pinski <pinskia@physics.uc.edu>
553
27e1a8d2
AP
554 * c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.
555
f935f97b
AP
556 PR target/15720
557 * config/darwin.c (machopic_indirect_call_target): Copy
558 the SYMBOL_REF_DECL from the original RTX for the new
559 stub RTX.
560
5182fafe
DD
5612004-05-28 DJ Delorie <dj@redhat.com>
562
563 * stor-layout.c (place_field): Revert erroneous commit.
564
bfefd4d5
ZL
5652004-05-28 Ziemowit Laski <zlaski@apple.com>
566
567 * config/rs6000/altivec.h (vec_ctf, vec_vcfsx, vec_vcfux, vec_cts,
568 vec_ctu, vec_dss, vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_ld,
569 vec_ldl, vec_lvsl, vec_lvsr, vec_sld, vec_splat, vec_vspltw,
570 vec_vsplth, vec_vspltb, vec_splat_s8, vec_splat_s16, vec_splat_s32,
571 vec_splat_u8, vec_splat_u16, vec_splat_u32, vec_st, vec_stl,
572 vec_ste): Remove type checks for integral parameters and literals
573 from '..._args_eq' macros.
574
e851b373
AH
5752004-05-28 Aldy Hernandez <aldyh@redhat.com>
576
577 * c-common.c (fname_as_string): Fix xcalloc to xmalloc.
578
0d0bc036
AH
5792004-05-28 Aldy Hernandez <aldyh@redhat.com>
580
581 * testsuite/g++.dg/charset/function.cc: New.
582
583 * testsuite/gcc.dg/charset/function.c: New.
584
585 * c-decl.c (c_make_fname_decl): Free return value from
586 fname_as_string.
587
588 * cp/decl.c (cp_make_fname_decl): Free return value from
589 fname_as_string.
590
591 * c-common.c (fname_as_string): Translate if necessary.
592
4bb4ae96
GK
5932004-05-28 Geoffrey Keating <geoffk@apple.com>
594
595 * stringpool.c: Add comments to PCH saving/restoring routines.
596
09b01df8
AP
5972004-05-28 Andrew Pinski <pinskia@physics.uc.edu>
598
2fec96c1
AP
599 * c-common.c (c_estimate_num_insns_1): Kill.
600 (c_estimate_num_insns): Kill.
601 * c-common.h (c_estimate_num_insns): Kill.
602
603 * gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING
604 when checking for _POSIX_THREAD_PRIORITY_SCHEDULING.
605 Remove comment about not checking for
606 _POSIX_PRIORITY_SCHEDULING.
607 * gthr-posix.c: Likewise.
09b01df8 608
d1a7edaf
PB
6092004-05-28 Paolo Bonzini <bonzini@gnu.org>
610 Roger Sayle <roger@eyesopen.com>
611
612 PR rtl-optimization/15649
613 Add LTGT_EXPR and improve pretty-printing of unordered
614 comparisons.
615 * c-common.c (c_common_truthvalue_conversion):
616 Handle LTGT_EXPR.
617 * c-typeck.c (build_binary_op): Likewise.
618 * dojump.c (do_jump): Likewise.
619 * expr.c (expand_expr_real_1, do_store_flag): Likewise.
620 * predict.c (tree_predict_by_opcode): Likewise.
621 * real.c (real_compare): Likewise.
622 * tree-cfg.c (verify_expr): Likewise.
623 * tree-inline.c (estimate_num_insns_1): Likewise.
624 * tree-pretty-print.c (dump_generic_node): Likewise.
625 Handle ORDERED_EXPR, UNORDERED_EXPR.
626 (op_symbol): Print unordered comparisons differently
627 than ordered ones.
628 * tree.def (LTGT_EXPR): New '<' tree code.
629 * doc/c-tree.texi (Expressions): Document floating-point
630 comparison nodes.
631
632 Fold comparisons between floating point values.
633 * fold-const.c (enum comparison_code): New, from
634 #define'd constants. Define compcodes for unordered
635 comparisons and for invalid transformations.
636 (invert_tree_comparison): Add "honor_nans" parameter.
637 (fold_truthop): Revamp to work on floating-point types too.
638 (comparison_to_compcode): Support unordered comparisons.
639 Use new enum comparison_code.
640 (compcode_to_comparison): Likewise.
641 (combine_compcodes): New function.
642 (invert_truthvalue): Let invert_tree_comparison decide
643 whether it is valid to fold the comparison. Fold ORDERED
644 and UNORDERED even if flag_unsafe_math_optimizations is off,
645 and the remaining even if flag_unsafe_math_optimizations
646 is off but we are under -fno-trapping-math.
647 (fold_relational_const): Integer modes do not honor NaNs.
61c627ed 648
2966b00e
PB
6492004-05-28 Paul Brook <paul@codesourcery.com>
650
651 * config/arm/arm.c (arm_output_epilogue): Remove redundant code.
652
3c7ad43e
PB
6532004-05-28 Paul Brook <paul@codesourcery.com>
654
655 * config/arm/arm.c (thumb_force_lr_save): New function.
656 (arm_get_frame_offsets, thumb_unexpanded_epilogue,
657 thumb_output_function_prologue): Use it.
658 (thumb_expand_prologue): Set lr_save_eliminated.
659
a97a3e73
RS
6602004-05-28 Richard Sandiford <rsandifo@redhat.com>
661
662 * config/mips/mips.md (extendsidi2): Tie the source and destination
663 of the register alternative. Split it into nothing.
664
6c2511d3
RS
6652004-05-28 Richard Sandiford <rsandifo@redhat.com>
666
667 * rtl.h (skip_consecutive_labels): Declare.
668 * emit-rtl.c (skip_consecutive_labels): New function.
669 * reorg.c (relax_delay_slots, dbr_schedule): Use it.
670 * jump.c (follow_jumps): Say what null return values mean.
671
4fbf3498
KK
6722004-05-28 Kaz Kojima <kkojima@gcc.gnu.org>
673
674 PR target/13250
675 * config/sh/sh.md (rotlsi3): Use emit_move_insn.
676
cc212178
KK
6772004-05-27 Kaz Kojima <kkojima@gcc.gnu.org>
678
679 * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
680 libgcc-std.ver.
681 * config/sh/libgcc-std.ver: New file.
682
aed30657
BM
6832004-05-27 Bryce McKinlay <mckinlay@redhat.com>
684
685 * except.c: Revert change of 2004-05-26.
686 * config/i386/i386.md: Revert change of 2004-05-27.
687
13f05fd0
BM
6882004-05-27 Bryce McKinlay <mckinlay@redhat.com>
689
690 * configure.ac: Remove --enable-tree-browser option.
691 Define TREEBROWSER when ac_tree_checking is defined.
692 * configure: Rebuilt.
693
7c50e202
OH
6942004-05-27 Olivier Hainque <hainque@act-europe.fr>
695
696 * expr.c (store_constructor): Restore sanity check on
697 the size of the type before clearing.
698
baf8706c
JH
6992004-05-27 Jan Hubicka <jh@suse.cz>
700
701 * cfgbuild.c (control_flow_insn_p): Notice noreturn call
702
1999435c 7032004-05-27 Paolo Bonzini <bonzini@gnu.org>
dce1438a
PB
704
705 * combine.c (gen_binary): Remove.
706 (known_cond, simplify_shift_const
707 find_split_point, combine_simplify_rtx,
708 simplify_if_then_else, simplify_set,
709 simplify_logical, expand_field_assignment,
710 extract_left_shift, force_to_mode,
711 if_then_else_cond, apply_distributive_law,
712 simplify_and_const_int, simplify_shift_const,
713 gen_lowpart_for_combine, simplify_comparison,
714 reversed_comparison): Replace with
715 simplify_gen_binary, simplify_gen_relational or
716 distribute_and_simplify_rtx.
717 (distribute_and_simplify_rtx): New function.
718 * simplify-rtx.c (simplify_binary_operation):
719 Use nonzero_bits to simplify ANDs where we are
720 turning off bits already known to be off in OP0.
721
42f806e5
AM
7222004-05-27 Alan Modra <amodra@bigpond.net.au>
723
724 PR target/14478
725 * config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
726
e314a036
JZ
7272004-05-27 Josef Zlomek <zlomekj@suse.cz>
728
729 PR middle-end/14084
730 * emit-rtl.c (gen_rtx_REG_offset): Adjust the offset according
731 to size of decl.
732
61bea3b0
AH
7332004-05-26 Aldy Hernandez <aldyh@redhat.com>
734
735 PR/14924
736 * config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
737
cdc9d803
RS
7382004-05-26 Roger Sayle <roger@eyesopen.com>
739
740 * tree.h: Fix comment typo.
741
f667741c
SB
7422004-05-27 Steven Bosscher <stevenb@suse.de>
743
744 * gimplify.c (compare_case_labels): New function.
745 (gimplify_switch_expr): Sort case labels, and make sure the
746 last label in the label vector is the default case.
747 * tree-cfg.c (group_case_labels): New function.
748 (build_tree_cfg): Cleanup redundant labels and group case labels
749 before creating edges.
750 (cleanup_dead_labels): Handle GOTO_EXPRs.
751 (find_case_label_for_value): Use a binary search to find the
752 case label for the given value.
753 * tree-gimple.c: Mention that labels are sorted, and that the
754 last label must be the default.
755
e4efa971
JH
7562004-05-27 Jan Hubicka <jh@suse.cz>
757
758 * cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables.
759
dabbc722
JH
7602004-05-27 Jan Hubicka <jh@suse.cz>
761
762 * i386.md (UNSPECV_EH_RETURN): Kill.
763 (eh_return): Use jump_insn.
764 (eh_return_si, eh_return_di): Change pattern to jump instruction.
765
43acb4c4
JH
7662004-05-26 Jan Hubicka <jh@suse.cz>
767
768 * cfgcleanup.c (try_forward_edges): Do not check loop structure when
769 not loop optimizing.
43acb4c4 770
f00d196d
JH
7712004-05-26 Jan Hubicka <jh@suse.cz>
772
773 * except.c (can_throw_internal): Notice RESX instructions.
774
42048866
EB
7752004-05-26 Eric Botcazou <ebotcazou@act-europe.fr>
776
777 * varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
778 of the two sizes to assemble_integer.
779
b31ad637
PB
7802004-05-25 Paul Brook <paul@codesourcery.com>
781
782 * config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove
783 pointless #ifdef.
784
5da9128a
PB
7852004-04-25 Paolo Bonzini <bonzini@gnu.org>
786
787 * Makefile.in (top_builddir): Define to .
788
08d105fa
AO
7892004-05-25 Alexandre Oliva <aoliva@redhat.com>
790
791 * configure.ac (gcc_cv_ld): Prefer in-tree ld over whatever the
792 top-level detects, except when in-tree ld is being cross-built.
793 (gcc_cv_as): Likewise for as. Use AS_FOR_TARGET otherwise, and
794 then AS only if target is host.
795 * configure: Rebuilt.
796
9abe5d07
VM
7972004-05-25 Vladimir Makarov <vmakarov@redhat.com>
798
799 * global.c (global_alloc): Call make_accurate_live_analysis.
800 (record_one_conflict): Remove dead code.
801 (mark_reg_clobber): Remove ATTRIBUTE_UNUSED for parameter data.
802 (bb_info): New structure.
803 (BB_INFO, BB_INFO_BY_INDEX): New macros.
804 (allocate_bb_info, free_bb_info, mark_reg_change,
805 calculate_local_reg_bb_info, set_up_bb_rts_numbers, rpost_cmp,
806 modify_bb_reg_pav, calculate_reg_pav,
807 make_accurate_live_analysis): New functions.
61c627ed 808
f411a73a
DP
8092004-05-25 Devang Patel <dpatel@apple.com>
810
811 * alias.c (init_alias_analysis): Use ggc_calloc instead of
812 xrealloc.
813 (end_alias_analysis): Use ggc_free instead fo free.
61c627ed 814
104a4010
AP
8152004-05-25 Andrew Pinski <pinskia@physics.uc.edu>
816
817 PR target/15546
818 * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Mark the DECL
819 as needed to be outputted.
820
d601c996
JH
8212004-05-25 Jan Hubicka <jh@suse.cz>
822
823 * builtins.def (__builtin_expect): Mark the function as const&nothrow.
824
e5626198
AZ
8252004-05-25 Ayal Zaks <zaks@il.ibm.com>
826 Mostafa Hagog <mustafa@il.ibm.com>
827
828 * Makefile.in (modulo-sched.o, ddg.o): New.
829 * ddg.h, ddg.c, modulo-sched.c: New files.
830 * cfglayout.c (duplicate_insn_chain): Remove "static" and push
831 internals to "dupicate_insn".
832 (duplicate_insn): New function.
833 * cfglayout.h (duplicate_insn_chain, duplicate_insn): New
834 declarations.
835 * common.opt (fmodulo-sched): New flag.
836 * df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
837 Remove static and forward declaration.
838 (df_find_def, df_reg_used, df_bb_regno_last_def_find): New
839 functions.
840 * df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
841 df_bb_regno_last_def_find, df_find_def, df_reg_used): New
842 declarations.
843 * flags.h (flag_modulo_sched): New flag.
844 * opts.c (common_handle_option): Handle modulo-sched flag.
845 * params.def (max-sms-loop-number, sms-max-ii-factor,
846 sms-dfa-history, sms-loop-average-count-threshold): New
847 parameters.
848 * params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
849 SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
850 parameters.
851 * passes.c ("sms", "sms-vcg"): New dumps.
852 (rest_of_handle_sched): Call sms_schedule.
853 * rtl.h (sms_schedule): New declaration.
854 * timevar.def (TV_SMS): New.
855 * toplev.c (flag_modulo_sched): Initialize.
856 (f_options): Handle -fmodulo-sched option.
857 * docs/invoke.texi: Document -fmodulo-sched & -dm options.
858 * docs/passes.texi: Document new SMS pass.
859
2f93eea8
PB
8602004-05-25 Paolo Bonzini <bonzini@gnu.org>
861
862 * Makefile.in (OBJS): Add rtlhooks.o.
863 (rtlanal.o): Depend on function.h.
864 (cse.o): Depend on rtlhooks-def.h.
865 (combine.o): Depend on rtlhooks-def.h.
866 (rtlhooks.o): New rule.
867 * combine.c: Include rtlhooks-def.h.
868 (nonzero_bits, cached_nonzero_bits, nonzero_bits1,
869 num_sign_bit_copies, cached_num_sign_bit_copies,
870 num_sign_bit_copies1): Move most of the code to rtlanal.c.
871 (reg_nonzero_bits_for_combine,
872 reg_num_sign_bit_copies_for_combine): New functions holding
873 the remnants of the above.
874 (combine_rtl_hooks): New.
875 (combine_instructions): Set rtl_hooks instead of gen_lowpart.
876 * cse.c: Include rtlhooks-def.h.
877 (cse_rtl_hooks): New.
878 (cse_main): Set rtl_hooks instead of gen_lowpart.
879 * emit-rtl.c (gen_lowpart): Remove.
880 (gen_lowpart_general): Move to rtlhooks.c.
881 * rtl.h (nonzero_bits, num_sign_bit_copies,
882 struct rtl_hooks, rtl_hooks, general_rtl_hooks): New.
883 (gen_lowpart_general): Remove.
884 (gen_lowpart): Temporarily redefine as a macro.
885 * rtlanal.c: Include function.h.
886 (nonzero_bits, cached_nonzero_bits, nonzero_bits1,
887 num_sign_bit_copies, cached_num_sign_bit_copies,
888 num_sign_bit_copies1): New, from combine.c.
61c627ed 889 * rtlhooks.c: New file.
2f93eea8 890
11338cda
SS
8912004-05-25 Svein E. Seldal <Svein.Seldal@solidas.com>
892
893 * config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type
894 to support 32-bit -mint8 mode.
895
896 * doc/invoke.texi (-mint8): Added documentation for the -mint8
61c627ed 897 option in the AVR architecture.
11338cda 898
cfc984b5
MS
8992004-05-24 Mike Stump <mrs@apple.com>
900
901 * doc/install.texi: Document that dejagnu 1.4.4 is required.
902
a668adb2
JM
9032004-05-24 Joseph S. Myers <jsm@polyomino.org.uk>
904
905 * intl.h (open_quote, close_quote): New.
906 * intl.c (open_quote, close_quote): New.
907 (gcc_init_libintl): Set them.
908 * pretty-print.c: Include "intl.h".
909 (pp_base_format_text): Support 'q' format flag and %` and %'
910 formats. Use ' instead of ` in comments.
911 * c-format.c (gcc_diag_flag_specs, gcc_cxxdiag_flag_specs,
912 gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table,
913 foramt_types_orig): Describe these new formats.
914 (decode_format_attr, check_function_format,
915 check_format_info_main): Use these new formats.
916 (status_warning): Use ATTRIBUTE_GCC_DIAG.
917 * toplev.c (ATTRIBUTE_GCC_DIAG): Increase required GCC version to
918 check these formats to 3.5.
919
6046b0ed
RO
9202004-05-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
921
922 * Makefile.in (CPPLIBS): Renamed to CPPLIB.
923 (BACKEND): Reflect this.
924 (LIBDEPS): Move CPPLIB before LIBIBERTY.
925 (LIBS): Likewise.
926
aef0afc4
UW
9272004-05-24 Ulrich Weigand <uweigand@de.ibm.com>
928
929 PR tree-optimization/14197
930 * builtins.c: Include "tree-gimple.h"
61c627ed 931 (readonly_data_expr): Use get_base_address. Make sure to call
aef0afc4
UW
932 decl_readonly_section only on trees it can handle.
933 * tree-gimple.c (get_base_address): Accept STRING_CST and
934 CONSTRUCTOR expressions.
935 * Makefile.in: Update dependencies.
936
4f4e53dd
PB
9372004-05-23 Paolo Bonzini <bonzini@gnu.org>
938
939 Move libcpp to the toplevel.
940 * Makefile.in: Remove references to libcpp files,
941 use CPPLIBS instead of libcpp.a. Define SYMTAB_H
942 and change hashtable.h to that.
943 * aclocal.m4 (gcc_AC_HEADER_STDBOOL,
944 gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
945 * configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
946 * configure: Regenerate.
947 * config.in: Regenerate.
948 * c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
949 * cppcharset.c: Removed.
950 * cpperror.c: Removed.
951 * cppexp.c: Removed.
952 * cppfiles.c: Removed.
953 * cpphash.c: Removed.
954 * cpphash.h: Removed.
955 * cppinit.c: Removed.
956 * cpplex.c: Removed.
957 * cpplib.c: Removed.
958 * cpplib.h: Removed.
959 * cppmacro.c: Removed.
960 * cpppch.c: Removed.
961 * cpptrad.c: Removed.
962 * cppucnid.h: Removed.
963 * cppucnid.pl: Removed.
964 * cppucnid.tab: Removed.
965 * hashtable.c: Removed.
966 * hashtable.h: Removed.
967 * line-map.c: Removed.
968 * line-map.h: Removed.
969 * mkdeps.c: Removed.
970 * mkdeps.h: Removed.
971 * stringpool.h: Include symtab.h instead of hashtable.h.
972 * tree.h: Include symtab.h instead of hashtable.h.
973 * system.h (O_NONBLOCK, O_NOCTTY): Do not define.
974
76391e5a
PB
9752004-05-23 Paolo Bonzini <bonzini@gnu.org>
976
977 * gcc.c (struct prefix_list): Add forward declaration.
978 (do_spec_path): New function, extracted from...
979 (do_spec_1) <'D'>: ... here. Drop support for
980 SPACE_AFTER_L_OPTION.
981 (do_spec_1) <'I'>: Use do_spec_path.
982 (process_command): Do not store the 'include' suffix
983 in include_prefixes.
984 * system.h: Poison SPACE_AFTER_L_OPTION.
985
8d4a2ff6
RS
9862002-05-23 Roger Sayle <roger@eyesopen.com>
987
988 * fold-const.c (non_lvalue): Explicitly list the tree codes that
989 need to be wrapped by NON_LVALUE_EXPR, instead of those that don't.
990
6972898c
JM
9912004-05-23 Joseph S. Myers <jsm@polyomino.org.uk>
992
993 * doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
994 Update based on printed manual. Enable setting of offsets for
995 FSFPRINT and move it to gcc-common.texi.
996 * doc/gcc.texi: Update FSF printing details.
997 * doc/gccint.texi: Remove FSF printing details.
998
68ca1923
AP
9992004-05-23 Andrew Pinski <pinskia@physics.uc.edu>
1000
1001 * config/rs6000/t-rs6000: Remove the disabling -Werror.
1002
d6dc556b
RS
10032004-05-22 Roger Sayle <roger@eyesopen.com>
1004
1005 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
1006 expand_builtin_strrchr, expand_builtin_strpbrk,
1007 expand_builtin_mempcpy, expand_builtin_memcmp,
1008 expand_builtin_strcmp, expand_builtin_strncmp,
1009 expand_builtin_strcat, std_expand_builtin_va_start,
1010 std_expand_builtin_va_arg, expand_builtin_va_copy,
1011 expand_builtin_signbit, fold_builtin_cabs,
1012 fold_builtin_logarithm, fold_builtin_mempcpy,
1013 fold_builtin_signbit, fold_builtin_isascii,
1014 fold_builtin_toascii, fold_builtin_isdigit,
1015 fold_builtin_1, build_function_call_expr,
1016 simplify_builtin_strchr, simplify_builtin_strrchr,
1017 simplify_builtin_strpbrk, simplify_builtin_strncpy,
1018 simplify_builtin_memcmp, simplify_builtin_strcmp,
1019 simplify_builtin_strncmp, simplify_builtin_strncat,
1020 simplify_builtin_strspn, simplify_builtin_strcspn,
1021 simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls
1022 to build with calls to build2, build3 or omit_one_operand.
1023
0a0de3bf
RS
10242004-05-22 Richard Sandiford <rsandifo@redhat.com>
1025
8e657c46 1026 * config/mips/mips.c (mips_file_start): Emit a .gcc_compiled_longXX
0a0de3bf
RS
1027 section when generating EABI code.
1028
79bba51c
AP
10292004-05-22 Andrew Pinski <pinskia@physics.uc.edu>
1030
1031 PR 15546
1032 * config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>):
1033 Call mark_decl_referenced on the SYMBOL_REF_DECL.
1034
6f312d18
ZW
10352004-05-22 Andrew Pinski <pinskia@physics.uc.edu>
1036
1037 * c-common.c (c_common_truthvalue_conversion): Handle
1038 UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
1039 ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
1040 i.e. set the type to truthvalue_type_node and return.
1041
10422004-05-22 Zack Weinberg <zack@codesourcery.com>
1043
1044 * tree.h (struct tree_decl): Add possibly_inlined bit.
1045 (DECL_POSSIBLY_INLINED): New accessor macro.
1046 * cgraph.h: Remove declaration of cgraph_inline_hash.
1047 * cgraph.c: Remove definition of cgraph_inline_hash.
1048 (hash_node): Revert to hashing DECL_UID.
1049 (eq_node): Take two pointers to cgraph_node structures.
1050 Compare DECL_UIDs.
1051 (cgraph_remove_node): Pass the node directly to htab_find_slot.
1052 (cgraph_varpool_hash_node): Rename hash_varpool_node;
1053 hash on DECL_UID.
1054 (eq_cgraph_varpool_node): Rename eq_varpool_node; take two
1055 pointers to cgraph_varpool_node structures; compare DECL_UIDs.
1056 (cgraph_node): Allocate a temporary node on the stack, fill in
1057 its DECL field, and pass that to htab_find_slot.
1058 (cgraph_varpool_node): Likewise.
1059 (cgraph_function_possibly_inlined_p): If global info is ready,
1060 return the DECL_POSSIBLY_INLINED bit.
1061 * cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED
1062 instead of mucking with cgraph_inline_hash.
1063
2dec00bf
JM
10642004-05-22 Joseph S. Myers <jsm@polyomino.org.uk>
1065
1066 * doc/contrib.texi: Add g77 contributors.
1067
9fd47435
RS
10682004-05-22 Richard Sandiford <rsandifo@redhat.com>
1069
1070 * calls.c (initialize_argument_information): Forbid sibcalls if a
1071 callee-copied argument is stored in the current function's frame.
1072
0bc0f41d
EC
10732004-05-22 Eric Christopher <echristo@redhat.com>
1074
1075 * fix-header.c (read_scan_file): Update for add_path change.
1076
b02398bd
BE
10772004-05-22 Ben Elliston <bje@au.ibm.com>
1078
1079 * c.opt (Wmissing-include-dirs): New.
1080 * c-opts.c (c_common_handle_option): Pass true for user_supplied_p
1081 to add_path () for -I, but false for OPT_idirafter, OPT_iquote and
1082 OPT_isystem. Handle case OPT_Wmissing_include_dirs.
1083 * c-incpath.h (add_path): Add fourth (bool) argument.
1084 * c-incpath.c (add_env_var_paths): Pass false to add_path ().
1085 (add_standard_paths): Likewise.
1086 (remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs
1087 is used and the directory was user-supplied via -I.
1088 (add_path): Set p->user_supplied_p. Remove duplicated code by
1089 using add_cpp_dir_path ().
1090 * cpplib.h (struct cpp_options): Add warn_missing_include_dirs.
1091 (struct cpp_dir): Add user_supplied_p.
1092 * doc/invoke.texi (Warning Options): Document new option.
1093
12fea1f9
UW
10942004-05-21 Ulrich Weigand <uweigand@de.ibm.com>
1095
1096 * fold-const.c (fold_read_from_constant_string): Convert result to
1097 requested type.
1098
f0638e1d
RH
10992004-05-21 Richard Henderson <rth@redhat.com>
1100
1101 * gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
1102 (copy_if_shared_r): Don't copy decls, types, constants, BINDs.
1103 Don't mark VA_ARG_EXPRs volatile here.
1104 (gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.
1105
11ed191c
RH
11062004-05-21 Richard Henderson <rth@redhat.com>
1107
1108 * Makefile.in (tree-dump.o): Depend on tree-iterator.h.
1109 * tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.
1110
b953ebd6
RS
11112004-05-21 Roger Sayle <roger@eyesopen.com>
1112
1113 * fold-const.c (fold, fold_relational_hi_lo,
1114 nondestructive_fold_binary_to_constant,
1115 fold_read_from_constant_string): Use fold_convert instead of convert.
1116 * builtins.c (simplify_builtin, simplify_builtin_strstr,
1117 simplify_builtin_strchr, simplify_builtin_strrchr,
1118 simplify_builtin_strpbrk): Use fold_convert instead of convert.
1119
e54d0214
DN
11202004-05-21 Diego Novillo <dnovillo@redhat.com>
1121
1122 * tree-flow-inline.h (num_immediate_uses): Don't abort if DF
1123 is NULL.
1124
942e0f44
JJ
11252004-05-21 Jakub Jelinek <jakub@redhat.com>
1126
1127 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
1128 override sparc.h definition.
1129
59ce6d6b
RS
11302004-05-20 Roger Sayle <roger@eyesopen.com>
1131
1132 * tree.c (array_type_nelts, save_expr, substitute_in_expr,
1133 get_unwidened, get_narrower): Replace build with build2.
1134 * fold-const.c (negate_expr, associate_trees, size_binop,
1135 fold_convert, eval_subst, omit_one_operand, invert_truthvalue,
1136 pedantic_omit_one_operand, distribute_bit_expr,
1137 make_bit_field_ref, optimize_bit_field_compare,
1138 decode_field_reference, range_binop, make_range,
1139 build_range_check, fold_range_test, fold_truthop,
0bc0f41d 1140 optimize_minmax_comparison, extract_muldiv_1,
59ce6d6b
RS
1141 fold_binary_op_with_conditional_arg, fold_mathfn_compare,
1142 fold_inf_compare, fold_single_bit_test, fold,
1143 fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
1144 Likewise replace build with either build2 or build3.
1145
3972995b
ILT
11462004-05-20 Ian Lance Taylor <ian@wasabisystems.com>
1147
1148 * system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
1149 * calls.c (prepare_call_address): Don't test
1150 NO_RECURSIVE_FUNCTION_CSE.
1151 * config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
1152 * config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1153 * config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1154 * config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1155 * config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1156 * config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1157 * config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1158 * config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1159 * config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1160 * config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1161 * config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1162 * config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
1163 Likewise.
1164 * config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
1165 * config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
1166 * doc/tm.texi (Costs): Remove documentation for
1167 NO_RECURSIVE_FUNCTION_CSE.
1168
0ef54a47
PB
11692004-05-20 Paul Brook <paul@codesourcery.com>
1170
1171 * unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
1172 * unwind-dw2.c (extract_cie_info): Ditto.
1173 (_Unwind_FrameState): Change retaddr_column to word type.
1174
f4085d4c
RS
11752004-05-20 Roger Sayle <roger@eyesopen.com>
1176
1177 PR middle-end/3074
1178 * fold-const.c (strip_compound_expr): Delete function.
1179 (count_cond): Delete function.
1180 (fold_binary_op_with_conditional_arg): Only perform transformations
1181 "a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a"
1182 when a is constant. This greatly simplifies this routine.
1183
1184 * tree.c (saved_expr_p): Delete function.
1185 * tree.h (saved_expr_p): Delete function prototype.
1186
b8850dd2
AP
11872004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
1188
1189 * common.opt (ftree-loop-optimize): Remove.
1190
4ac29b33
DJ
11912004-05-20 Daniel Jacobowitz <dan@debian.org>
1192
1193 * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET)
1194 (NM_FOR_TARGET): Use := and $(shell).
1195 (mainversion): Remove unused variable.
1196
52fe4de8
JDA
11972004-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1198
1199 * reorg.c (delete_from_delay_slot): If we have a barrier after the
1200 sequence containing the insn to be deleted, always reemit it.
1201
7e140280
RH
12022004-05-20 Richard Henderson <rth@redhat.com>
1203
1204 PR 15454
1205 * tree-nested.c (get_chain_decl): Create a PARM_DECL by hand.
1206 * function.c (expand_function_start): Expand static_chain_decl by hand.
1207 * gimplify.c (create_tmp_var_name): Export.
1208 * tree-gimple.h (create_tmp_var_name): Declare.
1209
9bf6462a
AP
12102004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
1211
1212 * rs6000.c (print_operand) <case 'z'>: Call
1213 mark_decl_referenced before assemble_name.
1214
30719c65
ZW
12152004-05-20 Zack Weinberg <zack@codesourcery.com>
1216
1217 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
1218 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
1219 (cgraph_varpool_node): Hash on the pointer to the decl, not
1220 the DECL_UID. Fixes 64-bit bootstrap failure.
1221
69260355
RE
12222004-05-20 Richard Earnshaw <rearnsha@arm.com>
1223
1224 * arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
1225 we don't earlyclobber operands used in the second insn.
1226
1ffae628
SB
12272004-05-20 Steven Bosscher <stevenb@suse.de>
1228
1229 * tree-mudflap.c: Formatting fixes.
1230
965ccc5a
R
12312004-05-20 J"orn Rennecke <joern.rennecke@superh.com>
1232
1233 * Makefile.in (GTFILES): Add $(srcdir)/reload.h.
1234 * gengtype.c (open_base_files): Include reload.h in ifiles.
1235 * reload.h (reg_equiv_memory_loc_varray): Declare.
1236 * reload1.c (reg_equiv_memory_loc_varray): New variable.
1237 (init_reload): Initialize it.
1238 (reload): Instead of freeing reg_equiv_memory_loc, 'grow'
1239 reg_equiv_memory_loc_varray to size 0.
1240 * ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
1241 growing reg_equiv_memory_loc_varray to the desired size.
1242 * passes.c (rest_of_handle_old_regalloc): Likewise.
1243 * reload.c: Amend comment on calling init_reload.
1244
4ccfc10a
NC
12452004-05-20 Nick Clifton <nickc@redhat.com>
1246
1247 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
1248 with 'TRAMP' in the body of the macro definition.
1249
6bc709c1
L
12502004-05-19 H.J. Lu <hongjiu.lu@intel.com>
1251
1252 PR target/15383
1253 * config/ia64/ia64.c (ia64_expand_compare): Don't check
1254 TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
1255 cmptf_libfunc isn't set.
1256 (ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
1257 conventions.
1258 (ia64_sysv4_init_libfuncs): New.
1259
1260 * config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
1261 ia64_sysv4_init_libfuncs.
1262
d3a7ef9a
FH
12632004-05-20 Falk Hueffner <falk@debian.org>
1264
1265 PR other/15526
1266 * libgcc2.c (__mulvsi3): Fix overflow test.
1267
e916e1d0
AP
12682004-05-19 Andrew Pinski <pinskia@physics.uc.edu>
1269
dc44e18a 1270 PR c/14171
d2032ad8
AP
1271 * reg-stack.c (nan): Rename to ...
1272 (not_a_num): Here.
1273 (reg_to_stack): Rename nan to not_a_num.
1274 (subst_stack_regs_pat): Likewise.
1275 (convert_regs_entry): Likewise.
1276 (convert_regs_1): Likewise.
1277
e916e1d0
AP
1278 * tree-cfg.c (find_case_label_for_value): Replace call to
1279 simple_cst_equal with tree_int_cst_equal.
1280
84c672b9
JL
12812004-05-19 Jeff Law <law@redhat.com>
1282
34eb8991
JL
1283 * tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
1284 If the operand is for a use, then strip away the SSA_NAME, do not
1285 strip away the SSA_NAME for a set. Never call release_ssa_name.
1286 (mark_def_sites): Appropriately pass additional argument to
1287 prepare_operand_for_rename. If a VDEF_RESULT is not an SSA_NAME,
1288 then set the VDEF_RESULT to the VDEF_OP.
1289 (set_def_block): Strip away any SSA_NAME to get to the real
1290 underlying variable.
1291
84c672b9
JL
1292 * tree-ssa-phiopt.c (value_replacement): Handle the case where
1293 the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
1294 BB directly.
1295
0aea6467
ZD
12962004-05-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1297
1298 PR c++/15463
1299 * loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on
1300 result of inverse.
1301
1302 PR rtl-optimization/15274
1303 * loop-iv.c (determine_max_iter, shorten_into_mode,
1304 iv_number_of_iterations): Handle constants correctly.
1305 * rtl.h (get_mode_bounds): Declaration changed.
1306 * stor-layout.c (get_mode_bounds): Return a constant suitable for
1307 the target mode.
1308
1309 PR rtl-optimization/14692
1310 * loop-unswitch.c (may_unswitch_on): Try folding the result.
1311 (unswitch_single_loop): Work correctly when may_unswitch_on
1312 returns a folded constant.
1313
1314 * loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
1315 * simplify-rtx.c (simplify_const_relational_operation): Optimize
1316 comparisons with mode bounds.
1317
1318 * function.c (struct temp_slot): Add new field prev.
1319 (free_after_compilation, init_temp_slots): Free new fields.
1320 (cut_slot_from_list, insert_slot_to_list,
1321 temp_slots_at_level, max_slot_level, move_slot_to_level,
1322 make_slot_available): New functions.
1323 (assign_stack_temp_for_type, combine_temp_slots,
1324 find_temp_slot_from_address, preserve_temp_slots,
1325 preserve_rtl_expr_result, free_temp_slots,
1326 free_temps_for_rtl_expr, pop_temp_slots): Work with
1327 the new structure of lists.
1328 (mark_all_temps_used): Removed.
1329 * function.h (struct function): Field x_temp_slots
1330 replaced by x_used_temp_slots and x_avail_temp_slots.
1331 (temp_slots): Replaced by ...
1332 (used_temp_slots, avail_temp_slots): New.
1333 * tree.h (mark_all_temps_used): Declaration removed.
1334
1335 * loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
1336 simplify_using_assignment): Take the expression out of
1337 the expr_list wrapper.
1338
1339 * loop-iv.c (iv_number_of_iterations): Improve clasification of
1340 infinite loops.
1341
31a52b86
RS
13422004-05-19 Roger Sayle <roger@eyesopen.com>
1343
1344 * doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
1345 costs should be based on code size when optimizing for size.
1346
d28f752b
PB
13472004-05-19 Paolo Bonzini <bonzini@gnu.org>
1348
1349 * fold-const.c: Remove non-printable character 160.
1350
d55b55aa
NC
13512004-05-19 Nick Clifton <nickc@redhat.com>
1352
34a86306
NC
1353 * doc/invoke.texi (ARM Options): Fix typo.
1354 Remove descrption of -mshort-load-bytes and
1355 -mno-short-load-bytes.
1356
d55b55aa
NC
1357 * config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
1358 missing parenthesis.
1359 * config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
1360 * config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
1361
6af8eb57
SB
13622004-05-19 Steven Bosscher <stevenb@suse.de>
1363
1364 * expr.c (store_constructor): Build loop start and end by hand
1365 instead of via loop functions from stmt.c.
1366 (expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
1367 Remove the code to expand them.
1368
1369 * stmt.c (loop_stack): Remove this and everything related.
1370 (struct nesting, enum nesting_desc): Update.
1371 (expand_fixup): Likewise.
1372 (expand_loop_start, expand_start_loop_continue_elsewhere,
1373 expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
1374 expand_end_null_loop, expand_continue_loop, expand_exit_loop,
1375 expand_exit_loop_if_false, expand_exit_loop_top_cond,
1376 expand_exit_something): Remove.
1377 * tree.h: Remove prototypes.
1378
eeab4d81
MS
13792004-05-18 Mike Stump <mrs@apple.com>
1380 Devang Patel <dpatel@apple.com>
1381
1382 * doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate
1383 if this label is for eh.
1384 * config/darwin-protos.h (darwin_emit_unwind_label): Likewise.
1385 * config/darwin.c (darwin_emit_unwind_label): Likewise.
1386 * dwarf2out.c (output_call_frame_info): Likewise.
1387 * output.h (default_emit_unwind_label): Likewise.
1388 * target.h (unwind_label): Likewise.
1389 * varasm.c (default_emit_unwind_label): Likewise.
1390
1391 * config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
1392 DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION,
1393 DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION,
1394 DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION,
1395 DEBUG_RANGES_SECTION): Define.
1396
bb9a388d
ZW
13972004-05-18 Zack Weinberg <zack@codesourcery.com>
1398
1399 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
1400 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
1401 (cgraph_varpool_node):
1402 Use DECL_UID for the key, not DECL_ASSEMBLER_NAME.
1403 (cgraph_function_possibly_inlined_p): Use the decl itself for
1404 the key, not DECL_ASSEMBLER_NAME.
1405 (change_decl_assembler_name): No need to muck with the hash tables.
1406 (cgraph_node_for_identifier, cgraph_varpool_node_for_identifier):
1407 Delete.
1408 * cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself
1409 for the key, not DECL_ASSEMBLER_NAME.
1410 * cgraph.h: Remove prototypes of deleted functions.
1411 * varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED.
1412 (mark_decl_referenced): New function.
1413 * tree.h: Prototype mark_decl_referenced.
1414 * final.c (output_addr_const) <case SYMBOL_REF>: Call
1415 mark_decl_referenced before assemble_name.
1416 * c-decl.c (finish_decl): Use mark_decl_referenced.
1417
3a3f4da9
AP
14182004-05-18 Andrew Pinski <pinskia@physics.uc.edu>
1419 Jeff Law <law@redhat.com>
1420
cc52902d
AP
1421 * tree-ssa-phiopt.c (abs_replacement): New function.
1422 (empty_block_p): New function extracted from...
1423 (candidate_bb_for_phi_optimization): Break out empty block test.
1424 (conditional_replacement): Use empty_block_p.
1425 (value_replacement): Similarly.
1426
3a3f4da9
AP
1427 * Makefile.in (tree-ssa-phiopt.o): Depends on flags.h.
1428 * tree-ssa-phiopt.c: Include flags.h.
1429 (conditional_replacement): Remove argument names from prototype.
1430 Minor formatting and comment fixes.
1431 (tree_ssa_phiopt): If conditional_replacement returns false, then
1432 call value_replacement.
1433 (value_replacement): New function.
1434
14886ab7
JL
14352004-05-18 Jeff Law <law@redhat.com>
1436
1833df5c
JL
1437 * tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted
1438 from conditional_replacement.
1439 (candidate_bb_for_phi_optimization): Similarly.
1440 (conditional_replacement): Use replace_phi_with_stmt and
1441 candidate_bb_for_phi_optimization.
1442
14886ab7
JL
1443 * tree-ssa-phiopt.c: Fix various formatting issues.
1444
70315fcd
SB
14452004-05-18 Steven Bosscher <stevenb@suse.de>
1446
1447 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
1448 s390_expand_cmpmem): Do not use expand_start_loop and
1449 expand_end_loop, instead build the loop manually.
1450
f82ddcae
AM
14512004-05-18 Alan Modra <amodra@bigpond.net.au>
1452
1453 * config/rs6000/rs6000.md (ctrsi_internal3): Delete.
1454 (ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete.
1455
dd747311
JL
14562004-05-17 Jeff Law <law@redhat.com>
1457
1458 * toplev.h (flag_delete_null_pointer_checks): Move from here to...
1459 * flags.h (flag_delete_null_pointer_checks): Here.
1460 * tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
1461 * tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
1462 (add_phi_arg, remove_phi_arg_num): Similarly.
1463 * tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
1464 property into PHI nodes.
1465 * tree-ssa-dom.c: Remove redundant inclusion of flags.h.
1466 (record_equivalences_from_phis): If all PHI arguments are known to be
1467 nonzero, then the result must be nonzero as well.
8eb14e2e
SB
1468 (cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis.
1469 (record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
dd747311
JL
1470 appropriately. Walk the USE-DEF chains and propagate nonzero property
1471 as appropriate.
1472 * tree.h (PHI_ARG_NONZERO): Define.
1473 (phi_arg_d): Add nonzero flag.
1474
b4117c30
ZW
14752004-05-17 Zack Weinberg <zack@codesourcery.com>
1476
1477 * f: Entire directory removed
1478
1479 * c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE)
1480 (CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE)
1481 (g77_integer_type_node, g77_uinteger_type_node)
1482 (g77_longint_type_node, or g77_ulongint_type_node): Delete.
1483 * c-common.c (c_common_nodes_and_builtins): Do not initialize
1484 the above set of variables.
1485
1486 * config/i386/uwin.h: No need to define WIN32_UWIN_TARGET.
1487 * doc/invoke.texi, doc/standards.texi: Remove cross-references
1488 to g77 manual.
1489
6944d9dd
SB
14902004-05-17 Steven Bosscher <stevenb@suse.de>
1491
5e806501 1492 PR tree-optimization/15438
6944d9dd
SB
1493 * tree-ssa-operands.c (get_expr_operands): Do not treat malloc
1494 attributed functions as pure or const.
1495
e1564e1d
FCE
14962004-05-17 Frank Ch. Eigler <fche@redhat.com>
1497
1498 * tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting
1499 from source code with errors.
1500
a2824db3
RM
15012004-05-17 Ranjit Mathew <rmathew@hotmail.com>
1502
1503 Enable tree browser for all front ends.
1504 * Makefile.in (cc1): Moved @TREEBROWSER@ from here...
1505 (BACKEND): ...to here.
1506
2c6b27c3
JH
15072004-05-17 Jan Hubicka <jh@suse.cz>
1508
1509 * i386.c (construct_container): Do not produce BLKmode registers.
1510 (classify_argument): Properly compute alignment of complex types.
1511
044b3892
L
15122004-05-17 H.J. Lu <hongjiu.lu@intel.com>
1513
1514 PR target/15084
1515 * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
1516 and renamed to movdi_insv_1_rex64.
1517 (insv): Support SImode for 32bit and DImode for 64bit.
1518
646ca712
RS
15192004-05-17 Richard Sandiford <rsandifo@redhat.com>
1520
1521 * config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete.
1522 (TARGET_SWITCHES): Remove debugg.
1523 * config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle
1524 TARGET_64BIT.
1525 (subdi3): Replace the define_expand with a define_insn, the latter
1526 renamed from subdi3_internal_3.
1527 (negdi2): Likewise negdi2_internal_2.
1528 (adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3})
1529 (ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns
1530 and associated define_splits.
1531 (adddi3_internal): Renamed from adddi3_internal_3.
1532 (ashldi3_internal): Likewise ashldi3_internal4.
1533 (ashrdi3_internal): Likewise ashrdi3_internal4.
1534 (lshrdi3_internal): Likewise lshrdi3_internal4.
1535
d83aba0f
RS
15362004-05-17 Richard Sandiford <rsandifo@redhat.com>
1537
1538 * optabs.c (expand_unop): Try implementing negation using subtraction
1539 from zero.
1540
15581992
JDA
15412004-05-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1542
1543 * pa.md: Fix typo from last change. Remove DFmode move to and from
1544 SAR register.
1545
2a2789d8
RE
15462004-05-16 Richard Earnshaw <rearnsha@arm.com>
1547
1548 PR target/10982
1549 * arm.md (ne_zeroextractsi): Convert to insn-and-split.
1550 (ne_zeroextractsi_shifted): New pattern.
1551 (ite_ne_zeroextractsi): New pattern.
1552 (ite_ne_zeroextractsi_shifted): New pattern.
1553
673fda6b
SB
15542004-05-15 Steven Bosscher <stevenb@suse.de>
1555
1556 * c-gimplify.c (c_genericize):
1557 Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
1558 * c-parse.in <expr_no_commas>: Likewise.
1559 <if_prefix>: Likewise.
1560 <select_or_iter_stmt>: Likewise.
1561 * expr.c (expand_var, expand_expr_real_1): Likewise.
1562 * expr.h (expand_expr): Make it a static inline function.
1563 Move prototype for expand_expr_real up before this.
1564 * fold-const.c (fold_relational_hi_lo, fold_relational_const):
1565 Likewise.
1566 * gimplify.c (gimple_boolify, gimplify_addr_expr,
1567 gimplify_asm_expr, gimplify_expr): Likewise.
1568 * tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
1569 dump_function_to_file): Likewise.
1570 * tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
1571 * tree-inline.c (remap_block, save_body, walk_tree): Likewise.
1572 * tree-into-ssa.c (dump_tree_ssa): Likewise.
1573 * tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
1574 Likewise.
1575 * tree-optimize.c (execute_one_pass): Likewise.
1576 * tree-pretty-print.c (dump_generic_bb_buff): Likewise.
1577 * tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
1578
1579 * objc/objc-act.c (objc_build_try_enter_fragment,
1580 objc_build_try_epilogue, objc_build_catch_stmt,
1581 objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
1582 with lang_hooks.foo ().
1583
e2bb53e5
RS
15842004-05-15 Roger Sayle <roger@eyesopen.com>
1585
1586 * builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so
1587 that simplify_builtin doesn't destructively modify its argument.
1588
dc491742
RE
15892004-05-15 Richard Earnshaw <reanrsha@arm.com>
1590
b4117c30 1591 * arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM
dc491742
RE
1592 implementations for ARM and Thumb.
1593 * arm/t-arm-elf (LIB1ASMFUNCS): Use them.
1594
428d4d76
TQ
15952004-05-15 Thomas Quinot <quinot@act-europe.fr>
1596
1597 * prefix.c (update_path): Replace PREFIX with KEY only
1598 when it matches a full directory name in PATH.
1599
61f0ccff
RE
16002004-05-15 Richard Earnshaw <reanrsha@arm.com>
1601
1602 * arm.h (TARGET_APCS_32): Delete.
1603 (TARGET_MMU_TRAPS): Delete.
1604 (TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__. Never
1605 define __APCS_26__.
1606 (CPP_SPEC): Remove checking of -mapcs-{26,32}.
1607 (ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
1608 (TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
1609 (prog_mode_type): Delete.
1610 (PROMOTE_MODE): Always promote unsigned for HImode.
1611 (SECONDARY_INPUT_RELOAD_CLASS): Simplify.
1612 (MASK_RETURN_ADDR): Simplify.
1613 * arm.c (arm_prgmode): Delete.
1614 (arm_override_options, arm_gen_rotated_half_load): Simplify.
1615 (print_multi_reg, output_return_instruction): Simplify.
1616 (arm_output_epilogue, arm_final_prescan_insn): Simplify.
1617 (arm_return_addr): Simplify.
1618 * arm.md (prog_mode): Delete.
1619 (conds): Simplify.
1620 (zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
1621 (rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
1622 (loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
1623 (loadhi_shiftpredec): Delete.
1624 (peephole for post-increment on HImode load): Delete.
1625 * arm/crtn.asm: (FUNC_END): Simplify.
1626 * arm/lib1funcs.asm: Remove APCS-26 return macros.
1627 * arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
b4117c30 1628 * arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
61f0ccff
RE
1629 * arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
1630 MULTILIB_DEFAULTS as required.
1631 * arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
1632 * arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
1633 variables as required.
1634 * doc/invoke.texi (ARM Options): Remove obsolete flags.
1635
11c01dcc
AM
16362004-05-15 Alan Modra <amodra@bigpond.net.au>
1637
1638 * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
1639 UNITS_PER_WORD to calculate gpr size. Re-instate code to set reg
1640 count to 8 to handle n_reg > 2.
1641
aaa67502
JM
16422004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
1643
1644 * doc/extend.texi: Update WG14 URL.
1645
827c06b6
SB
16462004-05-15 Steven Bosscher <stevenb@suse.de>
1647
1648 * basic-block.h (life_analysis, delete_noop_moves):
1649 Update prototypes.
1650 * bt-load.c (branch_target_load_optimize): Don't take the
1651 insns stream as an argument. Update the life_analysis calls.
1652 * combine.c (combine_instructions): Update delete_noop_moves
1653 calls.
1654 * flow.c (notice_stack_pointer_modification): Don't take the
1655 insns stream as an argument. Work on the flow graph.
1656 (life_analysis): Likewise.
1657 (delete_noop_moves): Likewise.
1658 * passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
1659 (rest_of_handle_life): Update life_analysis call.
1660 (rest_of_compilation): Likewise, and also update
1661 branch_target_load_optimize call.
1662 * ra.c (reg_alloc): Update life_analysis call.
1663 * reg-stack.c (reg_to_stack): Likewise. Also, don't take
1664 the insns stream as an argument.
1665 * regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
1666 call.
1667 * rtl.c (branch_target_load_optimize, reg_to_stack): Update
1668 prototypes.
1669 * value-profile.c (branch_prob): Update life_analysis call.
1670 * web.c (web_main): Work on the CFG, not on the insns stream.
1671
1672 * config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
1673 * config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
1674 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
1675
e9a75776
JM
16762004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
1677
1678 PR c/15444
1679 * c-format.c (avoid_dollar_number): New function.
1680 (check_format_info_main): Call avoid_dollar_number when operand
1681 numbers might occur but has_operand_number == 0.
1682
3053b100
RE
16832004-05-14 Richard Earnshaw <rearnsha@arm.com>
1684
1685 * arm.md (all peephole2 patterns): Use predicates that validate
1686 register classes as appropriate.
1687
b89e96ac
SB
16882004-05-14 Steven Bosscher <stevenb@suse.de>
1689
1690 PR opt/14472
1691 * tree-tailcall.c (process_assignment): Use STRIP_NOPS to
1692 ignore type conversions that do not inhibit tail calling.
1693 (find_tail_calls): Likewise.
1694
14bc8dc2
JL
16952004-05-14 Jeff Law <law@redhat.com>
1696
91cde0c3
JL
1697 * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even
1698 bother marking bypassed virtuals for out-of-ssa. Instead merge
827c06b6 1699 bypassed virtuals into vars_to_rename just before into-ssa pass.
91cde0c3 1700
14bc8dc2
JL
1701 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
1702 so that it picks up more opportunities to eliminate ABS expressions
1703 or turn them into negations.
1704
e83f4801
SB
17052004-05-14 Steven Bosscher <stevenb@suse.de>
1706
1707 * passes.c (rest_of_handle_null_pointer): Remove.
1708 (rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
1709 (rest_of_compilation): Likewise.
1710 * rtl.h (delete_null_pointer_checks): Remove prototype.
1711 * gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
1712 Remove declarations.
1713 (get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
1714 compute_kill_rd, compute_rd, alloc_avail_expr_mem,
1715 free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
1716 expr_reaches_here_p, computing_insn, def_reaches_here_p,
1717 can_disregard_other_sets, handle_avail_expr, classic_gcse,
1718 one_classic_gcse_pass, invalidate_nonnull_info,
1719 delete_null_pointer_checks_1, delete_null_pointer_checks,
1720 expr_reached_here_p_work): Remove.
1721 (gcse_main): Do not perform classic GCSE when optimizing for size.
1722 (alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
1723 are never used.
1724
571325db
AP
17252004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
1726
1727 PR optimization/14466
1728 * tree-complex.c (make_temp): Remove.
1729 (gimplify_val): Replace make_temp with make_rename_temp
1730 and add NULL as the second argument.
1731 (expand_complex_div_wide): Likewise.
1732 * tree-dfa.c (make_rename_temp): New function.
1733 * tree-flow.h (make_rename_temp): Declare.
1734 * tree-sra.c (make_temp): Remove.
1735 (lookup_scalar): Replace make_temp with make_rename_temp.
1736 (create_scalar_copies): Likewise.
1737 * tree-ssa-phiopt.c (conditional_replacement): When we
1738 get non gimple create a temporary variable to hold the
1739 casted expression.
1740
13c1cd82
PB
17412004-05-14 Paul Brook <paul@codesourcery.com>
1742
1743 * stor-layout.c (update_alignment_for_field): Use
1744 targetm.align_anon_bitfield.
1745 * target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
1746 (TARGET_INITIALIZER): Use it.
1747 * target.h (struct gcc_target): Add align_anon_bitfield.
1748 * config/arm/arm.c (arm_align_anon_bitfield): New function.
1749 (TARGET_ALIGN_ANON_BITFIELD): Define.
1750 * doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
1751
90afe2c9
ZW
17522004-05-13 Zack Weinberg <zack@codesourcery.com>
1753
1754 * tree.def (documentation): Remove mention of class 'b'.
1755 (BLOCK): Now in class 'x'.
1756 * c-common.c (verify_tree): Remove case 'b'.
1757 * c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
1758 * calls.c (calls_function_1): Control cannot get past the switch
1759 when exp is a BLOCK.
1760 * print-tree.c (print_node): Move code for class 'b' to the class
1761 'c'/'x' switch, as case BLOCK.
1762 * tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
1763 (unsafe_for_reeval, substitute_placeholder_in_expr)
1764 (stabilize_reference_1): Remove case 'b'.
1765 * tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
1766 of something being 'b' to tests for TREE_CODE of something being
1767 BLOCK.
1768 * tree-ssa-operands.c (get_expr_operands): Likewise.
1769
eadf906f
DN
17702004-05-13 Diego Novillo <dnovillo@redhat.com>
1771
1772 * tree-gimple.c: Rename from tree-simple.c.
1773 * tree-gimple.h: Rename from tree-simple.h.
1774 * c-gimplify.c: Rename from c-simplify.c
1775 * Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
1776 langhooks.c, tree-alias-ander.c, tree-alias-common.c,
1777 tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
1778 tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
1779 tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
1780 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
1781 tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
1782 Update.
1783
fc55c95e
RM
17842004-05-14 Ranjit Mathew <rmathew@hotmail.com>
1785
1786 * doc/sourcebuild.texi: Mention libbanshee and libmudflap.
1787
2b648957
AP
17882004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
1789
6b9bee8e
AP
1790 * tree-ssa.c (delete_tree_ssa): XFREE
1791 bitmaps allocated with BITMAP_XMALLOC.
1792
15342341
AP
1793 * tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
1794 idfs_cache at the end of the function.
1795
1796 * tree-ssa-live.c (calculate_live_on_entry): Free saw_def
623f4556
AP
1797 at the end of the function.
1798
960076d9
AP
1799 * tree-ssa-dce.c (perform_tree_ssa_dce): Free
1800 el at the end of the function.
1801
8b752086
AP
1802 * tree-into-ssa.c (insert_phi_nodes_for): XFREE
1803 bitmaps allocated with BITMAP_XMALLOC.
1804
77e23325
AP
1805 * loop-unswitch.c (unswitch_single_loop): Free bbs at
1806 the end.
1807
07a1f795
AP
1808 * final.c (shorten_branches): Free uid_shuid before
1809 reallocating it.
1810
2b648957
AP
1811 * bb-reoder.c (connect_traces): Free cold_traces at the end.
1812
91581bcc
JL
18132004-05-13 Jeff Law <law@redhat.com>
1814
02ea8d06
JL
1815 * tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
1816 variables. Simplify slightly by using USE_OP/DEF_OP instead
1817 of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
1818
6c875a31
JL
1819 * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
1820 rather than iterating through the blocks testing each bit in
1821 livein to initialize the worklist.
1822 (mark_def_sites): Remove useless checks of KILLS for virtual
1823 operands.
1824
91581bcc
JL
1825 * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
1826 new parameters for the statement and variable worklist as well
1827 as a bitmap of interesting SSA_NAMEs. Walk over the statement
1828 worklist recording interesting variables in the variable worklist
1829 and bitmap. Handle casts between integral and boolean types.
1830 (substitute_single_use_vars): Accept new parameters for the statement
1831 and variable worklist. When a substitution is made add a new
1832 entry to the statement worklist. Handle casts between integral
1833 and boolean types.
1834 (tree_ssa_forward_propagate_single_use_vars): Rework to pass
1835 worklists to children. Iterate until the statement worklist
1836 is empty.
1837
0b87eff5
AP
18382004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
1839
520f0c48
AP
1840 * tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
1841 the end of the block.
1842
f472590a
AP
1843 * tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
1844 with BITMAP_XMALLOC.
1845
d1f9044b
AP
1846 * tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
1847 with BITMAP_XMALLOC.
1848
cfa4cb00
AP
1849 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
1850 Free nonzero_vars at the end of the function.
1851
0b87eff5
AP
1852 * convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
1853 need to generate code instead of a NOP_EXPR.
1854
eb18fd8d
ILT
18552004-05-13 Ian Lance Taylor <ian@wasabisystems.com>
1856
1857 * gcc.c (default_compilers): Fill out initializers for new Fortran
1858 entries.
1859
d81d0bdd
PB
18602004-05-13 Paul Brook <paul@codesourcery.com>
1861
1862 * config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
1863
6b045785
PB
18642004-05-13 Paul Brook <paul@codesourcery.com>
1865
1866 * config/arm/arm.c (arm_default_short_enums): New function.
1867 (TARGET_DEFAULT_SHORT_ENUMS): Define.
1868
6de9cd9a
DN
18692004-05-13 Diego Novillo <dnovillo@redhat.com>
1870
1871 Merge from tree-ssa-20020619-branch.
1872
1873 * Makefile.in (reload1.o-warn): Add.
1874 (tree-alias-ander.o-warn): Add.
1875 (GMPLIBS): Define.
1876 (GMPINC): Define.
1877 (BANSHEELIB): Define.
1878 (BANSHEEINC): Define.
1879 (TREE_DUMP_H): Define.
1880 (TREE_SIMPLE_H): Define.
1881 (TREE_FLOW_H): Define.
1882 (LIBDEPS): Add BANSHEELIB.
1883 (INCLUDES): Add BANSHEEINC and GMPINC.
1884 (C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
1885 c-mudflap.o and c-pretty-print.o.
1886 (C_OBJS): Remove c-pretty-print.o.
1887 (OBJS-common): Remove sibcall.o.
1888 Add tree-cfg.o, tree-dfa.o, tree-eh.o,
1889 tree-ssa.o, tree-optimize.o, tree-simple.o,
1890 tree-alias-type.o, gimplify.o, tree-pretty-print.o,
1891 tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
1892 tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
1893 tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
1894 tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
1895 tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
1896 tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
1897 tree-tailcall.o, gimple-low.o, tree-iterator.o,
1898 tree-phinodes.o, tree-ssanames.o, tree-sra.o,
1899 tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
1900 tree-profile.o.
1901 (OBJC-archive): Add tree-nomudflap.o.
1902 (cc1): Add dependency on @TREEBROWSER@.
1903 (c-decl.o): Add dependency on TREE_DUMP_H.
1904 (c-dump.o): Likewise.
1905 (c-common.o): Add dependency on tree-iterator.h
1906 (c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
1907 (gtype-desc.o): Add dependency on TREE_FLOW_H.
1908 (tree.o): Add dependency on tree-iterator.h,
1909 BASIC_BLOCK_H and TREE_FLOW_H.
1910 (tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
1911 (langhooks.o): Add dependency on TREE_SIMPLE_H.
1912 (tree-alias-type.o, tree-alias-ander.o,
1913 tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
1914 tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
1915 tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
1916 tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
1917 domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
1918 tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
1919 tree-nested.o, tree-iterator.o, tree-dfa.o,
1920 tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
1921 tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
1922 gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
1923 tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
1924 tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
1925 tree-sra.o, tree-complex.o, tree-profile.o,
1926 rtl-profile.o): New rules.
1927 (function.o): Add dependency on basic-block.h
1928 (expr.o): Add dependency on tree-iterator.h.
1929 (sibcall.o): Remove.
1930 (profile.o): Depend on TREE_FLOW_H instead of TREE_H.
1931 (cfg.o): Add dependency on TIMEVAR_H.
1932 (cfghooks.o): Add dependency on TREE_FLOW_H.
1933 (reg-stack.o): Add dependency on basic-block.h.
1934 (GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
1935 c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
1936 tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
1937 tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
1938 tree-alias-type.h, tree-alias-common.h,
1939 tree-alias-type.c, tree-alias-common.c,
1940 tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
1941 rtl-profile.c and tree-nested.c.
1942 (gt-tree-alias-common.h, gt-tree-mudflap.h,
1943 gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
1944 gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
1945 gt-tree-cfg.h, gt-tree-nested.h): New rules.
1946 (TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
1947 * basic-block.h: Include predict.h
1948 (struct edge_def): Add GTY marker.
1949 Change field 'insns' to be a union of tree and rtx.
1950 (EDGE_TRUE_VALUE): Define.
1951 (EDGE_FALSE_VALUE): Define.
1952 (EDGE_EXECUTABLE): Define.
1953 (struct bb_ann_d): Forward declare.
1954 (struct basic_block_def): Add GTY marker.
1955 Remove fields head_tree and end_tree.
1956 Add fields stmt_list, rbi and tree_annotations.
1957 (struct reorder_block_def): Define.
1958 (basic_block_info): Add GTY marker.
1959 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
1960 variables instead of macros.
1961 (flow_call_edges_add): Remove declaration.
1962 (make_eh_edge): Remove declaration.
1963 (brief_dump_cfg, find_edge, tree_predicted_by_p,
1964 rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
1965 predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
1966 cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
1967 alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
1968 (try_redirect_by_replacing_jump): Modfiy return type to
1969 edge instead of bool.
1970 * bb-reorder.c (copy_bb): Call duplicate_block
1971 instead of cfg_layout_duplicate_bb.
1972 (copy_bb_p): Call can_duplicate_block_p instead of
1973 cfg_layout_can_duplicate_bb_p.
1974 * bitmap.c (bitmap_first_set_bit): Abort if word
1975 wasn't found.
1976 (bitmap_last_set_bit): Likewise.
1977 * builtin-types.def (DEF_FUNCTION_TYPE_2): Add
1978 (DEF_FUNCTION_TYPE_3): Add.
1979 * builtins.c (c_strlen): Make extern.
1980 (builtin_save_expr): New.
1981 (expand_builtin_nonlocal_goto): New.
1982 (expand_builtin_constant_p): Remove.
1983 (expand_builtin_mathfn): Call builtin_save_expr instead
1984 of save_expr.
1985 (expand_builtin_mathfn_2): Likewise.
1986 (expand_builtin_strcmp): Likewise.
1987 (expand_builtin_strncmp): Likewise.
1988 (expand_builtin_strcat): Likewise.
1989 (fold_builtin_cabs): Likewise.
1990 (expand_builtin_alloca): Don't trigger if -fmudflap is
1991 given.
1992 (build_string_literal): Set TREE_INVARIANT on new node.
1993 (expand_builtin_profile_fun): New.
1994 (round_trampoline_addr): New.
1995 (expand_builtin_init_trampoline): New.
1996 (expand_builtin_adjust_trampoline): New.
1997 (expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
1998 <BUILT_IN_CONSTANT_P>: Return const0_rtx;
1999 <BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
2000 BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
2001 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
2002 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
2003 Handle.
2004 (fold_builtin_expect): New.
2005 (fold_builtin_isascii): Don't return non-constant results
2006 in GIMPLE form.
2007 (fold_builtin_isdigit): Likewise.
2008 (fold_builtin_1): New.
2009 (fold_builtin): Call it.
2010 (build_function_call_expr): Update call to build a new
2011 CALL_EXPR.
2012 (purge_builtin_constant_p): Remove.
2013 (simplify_builtin, simplify_builtin_memcmp,
2014 simplify_builtin_strcmp, simplify_builtin_strncmp,
2015 simplify_builtin_strpbrk, simplify_builtin_strstr,
2016 simplify_builtin_strchr, simplify_builtin_strrchr,
2017 simplify_builtin_strcat, simplify_builtin_strncat,
2018 simplify_builtin_strspn, simplify_builtin_strcspn,
2019 simplify_builtin_next_arg, simplify_builtin_va_start,
2020 simplify_builtin_sprintf): New.
2021 * builtins.def (BUILT_IN_STACK_ALLOC,
2022 BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
2023 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
2024 BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
2025 BUILT_IN_PROFILE_FUNC_EXIT): Define.
2026 * c-common.c: Include tree-iterator.h and hashtab.h.
2027 (lang_statement_code_p): Declare.
2028 (lang_gimplify_stmt): Declare.
2029 (fix_string_type): Set TREE_INVARIANT for value.
2030 (pointer_int_sum): Rely on build to set TREE_CONSTANT.
2031 (c_type_hash): New.
2032 (c_common_get_alias_set): Handle multiple type nodes
2033 referring to "the same" type, currently for C90 only.
2034 (c_add_case_label): Use create_artificial_label.
2035 (finish_label_address_expr): Don't set TREE_CONSTANT on
2036 result.
2037 (c_expand_expr): Don't handle STMT_EXPR.
2038 (handle_alias_attribute): Marke aliased variables to be
2039 TREE_STATIC.
2040 (handle_nonnull_attribute): Initialize arg_num.
2041 (check_function_nonnull): Likewise.
2042 (c_walk_subtrees): New.
2043 (c_estimate_num_insns_1): Don't handle
2044 EXPR_WITH_FILE_LOCATION nor FILE_STMT.
2045 (c_decl_uninit_1): Remove.
2046 (c_decl_uninit): Remove.
2047 (c_warn_unused_result): New.
2048 * c-common.def (ASM_STMT): Change number of operands
2049 to 4.
2050 (FILE_STMT): Remove.
2051 * c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
2052 Remove.
2053 (lang_gimplify_stmt): Add.
2054 (expand_stmt): Remove.
2055 (ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
2056 ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
2057 ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
2058 FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
2059 ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
2060 (genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
2061 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
2062 genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
2063 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
2064 genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
2065 genrtl_compound_stmt, genrtl_asm_stmt,
2066 genrtl_cleanup_stmt, c_decl_uninit): Remove.
2067 (c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
2068 c_tree_chain_matters_p, c_warn_unused_result,
2069 c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
2070 Declare.
2071 * c-convert.c (convert): Make convert work when
2072 converting to compatible types across translation unit.
2073 * c-decl.c: Include langhooks.h, tree-mudflap.h,
2074 tree-simple.h, diagnostic.h and tree-dump.h
2075 (merge_decls): Initialize oldtype to NULL.
2076 (finish_decl): Use DECL_HARD_REGISTER instead of
2077 DECL_C_HARD_REGISTER.
2078 (check_bitfield_type_and_width): Check for null
2079 lang_type_specific when check the precision of an enum.
2080 (grokdeclarator): Immediately layout an ARRAY_TYPE used
2081 in a pointer-to-array declarator.
2082 (finish_struct): Clear allocated struct lang_type.
2083 (finish_enum): Set enum_min and enum_max. Set
2084 TYPE_MIN/MAX_VALUE to the limits of the compatible type,
2085 not to the enumerators.
2086 (set_decl_nonlocal): New.
2087 (store_parm_decls): Use it via walk_tree.
2088 (c_finalize): New.
2089 (finish_function): When !targetm.have_ctors_dtors,
2090 record static constructors and destructors here...
2091 (c_expand_body_1): ... not here.
2092 (c_expand_decl): Rename from c_expand_decl_stmt.
2093 Handle all C-specific expansion semantics.
2094 * c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
2095 STMT_LINENO.
2096 * c-format.c (handle_format_arg_attribute): Initialize
2097 format_num.
2098 * c-lang.c: Include tree-inline.h
2099 (LANG_HOOKS_EXPAND_DECL,
2100 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
2101 LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
2102 LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
2103 LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
2104 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
2105 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
2106 (c_types_compatible_p): New.
2107 * c-mudflap.c: New file.
2108 * c-objc-common.c: Include tree-mudflap.h
2109 (start_cdtor, finish_cdtor): Collapse
2110 together into
2111 (build_cdtor): ...here. Update to construct a complete tree
2112 for the function. No need to call push_scope, pop_scope, or
2113 clear_last_expr, or set current_function_cannot_inline.
2114 (c_missing_noreturn_ok_p): Change prototype to return
2115 bool.
2116 (c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
2117 * c-opts.c (c_common_handle_option): Move handling of -fdump- to
2118 opts.c.
2119 (c_common_post_options): Don't ever use rtl inlining.
2120 * c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
2121 * c-pragma.c (handle_pragma_redefine_extname): Define
2122 always.
2123 (init_pragma): Activate #pragma redefine_extname for mudflap.
2124 * c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
2125 (pp_c_initializer): Accept any type CONSTRUCTOR.
2126 (pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
2127 COMPLEX_TYPE.
2128 (decl_name_str): New local function.
2129 (pp_c_direct_declarator): Call it.
2130 (pp_c_primary_expression): Call it.
2131 (pp_c_id_expression): Call it.
2132 (pp_c_statement): Call it.
2133 (print_c_tree): Create new pp object.
2134 * c-pretty-print.h (pp_c_tree_decl_identifier,
2135 print_c_tree): Declare.
2136 * c-semantics.c: Include langhooks.h
2137 (lang_expand_stmt, lang_expand_decl_stmt,
2138 find_reachable_label_1, find_reachable_label,
2139 expand_unreachable_if_stmt, expand_unreachable_stmt,
2140 genrtl_do_stmt_1): Remove.
2141 (begin_stmt_tree): Don't check for changed filename.
2142 Call annotate_with_locus.
2143 (finish_stmt_tree): Don't set line for end of function.
2144 (build_stmt): Don't check type nodes for
2145 side effects.
2146 (build_stmt): Set TREE_SIDE_EFFECTS.
2147 Set EXPR_LOCUS instead of STMT_LINENO.
2148 (lang_expand_stmt, lang_expand_decl_stmt,
2149 expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
2150 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
2151 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
2152 genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
2153 genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
2154 genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
2155 genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
2156 find_reachable_label_1, expand_unreachable_if_stmt,
2157 expand_unreachable_stmt): Remove.
2158 (prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
2159 * c-simplify.c: New file.
2160 * c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
2161 (struct lang_type): Add fields enum_min and enum_max.
2162 (c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
2163 (c_expand_decl, c_missing_noreturn_ok_p,
2164 c_types_compatible_p): Declare.
2165 * c-typeck.c (tagged_types_tu_compatible_p): Allow for
2166 compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
2167 (default_function_array_conversion): Rely on build to
2168 set TREE_CONSTANT.
2169 (parser_build_binary_op, pointer_diff): Likewise.
2170 (build_unary_op, build_binary_op): Likewise.
2171 (build_array_ref):
2172 (build_external_ref): Set TREE_INVARIANT.
2173 (build_c_cast, pop_init_level): Likewise.
2174 (process_init_element): Use ASM_VOLATILE_P.
2175 (build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
2176 (c_finish_case): Call c_do_switch_warnings.
2177 * c.opt (fdump-): Remove.
2178 * calls.c (try_to_integrate): Remove.
2179 (prepare_call_address): Replace fndecl arg with a
2180 precomputed static chain value.
2181 (emit_call_1): New argument for full call expr.
2182 (flags_from_decl_or_type): Call special_function_p.
2183 (initialize_argument_information): Add argument
2184 may_tailcall.
2185 (purge_reg_equiv_notes): New.
2186 (expand_call): Do not try to expand calls inline.
2187 (fixup_tail_calls): New.
2188 * cfg.c: Include timevar.h and ggc.h.
2189 (bb_pool, edge_pool): Remove.
2190 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
2191 (entry_exit_blocks): Remove.
2192 (rbi_pool): Declare.
2193 (init_flow): Do not create pools.
2194 Allocate entry/exit block.
2195 (free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
2196 (alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
2197 (unlink_block): Clear b->prev_bb and b->next_bb.
2198 (compact_blocks): Clear all slots of BASIC_BLOCK array.
2199 (dump_flow_info): Work on trees too.
2200 (dump_cfg_bb_info): New.
2201 (brief_dump_cfg): New.
2202 * cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
2203 (find_edge): New.
2204 * cfgbuild.c (rtl_make_eh_edge): Rename from
2205 make_eh_edge. Update all users.
2206 (find_basic_blocks): Don't call VARRAY_FREE on
2207 basic_block_info.
2208 * cfgcleanup.c (outgoing_edges_match): Initialize newpos1
2209 and newpos2.
2210 (delete_unreachable_blocks): Return changed status.
2211 (merge_seq_blocks): New.
2212 * cfghooks.c: Include tree-flow.h
2213 (tree_register_cfg_hooks, ir_type): New.
2214 (redirect_edge_and_branch): Change return type to edge.
2215 (predict_edge, predicted_by_p, can_duplicate_block_p,
2216 duplicate_block, block_ends_with_call_p,
2217 block_ends_with_condjump_p, flow_call_edges_add): New.
2218 * cfghooks.h (redirect_edge_and_branch): Change return
2219 type to edge.
2220 (predict_edge, predicted_by_p, can_duplicate_block_p,
2221 duplicate_block, block_ends_with_call_p,
2222 block_ends_with_condjump_p, flow_call_edges_add): Declare.
2223 (redirect_edge_and_branch): Change return type to edge.
2224 (struct cfg_hooks): Add fields block_ends_with_call_p,
2225 block_ends_with_condjump_p, flow_call_edges_add,
2226 predict_edge, predicted_by_p, can_duplicate_block_p and
2227 duplicate_block.
2228 (tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
2229 * cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
2230 (fixup_reorder_chain): Use initialize_bb_rbi.
2231 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
2232 (cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
2233 (can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
2234 (insn_locators_initialize): Use new info about blocks.
2235 * cfglayout.h (typedef struct reorder_block_def): Moved to
2236 basic_block.h.
2237 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
2238 removed.
2239 * cfgloop.c: Include tree.h and tree-flow.h.
2240 * cfgloop.h (create_loop_notes): Declare.
2241 * cfgloopmanip.c (create_loop_notes): New.
2242 * cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
2243 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
2244 and duplicate_block fields.
2245 (create_basic_block_structure): Don't look at
2246 RTX_INTEGRATED_P.
2247 (rtl_block_ends_with_call_p): New.
2248 (rtl_block_ends_with_condjump_p): New.
2249 (need_fake_edge_p): Moved from cfganal.c.
2250 (rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
2251 (rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
2252 rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
2253 (cfg_layout_rtl_cfg_hooks): Ditto.
2254 * cgraph.c (cgraph_mark_reachable_node): Don't force nested
2255 functions to be reachable.
2256 * cgraphunit.c (decide_is_function_needed):
2257 * cgraphunit.c (decide_is_function_needed): Nested functions of extern
2258 inline functions don't need to be output.
2259 (cgraph_assemble_pending_functions): Don't do anything
2260 special for nested functions.
2261 (cgraph_mark_functions_to_output): Likewise.
2262 (cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
2263 (cgraph_analyze_function): Use estimate_num_insns.
2264 (cgraph_mark_functions_to_output): Likewise.
2265 (cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
2266 (cgraph_expand_function): Allow functions to not be
2267 emitted.
2268 (cgraph_remove_unreachable_nodes):
2269 (cgraph_recursive_inlining_p): Simplify.
2270 (lookup_recursive_calls,
2271 cgraph_decide_recursive_inlining): New.
2272 (cgraph_decide_inlining_*): Update calls of
2273 cgraph_mark_inline.
2274 * combine.c (get_pos_from_mask): Always set *plen.
2275 * common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
2276 ftree-based-profiling, ftree-ccp, ftree-ch,
2277 ftree-combine-temps, ftree-copyrename, ftree-dce,
2278 ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
2279 ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
2280 ftree-lrs): Add.
2281 * config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
2282 Undefine.
2283 * configure.ac: Add --enable-tree-browser option.
2284 Add --with-libbanshee option.
2285 Add GMPLIBS and GMPINC.
2286 * configure: Regenerate.
2287 * coverage.c (tree_ctr_tables): New.
2288 (coverage_counter_alloc): Use it.
2289 (build_ctr_info_value): Ditto.
2290 (coverage_counter_ref): Ditto. Rename to rtl_coverage_counter_ref.
2291 (tree_coverage_counter_ref): New.
2292 * coverage.h (coverage_counter_ref): Remove declaration.
2293 (rtl_coverage_counter_ref): Declare.
2294 (tree_coverage_counter_ref): Declare.
2295 * cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
2296 (eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
2297 * cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
2298 (struct cse_basic_block_data): Rename enum values to not
2299 conflict with profile.h; update all uses.
2300 * dbxout.c (dbxout_symbol_location): Don't mention integrate.c
2301 in comments.
2302 * defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
2303 * diagnostic.h (debug_output_buffer, dump_generic_node,
2304 print_generic_stmt, print_generic_stmt_indented,
2305 print_generic_expr, print_generic_decl,
2306 debug_generic_expr, debug_generic_stmt, debug_c_tree):
2307 Declare.
2308 * dominance.c: Cache immediate dominators.
2309 * domwalk.c: New file.
2310 * domwalk.h: New file.
2311 * dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
2312 (gen_subprogram_die): Generate a DIE for a named
2313 return value.
2314 (loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
2315 (add_location_or_const_value_attribute): Likewise.
2316 (add_bound_info): Likewise.
2317 (gen_decl_die): Likewise.
2318 * emit-rtl.c (maybe_set_first_label_num): New.
2319 (copy_most_rtx): Don't copy the integrated flag.
2320 Copy the new return_val flag.
2321 * et-forest.c (MAX_NODES): Define.
2322 (record_path_before_1): Abort if len is greater than
2323 MAX_NODES.
2324 * except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
2325 gen_eh_region_catch, gen_eh_region_allowed,
2326 gen_eh_region_must_not_throw, get_eh_region_number,
2327 get_eh_region_may_contain_throw, get_eh_region_tree_label,
2328 set_eh_region_tree_label, expand_resx_expr): New.
2329 (expand_eh_region_start, expand_start_catch): Use them.
2330 (expand_end_catch): Tidy.
2331 (note_eh_region_may_contain_throw): Take region argument.
2332 (note_current_region_may_contain_throw): New.
2333 (get_exception_filter): Export.
2334 (collect_eh_region_array): Export.
2335 (remove_unreachable_regions): Check ERT_TRY based on reachability
2336 of catches, not reachability of continue_label. Never remove
2337 ERT_MUST_NOT_THROW regions.
2338 (collect_rtl_labels_from_trees): New.
2339 (convert_from_eh_region_ranges): Use it.
2340 (connect_post_landing_pads): Handle dying cleanups.
2341 (struct reachable_info): Add callback data.
2342 (add_reachable_handler): Invoke the callback.
2343 (foreach_reachable_handler): New.
2344 (reachable_handlers): Use it.
2345 (arh_to_landing_pad, arh_to_label): New.
2346 (can_throw_internal_1): Split out from can_throw_internal.
2347 (can_throw_external_1): Similarly.
2348 * except.h: Update.
2349 * explow.c (emit_stack_save): Remove savearea mode check.
2350 (update_nonlocal_goto_save_area): New.
2351 (allocate_dynamic_stack_space): Use it.
2352 (probe_stack_range): Never emit loop notes.
2353 * expmed.c (extract_fixed_bit_field): Always propagate the
2354 target for the shift if it is a REG.
2355 * expr.c: Include tree-iterator.h
2356 (is_zeros_p): Remove.
2357 (categorize_ctor_elements_1, categorize_ctor_elements): New.
2358 (count_type_elements): New.
2359 (mostly_zeros_p): Use them.
2360 (expr_wfl_stack): Remove.
2361 (convert_move): Do nothing if to and from are the same.
2362 (emit_block_move_via_loop): Don't emit LOOP notes.
2363 (emit_move_insn): Don't handle CONSTANT_P_RTX.
2364 (emit_move_insn_1): Don't generate inline warnings.
2365 (expand_vars, expand_var): Split from ...
2366 (expand_expr_1): ... here.
2367 (expand_expr_real, expand_expr_real_1): Use new macros
2368 EXPR_LOCATION and EXPR_HAS_LOCATION.
2369 * expr.h (simplify_builtin_fputs,
2370 simplify_builtin_strcpy, simplify_builtin_strncpy,
2371 expand_var, fixup_tail_calls,
2372 update_nonlocal_goto_save_area): Declare.
2373 (lookup_static_chain, expand_inline_function,
2374 mark_seen_cases): Remove.
2375 (prepare_call_address): Change type of 2nd argument to
2376 rtx.
2377 * final.c (profile_function): Update static chain test.
2378 (final): Don't look at RTX_INTEGRATED_P.
2379 * flags.h (flag_mudflap, flag_mudflap_threads,
2380 flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
2381 flag_tree_dce, flag_tree_combine_temps,
2382 flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
2383 flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
2384 flag_tree_points_to): Declare.
2385 (enum pta_type): Declare.
2386 * flow.c (lang_missing_noreturn_ok_p): Remove.
2387 (check_function_return_warnings): Remove.
2388 (update_life_info): Update comments.
2389 (free_basic_block_vars): Don't call VARRAY_FREE for
2390 basic_block_info.
2391 (regno_uninitialized): Remove.
2392 * fold-const.c (int_const_binop): Make extern.
2393 (non_lvalue): Rely on build to set TREE_CONSTANT.
2394 (operand_equal_p): Replace only_const argument with
2395 flags. Allow pure functions if OEP_PURE_SAME.
2396 (fold): Use OEP_ONLY_CONST.
2397 (invert_truthvalue) <NOP_EXPR> Break if argument is of
2398 boolean type.
2399 (fold_relational_hi_lo,
2400 nondestructive_fold_binary_to_constant,
2401 nondestructive_fold_unary_to_constant,
2402 fold_read_from_constant_string): New.
2403 * function.c (struct function): Remove calls_constant_p.
2404 (current_function_calls_constant_p): Remove.
2405 (inline_function_decl): Remove.
2406 (put_var_into_stack): Don't use it.
2407 (fix_lexical_addr): Likewise.
2408 (inline_function_decl): Remove extern declaration.
2409 (TRAMPOLINE_ALIGNMENT): Move to defaults.h.
2410 (trampolines_created): Move to varasm.c.
2411 (free_after_compilation): Update for removed fields.
2412 (allocate_struct_function): Likewise.
2413 (delete_handlers, lookup_static_chain): Remove.
2414 (fix_lexical_addr): Don't consider non-local variable refs.
2415 (trampoline_address): Remove.
2416 (round_trampoline_addr): Move to builtins.c.
2417 (adjust_trampoline_addr): Remove.
2418 (expand_function_start): Update for changes to static chain
2419 and nonlocal goto handling.
2420 (initial_trampoline): Move to varasm.c.
2421 (expand_function_end): Don't build trampolines or kill
2422 unreferenced nonlocal goto labels.
2423 (free_after_compilation): Don't set it.
2424 (expand_function_end): Likewise.
2425 (setjmp_vars_warning): Rename from
2426 uninitialized_vars_warning, remove uninitialized vars warning.
2427 (uninitialized_vars_warning): Remove old comment
2428 and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
2429 and do not call the langhook.
2430 (expand_function_start, expand_function_end): Don't do
2431 function instrumentation here.
2432 (clear_block_marks): Rename from reorder_blocks_0, export.
2433 (blocks_nreverse): Export.
2434 (uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
2435 of rtl.
2436 (reset_block_changes, record_block_change, finalize_block_changes,
2437 check_block_change, free_block_changes): New functions.
2438 (assign_parms): Setting of current_function_stdarg
2439 moved ...
2440 (allocate_struct_function): ... here.
2441 * function.h (struct function): Remove x_nonlocal_labels,
2442 x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
2443 x_context_display, x_trampoline_list, needs_context.
2444 Add static_chain_decl, nonlocal_goto_save_area.
2445 (struct function): Remove x_clobber_return_insn.
2446 Add tail_call_emit field, last_label_uid,
2447 unexpanded_var_list, dont_emit_block_notes,
2448 ib_boundaries_block, function_end_locus and saved_tree/saved_args.
2449 (clear_block_marks): Declare.
2450 * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
2451 (mfwrap_spec, mflib_spec): Declare.
2452 (cpp_unique_options, cc1_options): Ditto.
2453 (default_compilers): Add .F and .f90.
2454 (static_specs): Add mfwrap and mflib.
2455 * gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
2456 CONSTANT_RTX_P.
2457 (reg_used_on_edge, reg_killed_on_edge, bypass_block):
2458 Update to match insns field in struct edge_def.
2459 * gdbinit.in (pgs, pge): Define.
2460 * genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
2461 instead of the integrated flag.
2462 * gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
2463 * gengtype-yacc.y (bitfieldlen): Add empty action.
2464 (struct_fields): Accept unnamed bitfields.
2465 (bitfieldlen): Split from ...
2466 (bitfieldopt): ... here.
2467 * gengtype.c (ifiles): Add tree-alias-type.h and
2468 tree-flow.h.
2469 * genrecog.c (validate_pattern): Do not handle
2470 CONSTANT_P_RTX.
2471 * gimple-low.c: New file.
2472 * gimplify.c: New file.
2473 * haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
2474 (restore_line_notes): Do not set RTX_INTEGRATED_P.
2475 * ifcvt.c (dead_or_predicable): Initialize local variable
2476 'earliest'.
2477 * input.h (expr_wfl_stack): Remove.
2478 * integrate.c (INTEGRATE_THRESHOLD): Remove.
2479 (setup_initial_hard_reg_value_integration): Likewise.
2480 (initialize_for_inline): Likewise.
2481 (note_modified_parmregs): Likewise.
2482 (integrate_parm_decls): Likewise.
2483 (process_reg_param): Likewise.
2484 (save_parm_insns): Likewise.
2485 (copy_insn_list): Likewise.
2486 (copy_insn_notes): Likewise.
2487 (compare_blocks): Likewise.
2488 (find_block): Likewise.
2489 (inlining): Likewise.
2490 (function_cannot_inline_p): Likewise.
2491 (parmdecl_map): Likewise.
2492 (in_nonparam_insns): Likewise.
2493 (save_for_inline): Likewise.
2494 (FIXED_BASE_PLUS): Likewise.
2495 (expand_inline_function): Likewise.
2496 (copy_rtx_and_substitute): Don't look at map->integrating,
2497 map->inline_target, and inlining, since we are never copying
2498 for integrating.
2499 Don't abort on RTX_INTEGRATED_P.
2500 (old_fun): Remove.
2501 (output_inline_function): Remove.
2502 * integrate.h (struct inline_map): Remove fields integrating,
2503 block_map, leaf_reg_map, inline_target, and local_return_label.
2504 * jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
2505 copy_loop_headers, never_reached_warning): Removed.
2506 (any_uncondjump_p): Reject nonlocal goto.
2507 * langhooks-def.h (lhd_types_compatible_p,
2508 lhd_expand_decl, lhd_gimplify_expr): Declare.
2509 (LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
2510 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
2511 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
2512 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
2513 LANG_HOOKS_GIMPLIFY_EXPR,
2514 LANG_HOOKS_GIMPLE_BEFORE_INLINING,
2515 LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
2516 LANG_HOOKS_GIMPLIFY_EXPR,
2517 LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
2518 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
2519 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
2520 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
2521 LANG_HOOKS_RTL_EXPAND_INITIALIZER,
2522 LANG_HOOKS_DECL_UNINIT,
2523 LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
2524 * langhooks.c: Include tree-simple.h.
2525 (lhd_expand_decl): New.
2526 (lhd_types_compatible_p): New.
2527 (lhd_decl_uninit): Remove.
2528 (lhd_gimplify_expr): New.
2529 * langhooks.h (struct lang_hooks_for_rtl_expansion):
2530 Remove.
2531 (struct lang_hooks_for_functions): Add field
2532 missing_noreturn_ok_p.
2533 (struct lang_hooks): Add field expand_decl,
2534 types_compatible_p, gimplify_expr and
2535 gimple_before_inlining.
2536 Remove fields decl_uninit and rtl_expand
2537 * opts.c (decode_options): Set flag_tree_ccp,
2538 flag_tree_dce, flag_tree_dom, flag_tree_dse,
2539 flag_tree_pre, flag_tree_ter,
2540 flag_tree_live_range_split, flag_tree_sra,
2541 flag_tree_copyrename and flag_tree_ch at -O1 and higher.
2542 (common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
2543 OPT_fmudflapth, OPT_fmudflapir,
2544 OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
2545 OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
2546 OPT_ftree_dominator_opts, OPT_ftree_copyrename,
2547 OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
2548 OPT_ftree_points_to_ and OPT_ftree_pre.
2549 * output.h (regno_uninitialized, find_basic_blocks,
2550 cleanup_cfg, delete_unreachable_blocks,
2551 check_function_return_warnings): Remove.
2552 * params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
2553 PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
2554 PARAM_MAX_INLINE_RECURSIVE_DEPTH,
2555 PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
2556 PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
2557 * params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
2558 Define.
2559 * passes.c (rest_of_decl_compilation):
2560 (rest_of_handle_sibling_calls): Remove.
2561 (rest_of_handle_inlining): Remove.
2562 (rest_of_handle_gcse): Do not run
2563 purge_builtin_constant_p.
2564 (rest_of_compilation): Update.
2565 Do not call copy_loop_headers.
2566 Do rtl-based profiling only when
2567 !flag_tree_based_profiling. Register rtl-based profiling
2568 hooks.
2569 * predict.c: Include tree-flow.h, ggc.h, tree-dump.h
2570 (predicted_by_p): Rename to ...
2571 (rtl_predicted_by_p): .. this one; make global
2572 (tree_predicted_by_p): New.
2573 (dump_prediction): Add FILE argument.
2574 (predict_edge): Rename to ...
2575 (rtl_predict_edge): .. this one.
2576 (tree_predict_edge): New.
2577 (combine_predictions_for_insn): Update calls of predict_edge.
2578 (predict_loops): Break out from ...
2579 (estimate_probability): ... here; update comments; move updating
2580 of unknown probabilities from ...
2581 (estimate_bb_frequencies): ... here.
2582 (combine_predictions_for_bb): New.
2583 (tree_predict_by_opcode): New.
2584 (tree_estimate_probability): New.
2585 * predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
2586 PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
2587 * predict.h: Add include guard.
2588 (predict_edge, predict_edge_def): Move prototypes to basic_block.h
2589 * pretty-print.c (pp_write_text_to_stream): Make extern.
2590 * pretty-print.h (pp_write_text_to_stream): Declare.
2591 * print-rtl.c (print_rtx): Don't print the integrated flag.
2592 Print the return_val flag.
2593 * print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
2594 of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
2595 Remove support for EXPR_WITH_FILE_LOCATION nodes.
2596 (print_node): Print TREE_INVARIANT and TREE_VISITED.
2597 * profile.c: Include cfghooks.h, tree-flow.h.
2598 (profile_hooks): New.
2599 (profile_dump_file): New.
2600 (instrument_edges): Use hooks instead of RTL-specific code.
2601 (instrument_values): Ditto.
2602 (get_exec_counts): Ditto.
2603 (compute_branch_probabilities): Ditto.
2604 (compute_value_histograms): Ditto.
2605 (branch_prob): Ditto.
2606 (find_spanning_tree): Ditto.
2607 (end_branch_prob): Ditto.
2608 (gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
2609 (gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
2610 (gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
2611 (gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
2612 (tree_register_profile_hooks): New.
2613 (rtl_register_profile_hooks): New.
2614 * ra-rewrite.c (rewrite_program): Clear variable info.
2615 * recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
2616 * regs.h: Add include guards.
2617 * reload.c (decompose): Clear val using memset.
2618 * rtl.def (CONSTANT_P_RTX): Remove.
2619 * rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
2620 (copy_loop_headers): Remove.
2621 (struct rtx_def): Replace the integrated flag with the
2622 return_val flag.
2623 (maybe_set_first_label_num): Declare.
2624 (init_branch_prob): Move declaration to value-prof.h.
2625 (end_branch_prob): Ditto.
2626 (branch_prob): Ditto.
2627 (never_reached_warning): Don't declare it.
2628 * rtlanal.c (get_related_value): Initialize get_jump_table_offset
2629 (hoist_insn_to_edge): Update to match field insns in
2630 struct edge_def.
2631 * sbitmap.c (sbitmap_realloc): New.
2632 * sbitmap.h (sbitmap_realloc): Declare.
2633 * sibcall.c: Remove file.
2634 * simplify-rtx.c (simplify_rtx): Do not handle
2635 CONSTANT_P_RTX.
2636 * stmt.c (parse_output_constraint): Don't warn for read-write
90afe2c9 2637 memory operand.
6de9cd9a
DN
2638 (tail_recursion_args): Use types_compatible_p langhook.
2639 (force_label_rtx): Don't look at inline_function_decl.
2640 (label_rtx): Set LABEL_PRESERVE_P appropriately.
2641 (expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
2642 (declare_nonlocal_label): Remove.
2643 (expand_goto): Don't handle nonlocal gotos.
2644 (expand_nl_handler_label): Remove.
2645 (expand_nl_goto_receivers): Remove.
2646 (expand_end_bindings): Don't expand_nl_goto_receivers. Use
2647 update_nonlocal_goto_save_area.
2648 (expand_expr_stmt_value): Check TREE_NO_WARNING.
2649 (warn_if_unused_value): Likewise.
2650 (expand_start_loop, expand_loop_continue_here,
2651 expand_end_loop): Don't create loop notes.
2652 (all_cases_count, BITARRAY_TEST, BITARRAY_SET,
2653 mark_seen_cases, check_for_full_enumeration_handling): Remove.
2654 (expand_end_case_type): Don't do warn_switch handling.
2655 (pushcase, pushcase_range) Update add_case_node calls.
2656 (add_case_node): Add dont_expand_label argument.
2657 (same_case_target_p): Don't search rtl.
2658 (expand_start_bindings_and_block, expand_end_bindings):
2659 Don't emit block notes when dont_emit_block_notes.
2660 (using_eh_for_cleanups_p): Export.
2661 (expand_return): Allow any typed rhs.
2662 (expand_stack_alloc): New.
2663 (expand_stack_save, expand_stack_restore): New.
2664 (containing_blocks_have_cleanups_or_stack_level): New
2665 function.
2666 (asm_op_is_mem_input): New fn.
2667 (expand_asm_expr): New fn.
2668 (warn_if_unused_value): Check operand 0 of SAVE_EXPR
2669 nodes.
2670 * stor-layout.c (layout_type): Just return if type is
2671 error_mark_node.
2672 (update_alignment_for_field): Export.
2673 (variable_size): We don't care about global_bindings_p if
2674 the frontend doesn't want a list of the expressions.
2675 * system.h: Poison INTEGRATE_THRESHOLD.
2676 * timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
2677 TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
2678 TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
2679 TV_TREE_SSA_OTHER, TV_TREE_OPS,
2680 TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
2681 TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
2682 TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
2683 TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
2684 TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
2685 TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
2686 TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
2687 TV_CONTROL_DEPENDENCES): Define.
2688 * toplev.c: Include tree-alias-common.h
2689 (current_file_decl, flag_mudflap, flag_mudflap_threads,
2690 flag_mudflap_ignore_reads, flag_tree_based_profiling,
2691 flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
2692 flag_tree_dce, flag_tree_ch, flag_tree_sra,
2693 flag_tree_combine_temps, flag_tree_ter,
2694 flag_tree_live_range_split, flag_tree_dom,
2695 flag_tree_copyrename, flag_tree_dse): Declare.
2696 (f_options): Add tree-based-profiling, tree-gvn,
2697 tree-pre, tree-ccp, tree-dce,
2698 tree-dominator-opts, tree-copyrename, tree-dse,
2699 tree-combine-temps, tree-ter, tree-lrs and tree-ch.
2700 (wrapup_global_declarations): Don't output nested inlined functions.
2701 (general_init): Call init_tree_optimization_passes.
2702 (process_options): Sorry for -ftree-based-profiling plus
2703 -ftest-coverage or -fprofile-values.
2704 * toplev.h (init_tree_optimization_passes,
2705 flag_tree_based_profiling): Declare.
2706 * tracer.c (tail_duplicate): Use cfghooks for bb duplication.
2707 * tree-alias-ander.c: New file.
2708 * tree-alias-ander.h: New file.
2709 * tree-alias-common.c: New file.
2710 * tree-alias-common.h: New file.
2711 * tree-alias-type.c: New file.
2712 * tree-alias-type.h: New file.
2713 * tree-browser.c: New file.
2714 * tree-browser.def: New file.
2715 * tree-cfg.c: New file.
2716 * tree-complex.c: New file.
2717 * tree-dfa.c: New file.
2718 * tree-dump.c (dump_enable_all): New.
2719 (dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
2720 (dump_node): Remove const from field suffix and swtch.
2721 (dump_files): Add null entry, .generic, .nested, .vcg,
2722 .xml and a match-all entry.
2723 (extra_dump_files, extra_dump_files_in_use,
2724 extra_dump_files_alloced): Declare
2725 (dump_option_value_info): Add raw, details, stats,
2726 blocks, vops, lineno, uid and all.
2727 (dump_register): New.
2728 (get_dump_file_info): New.
2729 (dump_begin): Call it.
2730 Do nothing for TDI_none.
2731 (dump_begin): Include phase number in dump filename.
2732 (dump_enable_all): New.
2733 (dump_switch_p_1): Split out from dump_switch_p.
2734 (dump_switch_p): Handle extra_dump_files.
2735 Start our scan at TDI_none + 1.
2736 If -fdump-tree-all was given, call dump_enable_all.
2737 * tree-dump.h: Include splay-tree.h.
2738 (dump_function, dump_function_to_file, dump_register):
2739 Declare.
2740 * tree-eh.c: New file.
2741 * tree-flow-inline.h: New file.
2742 * tree-flow.h: New file.
2743 * tree-inline.c: Re-write to handle inlining on GIMPLE.
2744 * tree-inline.h (walk_tree,
2745 walk_tree_without_duplicates): Move to tree.h.
2746 (estimate_num_insns): Declare.
2747 * tree-into-ssa.c: New file.
2748 * tree-iterator.c: New file.
2749 * tree-iterator.h: New file.
2750 * tree-mudflap.c: New file.
2751 * tree-mudflap.h: New file.
2752 * tree-nested.c: New file.
2753 * tree-nomudflap.c: New file.
2754 * tree-nrv.c: New file.
2755 * tree-optimize.c (dump_flags, vars_to_rename,
2756 in_gimple_form, all_passes, pass_gimple,
2757 pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
2758 (execute_gimple, execute_rebuild_bind,
2759 gate_all_optimizations, execute_del_cfg,
2760 register_one_dump_file, register_dump_files, dup_pass_1,
2761 init_tree_optimization_passes, execute_todo,
2762 execute_one_pass, execute_pass_list): New.
2763 (clear_decl_rtl): Remove.
2764 (tree_rest_of_compilation): Update to use tree
2765 optimizers.
2766 * tree-outof-ssa.c: New file.
2767 * tree-pass.h: New file.
2768 * tree-phinodes.c: New file.
2769 * tree-pretty-print.c: New file.
2770 * tree-profile.c: New file.
2771 * tree-simple.c: New file.
2772 * tree-simple.h: New file.
2773 * tree-sra.c: New file.
2774 * tree-ssa-alias.c: New file.
2775 * tree-ssa-ccp.c: New file.
2776 * tree-ssa-copy.c: New file.
2777 * tree-ssa-copyrename.c: New file.
2778 * tree-ssa-dce.c: New file.
2779 * tree-ssa-dom.c: New file.
2780 * tree-ssa-dse.c: New file.
2781 * tree-ssa-forwprop.c: New file.
2782 * tree-ssa-live.c: New file.
2783 * tree-ssa-live.h: New file.
2784 * tree-ssa-loop.c: New file.
2785 * tree-ssa-operands.c: New file.
2786 * tree-ssa-operands.h: New file.
2787 * tree-ssa-phiopt.c: New file.
2788 * tree-ssa-pre.c: New file.
2789 * tree-ssa.c: New file.
2790 * tree-ssanames.c: New file.
2791 * tree-tailcall.c: New file.
2792 * tree.c: Include tree-iterator.h, basic-block.h and
2793 tree-flow.h.
2794 (tree_node_kind): Add phi_nodes and ssa names.
2795 (tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
2796 EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
2797 (make_node_stat): Handle PHI_NODE and SSA_NAME.
2798 <'c'> Set TREE_INVARIANT.
2799 (copy_node_stat): Abort if trying to copy a
2800 STATEMENT_LIST.
2801 Clear TREE_VISITED.
2802 Clear annotation field.
2803 (build_constructor): Copy TREE_INVARIANT from vals.
2804 Don't clear TREE_CONSTANT.
2805 (expr_first, expr_last, expr_length): Remove.
2806 (staticp): Pass unknown component references to the language.
2807 (save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
2808 (skip_simple_arithmetic): Likewise.
2809 (stabilize_reference_1): Likewise.
2810 (tree_node_structure): Handle PHI_NODE, EPHI_NODE,
2811 EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
2812 STATEMENT_LIST.
2813 (lhd_unsave_expr_now): Remove.
2814 (unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
2815 (recompute_tree_invarant_for_addr_expr): New.
2816 (build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
2817 Call recompute_tree_invarant_for_addr_expr.
2818 Set TREE_INVARIANT accordingly.
2819 (build2_stat): Don't handle CALL_EXPR.
2820 (build3_stat): Don't call build2_stat for CALL_EXPRs.
2821 (build_expr_wfl): Remove.
2822 (annotate_with_file_line, annotate_with_locus): New.
2823 (simple_cst_equal): Call simple_cst_list_equal to compare
2824 CONSTRUCTOR_ELTS pointers.
2825 (iterative_hash_expr): Don't hash types associated
2826 with conversions. Instead hash on the signedness of the
2827 toplevel object and the operand of the conversion.
2828 (dump_tree_statistics): Call ssanames_print_statistics
2829 and phinodes_print_statistics.
2830 (ephi_node_elt_check_failed, phi_node_elt_check_failed,
2831 add_var_to_bind_expr, build_empty_stmt, is_essa_node,
2832 needs_to_live_in_memory): New.
2833 (initializer_zerop): Handle VECTOR_CST. Don't check
2834 AGGREGATE_TYPE_P for CONSTRUCTOR.
2835 * tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
2836 SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
2837 PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
2838 (GOTO_SUBROUTINE_EXPR): Change type to 's'.
2839 (CALL_EXPR): Add another operand.
2840 (EXPR_WITH_FILE_LOCATION): Remove.
2841 (SWITCH_EXPR): Add another operand.
2842 * tree.h: Update various comments.
2843 (union tree_ann_d): Forward declare.
2844 (struct tree_common): Add fields nowarning_flag,
2845 invariant_flag and visited.
2846 (EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
2847 PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
2848 EPHI_NODE_ELT_CHECK, TREE_BLOCK,
2849 STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
2850 TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
2851 IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
2852 EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
2853 EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
2854 CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
2855 BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
2856 ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
2857 ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
2858 COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
2859 CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
2860 EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
2861 SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
2862 SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
2863 PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
2864 PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
2865 EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
2866 EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
2867 EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
2868 EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
2869 EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
2870 EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
2871 EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
2872 EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
2873 EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
2874 EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
2875 TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
2876 DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
2877 DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
2878 STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
2879 TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
2880 TDF_UID,): Define.
2881 (TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
2882 EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
2883 EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
2884 EXPR_WFL_SET_LINECOL): Remove.
2885 (phi_node_elt_check_failed, ephi_node_elt_check_failed,
2886 make_phi_node, init_phinodes, fini_phinodes,
2887 release_phi_node, phinodes_print_statistics,
2888 init_ssanames, fini_ssanames, make_ssa_name,
2889 release_ssa_name, ssanames_print_statistics,
2890 annotate_with_file_line, build_empty_stmt,
2891 annotate_with_locus, expr_only, categorize_ctor_elements,
2892 count_type_elements, add_var_to_bind_expr, is_essa_node,
2893 expand_stack_alloc, expand_stack_save,
2894 expand_stack_restore, add_case_node, operand_equal_p,
2895 nondestructive_fold_unary_to_constant,
2896 nondestructive_fold_binary_to_constant,
2897 fold_read_from_constant_string, int_const_binop,
2898 strip_float_extensions, simplify_builtin, c_strlen,
2899 recompute_tree_invarant_for_addr_expr,
2900 needs_to_live_in_memory, make_vector,
2901 setjmp_vars_warning, update_alignment_for_field,
2902 expand_asm_expr, asm_op_is_mem_input,
2903 containing_blocks_have_cleanups_or_stack_level,
2904 create_artificial_label, gimplify_function_tree,
2905 get_name, unshare_expr, walk_tree,
2906 walk_tree_without_duplicates, in_gimple_form): Declare.
2907 (struct tree_exp): Add fields locus and block.
2908 (struct tree_ssa_name, struct edge_def, struct
2909 tree_phi_node, struct tree_eref_common, struct
2910 tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
2911 union alias_var_def, struct tree_statement_list_node,
2912 struct tree_statement_list, enum operand_equal_flag): Declare.
2913 (enum tree_node_structure_enum): Add TS_SSA_NAME,
2914 TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
2915 TS_STATEMENT_LIST.
2916 (union tree_node): Add fields ssa_name, phi, eref, ephi,
2917 euse and stmt_list.
2918 (function_cannot_inline_p, uninitialized_vars_warning,
2919 save_for_inline, output_inline_function, all_cases_count,
2920 check_for_full_enumeration_handling,
2921 declare_nonlocal_label): Remove.
2922 (enum tree_dump_index): Add TDI_none, TDI_tu,
2923 TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
2924 * unroll.c (unroll_loop): Don't clear map->inline_target.
2925 * unwind-sjlj.c (uw_install_context): Make a proper static inline
2926 function.
2927 * value-prof.c (value_prof_hooks): New.
2928 (find_values_to_profile): Rename to rtl_find_values_to_profile.
2929 Move rtl-specific bits in from branch_prob.
2930 (value_profile_transformations): Rename to
2931 rtl_value_profile_transformations.
2932 (struct value_prof_hooks): New.
2933 (rtl_value_prof_hooks): New.
2934 (rtl_register_value_prof_hooks): New.
2935 (tree_find_values_to_profile): New stub.
2936 (tree_value_profile_transformations): New stub.
2937 (tree_value_prof_hooks): New stub.
2938 (tree_register_value_prof_hooks): New stub.
2939 (find_values_to_profile): New.
2940 (value_profile_transformations): New.
2941 * value-prof.h: Add multiple inclusion guard.
2942 (struct histogram_value): Change rtx fields to void *.
2943 (rtl_register_value_prof_hooks): New declaration.
2944 (tree_register_value_prof_hooks): New declaration.
2945 (find_values_to_profile): New declaration.
2946 (free_profiled_values): New declaration.
2947 (value_profile_transformations): New declaration.
2948 (struct profile_hooks): New declaration.
2949 (init_branch_prob): Declaration moved from rtl.h.
2950 (branch_prob): Declaration moved from rtl.h.
2951 (end_branch_prob): Declaration mooved from rtl.h.
2952 (tree_register_profile_hooks): New declaration.
2953 (rtl_register_profile_hooks): New declaration.
2954 (tree_profile_hooks): New declaration.
2955 (rtl_profile_hooks): New declaration.
2956 * varasm.c: Include tree-mudflap.h.
2957 (TRAMPOLINE_ALIGNMENT): Remove.
2958 (make_decl_rtl): Call mudflap_enqueue_decl.
2959 (assemble_static_space):
2960 (assemble_trampoline_template): Set and return
2961 TRAMPOLINE_ALIGNMENT.
2962 * varray.c (element): Add GENERIC_PTR_NOGC entry.
2963 Add entry for 'tree *'.
2964 Add entry for struct edge_def *.
2965 (varray_copy): New.
2966 * varray.h (enum varray_data_enum): Add
2967 VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
2968 VARRAY_DATA_TREE_PTR.
2969 (union varray_data_tag): Corresponding changes.
2970 (VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
2971 VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
2972 VARRAY_EDGE, VARRAY_TREE_PTR,
2973 VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
2974 VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
2975 VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
2976
2977 * config/*/*: Various updates for changed macros, tree
2978 codes, etc. Check ChangeLog.tree-ssa.
2979
2980 * doc/cfg.texi: New file.
2981 * doc/tree-ssa.texi: New file.
2982 * doc/c-tree.texi: Document new codes.
2983 * doc/gccint.texi: Include new files.
2984 * doc/install.texi: Document new features.
2985 * doc/invoke.texi: Document new switches.
2986 * doc/passes.texi: Document new passes.
2987 * doc/rtl.texi: Update changed RTL codes.
2988 * doc/sourcebuild.texi: Update build instructions.
2989 * doc/standards.texi: Document Fortran changes.
2990 * doc/tm.texi: Update.
2991
5eaad481
PB
29922004-05-12 Paolo Bonzini <bonzini@gnu.org>
2993
2994 Replace several arrays with a struct of arrays.
90afe2c9
ZW
2995 * combine.c (struct reg_stat): New.
2996 (init_reg_last_arrays): Renamed to...
2997 (init_reg_last): ...this. Callers adjusted.
2998 (reg_stat): New.
2999 (combine_instructions): Allocate it and use it.
3000 (reg_last_death, reg_last_set, reg_last_set_value,
3001 reg_last_set_label, reg_last_set_table_tick,
3002 reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
3003 reg_last_set_mode, reg_last_set_nonzero_bits,
3004 reg_last_set_sign_bit_copies): Replace throughout
3005 with items of reg_stat.
5eaad481 3006
e51f9159
KK
30072004-05-11 Kaz Kojima <kkojima@gcc.gnu.org>
3008
3009 PR optimization/15100
3010 * combine.c (distribute_notes): Don't create a dangling
3011 REG_LIBCALL/REG_RETVAL note.
3012
6a599451
AH
30132004-05-11 Aldy Hernandez <aldyh@redhat.com>
3014
3015 * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
3016
3017 * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
3018 negv2si2.
3019
425a2bde
AH
30202004-05-11 Aldy Hernandez <aldyh@redhat.com>
3021
3022 * doc/md.texi (Standard Names): Fix typo in vec_init description.
3023
bed7b8f1
GK
30242004-05-11 Geoffrey Keating <geoffk@apple.com>
3025
3026 * doc/gty.texi (GTY Options): Clarify example.
3027
7958a2a6
FJ
30282004-05-11 Fariborz Jahanian <fjahanian@apple.com>
3029
3030 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
3031 Add const qualifier to altivec vector type if one is needed.
3032
32770746
PB
30332004-05-11 Paul Brook <paul@codesourcery.com>
3034
3035 * flags.h (flag_short_enums): Update comment.
3036 * opts.c (decode_options): Set flag_short_enums to 2.
3037 * toplev.c (flag_short_enums): Update comment.
3038 (process_options): Call default_short_enums target hook.
3039
78f59f3e
AP
30402004-05-11 Andrew Pinski <pinskia@gcc.gnu.org>
3041
3042 PR target/14063
3043 * config/rs6000/altivec.md (altivec_dssall):
3044 Change to unspec_volatile.
3045 (altivec_dss): Likewise.
3046
39302b6a
AH
30472004-05-10 Aldy Hernandez <aldyh@redhat.com>
3048
3049 * config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
3050 vnor.
3051 ("one_cmplv8hi2"): Same.
3052 ("one_cmplv4si2"): Same.
3053
726d4cb7
KK
30542004-05-10 Kaz Kojima <kkojima@gcc.gnu.org>
3055
3056 PR target/15130
3057 * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
3058 * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
3059 into account. Compute the correct number of general registers
3060 for the return value. Generate a special push/pop sequence when
3061 failing to get a temporary register for non SHmedia epilogue.
3062 (sh_expand_epilogue): Add an argument to show whether it's for
3063 sibcall or not. Set the 3rd argument of output_stack_adjust to
3064 -1 if needed.
3065 (sh_need_epilogue): Call sh_expand_epilogue with 0.
3066 * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
3067 with 1.
3068 (epilogue): Call sh_expand_epilogue with 0.
3069
0c196bf9
AP
30702004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
3071
3072 * gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
3073 goto a cleanup label. After the cleanup, free the allocated memory.
3074
16cfa3dc
ZL
30752004-05-10 Ziemowit Laski <zlaski@apple.com>
3076
3077 * config/rs6000/altivec.h (vec_sld): Add overloads for
3078 argument/return types of 'vector bool int', 'vector bool short'
3079 and 'vector bool char'.
3080
3358cae0
ZW
30812004-05-10 Zack Weinberg <zack@codesourcery.com>
3082
3083 * c-decl.c (store_parm_decls_newstyle): Correct test for a
3084 nested function.
3085
62d45923
RS
30862004-05-10 Richard Sandiford <rsandifo@redhat.com>
3087
3088 * read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
3089 treating missing ones as "".
3090 * config/mips/mips.md: Remove constraints from match_operands and
3091 match_scratches if they appear in define_expands (except reload*),
3092 define_peephole2s, define_splits or attribute specifications.
3093 * config/mips/7000.md, config/mips/sb1.md: Remove match_operand
3094 constraint strings.
3095
b2d04ecf
AM
30962004-05-10 Alan Modra <amodra@bigpond.net.au>
3097
3098 * config/rs6000/rs6000.c (function_arg_boundary): Always align
3099 AltiVec vectors.
3100 (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
3101 vectors by refererence. Align the same for TARGET_64BIT to a 16
3102 byte boundary. Remove useless code. Add function comment.
3103 (function_arg): Similarly. Move gpr rs6000_mixed_function_arg
3104 call to where it belongs.
3105 (function_arg_partial_nregs): Return true for all TARGET_32BIT
3106 -mabi=no-altivec AltiVec vectors. Fix debug output.
3107 (rs6000_va_arg): Adjust for AltiVec change.
3108
b6685939
PB
31092004-05-10 Paul Brook <paul@codesourcery.com>
3110
3111 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
3112 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
3113 (TARGET_DOUBLEWORD_ALIGN): Use it.
3114 (WCHAR_TYPE): Define.
3115 (WCHAR_SIZE_TYPE): Define.
3116 (SIZE_TYPE): Define.
3117
4ed78545
AM
31182004-05-10 Alan Modra <amodra@bigpond.net.au>
3119
3120 * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
3121 when size is 8 bytes.
3122 (function_arg_advance): Account for stack space used by AltiVec
3358cae0 3123 args when -mabi=altivec. Simplify alignment calculations. For
4ed78545
AM
3124 ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
3125 (function_arg): Similarly.
3126 (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
3127 not AltiVec ABI.
3128 (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
3129 Correct alignment, and align before testing reg count. Remove
3130 TREE_THIS_VOLATILE from reg. Don't emit unused labels.
3131 (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
3132 TARGET_FPRS here..
3133 (rs6000_function_value): .. not here before call.
3134
f350ff00
AH
31352004-05-09 Aldy Hernandez <aldyh@redhat.com>
3136
3137 * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
3138
eecec698
ZW
31392004-05-09 Zack Weinberg <zack@codesourcery.com>
3140
3141 PR 15007
3142 * c-decl.c (current_file_decl): Rename to all_translation_units,
3143 adjust comment.
3144 (pop_scope): If popping file_scope, construct a
3145 TRANSLATION_UNIT_DECL and make it the context of all the
3146 symbols in the scope.
3147 (push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
3148 (pushdecl): Clarify comment. Do not set DECL_CONTEXT of
3149 anything to current_file_decl.
3150 (pushdecl_top_level): Likewise.
3151 (store_parm_decls_newstyle): Adjust check for nested function.
4ed78545
AM
3152 (c_write_global_declarations): Update for renamed variable.
3153
2aa4498c
AH
31542004-05-09 Aldy Hernandez <aldyh@redhat.com>
3155
3156 * config/rs6000/rs6000-protos.h
3157 (rs6000_conditional_register_usage): Protoize.
3158
3159 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
3160
3161 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
3162 function.
3163
8dc2384c
RS
31642004-05-08 Roger Sayle <roger@eyesopen.com>
3165
3166 * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
3167 where op is a comparison operator and C1 and C2 are integer constants
3168 into a range check.
3169 (fold): Call fold_div_compare.
3170
ae81c844
EB
31712004-05-08 Eric Botcazou <ebotcazou@libertysurf.fr>
3172
3173 * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
3174 problems with earlier versions of the GNU compiler.
3175
0d1fbc8c
AH
31762004-05-07 Aldy Hernandez <aldyh@redhat.com>
3177
3178 * config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
3179 Declare.
3180
3181 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
3182 (rs6000_hard_regno_mode_ok): New.
3183 (rs6000_init_hard_regno_mode_ok): New.
3184 (rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
3185
3186 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
3187 result.
3188
f95d9272
ZL
31892004-05-07 Ziemowit Laski <zlaski@apple.com>
3190
3191 * config/rs6000/altivec.h (vector, pixel, bool): Do not
3192 define as macros #ifdef __APPLE_ALTIVEC__.
3193
31942004-05-07 Fariborz Jahanian <fjahanian@apple.com>
3195
36a454e1
FJ
3196 * config/rs6000/rs6000.c (rs6000_mixed_function_arg):
3197 Generate appropriate parallels for vector arguments
3198 passed to vararg functions. (function_arg): make the call
3199 to rs6000_mixed_function_arg for vector args as needed.
eecec698 3200
f7dbd289
RS
32012004-05-07 Richard Sandiford <rsandifo@redhat.com>
3202
3203 * config/mips/mips.c (mips_va_arg): Fix calculation of osize for
3204 EABI_FLOAT_VARARGS_P.
3205
5c8a81d5
RS
32062004-05-07 Richard Sandiford <rsandifo@redhat.com>
3207
3208 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
3209 * config/mips/mips.c (override_options): Disable branch likely
3210 instructions if TUNE_MIPS5500.
3211
9045f39a
RS
32122004-05-07 Richard Sandiford <rsandifo@redhat.com>
3213
3214 * config/mips/mips.c (override_options): Allow the hi and lo registers
3215 to store any integral mode, not just MODE_INTs.
3216
bc21b3f3
PB
32172004-05-07 Paul Brook <paul@codesourcery.com>
3218
3219 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
3220 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
3221 (TARGET_DOUBLEWORD_ALIGN): Use it.
3222 (WCHAR_TYPE): Define.
3223 (WCHAR_SIZE_TYPE): Define.
3224 (SIZE_TYPE): Define.
3225
2484cc35
UB
32262004-05-07 Uros Bizjak <uros@kss-loka.si>
3227
3228 * config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
3229 testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
3230
7600f094
AP
32312004-05-07 Andrew Pinski <pinskia@physics.uc.edu>
3232
3233 * loop-doloop.c (doloop_valid_p): Make sure that body
3234 gets freed.
3235
bfb23806
EB
32362004-05-07 Eric Botcazou <ebotcazou@act-europe.fr>
3237
3238 * config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
3239 declaration.
3240 * config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
3241 (sparc_skip_caller_unimp): New global variable.
3242 (sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
3243 Use it instead of SKIP_CALLERS_UNIMP_P.
3244 * config/sparc/sparc.md (call expander): Add sanity check.
3245 (call_address_struct_value_sp32): Re-sync with expander.
3246 (call_symbolic_struct_value_sp32): Likewise.
3247 (return peepholes): Use 'sparc_skip_caller_unimp' instead
3248 of custom predicate.
3249
92ff0c41
EB
32502004-05-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3251
3252 PR c++/14962
3253 * c-pragma.c (handle_pragma_redefine_extname): Only change
3254 the assembler name of FUNCTION_DECLs and VAR_DECLs.
3255
c2fcfa4f
UB
32562004-05-07 Uros Bizjak <uros@kss-loka.si>
3257
3258 * optabs.h (enum optab_index): Add new OTI_log1p.
3259 (log1p_optab): Define corresponding macro.
3260 * optabs.c (init_optabs): Initialize log1p_optab.
3261 * genopinit.c (optabs): Implement log1p_optab using log1p?f2
3262 patterns.
3263 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
3264 using log1p_optab.
3265 (expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
3266 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
3267
3268 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
3269
3270 * config/i386/i386.c (ix86_emit_i387_log1p): New function.
3271 * config/i386/i386-protos.h (ix86_emit_i387_log1p):
3272 Prototype here.
3273 * config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
3274 x87's fyl2xp1 instruction.
3275 (*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
3276 (fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
3277 (log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
3278 log1p and log1pl built-ins as inline x87 intrinsics.
3279
4d980568
LR
32802004-05-07 Loren James Rittle <ljrittle@acm.org>
3281
3c4392aa 3282 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
4d980568
LR
3283 * config/arm/freebsd.h: Likewise.
3284 * config/ia64/freebsd.h: Likewise.
3285 * config/sparc/freebsd.h: Likewise.
3286
afce2847
HPN
32872004-05-07 Hans-Peter Nilsson <hp@axis.com>
3288
3289 PR optimization/15296
3290 * reorg.c (fill_simple_delay_slots): Use next_real_insn when
3291 getting last consecutive label at a branch.
3292 (relax_delay_slots): Similar, near top of loop.
3293
9acf97b6
JDA
32942004-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3295
3296 PR target/15202
3297 * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
3298 register to general register.
3299
19fb36e3
AM
33002004-05-07 Alan Modra <amodra@bigpond.net.au>
3301
3302 * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
3303 TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
3304 * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
3305 (STACK_BOUNDARY): Delete.
3306
db643b91 33072004-05-06 Stuart Hastings <stuart@apple.com>
2484cc35 3308
db643b91
SH
3309 * gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
3310 mistakenly clobbered by 1.423.
19fb36e3 3311
dc884a86
RS
33122004-05-06 Richard Sandiford <rsandifo@redhat.com>
3313
3314 * doc/invoke.texi: Document -mvr4130-align.
3315 * config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
3316 (TUNE_MIPS4120, TUNE_MIPS4130): New macros.
3317 (TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
3318 (TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
3319 * config/mips/mips.md: Include sched-int.h.
3320 (USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
3321 (mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
3322 (override_options): Enable -mvr4130-align at -O3 and above.
3323 (mips_sim_insn): New variable.
3324 (mips_sim): New structure.
3325 (mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
3326 (mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
3327 (mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
3328 (mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
3329 (vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
3330 (mips_reorg): Call vr4130_align_insns.
3331 (vr4130_last_insn): New variable.
3332 (vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
3333 (vr4130_swap_insns_p, vr4130_reorder): New functions.
3334 (mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
3335 (mips_issue_rate): Return 2 for PROCESSOR_R4130.
3336 (mips_use_dfa_pipeline_interface): Return true for the same.
3337 * config/mips/4130.md: New file.
3338 * config/mips/mips.md: Include it. Add a peephole2 to convert
3339 "mult;mflo" into "mtlo;macc".
3340 (*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
3341 target of maccs.
3342 (*msac_using_macc): New pattern.
3343
615ccdd3
RS
33442004-05-06 Richard Sandiford <rsandifo@redhat.com>
3345
3346 * config/mips/5500.md (ir_vr55_store): Set latency to 0.
3347 (ir_vr55_hilo): Split into...
3348 (ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
3349 (ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
3350 (ir_vr55_imul_di): Change latency to 9. Reserve vr55_mac for 4 cycles.
3351 Add various multiplication bypasses.
3352 * config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
3353 multiplication.
3354
152e3565
UB
33552004-05-06 Uros Bizjak <uros@kss-loka.si>
3356
3357 * config/i386/i386.md (*fscalexf4): Correct insn "mode"
3358 attribute to "XF".
3359
5ae27cfa
UB
33602004-05-05 Uros Bizjak <uros@kss-loka.si>
3361
3362 * optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
152e3565 3363 (fmod_optab, drem_optab): Define corresponding macros.
5ae27cfa
UB
3364 * optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
3365 * genopinit.c (optabs): Implement fmod_optab and drem_optab
3366 using fmod?f3 and drem?f3 patterns.
3367 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
3368 using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
3369 (expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
3370 BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
3371 flag_unsafe_math_optimizations is set.
3372
3373 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
3374 UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
3375
3376 * config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
3377 * config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
3378 Prototype here.
3379 * config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
3380 UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
3381 fprem and fprem1 instructions.
3382 (*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
3383 Rename insn definition to x86_fnstsw_1.
3384 (fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
3385 x87 instructions.
3386 (fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
3387 and fmodl built-ins as inline x87 intrinsics.
3388 (dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
3389 and dreml built-ins as inline x87 intrinsics.
3390
cf9c6ca5
RS
33912004-05-05 Roger Sayle <roger@eyesopen.com>
3392
3393 * reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
3394
32dd2dc9
ILT
33952004-05-05 Ian Lance Taylor <ian@wasabisystems.com>
3396
3397 PR driver/9822
3398 * doc/invoke.texi (Spec Files): Remove documentation of %c.
3399
4a6f766d
CD
34002004-05-05 Chris Demetriou <cgd@broadcom.com>
3401
3402 * config/mips/mips.md: Update the msub define_split for new mflo/mfhi
3403 representation.
3404
fdd695fd
PB
34052004-05-06 Paul Brook <paul@codesourcery.com>
3406
3407 * config/arm/arm-protots.h (vfp_mem_operand): Rename ...
3408 (arm_coproc_mem_operand): ... To this.
3409 * config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
3410 (arm_legitimate_index_p): Ditto.
3411 (vfp_mem_operand): Rename ...
3412 (arm_coproc_mem_operand): ... To this. Handle writeback modes.
3413 (vfp_secondary_reload_class): Use it.
3414 (output_move_double): Use doubleword load/store instructions.
3415 (arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
3416 * config/arm/arm.h (TARGET_LDRD): Define.
3417 (EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
3418 * config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands.
3419 New splitter for invalid doubleword loads.
3420 * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
3421 * config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
3422 * doc/md.texi: Document Uy constraint.
3423
59af0b6a
JH
34242004-05-05 Jan Hubicka <jh@suse.cz>
3425
3426 PR opt/14980
3427 * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
3428 inline clones.
3429
9953b5e1
L
34302004-05-05 H.J. Lu <hongjiu.lu@intel.com>
3431
3432 PR target/15290
3433 * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
3434 instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
3435
e3c287c9
MS
34362004-05-05 Mike Stump <mrs@apple.com>
3437
3438 * config/darwin-c.c (add_framework): Copy the directory name as it
3439 can be freed later. Also, ensure we always allocate enough room
3440 for the cached framework information.
3441 (find_subframework_header): Keep track of the directory where the
3442 subframework header was found.
3443 (framework_construct_pathname): Speed up by not trying to re-add a
3444 framework.
3445 * cppfiles.c (search_path_exhausted): Arrange for the missing
3446 header callback to be able to set the directory where the header
3447 was found.
3448 (cpp_get_dir): Add.
3449 * cpplib.h (missing_header_cb): Add a parameter.
3450 (cpp_get_dir): Add.
3451
34522004-05-03 Mike Stump <mrs@apple.com>
4bed3787
MS
3453
3454 * doc/invoke.texi (Directory Options): Document -iquote.
3455 * doc/cpp.texi: Likewise.
3456 * doc/cppopts.texi: Likewise.
3457 * c-opts.c (c_common_missing_argument): Add -iquote processing.
3458 (c_common_handle_option): Likewise.
3459 * c.opt (iquote): Add.
3460 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
3461 * c-incpath.c (merge_include_chains): Update comment to use -iquote.
3462
3463 * c-opts.c (case OPT_I): Deprecate -I- support.
3464 * doc/invoke.texi: Likewise.
3465 * doc/cpp.texi: Likewise.
3466 * doc/cppopts.texi: Likewise.
3467
bb8a619e
SB
34682004-05-05 Steven Bosscher <stevenb@suse.de>
3469
3470 * basic-block.h (free_basic_block_vars): Update prototype.
3471 * flow.c (free_basic_block_vars): Remove the keep_head_end_p
3472 argument.
3473 (life_analysis): Update call.
3474 * ifcvt.c (if_convert): Likewise.
3475 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
3476 * passes.c (rest_of_handle_final): Likewise.
3477 (rest_of_compilation): Likewise.
3478 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
3479
3480 * emit-rtl.c (next_real_insn): Use INSN_P.
3481 (prev_real_insn): Likewise.
3482
2e592dce
EC
34832004-05-05 Eric Christopher <echristo@redhat.com>
3484
3485 * config/mips/mips.md: Update the madd define_split for new mflo/mfhi
3486 representation.
3487
7c62e993
PB
34882004-05-05 Paolo Bonzini <bonzini@gnu.org>
3489
3490 * config/rs6000/rs6000.c (build_opaque_vector_type):
3491 New function.
3492 (rs6000_init_builtins): Use it.
3493
87fac4e3
BG
34942004-05-04 Bernard Giroud <bgiroud2@free.fr>
3495
3496 * gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
3497 (func_table): Change type from char ** to vms_func_ref.
3498 (write_rtnbeg): Update to reflect func_table change. Use
3499 fde->funcdef_number instead of rtnnum in output.
3500 (write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
3501
cc27e657
PB
35022004-05-04 Paolo Bonzini <bonzini@gnu.org>
3503 Richard Henderson <rth@redhat.com>
3504
3505 PR target/14899
3506
3507 * c-common.c (vector_types_convertible_p): New function.
3508 * c-typeck.c (comptypes): Recurse on vector types.
3509 (convert_for_assignment): Use vector_types_convertible_p.
3510 (digest_init): Use vector_types_convertible_p to check
3511 validness of constant vector initializers; otherwise treat
3512 them as scalars.
3513 * tree.c (make_or_reuse_type): New.
3514 (build_common_tree_nodes): Use it.
3515 * cp/call.c (standard_conversion): Likewise.
3516 * cp/typeck.c (comptypes): Recurse on vector types.
3517 (convert_for_assignment): Use vector_types_convertible_p.
cc27e657 3518
6fc8a30a
CD
35192004-05-04 Chris Demetriou <cgd@broadcom.com>
3520
3521 * config/mips/mips.c (override_options): Default to no
3522 generation of branch-likely operations when tuning for
3523 CPUs where they tend to have a negative performance impact
3524 (e.g., SB-1).
3525
6c89c39a
RK
35262004-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3527
3528 * expr.c (store_constructor_field): Don't call store_constructor
3529 if bitsize is not a multiple of a byte.
3530
b5ba341f
RS
35312004-05-04 Richard Sandiford <rsandifo@redhat.com>
3532
3533 * reload1.c (inherit_piecemeal_p): New function.
3534 (emit_reload_insns): When reloading a group of hard registers, use
3535 inherit_piecemeal_p to decide whether the values of individual hard
3536 registers can be inherited.
3537
c6c8779b
L
35382004-05-04 H.J. Lu <hongjiu.lu@intel.com>
3539
3540 * config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
3541 * config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
3542 * config/t-linux (LIB2ADDEHDEP): Likewise.
3543
82c732f9
PB
35442004-05-04 Paul Brook <paul@codesourcery.com>
3545
3546 * config/arm/crti.asm: Push an even number of registers.
3547 * config/arm/crtn.asm: And restore them. Load via sp.
3548
92e838e2
PB
35492004-05-04 Paolo Bonzini <bonzini@gnu.org>
3550
3551 * ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
3552 Collect overhead information.
3553 (ggc_alloc_stat): New name of ggc_alloc. Add MEM_STAT_DECL
3554 parameter and pass it through.
3555 (ggc_alloc_typed_stat): New name of ggc_alloc_typed. Add
3556 MEM_STAT_DECL parameter and pass it through.
3557 (ggc_alloc_zone_stat): New name of ggc_alloc_zone. Add
3558 MEM_STAT_DECL parameter and pass it through.
3559
d8ecbcdb
AH
35602004-05-03 Aldy Hernandez <aldyh@redhat.com>
3561
3562 * config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
3563
3564 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
3565
3566 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
3567 rs6000_hard_regno_nregs.
3568
2f7e5a0d
EC
35692004-05-03 Eric Christopher <echristo@redhat.com>
3570
3571 * config/s390/s390.c (s390_emit_prologue): Call unspec tpf
3572 prologue insn instead of setting up call.
3573 (s390_emit_epilogue): Ditto.
3574 * config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
3575 (define_constants): Add numbers for above patterns.
3576
38899e29
EC
35772004-05-03 Eric Christopher <echristo@redhat.com>
3578
3579 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
3580 * config/s390/s390.c (s390_conditional_register_usage): ...here.
3581 * config/s390/s390-protos.h: Prototype.
3582
97d62313
JB
35832004-05-03 Joe Buck <jbuck@welsh-buck.org>
3584
3585 * cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
3586 assignment.
3587
03a53989
EC
35882004-05-03 Eric Christopher <echristo@redhat.com>
3589
3590 * config/mips/mips.md: Fix branch length attribute definition.
3591
318fec6d
AH
35922004-05-03 Aldy Hernandez <aldyh@redhat.com>
3593
3594 * config.gcc: Remove --enable-altivec support.
3595
3596 * config/rs6000/altivec-defs.h: Remove.
3597
553cba65
RO
35982004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3599
3600 * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
3601 * fixinc/fixincl.x: Regenerate.
3602
6adcf89d
UB
36032004-05-03 Uros Bizjak <uros@kss-loka.si>
3604
3605 * config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
3606 definition.
3607 (log?f2, log10?f2, log2?f2): Reimplement expanders with
3608 float_truncate insn.
3609 (*fxtractsf3, *fxtractdf3): Remove insn definition.
3610 (logb?f2): Reimplement expanders with float_truncate insn.
3611
834eb1f0
GS
36122004-05-03 Graham Stott <graham.stott@btinternet.com>
3613
3614 PR 14718
3615 * dwarf2out.c (dwarf2out_imported_module_or_decl): Use
3616 force_type_die for CONST_DECL.
3617
bb8a619e
SB
36182004-05-03 Eric Botcazou <ebotcazou@libertysurf.fr>
3619 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
178af0f3
EB
3620
3621 * config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
3622 tm-dwarf2.h to tm_file.
3623 (sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
3624 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
3625 (ASM_DEBUG_SPEC): Delete.
3626
7a8e07c7
UB
36272004-05-03 Uros Bizjak <uros@kss-loka.si>
3628
3629 * optabs.h (enum optab_index): Add new OTI_expm1.
3630 (expm1_optab): Define corresponding macro.
3631 * optabs.c (init_optabs): Initialize expm1_optab.
3632 * genopinit.c (optabs): Implement expm1_optab using expm1?f2
3633 patterns.
3634 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
3635 using expm1_optab.
3636 (expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
3637 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
3638
3639 * config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
3640 to implement expm1, expm1f and expm1l built-ins as inline x87
3641 intrinsics.
3642
5f2b9599
AO
36432004-05-02 Alexandre Oliva <aoliva@redhat.com>
3644
3645 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
3646 * config/frv/frv.md (*return_true, *return_false): New patterns.
3647
1e5b67ff
KH
36482004-05-02 Kazu Hirata <kazu@cs.umass.edu>
3649
3650 * rtl.h (PHI_NODE_P): Remove.
3651
cfa29a4c
EB
36522004-05-02 Eric Botcazou <ebotcazou@act-europe.fr>
3653
3654 PR middle-end/14988
3655 * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
3656 when passed -2 as 'align'.
3657 (put_var_into_stack): Use 'bool' as the type for the three local
3658 predicates. Adjust calls to put_reg_into_stack.
3659 When passed a CONCAT, instruct put_reg_into_stack to use
3660 a consecutive stack slot for the second part.
3661 (put_reg_into_stack): Remove 'promoted_mode' parameter, add
3662 'consecutive_p' parameter. Turn the three predicates into 'bool'
3663 parameters. Retrieve the register mode from 'reg'.
3664 When consecutive_p is true, instruct assign_stack_local_1 to use
3665 BITS_PER_UNIT alignment.
3666 (put_addressof_into_stack): Use 'bool' as the type for the two
3667 local predicates. Adjust call to put_reg_into_stack.
3668
fc627530
KG
36692004-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3670
3671 * fold-const.c (fold_convert_const, fold): Add missing
3672 FIX_ROUND_EXPR case.
3673
afbe7e61
AO
36742004-05-02 Alexandre Oliva <aoliva@redhat.com>
3675
9850f34a
AO
3676 * configure.ac (FLEX, BISON): Only use tools from the build tree
3677 if build equals host.
3678 * configure: Rebuilt.
3679
764678d1
AO
3680 * config/frv/frv-protos.h (frv_expand_epilogue,
3681 frv_expand_fdpic_call): Add bool argument.
3682 * config/frv/frv.c (frv_function_ok_for_sibcall): New.
3683 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
3684 (frv_expand_epilogue): Use new argument to decide whether to emit
3685 return instruction or copy the return address to LR.
3686 (frv_expand_fdpic_call): Inline PLT entry when emitting direct
3687 sibcalls.
3688 (sibcall_operand): New.
3689 * config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
3690 PLUS nor LABEL_REF. Add sibcall_operand.
3691 * config/frv/frv.md (call, call_value): Pass false to
3692 frv_expand_fdpic_call.
3693 (call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
3694 (sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
3695 sibcall_value_internal, sibcall_value_fdpicdi): New.
3696 (return_unsigned_true, return_unsigned_false): New.
3697 (epilogue): Adjust call to frv_expand_epilogue.
3698 (sibcall_epilogue): New.
3699
afbe7e61
AO
3700 * config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
3701 (CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
3702 before redefining them.
3703
ca3df643
KG
37042004-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3705
3706 * builtins.c (fold_fixed_mathfn): New function.
3707 (fold_builtin_lround, fold_builtin): Use it.
3708
f2c0cb15
JJ
37092004-05-01 Jakub Jelinek <jakub@redhat.com>
3710
3711 * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
3712 also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
3713
ea2637eb
KH
37142004-05-01 Kazu Hirata <kazu@cs.umass.edu>
3715
3716 * config/cris/cris.h: Revert my "fix comment typos" patch.
3717
d0cb84e9
RS
37182004-05-01 Richard Sandiford <rsandifo@redhat.com>
3719
6c3db3ab 3720 * config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
d0cb84e9 3721
ebade076
FH
37222004-05-01 Falk Hueffner <falk@debian.org>
3723
3724 * config/alpha/alpha.md (builtin_insbl, builtin_inswl,
3725 builtin_insll): Disallow 0 as first input operand.
3726
0962c33d
FH
37272004-05-01 Falk Hueffner <falk@debian.org>
3728
3729 * config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
3730
e2655d15 37312004-05-01 Ulrich Weigand <uweigand@de.ibm.com>
03a53989 3732
e2655d15 3733 PR middle-end/15054
03a53989 3734 * expr.c (expand_expr_real): Do not call preserve_temp_slots
e2655d15
UW
3735 on a TARGET_EXPR temp.
3736 * function.c (assign_stack_temp_for_type): Set 'keep' flag for
3737 TARGET_EXPR temp slots.
3738
77306e3e
PB
37392004-05-01 Paolo Bonzini <bonzini@gnu.org>
3740
3741 * simplify-rtx.c (simplify_ternary_operation): When
3742 converting an IF_THEN_ELSE to a relational op, return
3743 correct mode.
3744
3bf05748
KG
37452004-04-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3746
3747 * builtins.c (fold_builtin_round): Fix comment typo.
3748 (fold_builtin_lround): New function.
3749 (fold_builtin): Use it.
3750
c0873231
AP
37512004-04-20 Andrew Pinski <pinskia@physics.uc.edu>
3752
3753 PR target/11608
3754 * config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
3755 more like the one in config/dbxelf.h.
3756
5c5214a9
ZW
37572004-04-30 Zack Weinberg <zack@codesourcery.com>
3758
3759 * tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
3760 and adjust definition accordingly.
3761 (TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
3762 (TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
3763 * expr.c (store_constructor): Do not access TYPE_DOMAIN of a
3764 VECTOR_TYPE.
3765
67214984
JM
37662004-04-30 Jason Merrill <jason@redhat.com>
3767
3768 PR c++/14587
3769 * config/i386/winnt.c (associated_type): Look for attributes on
3770 the TYPE_MAIN_VARIANT of *this.
3771 * attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
3772 apply the attributes to the variants.
3773
b73f075a
PB
37742004-04-30 Paul Brook <paul@codesourcery.com>
3775
3776 * config.gcc: Simplify arm --with-{cpu,tune} test.
3777 * config/arm/arm-cores.def: Document whitespace restrictions.
3778
5076da17
RO
37792004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3780
3781 PR other/1963
3782 * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
3783
8a897bf9 37842004-04-30 Brian Ford <ford@vss.fsi.com>
bb8a619e
SB
3785 DJ Delorie <dj@redhat.com>
3786
3787 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
3788 (DWARF2_DEBUGGING_INFO): Define to enable.
3789 (DBX_REGISTER_NUMBER): Define to use the svr4 register map for
3790 DWARF2.
3791 * configure.ac (Target-specific assembler checks)
3792 <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
3793 relocs.
3794 * configure: Regenerate.
3795 * config.in: Likewise.
3796
3797 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
3798 (ASM_OUPUT_DWARF_OFFSET): Define.
8a897bf9 3799
ed9676cf
AK
38002004-04-29 Andreas Krebbel <krebbel1@de.ibm.com>
3801
3802 * config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
3803 (s390_emit_call): New function prototype added.
3804 (s390_tls_get_offset): Function removed.
3805 * config/s390/s390.c (s390_function_ok_for_sibcall,
3806 s390_call_saved_register_used_p): New functions.
3807 (TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
3808 (s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
3809 (s390_emit_tls_call_insn): New function.
3810 (legitimize_tls_address): Call s390_emit_tls_call_insn instead of
3811 emit_call_insn.
3812 (s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
5c5214a9 3813 (s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
ed9676cf 3814 added.
5c5214a9 3815 * config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
ed9676cf
AK
3816 register number used to hold the target address for sibcalls.
3817 * config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
3818 New expanders.
5c5214a9 3819 ("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
ed9676cf 3820 "*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
5c5214a9 3821 ("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
ed9676cf
AK
3822 Expanders removed.
3823 ("call", "call_value"): Call s390_emit_call to emit the call patterns.
5c5214a9 3824 ("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
ed9676cf
AK
3825 "*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
3826 ("epilogue"): Changed the call to s390_emit_epilogue to use the
3827 new parameter.
3828
1ae58c30
KH
38292004-04-30 Kazu Hirata <kazu@cs.umass.edu>
3830
3831 * bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
3832 cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
3833 reg-stack.c, varasm.c, config/alpha/ev4.md,
3834 config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
3835 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
3836 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
3837 config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
3838 config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
3839 config/ia64/itanium2.md, config/ip2k/ip2k.c,
3840 config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
3841 config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
3842 comment typos.
3843
78011587
PB
38442004-04-30 Paul Brook <paul@codesourcery.com>
3845
2d84a437 3846 * config.gcc: Default ep9312 to hard-float.
78011587
PB
3847 * config/arm/arm-cores.def: Add ARCH field.
3848 * config/arm/arm.c (FL_FOR_ARCH*): Define.
3849 (arm_arch_cirrus): New variable.
3850 (all_cores): Set and use arch.
3851 (all_architectures): Ditto.
3852 (arm_arch_name): New variable.
3853 (arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
3854 Set and use arm_arch_cirrus.
3855 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
3856 (enum processor_type): Update ARM_CORE define.
3857 (enum target_cpus): Add. Replaces TARGET_CPU_* defines.
3858 (CPP_SPEC): Remove %(cpp_cpu_arch).
3859 (CPP_ARCH_DEFAULT_SPEC): Remove.
3860 (CPP_CPU_ARCH_SPEC): Remove.
3861 (EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
3862 (FPUTYPE_DEFAULT): Don't define here.
3863
e344dbf3
R
38642004-04-30 J"orn Rennecke <joern.rennecke@superh.com>
3865
3866 * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
3867 updates too.
3868
65a939f7
PB
38692004-04-30 Paul Brook <paul@codesourcery.com>
3870
3871 * arm.c (arm_needs_doubleword_align): Use mode alignment.
3872
0bf87ea5
PB
38732004-04-30 Paolo Bonzini <bonzini@gnu.org>
3874
3875 * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
3876 vec_sububs.
3877 [__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
3878 duplicates.
3879
a6bf61c7
UB
38802004-04-30 Uros Bizjak <uros@kss-loka.si>
3881
65a939f7
PB
3882 * config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
3883 atan2?f3 expanders.
a6bf61c7 3884
150e407a
NC
38852004-04-29 Nick Clifton <nickc@redhat.com>
3886
3887 Bug 14093
3888 * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
3889 * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
3890 Delete static from definition.
3891 * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
3892
6862f97f
UB
38932004-04-30 Uros Bizjak <uros@kss-loka.si>
3894
65a939f7
PB
3895 * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
3896 UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
3897 <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
3898 <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
6862f97f 3899
c65a01af
RG
39002004-04-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
3901
3902 * commom.opt (Wfatal-errors): Add it.
3903 * diagnostic.c (flag_fatal_errors): Define it.
3904 (diagnostic_action_after_output): Check for flag_fatal_errors.
3905 * flags.h (flag_fatal_errors): Declare it.
3906 * opts.c (common_handle_option): Add OPT_Wfatal_errors.
3907 * doc/invoke.texi (Warning Options): Document -Wfatal-errors.
3908
d1c6a401
JZ
39092004-04-30 Josef Zlomek <zlomekj@suse.cz>
3910
3911 * gcse.c (remove_reachable_equiv_notes): Delete notes also in
3912 blocks which have kill flag set.
3913
99c012a8
BE
39142004-04-29 Ben Elliston <bje@au.ibm.com>
3915
3916 * configure.ac (--with-as): Abort if user-supplied assembler
3917 cannot be executed.
3918 (--with-ld): Likewise for the linker.
3919 * configure: Regenerate.
3920
d2be4368
KG
39212004-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3922
3923 * convert.c (convert_to_integer): Ensure `long_integer_type_node'
3924 isn't NULL before using it.
3925
15a6f2c3
RS
39262004-04-29 Richard Sandiford <rsandifo@redhat.com>
3927
3928 PR target/15189
3929 * config/mips/mips.md (load_df_low): Use default length.
3930 (load_df_high, store_df_high): Likewise.
3931
effa5d5d
KH
39322004-04-29 Kazu Hirata <kazu@cs.umass.edu>
3933
3934 * config/mips/mips.md, config/mips/sb1.md,
3935 config/rs6000/rs6000.c: Fix comment typos.
3936
2b8a92de
KH
39372004-04-29 Kazu Hirata <kazu@cs.umass.edu>
3938
3939 * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
3940 Fix comment typos.
3941
8fd58397
DR
39422004-04-29 Douglas B Rupp <rupp@gnat.com>
3943
3944 * gcc.c (DELETE_IF_ORDINARY): New macro default definition.
3945 (delete_if_ordinary): Use above macro.
3946 * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
3947 Update copyright.
3948 * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
3949
56141a6a
RE
39502004-04-29 Richard Earnshaw <rearnsha@arm.com>
3951
3952 * c-decl.c (get_parm_info): Use the correct tag keywords when
3953 warning about type declarations in prototypes.
3954
2682e19f
PB
39552004-04-29 Paul Brook <paul@codesourcery.com>
3956
3957 * config.gcc: Pull list of cores from arm-cores.def.
3958
c6fb08ad
PB
39592004-04-29 Paolo Bonzini <bonzini@gnu.org>
3960
3961 * combine.c (combine_simplify_rtx): Adjust call to use
3962 simplify_relational_operation. Do not use SELECT_CC_MODE
3963 when a comparison already has a MODE_CC mode.
0bf87ea5
PB
3964
39652004-04-29 Paolo Bonzini <bonzini@gnu.org>
3966
c6fb08ad
PB
3967 (simplify_set): simplify_relational_operation may now
3968 return another relational expression.
3969 * cse.c (fold_rtx): simplify_relational_operation now
3970 takes of computing the comparison mode.
3971 * dojump.c (compare_from_rtx): Use simplify_relational_operation,
3972 remove dead code.
3973 (do_compare_rtx_and_jump): Likewise.
3974 * integrate.c (subst_constants): simplify_relational_operation
3975 may now return another relational expression.
3976 * simplify-rtx.c (simplify_gen_relational): Move most code to
3977 the new simplify_relational_operation and
3978 simplify_relational_operation_1 functions.
3979 (simplify_relational_operation): Rewritten.
3980 (simplify_relational_operation_1): New function.
3981 (simplify_ternary_operation): simplify_relational_operation
3982 may now return another relational expression.
5c5214a9 3983 (simplify_rtx): Remove unnecessary temp variable.
c6fb08ad 3984
f964bd29
UB
39852004-04-29 Uros Bizjak <uros@kss-loka.si>
3986
2682e19f
PB
3987 * reg-stack.c (swap_to_top): New function.
3988 (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
3989 swap_to_top().
3990 (subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
5c5214a9 3991 (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
2682e19f 3992 UNSPEC_FSCALE_EXP.
f964bd29 3993
2682e19f
PB
3994 * config/i386/i386.md (UNSPEC_FSCALE): Remove.
3995 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
3996 (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
3997 x87's fscale insn.
3998 (*fscalexf4: Define new insn pattern to implement x87 fscale insn.
3999 (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
4000 patterns.
f964bd29 4001
cb83302c
SB
40022004-04-28 Serge Belyshev <1319@bot.ru>
4003
4004 PR 14944
4005 * coverage.c (read_counts_file): Fix usage of warning () call.
4006 * pretty-print.c (pp_base_format_text): Fix typo in the comment.
4007
5ad7ae7f
BE
40082004-04-28 Ben Elliston <bje@au.ibm.com>
4009
4010 * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
4011 options with "-" in the option index.
4012 (SPARC Options): Likewise.
4013 (M32R/D Options): Likewise.
4014
332d782c
KG
40152004-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4016
4017 * convert.c (convert_to_integer): Convert (long)round -> lround,
4018 etc.
4019
90f81f99
AP
40202004-04-28 Andrew Pinski <pinskia@physics.uc.edu>
4021
4022 * config/rs6000/rs6000.c (registers_ok_for_quad_peep):
4023 Return false if we do not have fp register.
4024 (addrs_ok_for_quad_peep): Rename to ...
4025 (mems_ok_for_quad_peep): this.
4026 Add check for volatile memory.
4027 * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
4028 Rename to ...
4029 (mems_ok_for_quad_peep): this.
4030 * config/rs6000/rs6000.md: Change peephole's for lfq/stq
4031 to peephole2's.
4032 (lfq_power2): New instruction.
4033 (stfq_power2): Likewise.
4034
902edd36
JH
40352004-04-28 Jan Hubicka <jh@suse.cz>
4036
4037 PR c/15004
4038 * function.c (do_warn_unused_parameter): Break out form ...
4039 (expand_function_end): ... here; warn only when not using cgraphunit.
4040 * function.h (do_warn_unused_parameter): Declare.
4041 * cgraphunit.c: Include function.h.
4042 (cgraph_finalize_function): Do unused parameter warning.
4043 * Makefile.in (cgraphunit.o): Depend on function.h
4044
a89f5df3
JM
40452004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
4046
4047 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
4048 calling install-info on $(DESTDIR)$(infodir)/dir already being
4049 present.
4050
40f0b3ee
PB
40512004-04-28 Paul Brook <paul@codesourcery.com>
4052
4053 * dwarf2out.c (mem_loc_descriptor): Handle shifts.
4054
c2e2375e
UW
40552004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
4056
5c5214a9 4057 * gcse.c (find_moveable_store): Do not accept store insns with
c2e2375e
UW
4058 REG_EH_REGION note.
4059
9e1622ed
PB
40602004-04-28 Paul Brook <paul@codesourcery.com>
4061
4062 * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
4063 * function.c (assign_temp): Ditto.
4064 * system.h (PROMOTE_FOR_CALL_ONLY): Poison.
4065
e0d4a859
PB
40662004-04-28 Paul Brook <paul@codesourcery.com>
4067
4068 * config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
4069
83532fb7
JZ
40702004-04-28 Josef Zlomek <zlomekj@suse.cz>
4071
4072 * var-tracking.c (variable_different_p): Add a parameter
4073 compare_current_location, compare current location of variable parts
4074 if it is true.
4075 (dataflow_set_different_1): Pass compare_current_location == false.
4076 (dataflow_set_different_2): Pass compare_current_location == false.
4077 (emit_notes_for_differences_1): Pass compare_current_location == true.
4078
cfa29496
UW
40792004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
4080
4081 * config/s390/s390.md ("casesi"): Mark jump table access as
4082 non-trapping and unchanging.
4083
23959f19
JDA
40842004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4085
4086 PR debug/14829
4087 * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
4088 callers.
4089 (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
4090 number for indexing hard_regno_nregs array.
5c5214a9 4091
2f70eed1
GK
40922004-04-27 Geoffrey Keating <geoffk@apple.com>
4093
4094 * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
4095 * config/darwin-crt2.c: Only have contents on __ppc__.
4096
f1dfe704
BW
40972004-04-27 Bob Wilson <bob.wilson@acm.org>
4098
4099 * config/xtensa/xtensa.c (call_insn_operand): Check
4100 SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
4101 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
4102 * config/xtensa/xtensa.md (call, call_value): Likewise.
4103
80408cac
WY
41042004-04-27 Wu Yongwei <adah@sh163.net>
4105
4106 * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
4107 (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
4108 (__gthread_mutex_init_function): Replace CreateMutex with
4109 initialization of custom mutex using CreateSemaphore.
4110 (__gthread_mutex_lock): Use InterlockedIncrement.
4111 (__gthread_mutex_trylock): Use InterlockedCompareExchange.
4112 (__gthread_mutex_unlock): Use InterlockedDecrement and
4113 ReleaseSemaphore to unlock
4114 * config/i386/gthr-win32.c (__gthread_mutex_init_function,
4115 __gthread_mutex_lock, __gthread_mutex_trylock,
4116 __gthread_mutex_unlock): Adjust to match inline versions in
4117 gthr-win32.h.
4118
70301b45
PB
41192004-04-27 Paul Brook <paul@codesourcery.com>
4120
4121 * config/arm/arm.c (arm_promote_prototypes): New function.
4122 (TARGET_PROMOTE_PROTOTYPES): Use it.
4123
4b763d77
PB
41242004-04-27 Paul Brook <paul@codesourcery.com>
4125
4126 * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
4127
7053a0e2
BG
41282004-04-26 Bernard Giroud <bgiroud@free.fr>
4129
4130 * config/alpha.c (alpha_end_function): For OpenVMS gas,
4131 correctly output .pdesc directive before .end.
4132
6d7870d1
JW
41332004-04-26 James E Wilson <wilson@specifixinc.com>
4134
4135 Bug 14927
4136 * config/ia64/ia64.md (movxf): New local op0. Handle case where
4137 operands[0] is a SUBREG. Handle case where operands[1] is a GR reg.
4138
7dd7fb88
ZW
41392004-04-26 Zack Weinberg <zack@codesourcery.com>
4140
4141 * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
4142 * config/pa/pa-hpux10.h: Likewise.
4143 * config/pa/pa-hpux11.h: Likewise.
4144
488061c8
GK
41452004-04-26 Geoffrey Keating <geoffk@apple.com>
4146
4147 * doc/invoke.texi (Overall Options): Document default for -o
4148 for PCH files.
4149
2b92e7f5
RK
41502004-04-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4151
4152 * builtins.c (expand_builtin_update_setjmp_buf): New function.
4153 (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
4154 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
4155
3657dc3e
PB
41562004-04-26 Paul Brook <paul@codesourcery.com>
4157
4158 * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
4159
778ebdd9
PB
41602004-04-26 Paul Brook <paul@codesourcery.com>
4161
4162 * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
4163
7c95f621
RS
41642004-04-25 Roger Sayle <roger@eyesopen.com>
4165
4166 * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
4167 fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and
4168 X % -1 as 0.
4169
29c246a7
HPN
41702004-04-26 Hans-Peter Nilsson <hp@bitrange.com>
4171
4172 PR bootstrap/15141
4173 * except.c (connect_post_landing_pads): Delete insns after the
4174 barrier when generating a unwind_resume_libfunc call.
4175
95df09f0
RK
41762004-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4177
4178 PR/c++ 15119
4179 * tree.c (substitute_placeholder_in_expr, case 4): New case,
4180 for TARGET_EXPR.
4181
41822004-04-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
060c5f00
ZD
4183
4184 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
4185 __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
4186 inhibit_libc is defined.
4187
39ba1719
RS
41882004-04-25 Richard Sandiford <rsandifo@redhat.com>
4189
4190 * config/mips/mips-protos.h (mips_linked_macc_p): Declare.
4191 * config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
4192 * config/mips/mips.c (TARGET_SCHED_REORDER): Define.
4193 (TARGET_SCHED_VARIABLE_ISSUE): Define.
4194 (mips_adjust_cost): Move later in file, next to other sched hooks.
4195 (mips_macc_chains_last_hilo): New variable.
4196 (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
4197 (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
4198 * config/mips/mips.md (may_clobber_hilo): New attribute.
4199
d3535e80
RS
42002004-04-24 Roger Sayle <roger@eyesopen.com>
4201 Bruce Korb <bkorb@gnu.org>
4202
4203 * fixinc/inclhack.def (aix_syswait_2): New fix.
4204 * fixinc/fixincl.x: Regenerate.
4205 * fixinc/tests/base/sys/wait.h: Update for new test.
4206
44688022
AM
42072004-04-24 Alan Modra <amodra@bigpond.net.au>
4208
4209 PR target/14960
4210 * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
4211 to non_fixed_size, and leave out fixed_size from the sum.
4212 (generate_set_vrsave): Correct clobbers.
4213 (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
4214 (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
4215 (rs6000_libcall_value): Likewise.
4216 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
4217 (FUNCTION_ARG_REGNO_P): Likewise.
4218
77278891
UW
42192004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
4220
4221 * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
4222 is a CONST_INT.
4223 (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
4224 with NARROW_OP1 instead of OP1.
4225
170f9e63
UW
42262004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
4227
4228 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
4229 and __s390x__ hosts.
4230
d1c38823
ZD
42312004-03-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4232
4233 * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
4234 _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
4235 * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
4236 BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
4237 BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
4238 * builtins.c (expand_builtin_fork_or_exec): New.
4239 (expand_builtin): Call it.
4240 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
4241 BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
4242 * c-common.c (PID_TYPE): New macro.
4243 (c_common_nodes_and_builtins): Initialize pid_type_node.
4244 * calls.c (special_function_p): Do not handle fork and exec.
4245 (expand_call): Do not handle ECF_FORK_OR_EXEC.
4246 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
4247 __gcov_execv, __gcov_execvp, __gcov_execve): Declare.
4248 * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
4249 __gcov_execv, __gcov_execvp, __gcov_execve): New.
4250 * tree.h (enum tree_index): Add TI_PID_TYPE.
4251 (pid_type_node): New macro.
4252 (ECF_FORK_OR_EXEC): Removed.
4253
1548580c
EB
42542004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4255
4256 PR optimization/13985
4257 * cfgloopmanip.c (fix_loop_placements): New prototype.
4258 Call fix_bb_placements on the preheader of loops that have
4259 been reparented.
4260 (remove_path): Adjust call to fix_loop_placements.
4261
9b2d02a0
AP
42622004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
4263
4264 * config/darwin7.h: New file.
4265 * config.gcc (*-*-darwin*): Add darwin7.h if the
4266 version is greater than 6.
4267 * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
4268 (MATH_LIBRARY): Wrap in ifdefs.
4269
01d4c813
DJ
42702004-04-23 Daniel Jacobowitz <drow@mvista.com>
4271
4272 * config/arm/arm.c (arm_output_epilogue): Reverse the order of
4273 loading iWMMXt registers with a frame pointer. Use post-increment
4274 without a frame pointer.
4275 (arm_expand_prologue): Reverse the order of saving iWMMXt registers.
4276
7797ff53
PB
42772004-04-23 Paolo Bonzini <bonzini@gnu.org>
4278
4279 * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
4280 mode" rather than "-funit-at-a-time" since -O2 enables it
4281 without requiring -f* options. Refer to -fprofile-generate and
4282 -fprofile-use correctly. Move -funit-at-a-time among options
4283 enabled by -O. Add information about unit-at-a-time caveats.
4284
500bee0a
PB
42852004-04-22 Per Bothner <per@bothner.com>
4286
4287 * line-map.h (struct line_maps): New field highest_line.
4288 (linemap_position_for_column): Make non-inline function.
4289 (LINEMAP_POSITION_FOR_COLUMN): New macro.
4290 * line-map.c (linemap_init): Clear highest_line field.
4291 (linemap_add): Set highest_line field.
4292 (linemap_line_start): Minor optimization - use highest_line field.
4293 Reduce maximum column hint to 10000. Update highest_line field.
4294 (linemap_position_for_column): Moved from line-map.h. Optimize a bit.
4295 * cpphash.h (struct cpp_reader): Remove line field - instead use
4296 line_table->highest_line.
4297 (saved_line): Remove unused field.
4298 (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
4299 Use line_table's highest_line field instead of cpp_reader's line.
4300 * cpplib.c (start_directive): Likewise use highest_line field.
4301 (do_line, do_linemarker): Likewise just use newest map.
4302 (_cpp_do_file_change): Don't need to set cpp_reader's line field.
4303 * cpperror.c (cpp_error): Likewise use highest_line field.
4304 * cppfiles.c (open_file_failed: Likewise.
4305 (cpp_make_system_header): Likewise use newest map and highest_line.
4306 * cppinit.c (cpp_create_reader): Don't initialize removed field.
4307 * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
4308 skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
4309 _cpp_lex_direct): Likewise use highest_line.
4310 (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
4311 * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
4312 and use newest map.
4313 * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
4314 * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
4315 (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
4316
8efcd34f
AM
43172004-04-23 Alan Modra <amodra@bigpond.net.au>
4318
9344fdb9 4319 PR bootstrap/14992
8efcd34f
AM
4320 * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
4321 * config/linux.h (USE_LD_AS_NEEDED): Define.
4322 * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
4323 * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
4324 * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
4325 * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
4326 * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
4327 * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
4328 * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
4329
3092d0fc
PB
43302004-04-22 Per Bothner <per@bothner.com>
4331
4332 * cppinit.c (cpp_read_main_file): Return NULL rather than false.
4333 Fixes PR preprocessor/15067.
4334
e203404e
AS
43352004-04-23 Andreas Schwab <schwab@suse.de>
4336
4337 * config/ia64/ia64intrin.h: Add intermediate cast to void * to
4338 avoid aliasing warning.
4339
bade3a00 43402004-04-22 Jan Hubicka <jh@suse.cz>
bdabb153 4341 Mostafa Hagog <mustafa@il.ibm.com>
bade3a00
JH
4342
4343 * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
4344 * cfgloopanal.c (expected_loop_iterations): Change the return value
4345
fb5d4a68
JJ
43462004-04-22 Jakub Jelinek <jakub@redhat.com>
4347
4348 * cselib.h (struct elt_loc_list): Remove canon_loc field.
4349 * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
4350 (cselib_invalidate_mem): Remove all canon_loc and canon_x
4351 traces.
4352
b10e5b3a
JZ
43532004-04-22 Josef Zlomek <zlomekj@suse.cz>
4354
4355 Revert
4356 2004-04-20 Josef Zlomek <zlomekj@suse.cz>
4357
4358 * var-tracking.c (variable_part_different_p): Variable parts
4359 differ when the most recent locations differ.
4360
827555ea
RS
43612004-04-22 Richard Sandiford <rsandifo@redhat.com>
4362
4363 * doc/invoke.texi: Remove the MIPS -membedded-pic option.
4364 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
4365 (embedded_pic_offset): Delete.
4366 * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other
4367 MASK_* constants.
4368 (TARGET_EMBEDDED_PIC): Delete.
4369 (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
4370 (ASM_SPEC): Remove -membedded-pic.
4371 (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
4372 (ASM_OUTPUT_CASE_LABEL): Likewise.
4373 * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
4374 * config/mips/windiss.h (ASM_SPEC): Likewise.
4375 * config/mips/mips.c (struct machine_function): Remove
4376 embedded_pic_fnaddr_rtx.
4377 (TARGET_ENCODE_SECTION_INFO): Remove override.
4378 (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
4379 (override_options): Remove -membedded-pic handling.
4380 (print_operand): Remove handling of '%S'.
4381 (mips_select_section: Remove -membedded-pic handling.
4382 (mips_encode_section_info): Delete.
4383 (mips_output_conditional_branch): Remove mention of -membedded-pic.
4384 * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
4385 -membedded-pic handling.
4386 (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
4387
00ca716b
AM
43882004-04-22 Alan Modra <amodra@bigpond.net.au>
4389
4390 * var-tracking.c (frame_base_decl): Remove useless GTY.
4391
e4463bf1
AH
43922004-04-21 Aldy Hernandez <aldyh@redhat.com>
4393
4394 * config/rs6000/rs6000.c (rs6000_override_options): Error when
4395 user wants altivec and e500 instructions.
4396
e24e0aa7
L
43972004-04-21 H.J. Lu <hongjiu.lu@intel.com>
4398
4399 PR target/14813
4400 * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
4401 in .init_array section to ...
4402 * config/ia64/crtbegin.asm: Here.
4403
4404 * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
4405 and hidden if HAVE_INITFINI_ARRAY is defined.
4406
cb7761f5
JW
44072004-04-21 James E Wilson <wilson@specifixinc.com>
4408
50d32cf6
JW
4409 * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
4410 * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
4411 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
4412 (fp_register_operand, lo_operand): New.
4413 (mips_rtx_costs): Add TUNE_SB1 support.
4414 (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support.
4415 (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
4416 (mips_multipass_dfa_lookahead): New.
4417 * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
4418 TUNE_SB1): New.
4419 (TARGET_SWITCHES): Add -mfp-exceptions support.
4420 (TARGET_FP_EXCEPTIONS_DEFAULT): New.
4421 (BRANCH_COST): Fix whitespace.
4422 * config/mips/mips.md: Include sb1.md.
4423 * config/mips/sb1.md: New file.
4424 * doc/invoke.texi: Document -mfp-exceptions.
4425
cb7761f5
JW
4426 * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix
4427 comment.
4428 * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
4429 (fixincl.o-warn): Delete.
4430
a031e781
AP
44312004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
4432
4433 * config/rs6000/rs6000 (print_operand) ['z']:
4434 Change ifdef of TARGET_MACHO to if TARGET_MACHO.
4435
06a6469a
DJ
44362004-04-21 Daniel Jacobowitz <drow@mvista.com>
4437
4438 * config.gcc: Support --with-arch=iwmmxt for ARM.
4439
665acd1e
RK
44402004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4441
4442 * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
4443 in two more places; remove unneeded force_reg
4444
f9da97f0
AP
44452004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
4446
4447 * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
4448 for TARGET_MACHO.
4449 (print_operand): For TARGET_MACHO check to see if we need a stub
4450 and output one if we need it.
de3c6d93
AP
4451
4452 PR debug/15033
4453 * dwarf2out.c (rtl_for_decl_location): Check for NULL
4454 rtl.
4455
75293ad6
JW
44562004-04-20 James E Wilson <wilson@specifixinc.com>
4457
4458 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
4459 (vall_value_gp): Likewise.
4460
8b495402 44612004-04-20 DJ Delorie <dj@redhat.com>
7dd7fb88 4462
8b495402
DD
4463 * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
4464 variables stored in word registers, then in memory.
4465
77a705e4
EC
44662004-04-20 Eric Christopher <echristo@redhat.com>
4467
4468 * cp/parser.c (cp_parser_declaration): Move translate
4469 up before tokens are lexed.
4470
c56122d8
UB
44712004-04-20 Uros Bizjak <uros@kss-loka.si>
4472
4473 * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
4474 (asin_optab, acos_optab): Define corresponding macros.
4475 * optabs.c (init_optabs): Initialize asin_optab and acos_optab.
4476 * genopinit.c (optabs): Implement asin_optab and acos_optab
4477 using asin?f2 and acos?f2 patterns.
4478 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
4479 using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
4480 (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
4481 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
4482
4483 * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
4484 acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
4485 acos, acosf and acosl built-ins as inline x87 intrinsics.
4486
386d3a16
PB
44872004-04-20 Paul Brook <paul@codesourcery.com>
4488
4489 * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
4490
7aebacee
PB
44912004-04-20 Paul Brook <paul@codesourcery.com>
4492
4493 * config/arm/arm.c (arm_expand_prologue): Fix size calculation.
4494
a7b1dc36
PB
44952004-04-20 Paolo Bonzini <bonzini@gnu.org>
4496
4497 Revert part of 2004-04-17 change that moved -frename-registers
4498 to -O1. -frename-registers is buggy.
4499
4500 * toplev.c (flag_rename_registers): Initialize to 0.
4501 * doc/invoke.texi (Optimize options): Move -frename-registers
4502 to "Not triggered by any -O level" section. Adjust commentary
4503 accordingly.
77a705e4 4504
1548580c 45052004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
57bef48e
AP
4506
4507 * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
4508
169304de
RS
45092004-04-20 Richard Sandiford <rsandifo@redhat.com>
4510
4511 * config/mips/mips.c (mips_legitimize_move): Generate special patterns
4512 for mflo and mfhi instructions.
4513 (mips_output_move): Remove mflo and mfhi handling.
4514 * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
4515 (*mulsidi3_64bit): Update for new mfhi/mflo representation.
4516 Likewise various define_peephole2s.
4517 (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
4518 alternatives.
4519 (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
4520 (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
4521 (mfhilo_di, mfhilo_si): New patterns.
4522
c6ca23fb
JZ
45232004-04-20 Josef Zlomek <zlomekj@suse.cz>
4524
4525 * function.c (assign_parms): Force
4526 MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
4527
6f615a28
JZ
45282004-04-20 Josef Zlomek <zlomekj@suse.cz>
4529
4530 * var-tracking.c (variable_part_different_p): Variable parts differ
4531 when the most recent locations differ.
4532
a1bac22c
JW
45332004-04-19 James E Wilson <wilson@specifixinc.com>
4534
4535 * rtl.h (reg_set_last): Delete declaration.
4536 * rtlanal.c (reg_set_last): Delete.
4537
e419fe91
RS
45382004-04-19 Roger Sayle <roger@eyesopen.com>
4539
4540 * fold-const.c (fold_convert): Make function extern/public.
4541 * tree.h (fold_convert): Prototype here.
4542 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
4543 expand_builtin_strrchr, expand_builtin_strpbrk,
4544 expand_builtin_mempcpy, expand_builtin_bcopy,
4545 expand_builtin_bzero, expand_builtin_memcmp,
4546 expand_builtin_strcmp, expand_builtin_strncmp,
4547 stabilize_va_list, expand_builtin_sprintf,
4548 fold_trunc_transparent_mathfn, fold_builtin_logarithm,
4549 fold_builtin_exponent, fold_builtin_mempcpy,
4550 fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
4551 fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
4552 fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
4553
423c1189
AH
45542004-04-19 Aldy Hernandez <aldyh@redhat.com>
4555
7dd7fb88
ZW
4556 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
4557 (move_from_CR_gt_bit): New.
4558 (cceq_ior_compare): Name previously unnamed pattern. Disable for
4559 E500.
4560 (cceq_rev_compare): Name previously unnamed pattern. Allow for
4561 E500.
4562
4563 * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
4564 (tstsfeq_gpr): Same.
4565 (cmpsfgt_gpr): Same.
4566 (tstsfgt_gpr): Same.
4567 (cmpsflt_gpr): Same.
4568 (tstsflt_gpr): Same.
4569 (e500_cceq_ior_compare): New.
4570 (e500_flip_gt_bit): New.
4571
4572 * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
4573 (print_operand): Add 'c' and 'D'.
4574 (rs6000_generate_compare): Rewrite to generate correct rtl.
4575 (rs6000_emit_sCOND): Handle E500.
4576 (output_cbranch): Adjust for changes in rs6000_generate_compare.
4577 (output_e500_flip_gt_bit): New.
4578
4579 * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
4580 Protoize.
423c1189 4581
d2beeae7
EC
45822004-04-19 Eric Christopher <echristo@redhat.com>
4583
4584 * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
4585
06e7f299
DE
45862004-04-19 David Edelsohn <edelsohn@gnu.org>
4587
4588 * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
4589 fix information.
d2beeae7 4590
8df5a2b4
RO
45912004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4592
4593 * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
4594 download URL.
4595
9ca75f15
DJ
45962004-04-19 Daniel Jacobowitz <drow@mvista.com>
4597
4598 * stor-layout.c (layout_decl): Check DECL_PACKED before calling
4599 ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
4600
4b493aa5
AP
46012004-04-19 Andrew PInski <pinskia@physics.uc.edu>
4602
66a5d24b
AP
4603 * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
4604 (fold_builtin): Update caller to match.
4605
4b493aa5
AP
4606 PR bootstrap/15009
4607 * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
4608
4609 PR bootstrap/14999
4610 * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
4611
3d8f2528
RK
46122004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4613
a3d71605
RK
4614 * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
4615
3d8f2528
RK
4616 * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
4617 (expand_mult_highpart_optab): Likewise.
4618 (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
4619
6f6c1f6d
PB
46202004-04-19 Paul Brook <paul@codesourcery.com>
4621
4622 * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
4623 floatunssisf2, floatunssidf2): New patterns.
4624
fea77ed9
MM
46252004-04-18 Mark Mitchell <mark@codesourcery.com>
4626
33adcb6c
MM
4627 PR other/14918
4628 * doc/invoke.texi (-fprofile-generate): Document requirement to
4629 use -fprofile-generate when linking.
4630
fea77ed9
MM
4631 * doc/extend.texi (Strong Using): Warn users against using this
4632 feature.
4633
76cbf5bf
RS
46342004-04-18 Richard Sandiford <rsandifo@redhat.com>
4635
4636 * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
4637 * config/mips/mips.h (mips_entry, mips_string_length): Delete.
4638 (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
4639 * config/mips/mips.c (struct mips16_constant): Renamed from struct
4640 constant. Propogate change throughout file.
4641 (struct machine_function): Remove insns_len.
4642 (mips_string_length, mips16_strings, string_constants): Delete.
4643 (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
4644 when generating mips16 code. Remove special mips16 treatment of
4645 string constants.
4646 (mips_symbolic_constant_p): Allow mips16 constant pool accesses
4647 to have the form LABEL+CONSTANT.
4648 (mips_symbolic_address_p): Fix comment.
4649 (m16_usym8_4, m16_usym5_4): Delete.
4650 (mips_output_function_epilogue): Remove mips16 string handling.
4651 (mips_output_mi_thunk): Call mips16_lay_out_constants.
4652 (mips_select_section, mips_encode_section_info): Remove mips16
4653 string handling.
4654 (struct mips16_constant_pool): New.
4655 (add_constant): Take a mips16_constant_pool structure. Keep pool
4656 sorted into order of ascending mode size. Keep track of the highest
4657 possible start address, taking padding and the masking of the base PC
4658 value into account.
4659 (dump_constants_1): New function, split out from dump_constants.
4660 Handle vector constants. Use gen_consttable_{int,float} rather than
4661 separate functions for each mode.
4662 (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
4663 rather than separate functions for each alignment.
4664 (mips_find_symbol): Delete.
4665 (mips16_insn_length): New function, split out from
4666 mips16_lay_out_constants.
4667 (mips16_rewrite_pool_refs): New function.
4668 (mips16_lay_out_constants): Rework. Remove string handling.
4669 Always create an inline constant pool.
4670 * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
4671 (UNSPEC_ALIGN): New constants.
4672 (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
4673 (UNSPEC_ALIGN_[248]): Delete.
4674 (consttable_int, consttable_float, align): New patterns.
4675 (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
4676
8d33585c
AH
46772004-04-17 Aldy Hernandez <aldyh@redhat.com>
4678
4679 * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
4680 __unn_args_eq.
4681
03e007d7
AM
46822004-04-17 Alan Modra <amodra@bigpond.net.au>
4683
4684 PR target/14715
4685 * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
4686 with STARTING_FRAME_OFFSET.
4687
3bd06df7
RS
46882004-04-17 Richard Sandiford <rsandifo@redhat.com>
4689
4690 * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
4691 * config/mips/mips.c (macc_msac_operand): New function.
4692 * config/mips/mips.md (*msac): Move after *macc.
4693 (*msac2): New. Generalize macc-related peepholes so that they apply
4694 to msac too.
4695
38d396e5
PB
46962004-04-17 Paolo Bonzini <bonzini@gnu.org>
4697
4698 * opts.c (decode_options): Do not enable flag_rename_registers
4699 and flag_web at -O3.
4700 * toplev.c (flag_rename_registers): Initialize
4701 flag_rename_registers and flag_web to
4702 AUTODETECT_FLAG_VAR_TRACKING.
4703 (default_debug_hooks): New global.
4704 (process_options): Initialize default_debug_hooks. Warn if
4705 -fvar-tracking specified but not supported by the current
4706 debug format. Do not run var tracking at -O0 or if not
4707 supported by the current debug format, even if
4708 -fvar-tracking was given. If -fno-rename-registers
4709 is not specified, always run register renaming if var
4710 tracking is supported by the default debugging information
4711 format for the target, and we are at -O1 or higher; similarly
4712 for -fweb, but only at -O2 or higher.
4713 * doc/invoke.texi (Optimize Options): Document this.
4714
82e923f6
RS
47152004-04-17 Richard Sandiford <rsandifo@redhat.com>
4716
4717 * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
4718 * configure: Regenerate.
4719
f645e2bd
RS
47202004-04-17 Richard Sandiford <rsandifo@redhat.com>
4721
4722 * gcc.c (used_arg): Check whether an option has been removed.
4723
04db08db
RO
47242004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4725
4726 * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
4727 debugging on Solaris 7 and up.
4728
7e270317
RO
47292004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4730
4731 * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
4732 IRIX 5 port.
4733 Remove -save-temps workaround, handled automatically.
4734 Require GNU binutils 2.15 for debugging.
4735 Remove SGI make warnings since GNU make is now required.
4736 (Specific, mips-sgi-irix6): Some markup fixes.
4737 Describe MIPSpro C problems and workarounds.
4738 Mention working O32 ABI support.
4739 Recommend GNU as 2.15 for O32 with debugging.
4740 Remove description of fixed structure pass/return bug.
4741
2d49ce67
DD
47422004-04-16 DJ Delorie <dj@redhat.com>
4743
4744 * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
4745 TYPE_FIELDS.
4746 (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
4747
41067a2f
JDA
47482004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4749
e6b75edc
JDA
4750 * pa.md: Remove unnecessary declarations for asm_out_file.
4751
7945b276
JDA
4752 * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
4753 SAR register. Fix comment.
4754 (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
4755 (%cr11).
4756
41067a2f
JDA
4757 * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
4758
c805f22e
NC
47592004-04-16 Nick Clifton <nickc@redhat.com>
4760
4761 * config/arm/arm.c (arm_override_options): Revert previous patch.
4762 * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
4763 be safely built.
4764
8a897efe
KI
47652004-04-16 Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com>
4766
4767 * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
4768 bug.
4769 (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
4770 TARGET_DEFAULT): Changed. Ditto.
4771 (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
4772 TARGET_ENDIAN_DEFAULT): Added. Ditto.
4773 * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
4774 (TARGET_ENDIAN_DEFAULT): Added.
4775
b069dd3f
KG
47762004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4777
4778 * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
4779 ATTR_CONST_NOTHROW_LIST.
4780
df28deda
KG
47812004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4782
4783 PR/middle-end 14915
4784 * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
4785 BITS_BIG_ENDIAN.
4786
c87fbb0a
PH
47872004-04-15 Pat Haugen <pthaugen@us.ibm.com>
4788
4789 * ra-debug.c (ra_print_rtx): Add break's to case legs.
4790
ea7b98d0
JW
47912004-04-14 James E Wilson <wilson@specifixinc.com>
4792
4793 * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
4794
69f9a345
NN
47952004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
4796
4797 * libada-mk.in: New file.
4798 * configure.ac: Create libada-mk from libada-mk.in.
4799 * configure: Regenerate.
4800
88b28a31
UB
48012004-04-14 Uros Bizjak <uros@kss-loka.si>
4802
4803 * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
4804 (logb_optab, ilogb_optab): Define corresponding macros.
4805 * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
4806 * genopinit.c (optabs): Implement logb_optab and ilogb_optab
4807 using logb?f2 and ilogb?i2 patterns.
4808 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
4809 using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
4810 (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
4811 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
4812
4813 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
4814 and UNSPEC_XTRACT_EXP.
4815
4816 * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
4817 patterns to implement fxtract x87 instruction.
4818 (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
4819 logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
4820 intrinsics.
4821 (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
4822 x87's fxtract insn.
4823
ec6e4092
EC
48242004-04-14 Eric Christopher <echristo@redhat.com>
4825
4826 * config/mips/t-elf: Enable multilibs by default.
4827
ef482a86
AT
48282004-04-14 Andreas Tobler <a.tobler@schweiz.ch>
4829
4830 * bb-reorder.c (fix_crossing_conditional_branches): Adjust the
4831 previous fix to check HAVE_return at runtime too.
4832
cd2b7af0
NC
48332004-04-14 Nick Clifton <nickc@redhat.com>
4834
4835 * config/arm/arm.c (arm_override_options): If the user has not
4836 specified an ABI, then default to AAPCS for the iWMMXt processor.
4837 * config/arm/t-xscale-elf: Remove redundant multilib specifications.
4838 * config/arm/t-xscale-coff: Likewise.
4839
61218d19
KG
48402004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4841
4842 * builtins.c (fold_builtin_isdigit): New.
4843 (fold_builtin): Handle BUILT_IN_ISDIGIT.
4844 * defaults.h: Add TARGET_DIGIT0 and sort.
4845 * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
4846
a69934e0
KG
48472004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4848
4849 * builtins.c (fold_builtin_cabs, fold_builtin): Use
4850 `mathfn_built_in' to determine the new builtin.
4851 * fold-const.c (fold): Likewise.
4852
74b9f2d5
RS
48532004-04-14 Richard Sandiford <rsandifo@redhat.com>
4854
4855 * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
4856 * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
4857 (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
4858 (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
4859 (ASM_SPEC): Update accordingly.
4860 * config/mips/mips.c: Update after above renaming.
4861 * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
4862 * config/mips/vr4120-div.S: Renamed from vr4122-div.S.
4863
540554f4
JW
48642004-04-13 James E Wilson <wilson@specifixinc.com>
4865
4866 * c-opt.c (c_common_post_options): If this_input_filename is NULL,
4867 increment errorcount and return false instead of true.
4868
a072d43b
UB
48692004-04-13 Uros Bizjak <uros@kss-loka.si>:
4870
4871 * optabs.c (expand_twoval_unop): Reorder function arguments.
4872 * builtins.c (expand_builtin_mathfn_3): Update calls to
4873 expand_twoval_unop.
4874
4875 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
4876 and UNSPEC_TAN_TAN. Add missing comment.
4877
4878 * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
4879 patterns to implement fptan x87 instruction.
4880 (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
4881 and tanl built-ins as inline x87 intrinsics. Define corresponding
4882 peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
4883 (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
4884 x87's fptan insn.
4885
b50b729d
RH
48862004-03-13 Richard Henderson <rth@redhat.com>
4887
4888 * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
4889 for LABEL_REFs.
4890
3a4bdd05
RH
4891 * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
4892 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
4893 * doc/invoke.texi: Update to match.
4894
73ad3de5
RH
4895 * varasm.c (unlikely_text_section): Use assemble_align instead of
4896 ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately
4897 correct alignment argument.
4898
9532c14f
UW
48992004-04-13 Ulrich Weigand <uweigand@de.ibm.com>
4900
4901 * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
4902 after setting reg_last_reload_reg for optional output reloads.
4903
3d3947a9
FJ
49042004-04-12 Fariborz Jahanian <fjahanian@apple.com>
4905
4906 * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
4907 Definition of these two macros are corrected by adding
4908 matchine right paren.
4909
f778cbf0
JL
49102004-04-12 Jonathan Larmour <jifl@eCosCentric.com>
4911
4912 * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
4913
5ea9cb6e
RS
49142004-04-12 Roger Sayle <roger@eyesopen.com>
4915
4916 * config/i386/i386.c (output_387_reg_move): New function.
4917 * config/i386/i386-protos.h (output_387_reg_move): Prototype here.
4918 * config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
4919 *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
4920 *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
4921 truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
4922
1c9766da
RK
49232004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4924
4925 * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
4926 TYPE_DECL.
4927 * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
4928 * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
4929 * stor-layout.c (variable_size): Don't check for MINUS_EXPR.
4930 Use skip_simple_arithmetic to find SAVE_EXPR.
4931 (force_type_save_exprs, force_type_save_exprs_1): New functions.
4932 * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
4933 Properly chain multiple pointers.
4934 (copy_tree_r): Copy a TYPE_DECL.
4935 * tree.c (variably_modified_type_p): Add some missing tests and
4936 make some other minor changes.
4937 * tree.h (force_type_save_exprs): New declaration.
4938
1e9b78b0
RS
49392004-04-12 Roger Sayle <roger@eyesopen.com>
4940
4941 * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
4942 Remove fall throughs. Convert 0/x and 0%x into x&0 when x has
4943 side-effects. Don't convert x/1.0 into x if we honor signaling NaNs.
4944 Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert
4945 x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize
4946 x%-1 into 0 (or x&0 if x has side-effects).
4947
fef98bf2
AH
49482004-04-11 Aldy Hernandez <aldyh@redhat.com>
4949
4950 * config/rs6000/rs6000.md: Document why a pattern is not
4951 available.
4952
4953 * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
4954 of floats on the E500.
4955 (branch_positive_comparison_operator): Do not allow NE even on the
4956 E500.
4957
642af3be
AH
49582004-04-11 Aldy Hernandez <aldyh@redhat.com>
4959
4960 * config/rs6000/rs6000.c (rs6000_assemble_integer): Change
4961 in_text_unlikely_section to in_unlikely_text_section.
4962
b3e65ebb
RS
49632004-04-11 Roger Sayle <roger@eyesopen.com>
4964
4965 * fold-const.c (fold_binary_op_with_conditional_arg): Tweak
4966 calling convention to allow a NULL_TREE to be returned. Factor
4967 sanity checks from callers, return NULL_TREE when appropriate.
4968 (fold): Handle COMPOUND_EXPR operands of binary expressions
4969 before COND_EXPR operands. Use reorder_operands_p(a,b) to check
4970 whether a op (b,c) can be rewritten as (b, a op c). Simplify
4971 calls to fold_binary_op_with_conditional_arg.
4972
19d33948
KG
49732004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4974
4975 * config/mips/iris5.h (current_section_flags): Add
4976 in_unlikely_executed_text and default case.
4977
cf22ce3c
AT
49782004-04-11 Andreas Tobler <a.tobler@schweiz.ch>
4979
4980 * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
4981 failure on solaris. Place ifdef HAVE_return around gen_ret call.
4982 * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
4983 HAVE_return and place it around the place where it is needed.
4984
34982294
AP
49852004-04-11 Andrew Pinski <pinskia@physics.uc.edu>
4986
4987 * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
4988 ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
4989 and NORMAL_TEXT_SECTION_NAME.
4990 (unlikely_text_section): Check targetm.have_named_sections
4991 instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
4992 instead of SECTION_FORMAT_STRING.
4993 * config/mips/iris5.h (current_section_name): Add
4994 in_unlikely_executed_text case and move the abort into the switch.
4995 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
4996 (NORMAL_TEXT_SECTION_NAME): Remove.
4997 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
4998 (SECTION_FORMAT_STRING): Remove.
4999 * defaults.h (SECTION_FORMAT_STRING): Remove.
5000 * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
5001 (SECTION_FORMAT_STRING): Remove.
5002
c7e1876b
JM
50032004-04-10 Joseph S. Myers <jsm@polyomino.org.uk>
5004
5005 * c-typeck.c (common_type): Prefer long long to long when same
5006 precision.
5007
7c3ac422
ZW
50082004-04-09 Zack Weinberg <zack@codesourcery.com>
5009
5010 PR 14887
5011 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
5012 mode argument.
5013 * config/ia64/ia64.c (ia64_hpux_file_end): Check
5014 TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
5015
0b24db88
RS
50162004-04-09 Roger Sayle <roger@eyesopen.com>
5017
5018 * simplify-rtx.c (mode_signbit_p): New function to check whether
5019 an RTX is an immediate constant that represents the most significant
5020 bit of a given machine mode.
5021 (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
5022 C is the sign bit.
5023 (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
5024 when C2 is the sign bit.
5025 (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
5026 is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
5027 sign bit.
5028
ce58118c
KG
50292004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5030
5031 * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
5032 TYPE_MODE.
5033
c29726e2
AP
50342004-04-09 Andrew Pinski <pinskia@physics.uc.edu>
5035
5036 * c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
5037 of TREE_READONLY for types.
5038
750054a2
CT
50392004-04-09 Caroline Tice <ctice@apple.com>
5040
7c3ac422 5041 * basic-block.h (struct edge_def): Add new field, crossing_edge.
750054a2
CT
5042 (struct basic_block_def): Add new field, partition.
5043 (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
5044 definitions.
7c3ac422 5045 (partition_hot_cold_basic_blocks): Add extern function
750054a2 5046 declaration.
7c3ac422 5047 * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
750054a2
CT
5048 include statements.
5049 (N_ROUNDS): Increase the maximum number of rounds by 1.
5050 (branch_threshold): Add array value for new round.
5051 (exec_threshold): Add array value for new round.
5052 (push_to_next_round_p): New function.
5053 (add_unlikely_executed_notes): New function.
5054 (find_rarely_executed_basic_blocks_and_crossing_edges): New function.
5055 (mark_bb_for_unlikely_executed_section): New function.
5056 (add_labels_and_missing_jumps): New function.
5057 (add_reg_crossing_jump_notes): New function.
5058 (fix_up_fall_thru_edges): New function.
5059 (find_jump_block): New function.
5060 (fix_crossing_conditional_branches): New function.
5061 (fix_crossing_unconditional_branches): New function.
5062 (fix_edges_for_rarely_executed_code): New function.
5063 (partition_hot_cold_basic_blocks): New function.
5064 (find_traces): Add an extra round for partitioning hot/cold
5065 basic blocks.
5066 (find_traces_1_round): Add a parameter. Modify to push all cold blocks,
5067 and only cold blocks, into the last (extra) round of collecting traces.
7c3ac422 5068 (better_edge_p): Add a parameter. Modify to favor non-crossing edges
750054a2 5069 over crossing edges.
7c3ac422 5070 (bb_to_key): Add code to correctly identify cold blocks when
750054a2
CT
5071 doing partitioning.
5072 (connect_traces): Modify to connect all the non-cold traces first, then
5073 go back and connect up all the cold traces.
5074 (reorder_basic_blocks): Add call to add_unlikely_executed_notes.
5075 * cfg.c (entry_exit_blocks): Add initialization for partition field in
5076 entry and exit blocks.
7c3ac422 5077 * cfgbuild.c (make_edges): Update current_function_has_computed_jump
750054a2
CT
5078 if we are doing hot/cold partitioning.
5079 * cfgcleanup.c (cfglayout.h): Add new include statement.
7c3ac422 5080 (try_simplify_condjump): Modify to not attempt on blocks with jumps
750054a2
CT
5081 that cross section boundaries.
5082 (try_forward_edges): Likewise.
5083 (merge_blocks_move_predecessor_nojumps): Likewise.
5084 (merge_blocks_move_successor_nojumps): Likewise.
5085 (merge_blocks_move): Likewise.
5086 (try_crossjump_to_edge): Modify to not attempt after we have done
5087 the block partitioning.
5088 (try_crossjump_bb): Modify to not attempt on blocks with jumps that
5089 cross section boundaries.
5090 (try_optimize_cfg): Likewise.
5091 * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
5092 jumps that cross section boundaries.
7c3ac422 5093 * cfglayout.c (flags.h): Add new include statement.
750054a2 5094 (update_unlikely_executed_notes): New function.
7c3ac422
ZW
5095 (fixup_reorder_chain): Add code so when a new jumping basic block is
5096 added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
750054a2
CT
5097 updated appropriately.
5098 (duplicate_insn_chain): Add code to duplicate the new NOTE insn
5099 introduced by this optimization.
7c3ac422
ZW
5100 * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
5101 extern function declaration.
750054a2
CT
5102 * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
5103 list of notes that can be deleted.
5104 (create_basic_block_structure): Add initialization for partition field.
5105 (rtl_can_merge_blocks): Modify to test blocks for jumps that cross
5106 section boundaries.
5107 (try_redirect_by_replacing_jump): Modify to not attempt on jumps that
5108 cross section boundaries.
5109 (commit_one_edge_insertion): Add code so newly created basic block
7c3ac422 5110 ends up in correct (hot or cold) section. Modify to disallow
750054a2
CT
5111 insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
5112 (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
5113 crosses section boundaries.
5114 (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
5115 cross section boundaries.
5116 (force_nonfallthru_and_redirect): Modify to make sure new basic block
5117 ends up in correct section, with correct notes attached.
7c3ac422
ZW
5118 * common.opt (freorder-blocks-and-partition): Add new flag for this
5119 optimization.
5120 * dbxout.c (dbx_function_end): Add code to make sure scope labels at
5121 the end of functions are written into the correct (hot or cold)
5122 section.
750054a2
CT
5123 (dbx_source_file): Add code so writing debug file information
5124 doesn't incorrectly change sections.
7c3ac422 5125 * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
750054a2 5126 in partitioning hot/cold basic blocks into separate sections.
7c3ac422 5127 (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
750054a2
CT
5128 section partitioning.
5129 (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
5130 conditional branches can span all of memory.
5131 (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
5132 unconditional branches can span all of memory.
7c3ac422
ZW
5133 * final.c (scan_ahead_for_unlikely_executed_note): New function.
5134 (final_scan_insn): Add code to check for NOTE instruction indicating
5135 whether basic block belongs in hot or cold section, and to make sure
5136 the current basic block is being written to the appropriate section.
5137 Also added code to ensure that jump table basic blocks end up in the
5138 correct section.
5139 * flags.h (flag_reorder_blocks_and_partition): New flag.
750054a2
CT
5140 * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
5141 one of the branches has a jump that crosses between sections.
5142 (find_if_case_2): Likewise.
7c3ac422 5143 (ifcvt): Modify to not attempt to mark loop exit edges after
750054a2 5144 hot/cold partitioning has occurred.
7c3ac422
ZW
5145 * opts.c (decode_options): Code to handle new flag,
5146 flag_reorder_blocks_and_partition; also to turn it off if
750054a2 5147 flag_exceptions is on.
7c3ac422
ZW
5148 (common_handle_option): Code to handle new flag,
5149 flag_reorder_blocks_and_partition.
5150 * output.h (unlikely_text_section): New extern function declaration.
750054a2 5151 (in_unlikely_text_section): New extern function declaration.
7c3ac422
ZW
5152 * passes.c (rest_of_handle_stack_regs): Add
5153 flag_reorder_blocks_and_partition as an 'or' condition for calling
750054a2 5154 reorder_basic_blocks.
7c3ac422 5155 (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
750054a2
CT
5156 as an 'or' condition for calling reorder_basic_blocks.
5157 (rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
7c3ac422
ZW
5158 * print-rtl.c (print_rtx): Add code for handling new note,
5159 NOTE_INSN_UNLIKELY_EXECUTED_CODE
5160 * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
750054a2
CT
5161 (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
5162 cross between section boundaries.
7c3ac422
ZW
5163 * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
5164 indicating the basic block containing it belongs in the cold section.
750054a2
CT
5165 (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
5166 between hot and cold sections.
7c3ac422
ZW
5167 * toplev.c (flag_reorder_blocks_and_partition): Add code to
5168 initialize this flag, and to tie it to the command-line option
5169 freorder-blocks-and-partition.
5170 * varasm.c (cfglayout.h): Add new include statement.
5171 (unlikely_section_label_printed): New global variable, used for
5172 determining when to output section name labels for cold sections.
750054a2
CT
5173 (in_section): Add in_unlikely_executed_text to enum data structure.
5174 (text_section): Modify code to use SECTION_FORMAT_STRING and
5175 NORMAL_TEXT_SECTION_NAME macros.
5176 (unlikely_text_section): New function.
5177 (in_unlikely_text_section): New function.
7c3ac422
ZW
5178 (function_section): Add code to make sure beginning of function is
5179 written into correct section (hot or cold).
5180 (assemble_start_function): Add code to make sure stuff is written to
5181 the correct section.
5182 (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
5183 to an if statement that was checking 'in_text_section'.
5184 (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
5185 condition to an if statement that was checking 'in_text_section'.
5186 (default_section_type_flags_1): Add check: if in cold section
5187 flags = SECTION_CODE.
750054a2
CT
5188 * config/darwin.c (darwin_asm_named_section): Modify to use
5189 SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
7c3ac422 5190 * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
750054a2
CT
5191 specifically for the i386.
5192 (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
7c3ac422 5193 * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
750054a2
CT
5194 text string to something more informative.
5195 (NORMAL_TEXT_SECTION_NAME): Add new definition.
5196 (SECTION_FORMAT_STRING): Add new definition.
7c3ac422
ZW
5197 * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
5198 '!in_unlikely_text_section' as an 'and' condition to an if statement
5199 that was already checking '!in_text_section'.
5200 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
5201 UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
5202 sure these are properly defined for linux on ppc.
5203 * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
5204 for this new flag.
750054a2
CT
5205 * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
5206 reg_note.
7c3ac422
ZW
5207 * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
5208 HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
750054a2
CT
5209 these new macros.
5210
88673361
RS
52112004-04-08 Roger Sayle <roger@eyesopen.com>
5212
5213 * function.c (gen_mem_addressof): When changing the RTX from a REG
5214 to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
5215
82a6a758
RS
52162004-04-08 Roger Sayle <roger@eyesopen.com>
5217
5218 PR target/14888
5219 * config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
5220 truncxfdf2_noop): Provide dummy "fmov" implementations.
5221
febc5365
ILT
52222004-04-08 Ian Lance Taylor <ian@wasabisystems.com>
5223
2a782c52
ILT
5224 * gcc.c (default_compilers): Add missing initializers.
5225
febc5365
ILT
5226 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
5227 Return 1 if file was successfully mapped.
5228
f07e9f0f
GK
52292004-04-08 Geoffrey Keating <geoffk@apple.com>
5230
54e109ed
GK
5231 PR pch/13419
5232 PR pch/14137
5233 Radar #: 3315288
5234 * doc/invoke.texi (Precompiled Headers): Suggest -o
5235 to put an output file in a particular place. Be more detailed
5236 about which options affect PCH validity and which options
5237 might not work.
5238 * c-pch.c (pch_matching): New.
5239 (MATCH_SIZE): New.
5240 (struct c_pch_validity): New field 'match'.
5241 (pch_init): Handle pch_matching.
5242 (c_common_valid_pch): Check pch_matching.
5243
f07e9f0f
GK
5244 * explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
5245
f7b6f250
MM
52462004-04-08 Mark Mitchell <mark@codesourcery.com>
5247
5248 * doc/invoke.texi (Precompiled Headers): Warn about known
5249 problems.
5250
4a77e08c
DS
52512004-04-08 Danny Smith <dannysmith@users.sourceforge.net>
5252
5253 PR c++/14808
5254 * defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
5255 to 1 if ASM_OUTPUT_DEF is defined.
5256 * doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
5257 * config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
5258 Set to non-zero iff not a one_only decl.
5259
cc81dde8
PB
52602004-04-08 Paul Brook <paul@codesourcery.com>
5261
5262 * arm.h (CLASS_LIKELY_SPILLED_P): Define.
5263
d4453b7a
PB
52642004-04-08 Paul Brook <paul@codesourcery.com>
5265
5266 * explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
5267 PROMOTE_FOR_CALL_ONLY.
5268 * config/arm/arm-protos.h (arm_function_value): Declare.
5269 * config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
5270 (TARGET_PROMOTE_PROTOTYPES): Return false.
5271 (arm_function_value): New function.
5272 * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
5273 (FUNCTION_VALUE): Call arm_function_value.
5274 * config/cris/cris.h (PROMOTE_MODE): Rename ...
5275 (PROMOTE_FUNCTION_MODE): ... to this.
5276 (PROMOTE_FOR_CALL_ONLY): Remove.
5277 * config/mmix/mmix.h: Likewise.
5278 * config/s390/s390.h: Likewise.
5279 * config/sparc/sparc.h: Likewise.
5280 * config/sparc/sparc.c: Update comments about PROMOTE_MODE.
5281 * doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
5282 (TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
5283 (PROMOTE_FOR_CALL_ONLY): Remove.
5284
c00e272e
JS
52852004-04-08 Joel Sherrill <joel@oarcorp.com>
5286
5287 PR ada/14538
5288 * ada/5rosinte.adb: Remove fake mprotect() body.
5289 * ada/5rosinte.ads: Add SA_SIGINFO.
5290 * ada/5rtpopsp.adb: Rewrite to use new interface.
5291 * ada/init.c: Reorder so the simple single OS conditional __rtems__
5292 is tested before more complex ones which mix UNIX and embedded
5293 systems in the conditional.
5294
4afae4b9
JS
52952004-04-08 Joel Sherrill <joel@oarcorp.com>
5296
5297 PR ada/14665
5298 * ada/osint.adb (Find_Program_Name): Rework to properly handle
5299 filenames which end in .exe or have versioning suffixes like VMS.
5300
bfbdca0b
AP
53012004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
5302
467f3af0 5303 PR target/10129
bfbdca0b
AP
5304 * config/darwin.c (darwin_encode_section_info): When the decl has
5305 a DECL_INITIAL, it is only defined also when it is not a common.
5306
df0785d6
KG
53072004-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5308
5309 * builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
5310 (fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
5311
2897f1d4
L
53122004-04-07 H.J. Lu <hongjiu.lu@intel.com>
5313
5314 * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
5315 global register variables.
5316
6ed6a1b9
JM
53172004-04-07 Joseph S. Myers <jsm@polyomino.org.uk>
5318
5319 * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
5320 rpc_xdr_lvalue_cast_b): New fixes.
5321 * fixinc/fixincl.x: Regenerate.
5322 * fixinc/tests/base/rpc/xdr.h: Add new tests.
5323
fc091c8e
DE
53242004-04-07 David Edelsohn <edelsohn@gnu.org>
5325
5326 * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
5327 to power4 and power5 entries.
5328
7876228d
GK
53292004-04-06 Geoffrey Keating <geoffk@apple.com>
5330
5331 * c-common.h (pending_lang_change): Mark for PCH.
5332
b21292d0
CT
53332004-04-07 Caroline Tice <ctice@apple.com>
5334
5335 * gcc.c (main): Move 'break' in main loops (on an error)
5336 to wait until error processing has occurred.
7c3ac422 5337
615be2cf
NN
53382004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
5339
5340 * config.gcc: Stop changing enable_threads midstream.
5341 Replace uses of enable_threads_flag with enable_threads.
5342 * configure.ac: Replace uses of enable_threads_flag with
5343 enable_threads. Improve autoconf quotation in one place.
5344 * configure: Regenerate.
5345
6c7cf1f0
UB
53462004-04-06 Uros Bizjak <uros@kss-loka.si>
5347
5348 * builtins.c: Implement support for sincos function.
5349 (expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
5350 BUILT_IN_COS{,F,L}.
5351 (expand_builtin_mathfn_3): New function.
5352 (expand_builtin): Expand BUILT_IN_SIN{,F,L} and
5353 BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
5354 flag_unsafe_math_optimization is set.
5355
5356 * optabs.h (enum optab_index): Add new OTI_sincos.
5357 (sincos_optab): Define corresponding macro.
5358
5359 * optabs.c (init_optabs): Initialize sincos_optab.
5360 (expand_twoval_unop): New function.
5361
5362 * genopinit.c (optabs): Implement sincos_optab using sincos?f3
5363 patterns.
5364
5365 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
5366 and UNSPEC_SINCOS_SIN.
5367
5368 * config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
5369 sincosxf3): New patterns to implement sincos, sincosf and sincosl
5370 built-ins as inline x87 intrinsics. Define splits for
5371 sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
5372 cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
5373 sincos patterns.
5374 (sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
5375 (cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
5376
a072d43b
UB
5377 (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
5378 x87's fsincos insn.
6c7cf1f0 5379
23bd1514
DP
53802004-04-06 Devang Patel <dpatel@apple.com>
5381
5382 PR 14467
5383 * config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
7c3ac422 5384
c5124497
JDA
53852004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5386
5387 * doc/install.texi: Update HP-UX 11 installation procedure.
5388
485d61a7
PB
53892004-04-06 Paul Brook <paul@codesourcery.com>
5390
5391 * doc/sourcebuild.texi: Remove obsolete contraint on testcases.
5392
13ecc9e0
KK
53932004-04-05 Kaz Kojima <kkojima@gcc.gnu.org>
5394
5395 * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
5396 when the TLS address is generated by a function call.
5397 * config/sh/sh.md (tls_global_dynamic): Use a call expression.
5398 (tls_local_dynamic): Likewise.
5399
e0e4ac7f
AP
54002004-04-05 Andrew Pinski <pinskia@physics.uc.edu>
5401
5402 * tree.c (reconstruct_complex_type): Use TYPE_READONLY
5403 and TYPE_VOLATILE.
5404
0855eab7
CT
54052004-04-05 Caroline Tice <ctice@apple.com>
5406
485d61a7 5407 * gcc.c (combine_flag): New global variable, for new driver option.
0855eab7
CT
5408 (struct compiler): Add two new fields, to be used when
5409 combining multiple input files in a single pass (IMA).
7c3ac422
ZW
5410 (default_compilers): Add values for the new fields to all
5411 compiler entries. Modify the "@c" compiler entry for doing IMA
0855eab7
CT
5412 properly with "-save-temps" and the "combine" flag.
5413 (option_map): Add new driver option, "--combine", to tell driver
5414 to pass multiple input files to compiler at one time.
5415 (have_o_argbuf_index): New global variable.
5416 (store_arg): Modify to assign value to have_o_argbuf_index.
5417 (struct infile): Add three new fields, to help with IMA.
5418 (display_help): Add help for new "combine" option.
5419 (process_command): Remove local variable have_o; add code to check
5420 for new "combine" option; remove assignment to combine_inputs.
5421 (do_spec_1): Modify to deal with IMA better.
5422 (main): Make variable 'lang_n_infiles' local to entire function
7c3ac422
ZW
5423 rather than to a single block. Use flag combine_flag to
5424 determine whether to do IMA or not; Modify loop initializing
0855eab7
CT
5425 infiles to deal properly with linker files.
5426 Add code for doing preprocessing in presence of
5427 IMA with "-save-temps" flag. Modify "main" loop to handle
5428 multiple input files, in multiple languages, with or without
5429 preprocessing, gracefully.
5430 * toplev.c (set_src_pwd): Modify to not complain if attempting to
5431 re-set it to same directory it's previously been set to (avoid
7c3ac422 5432 irritating, meaningless warning messages when doing IMA with
0855eab7
CT
5433 save-temps).
5434 * doc/invoke.texi: Add "-combine" to list of Overall Options;
5435 remove documentation about IMA that is no longer accurate; Add
5436 documentation explaining what "-combine" does.
5437 * ada/lang-specs.h: Add initialization values for new fields in
5438 "struct compiler".
5439 * cp/lang-specs.h: Likewise.
5440 * f/lang-specs.h: Likewise.
5441 * java/lang-specs.h: Likewise.
5442 * objc/lang-specs.h: Likewise.
5443 * treelang/lang-specs.h: Likewise.
5444
26be75db
DE
54452004-04-05 David Edelsohn
5446
5447 * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
5448 symbol handling.
5449
fda935a2 54502004-04-05 Jakub Jelinek <jakub@redhat.com>
26be75db 5451 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
fda935a2
JJ
5452
5453 PR optimization/13424 (hppa), bootstrap/14462, c/14828
5454 * pa.md: Use replace_equiv_address to retain the attributes of the
5455 memory operands used in the split and peephole2 patterns for optimizing
5456 the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
5457
4f976745
RK
54582004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5459
5460 * c-decl.c (build_compound_literal): Use TYPE_READONLY.
5461 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
5462 * objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
5463 * c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
5464 PARM_DECL.
5465 * calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
5466 for a type.
5467 * print-tree.c (print_node): Properly handle side-effects, readonly,
5468 and constant flags.
5469 * tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
5470 and TREE_CONSTANT if not a type.
5471 * tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
5472 (IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
5473 (NON_TYPE_CHECK): New macro.
5474 (TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
5475
5ffc4730
EB
54762004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr>
5477
5478 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
5479 to DWARF2_DEBUG unconditionally.
5480 (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
5481
c38f02df
ILT
54822004-04-04 Ian Lance Taylor <ian@wasabisystems.com>
5483 Nathanael Nerode <neroden@gcc.gnu.org>
5484
5485 PR target/14548
5486 * config.host: Set the shell variable host_can_use_collect2.
5487 Set it to yes by default, and to no for alpha*-dec-*vms*,
5488 i[34567]86-*-mingw32*, and powerpc-*-beos*.
5489 * configure.ac: Set and substitute the shell variable collect2.
5490 Give an error if use_collect2 is yes and host_can_use_collect2 is
5491 no.
5492 * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all
5493 uses. Initialize to @collect2@.
5494 (STAGESTUFF): Remove $(USE_COLLECT2).
5495 * config/alpha/x-vms (USE_COLLECT2): Don't set.
5496 * config/i386/t-mingw32 (USE_COLLECT2): Likewise.
5497 * config/rs6000/t-beos (USE_COLLECT2): Likewise.
5498 * config/pa/t-pa64: Remove commented out USE_COLLECT2.
5499 * configure: Regenerate.
5500
9d317251
RS
55012004-04-04 Roger Sayle <roger@eyesopen.com>
5502
5503 * simplify-rtx.c (simplify_binary_operation): Constant fold
5504 DIV, MOD, UDIV and UMOD using div_and_round_double.
5505
64480988
MM
55062004-04-04 Mark Mitchell <mark@codesourcery.com>
5507
5508 PR c++/14804
5509 * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
5510 RECORD_TYPEs.
5511
aaf3c6d9
MM
55122004-04-04 Mark Mitchell <mark@codesourcery.com>
5513
5514 * doc/invoke.texi (-mabi=o64): Create link to O64 ABI
5515 documentation.
cd3f11a6 5516
d8b7ec41
RS
55172004-04-04 Roger Sayle <roger@eyesopen.com>
5518
5519 * cse.c (cse_insn): Correct usage of simplify_replace_rtx when
5520 updating the REG_EQUAL note on an insn's libcall_insn.
5521
4012b7db
RS
55222004-04-04 Roger Sayle <roger@eyesopen.com>
5523
5524 * df.h: Tidy up whitespace in the definitions of the DF_ flags.
5525
2f63a457
RS
55262004-04-03 Roger Sayle <roger@eyesopen.com>
5527
5528 * fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
5529 with reorder_operands_p.
5530
ef1140a9
JH
55312004-04-03 Jan Hubicka <jh@suse.cz>
5532
5533 * md.texi (vec_set, vec_extract, vec_init): Document.
5534
f736cb3e
GL
55352004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
5536
5537 * opts.c (decode_options): Do function inlining with very small
5538 max-inline-insns-* parameters when optimizing for size.
5539
89c43c0a
VM
55402004-04-02 Vladimir Makarov <vmakarov@redhat.com>
5541
5542 * config/i386/i386.h (TARGET_NOCONA): New macro.
5543 (TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
5544 (processor_type): Add PROCESSOR_NOCONA.
7c3ac422 5545
89c43c0a
VM
5546 * config/i386/i386.md (cpu): Add nocona to the attribute values.
5547
5548 * config/i386/i386.c (nocona_cost): New variable.
5549 (m_NOCONA): New macro.
5550 (x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
5551 x86_branch_hints, x86_use_sahf, x86_single_stringop,
5552 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
5553 x86_integer_DFmode_moves, x86_partial_reg_dependency,
5554 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
5555 x86_decompose_lea, x86_arch_always_fancy_math_387,
5556 x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
5557 x86_ext_80387_constants, x86_four_jump_limit):
5558 (override_options): Add nocona_cost to processor_target_table.
5559 Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
5560 (incdec_operand): Prevent inc/dec generation for Nocona too.
5561 (ix86_issue_rate): Add PROCESSOR_NOCONA.
7c3ac422 5562
cd798543
AP
55632004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
5564
5565 * rtlanal.c (find_reg_note): Manually
5566 unswitch the loop.
5567
a406f566
MM
55682004-04-01 Mark Mitchell <mark@codesourcery.com>
5569
5570 * genemit.c (gen_split): Change prototype of generated code.
5571 * genrecog.c (write_action): Adjust prototype for and calls to
5572 gen_split_*.
5573 * gensupport.c (struct queue_elem): Add split field.
5574 (queue_pattern): Return a value. Clear the split field.
5575 (process_rtx): Maintain an association between an insn and the
5576 split generated from it for a define_insn_and_split.
5577 (process_one_cond_exec): Generate a new split for a
5578 define_insn_and_split.
5579 * config/arm/arm-protos.h (arm_split_constant): Add insn
5580 parameter.
5581 (emit_constant_insn): New function.
5582 (arm_gen_constant): Use it.
5583 * config/arm/arm.md: Adjust calls to arm_split_constant.
5584
18c6ada9
JH
55852004-04-02 Jan Hubicka <jh@suse.cz>
5586
5587 * cgraph.c: Add overall comment.
5588 (cgraph_inline_hash): New global variable.
5589 (cgraph_create_node): Break out from ...
5590 (cgraph_node): ... here.
5591 (cgraph_edge): New function.
5592 (cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
5593 (cgraph_remove_edge): Accept edge, intead of source and destination.
5594 (cgraph_redirect_edge_callee): New.
5595 (cgraph_remove_node): Update all new datastructures.
5596 (cgraph_record_call, cgraph_remove_call): Kill.
5597 (dump_cgraph_node): Break out from ... ; dump new datastructures.
5598 (dump_cgraph): ... here.
5599 (cgraph_function_possibly_inlined_p): Use new hashtable.
5600 (cgraph_clone_edge, cgraph_clone_node): New.
5601 * cgraph.h: Include hashtab.h
5602 (struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
5603 fields, add inlined_to pointer.
5604 (cgraph_node): Add pointer to next_clone.
5605 (cgraph_remove_edge, cgraph_create_edge): Update prototype.
5606 (cgraph_remove_call, cgraph_record_call): Kill.
5607 (cgraph_inline_hash): Declare.
5608 (dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
5609 cgraph_redirect_edge_callee): Declare.
5610 (cgraph_create_edges, cgraph_inline_p): Update prorotype.
5611 (cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
5612 cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
5613 * cgraphunit.c: Add overall comment.
5614 (cgraph_optimize_function): Kill.
5615 (cgraph_assemble_pending_functions): Do not assemble inline clones.
5616 (cgraph_finalize_function): Update call of cgraph_remove_node
5617 (record_call_1): Record call sites.
5618 (cgraph_create_edges): Accept node instead of decl argument.
5619 (error_found): New static variable.
5620 (verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
5621 (cgraph_analyze_function): Update for new datastructures.
5622 (cgraph_finalize_compilation_unit): Plug memory leak.
5623 (cgraph_optimize_function): Kill.
5624 (cgraph_expand_function): Do not use cgraph_optimize_function.
5625 (INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
5626 cgraph_inlined_callees): Kill.
5627 (cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
5628 clones.
5629 (estimate_growth): Simplify.
5630 (cgraph_clone_inlined_nodes): New function.
5631 (cgraph_mark_inline_edge): Re-implement.
5632 (cgraph_mark_inline): Likewise.
5633 (cgraph_check_inline_limits): Simplify.
5634 (cgraph_recursive_inlining_p): New.
5635 (update_callee_keys): Break out from ...
5636 (cgraph_decide_inlining_of_small_functions): ... here; simplify.
5637 (cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
5638 Likewise.
5639 (cgraph_expand_all_functions): Remove inline clones from the ordered
5640 list.
5641 (cgraph_preserve_function_body_p): New predicate.
5642 (cgraph_optimize): Verify cgraph.
5643 * function.h (struct function): Add fields saved_tree/saved_args.
5644 * timevar.def (TV_CGRAPH_VERIFY): Use verifier.
5645 * toplev.c (rest_of_compilation): Do not free cfun.
5646 * tree-inline.c: Include function.h
5647 (struct inline_data): Add saving_p field; replace decl/current_decl by
5648 node/current_node.
5649 (insert_decl_map): New function.
5650 (copy_body_r): Handle saving; update cgraph datastructure.
5651 (copy_body): Handle recursive inlining.
5652 (initialize_inlined_parameters): Likewise.
5653 (expand_call_inline): Propagate node attributes; update cgraph.
5654 (optimize_inline_calls): Verify that datastructure still match.
5655 (save_body): New function.
5656 * tree-inline.h (save_body): New.
5657 * tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
5658 * langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
5659 * langhooks.c (lang_hooks): Add update_decl_after_saving.
5660
717415ad
SB
56612004-04-01 Serge Belyshev <1319@bot.ru>
5662
7c3ac422
ZW
5663 PR target/14702
5664 * config/i386/i386.md: fix source operand constraints in
5665 mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
717415ad 5666
af5bdf6a
WH
56672004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl>
5668
5669 * fold-const.c (folda): Preserve types of comparisons.
5670
54fdc910
RH
56712004-04-01 Richard Henderson <rth@redhat.com>
5672
5673 * toplev.c (backend_init): Move init_optimization_passes call ...
5674 (lang_dependent_init): ... here.
5675
765f1bf9
AM
56762004-04-01 Alan Modra <amodra@bigpond.net.au>
5677 Jakub Jelinek <jakub@redhat.com>
5678
5679 * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
5680 -lgcc --as-needed -lgcc_s --no-as-needed by default.
5681 * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
5682 * configure: Rebuilt.
5683 * config.in: Rebuilt.
5684 * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
5685 (stage2-start, stage3-start, stage4-start): Likewise.
5686 (stageprofile-start, stagefeedback-start): Likewise.
5687
45dcc026
JJ
56882004-04-01 Jakub Jelinek <jakub@redhat.com>
5689
5690 * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
5691 * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
5692 * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
5693 * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
5694 (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
5695 * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
5696 with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
5697 * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
5698 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
5699 * config/sparc/t-linux: Removed.
5700
0b612185
JJ
57012004-04-01 Jakub Jelinek <jakub@redhat.com>
5702
5703 PR c++/14755
5704 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
5705 "bitfld++ == const" to "++bitfld == const + incr" transformations.
5706
a150de29
RK
57072004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5708
5709 * expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
5710 * stor-layout.c (layout_decl): Likewise.
5711 * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
5712 * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
5713 * print-tree.c (print_node): Handle various used of unsigned_flag.
5714 * tree.def (BIT_FIELD_REF): Update comment.
5715 * tree.h (TREE_UNSIGNED): Deleted.
5716 (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
5717
8df83eae
RK
57182004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5719
5720 * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
5721 Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
5722 * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
5723 * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
5724 * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
5725 * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
5726 * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
5727 * config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
5728 * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
5729 * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
5730 REAL_TYPE, not INTEGER_TYPE.
5731 (layout_type, case VECTOR_TYPE): Simplify code.
5732 * tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
5733 * tree.h: Update comments.
5734 (STRIP_NOPS): Use TYPE_UNSIGNED.
5735 (TYPE_UNSIGNED): New macro.
5736 (TYPE_TRAP_SIGNED): Remove now redundant check.
5737 (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
5738
8465edcc
RK
57392004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5740
5741 * function.c (put_var_into_stack): Properly set orig_reg for indirect.
5742
57432004-03-31 Andrew Pinski <pinskia@physics.uc.edu>
efdc5d91
AP
5744
5745 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
5746 Add darwin-fpsave.asm, darwin-vecsave.asm,
5747 and darwin-world.asm.
5748 (TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
5749 as the asm files contain altivec instructions.
5750 * config/rs6000/darwin-fpsave.asm: New file.
5751 * config/rs6000/darwin-vecsave.asm: New file.
5752 * config/rs6000/darwin-world.asm: New file.
5753
5fece182
ZW
57542004-03-31 Zack Weinberg <zack@codesourcery.com>
5755
5756 * gengtype-yacc.y (option, stringseq): Add missing
5757 terminating semicolon.
5758
b150f4f3
DE
57592004-03-30 David Edelsohn <edelsohn@gnu.org>
5760
5761 * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
5762 tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
5763 tls_dtprel_ha_32, tls_dtprel_ha_64,
5764 tls_dtprel_lo_32, tls_dtprel_lo_64,
5765 tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
5766 tls_tprel_ha_32, tls_tprel_ha_64,
5767 tls_tprel_lo_32, tls_tprel_lo_64,
5768 tls_got_tprel_32, tls_got_tprel_64,
5769 tls_tls_32, tls_tls_64): Replace register_operand with
5770 gpc_reg_operand.
5771
57722004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
5773
5774 * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
5775 *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
5776 *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
5777 *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
5778 *ctrdi_internal6): Replace register_operand with
5779 nonimmediate_operand.
5780
0af5da7f
FJ
57812004-03-29 Fariborz Jahanian <fjahanian@apple.com>
5782
5fece182
ZW
5783 * fold-const.c (fold): Reassociate multiply expression
5784 with an adjacent non-multiply expression to use
5785 architecture's multiply-add instruction.
0af5da7f 5786
1431042e
ZW
57872004-03-30 Zack Weinberg <zack@codesourcery.com>
5788
5789 * gengtype.c (create_option): New function.
5790 * gengtype.h: Prototype it.
5791 * gengtype-yacc.y (stringseq): New rule.
5792 (option): Use create_option. Add new bare ID production. Use
5793 stringseq, not STRING directly.
5794
5795 * alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
5796 * dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
5797 * varray.h, config/alpha/alpha.c:
5798 Use new shorter form of GTY markers.
5799
5800 * doc/gty.texi: Rewrite.
5801
9ffab06b
AP
58022004-03-30 Andrew Pinski <pinskia@physics.uc.edu>
5803
5804 * config/darwin.c (machopic_function_base_name):
5805 Remove current_name and getting the name of the
5806 current function.
5807
a2246edc
NC
58082004-03-30 Nick Clifton <nickc@redhat.com>
5809
5810 * config/arm/arm.md (thumb_jump): Reduce the backward branch
5811 range, and increase the forward branch range, to allow for
5812 the fact that the PC will be off by 4.
5813
547799a7
AM
58142004-03-30 Alan Modra <amodra@bigpond.net.au>
5815
5816 * .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
5817
452a7d36
HP
58182004-03-30 Hartmut Penner <hpenner@de.ibm.com>
5819
1431042e
ZW
5820 * config/rs6000/rs6000.c (output_vec_const_move):
5821 Find all cases of EASY_VECTOR_15_ADD_SELF.
5822 (easy_vector_constant_add_self): Accept
5823 all vector constant loadable by vsplt* and vadd*.
452a7d36
HP
5824 (easy_vector_same): Use easy_vector_splat_const.
5825 (easy_vector_const): Use easy_vector_splat_const.
1431042e 5826 (easy_vector_splat_const): New function.
452a7d36 5827 (gen_easy_vector_constant_add_self): New function.
1431042e 5828
452a7d36
HP
5829 * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
5830 New prototype.
5831
1431042e 5832 * config/rs6000/altivec.md (movv4si splitter): Change to
452a7d36
HP
5833 emit move insn with halfed vector constant.
5834 (*movv8hi splitter): Likewise.
5835 (*movv16qi splitter): Likewise.
1431042e 5836
708d2456
HP
58372004-03-30 Hartmut Penner <hpenner@de.ibm.com>
5838
1431042e
ZW
5839 PR 11591
5840 * config/rs6000/rs6000.c (rs6000_legitimate_address):
708d2456
HP
5841 Allow any offset to argument pointer in no-strict case.
5842
6868bb1c
JH
58432004-03-30 Jan Hubicka <jh@suse.cz>
5844
5845 * toplev.c (backend_init): Add missing call to inint_optimization_passes.
5846 * passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
5847 dump file in non-unit-at-a-time mode.
5848
43537bf6
HPN
58492004-03-29 Hans-Peter Nilsson <hp@axis.com>
5850
5851 * config/cris/cris.h: Correct #ifdef to test for
5852 HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
5853 HAVE_AS_MUL_BUG_ABORT_OPTION.
5854
97955d55
RK
58552004-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5856
5857 * function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
5858 the address inside the old RTL.
5859
18d5f982
ZW
58602004-03-28 Zack Weinberg <zack@codesourcery.com>
5861
5862 * c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
5863 (struct c_binding, struct c_scope): Add chain_next
5864 attributes to GTY markers.
5865 (struct lang_identifier, struct lang_tree_node): Define
5866 here...
5867 * c-tree.h: ... not here. No longer need to declare struct
5868 c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
5869 * c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
5870 to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
5871
5872 PR 14734, 11944
5873 * c-decl.c (get_parm_info): If error_mark_node is encountered
5874 in the bindings chain, unbind and discard it; don't abort.
5875
e20f3dd1 58762004-03-28 Olga Golovonevsky <olga@il.ibm.com>
18d5f982 5877 Dorit Naishlos <dorit@il.ibm.com>
e20f3dd1 5878
18d5f982
ZW
5879 * config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
5880 one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
e20f3dd1 5881
d5ebbf58
SC
58822004-03-28 Stephane Carrez <stcarrez@nerim.fr>
5883
5884 * config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
5885
5886 * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
5887 (m68hc11_attribute_table): New attribute "page0" to mark a global
5888 variable as being allocated from within page0 section.
5889 (m68hc11_encode_label): New function.
5890 (m68hc11_strip_name_encoding): New function.
5891 (m68hc11_page0_symbol_p): New function.
5892 (m68hc11_indirect_p): Accept global variables marked in page0.
5893 (m68hc11_encode_section_info): Lookup "page0" attribute.
5894
5895 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
5896 represents access to page0 variables.
5897
5898 * config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
5899 ("*logicalsi3_silshl16_zext"): Likewise.
5900 ("*ashldi3_const32"): Likewise.
5901 (peephole2 ashift): Likewise.
5902
5baeaac0
JM
59032004-03-28 Joseph S. Myers <jsm@polyomino.org.uk>
5904
5905 * c-tree.h (C_DECL_REGISTER): New.
5906 * c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
5907 finish_decl, grokdeclarator, get_parm_info), c-typeck.c
5908 (build_array_ref, c_mark_addressable): Set and use it.
5909 * c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
5910 Allow structures with volatile fields to be declared register.
5911 Don't check TREE_ADDRESSABLE before warning about taking address
5912 of register.
5913 * c-decl.c (finish_decl): Don't allow structures with volatile
5914 fields to be placed in named register.
5915 * doc/trouble.texi: Remove reference to structures with volatile
5916 fields in registers.
5917
84c1fa24
UW
59182004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
5919
5920 * function.c (thread_prologue_and_epilogue): Move
5921 NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
5922 before the epilogue.
5923
053ee101
UW
59242004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
5925
5926 * expr.c (store_constructor): Use gen_int_mode to correctly
5927 sign-extend CONST_INT value.
5928
ca4944e1
KG
59292004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5930
5931 * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
5932 * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
5933 * doc/extend.texi: Likewise.
5934
eb1a2c88
DN
59352004-03-26 Diego Novillo <dnovillo@redhat.com>
5936
5937 * c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
5938 with TYPE_ORIG_SIZE_TYPE.
5939
eabe2b29 59402004-03-25 Aldy Hernandez <aldyh@redhat.com>
18d5f982
ZW
5941
5942 PR 14219
5943 * c-typeck.c (build_binary_op): Do not allow comparisons of
5944 vectors.
eabe2b29 5945
9e1395f1
JM
59462004-03-26 James A. Morrison <ja2morri@uwaterloo.ca>
5947
5948 * config.gcc: Remove sparc-tti-*.
5949 * config/sparc/pbd.h: Delete.
5950
5951 * config/sparc/sol2.h: Remove note about Sun OS 4.x.
5952 * config/sparc/aout.h: Likewise.
5953
5954 * config/sparc/sparc.h: Remove if 0'd code.
5955 * config/sparc/sparc.md (call): Remove if 0'd code.
5956 (call_value): Likewise.
5957 (nonlocal_goto): Likewise.
5958 (unimp_insn): Delete.
5959
22e63bd3
RS
59602004-03-25 Roger Sayle <roger@eyesopen.com>
5961
5962 * fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
5963 BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
5964
0066ef9c
RH
59652004-03-25 Richard Henderson <rth@redhat.com>
5966
5967 PR 11527
18d5f982
ZW
5968 * c-typeck.c (pop_init_level): Emit pending init elements earlier
5969 rather than later.
0066ef9c 5970
3a048383
KG
59712004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5972
5973 * builtins.c (fold_builtin): Fix error in last change.
5974
0d63bf21
RS
59752004-03-25 Richard Sandiford <rsandifo@redhat.com>
5976
5977 * config/mips/mips.h: Formatting fix.
5978
740e5b6f
KG
59792004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5980
5981 * builtins.def: Add ctype builtins.
5982 * doc/extend.texi: Likewise.
5983
e19f6bde
KG
59842004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5985
5986 * builtins.c (fold_builtin): Add new builtin optimizations for
5987 sqrt and/or cbrt.
5988 * fold-const.c (fold): Likewise.
5989
ec507f2d
DE
59902004-03-25 David Edelsohn <edelsohn@gnu.org>
5991
5992 * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
5993 (rs6000_sched_groups): New variable.
5994 (processor_target_table): Add power5.
5995 (rs6000_override_options): Set rs6000_sched_insert_nops,
5996 rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
5997 from rs6000_sched_groups.
5998 (output_cbranch): Use rs6000_always_hint.
5999 (rs6000_variable_issue): Use rs6000_sched_groups.
6000 (rs6000_adjust_cost): Add CPU_POWER5.
6001 (is_microcoded_insn): Use rs6000_sched_groups.
6002 (is_dispatch_slot_restricted): Use rs6000_sched_groups.
6003 Return 2 for POWER5 cracked instructions.
6004 (is_cracked_insn): Use rs6000_sched_groups.
6005 (is_branch_slot_insn): Use rs6000_sched_groups.
6006 (rs6000_issue_rate): Add CPU_POWER5.
6007 (rs6000_sched_finish): Use rs6000_sched_groups.
6008 (rs6000_rtx_costs): Add PROCESSOR_POWER5.
6009 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
6010 (DEFAULT_SCHED_COSTLY_DEP): Delete.
6011 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
6012 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
6013 * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
6014 * config/rs6000/power5.md: New file.
6015 * doc/invoke.texi: Add power5 option.
6016
666c27b9
KH
60172004-03-25 Kazu Hirata <kazu@cs.umass.edu>
6018
6019 * cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
6020 config/arm/arm.c, objc/objc-act.c: Fix comment typos.
6021 * doc/invoke.texi: Fix a typo.
6022
43a21dfc
KH
60232004-03-25 Kazu Hirata <kazu@cs.umass.edu>
6024
6025 PR optimization/9707.
6026 * stmt.c (emit_case_nodes): Emit equality comparisons instead
6027 of recursing if both children are single-valued cases with no
6028 children.
6029
9728c9d1
PB
60302004-03-25 Paul Brook <paul@codesourcery.com>
6031
6032 * config/arm/arm.c (vfp_print_multi): Remove.
6033 (arm_output_fldmx): New function.
6034 (vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
6035 (arm_expand_prologue): Update to match.
6036 (arm_get_vfp_saved_size): New Function.
6037 (arm_get_frame_offsets): Use it.
6038 (arm_output_epilogue): Use new functions.
6039
bb1acb3e
RH
60402004-03-24 Richard Henderson <rth@redhat.com>
6041
6042 * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
6043 (reg_known_value, reg_known_value_size): Likewise; make static.
6044 (reg_known_equiv_p): Make static.
6045 (clear_reg_alias_info): Update for new indexing.
6046 (get_reg_known_value, set_reg_known_value): New.
6047 (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
6048 (canon_rtx): Use them.
6049 (init_alias_analysis): Likewise. Allocate reg_known_value with gc.
6050 Don't play queer offsetting games with reg_known_value and
6051 reg_known_equiv_p.
6052 (end_alias_analysis): Free reg_known_value with gc.
6053 * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
6054 * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
6055 (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
6056 functions instead.
6057
ef335eb8
KH
60582004-03-24 Kazu Hirata <kazu@cs.umass.edu>
6059
6060 * dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
6061 config/i386/mmintrin.h: Update copyright.
6062
09a9c095
NN
60632004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
6064
6065 * configure.ac: Add --enable-werror-always (for top level bootstrap
6066 support).
6067 * configure: Regenerate.
6068
f75963f5
ZL
60692004-03-24 Ziemowit Laski <zlaski@apple.com>
6070
6071 * objc/objc-act.c (objc_comptypes): Treat comparisons
6072 between 'Class' and '<class> *' as explicitly invalid.
6073
8d3b3fb7
DE
60742004-03-24 David Edelsohn <edelsohn@gnu.org>
6075
827c06b6 6076 * doc/invoke.texi (-frename-registers): Add enabled at -O3.
8d3b3fb7
DE
6077 (-fprofile-values): Add enabled with profile-{generate,use}.
6078 (-fvpt): Same.
6079 (-ftracer): Add enabled with profile-use.
6080 (-funit-at-a-time): Add enabled at -O2,-O3.
6081 (-funroll-loops): Add enabled with profile-use.
6082 (-funswitch-loops): Add enabled with profile-use. Remove duplicates.
6083 (max-gcse-passes): Mention default.
6084 (max-cse-path-length): Mention default.
6085
643d3bd2
NN
60862004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
6087
6088 * Makefile.in (STRICT2_WARN): Reorder.
6089 * configure.ac: Check for -Wold-style-definition, and use it
6090 in strict1_warn if it's available.
6091 * configure: Regnerate.
6092
5848830f
PB
60932004-03-24 Paul Brook <paul@nowt.org>
6094
6095 * config.gcc <arm>: Add --with-abi=
6096 * config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
6097 thumb_far_jump_used): Remove prototypes.
6098 (arm_needs_doubleword_align): Add prototype.
6099 (thumb_compute_initial_elimination_offset): Ditto.
6100 * config/arm/arm.c (arm_get_frame_offsets): New function.
6101 (use_return_insn, output_return_instruction, arm_output_epilogue,
6102 arm_output_function_epilogue, arm_compute_initial_elimination_offset,
6103 arm_expand_prologue, thumb_expand_epilogue): Use it.
6104 (arm_abi, target_abi_name, all_arm_abis): New variables.
6105 (arm_override_options): Set them. Set structure padding for AAPCS.
6106 (arm_return_in_memory): Update ABI check.
6107 (arm_init_cumulative_args): Initialize can_split.
6108 (arm_needs_doubleword_align): New function.
6109 (arm_function_arg): Don't split args after pushing to stack. Handle
6110 doubleword/even reg alignment.
6111 (arm_va_arg): Handle all doubleword aligned args.
6112 (add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
6113 on ABI, not CPU.
6114 (arm_compute_save_reg0_reg12_mask): Fix comment.
6115 (thumb_get_frame_size, thumb_get_frame_size): Remove.
6116 (thumb_jump_far_used_p): Remove superfluous argument. Return save
6117 value for alignment.
6118 (thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
6119 to match.
6120 (thumb_compute_initial_elimination_offset): New function.
6121 (thumb_expand_prologue): Use arm_get_frame_offsets. Remove
6122 unneccessary rounding.
6123 * config/arm/arm.h (target_abi_name): Declare.
6124 (ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
6125 arm_abi_type, ARM_DEFAULT_ABI): Define.
6126 (ARM_FLAG_ATPCS): Remove.
6127 (TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
6128 (BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
6129 (ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
6130 TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
6131 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
6132 Contitionalize on ABI, not CPU.
6133 (struct arm_stack_offsets): Define.
6134 (struct machine_function): Add stack_offsets. Remove frame_size.
6135 (FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
6136 pushed.
6137 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
6138 doubleword alignment.
6139 (THUMB_INITIAL_ELIMINATION_OFFSET,
6140 ARM_INITIAL_ELIMINATION_OFFSET): Remove.
6141 (INITIAL_ELIMINATION_OFFSET): Call functions directly.
6142 * config/arm/arm.md (align_8): Enable for all targets.
6143 * config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
6144 (ARM_DEFAULT_ABI): Define.
6145 * doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
6146 -mstructure-size-boundary.
6147
b5472e1d
NN
61482004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
6149
6150 * configure.ac: Check for -Wno-variadic-macros; don't use
6151 -pedantic (in stage 1 or a simple 'make all') unless it's available,
6152 and if it's available, use it. Also, clean up check for
6153 -Wno-long-long.
6154 * configure: Regenerate.
6155
c1077e1e
RS
61562004-03-24 Richard Sandiford <rsandifo@redhat.com>
6157
6158 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
6159 * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
6160 (MULTILIB_DEFAULTS): Use it.
6161 (MIPS_CPU_STRING_DEFAULT): Remove.
6162 (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
6163 (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
6164 EABI64 -mlong32 the default ABI. Enforce the default architecture.
6165 * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
398a9492 6166 march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
c1077e1e
RS
6167 (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
6168 (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
6169 accordingly.
6170
c235ddf2
DD
61712004-03-24 DJ Delorie <dj@redhat.com>
6172 Richard Sandiford <rsandifo@redhat.com>
6173
6174 * config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
6175 (TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
6176 (ASM_SPEC): Pass down -mfix-vr4122-bugs.
6177 * config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
6178 in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
6179 (mips_init_libfuncs): Use special functions for divsi3 and modsi3
6180 if TARGET_FIX_VR4122.
6181 * config/mips/mips.md (define_attr length): Account for nops inserted
6182 after macc and dmult when using -mfix-vr4122-bugs.
6183 (umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
6184 * config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
6185 LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S.
6186 * config/mips/vr4122-div.S: New file.
6187 * doc/invoke.texi: Document -mfix-vr4122-bugs.
6188
cf768d70
RS
61892004-03-24 Richard Sandiford <rsandifo@redhat.com>
6190
6191 * config/mips/mips.h (PROCESSOR_R4130): New processor_type.
6192 (TARGET_MIPS4130): New macro.
6193 (ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
6194 * config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
6195 (override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
6196 with PROCESSOR_R4130.
6197 * config/mips/mips.md (define_attr cpu): Add r4130.
6198 * doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
6199
5ef1a99d
MR
62002004-03-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6201 Richard Sandiford <rsandifo@redhat.com>
6202
6203 * doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
6204
ae87624f
AO
62052004-03-24 Alexandre Oliva <aoliva@redhat.com>
6206
6207 PR preprocessor/14438
6208 * cpplib.c (do_pragma): Remove line_change call after pragma
6209 handler.
6210
d63851eb
ILT
62112004-03-23 Ian Lance Taylor <ian@wasabisystems.com>
6212
6213 * doc/extend.texi (ARM Built-in Functions): Replace with correct
6214 declarations.
6215
0c5faf29
RS
62162004-03-23 Roger Sayle <roger@eyesopen.com>
6217
6218 * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
6219 if flag_unsafe_math_optimizations.
6220 * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
6221 and TARGET_80387 expand using truncdfsf2_noop pattern.
6222 (truncxfsf2): Likewise using truncxfsf2_noop.
6223 (truncxfdf2): Likewise using truncxfdf2_noop.
6224 (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
6225
f18eca82
ZL
62262004-03-23 Ziemowit Laski <zlaski@apple.com>
6227
6228 * hooks.c (hook_constcharptr_tree_null): New hook.
6229 * hooks.h (hook_constcharptr_tree_null): New prototype.
6230 * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
6231 * target.h (mangle_fundamental_type): New target hook.
6232 * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
6233 target hook at rs6000_mangle_fundamental_type.
6234 (rs6000_mangle_fundamental_type): New function.
6235 * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
6236
f75fbaf7
ZW
62372004-03-23 Zack Weinberg <zack@codesourcery.com>
6238
1b1d85bd 6239 PR 12267, 12391, 12560, 13129, 14114, 14133
f75fbaf7
ZW
6240 * c-tree.h: Forward declare struct c_binding. Declare
6241 c_override_bindings_to_false. Update prototypes.
6242 (struct lang_identifier): Update comments. Change fields to be
6243 struct c_binding *.
6244 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
6245 (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
6246 (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
6247 (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
6248 * c-common.h: Update prototypes.
6249 * c-decl.c (struct c_scope): Update commentary. Remove names,
6250 names_last, parms, parms_last, tags, and shadowed fields. Add
6251 bindings and depth fields.
6252 (scope_freelist): Move to more appropriate location.
6253 (c_print_identifier): Update for changes to struct lang_identifier.
6254 (objc_mark_locals_volatile): Update for new bindings structures.
6255 (global_bindings_p): Honor c_override_global_bindings_to_false.
6256 (pushlevel): Rename to push_scope; take no arguments; use the
6257 scope_freelist; initialize scope->depth and check for overflow.
6258 (poplevel): Rename to pop_scope; totally rewritten for new bindings
6259 structures.
6260 (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
6261 C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
6262 Improve some commentary. Adjust handling of forward parm decls.
6263 (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
6264 Preserve C_DECL_IN_EXTERNAL_SCOPE.
6265 (warn_if_shadowing): Correct indentation. Improve diagnostics.
6266 (pushdecl): Remove unnecessary assertion. Short-circuit anonymous
6267 decls. Rewrite for new bindings structures. Improve commentary.
6268 Eliminate the copy_node call.
6269 (implicit_decl_warning): Use the "diag" idiom (as seen in
6270 locate_old_decl) to reduce code duplication; call locate_old_decl
6271 if appropriate. Relocate to remove need for forward declaration.
6272 (implicitly_declare): Adjust for new bindings structures. Kludge
6273 around Objective-C not-really-builtin functions.
6274 (undeclared_variable): Improve diagnostics. If current_function_decl
6275 is nonnull but current_function_scope is null, use current_scope.
6276 Use bind.
6277 (lookup_tag): Adjust for new bindings structures. Kludge around
6278 Objective-C's tag declarations that wind up in the external scope.
6279 (lookup_name): Adjust for new bindings structures. Kludge around
6280 c-common.c's pseudo-typedefs that wind up in the external scope.
6281 (lookup_name_current_level): Rename lookup_name_in_scope; take a
6282 second argument indicating the scope to examine; rewrite for
6283 new bindings structures.
6284 (c_init_decl_processing): Adjust for renamed functions. Do not
6285 initialize current_file_decl, first_builtin_decl, last_builtin_decl.
6286 First scope pushed is the external scope, not the global scope.
6287 (builtin_function): Use bind, not pushdecl. Adjust other bits
6288 for new data structures. Keep track of builtins that should be
6289 made visible automatically.
6290 (start_decl): Adjust diagnostics. Remove unnecessary call to
6291 expand_decl.
6292 (grokparms): Return 0 if arg_types is error_mark_node.
6293 (get_parm_info): Rename "void_at_end" argument to "ellipsis", with
6294 reversed sense. Rewrite for new bindings structures. Do not
6295 leave any decls in the scope, to prevent pop_scope from doing
6296 contradictory things with them.
6297 (finish_struct, finish_enum): Remove redundant diagnostics.
6298 (build_enumerator): Don't cascade diagnostics for error_mark_node.
6299 Mark location where -pedantic changes the meaning of the program.
6300 (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
6301 parameter decls into the function's scope structure using bind.
6302 Warn here about function definitions in the wrong style.
6303 Adjust diagnostics.
6304 (store_parm_decls): Correct the determination of whether a
6305 function was defined with a prototype.
6306 (c_write_global_declarations): Operate on all file decls and on
6307 the external scope. Split body of the loop to...
6308 (c_write_global_declarations_1): ... this new function, to avoid
6309 code duplication.
6310 (truly_local_externals, first_builtin_decl, last_builtin_decl)
6311 (make_scope, pop_scope, in_parm_level_p, set_block)
6312 (any_external_decl, record_external_decl, bind_label, getdecls)
6313 (link_hash_hash, link_hash_eq, merge_translation_unit_decls)
6314 (c_reset_state): Delete.
6315 (visible_builtins, c_override_global_bindings_to_false)
6316 (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
6317 (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
6318 (external_scope, binding_freelist, bind, free_binding_and_advance)
6319 (push_file_scope, pop_file_scope): New.
6320 (pushtag, pushdecl_top_level, lookup_label, declare_label)
6321 (define_label, c_make_fname_decl, finish_decl)
6322 (mark_forward_parm_decls, build_compound_literal)
6323 (grokdeclarator, start_function, check_for_loop_decls)
6324 (identifier_global_value, record_builtin_type): Minor adjustments
6325 for new bindings structures. Improve diagnostics and commentary.
6326 * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
6327 pushlevel/poplevel respectively.
6328 (c_objc_common_finish_file): Don't call merge_translation_unit_decls.
6329 * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
6330 Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
6331 correct loop over multiple translation units; call fatal_error if
6332 requested to compile more than one file at once. (This disables
6333 IMA temporarily - an up-front error being preferable to a crash.)
6334 * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
6335 (all actions): Adjust calls to pushlevel/poplevel.
6336 (parsing_iso_function_signature): Delete.
6337 (extdef_1): Fold into extdef.
6338 (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
6339 warn here about function definitions in the wrong style.
6340 (after_tyle_declarator, parm_declarator_starttypename)
6341 (parm_declarator_nostarttypename, notype_declarator): Remove
6342 commented-out productions.
6343 (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
6344 an empty TREE_LIST node. Adjust calls to get_parm_info.
6345 (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
6346 to suppress -Wold-style-definition after this error.
6347 (c_parse_file): Don't clear the binding stack or call
6348 finish_fname_decls here. Correct comment.
6349 * c-typeck.c (same_translation_unit_p): Export.
6350 (common_type): Use c_override_global_bindings_to_false, not
6351 pushlevel/poplevel/declare_parm_level.
6352 * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
6353 LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
6354 and LANG_HOOKS_GETDECLS with do-nothing stubs.
6355 * objc/objc-lang.c: Likewise.
6356 * objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
6357 get_parm_info.
6358 (OBJC_VOID_AT_END): Delete; replace all uses
6359 with void_list_node.
6360 (generate_forward_declaration_to_string_table): Delete.
6361 * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
6362
6363 * coverage.c (create_coverage): Don't pushdecl anything.
6364 * langhooks.c (lhd_clear_binding_stack): Call
6365 lang_hooks.decls.poplevel, not poplevel.
6366 * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
6367 circular list rather than going into an infinite loop.
6368
0c0ab0f1
OH
63692004-03-23 Olivier Hainque <hainque@act-europe.fr>
6370
f75fbaf7
ZW
6371 * optabs.c (expand_binop): When synthesizing double word rotates
6372 from single word shifts, use a new register target if the provided
6373 target is not a REG already.
0c0ab0f1 6374
22421b79
RK
63752004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6376
6377 * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
6378 * c-common.c (handle_mode_attribute): Add extra arg to
6379 build_pointer_type_for_mode and build_reference_type_for_mode.
6380 * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
6381 for INTEGER_CST.
6382 * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
6383 Chain pointers via TYPE_NEXT_PTR_TO.
6384 (build_reference_type_for_mode): Similarly.
6385 (build_type_no_quals): Add extra arg to build_pointer_type_for_mode
6386 and build_reference_type_for_mode.
6387 (tree_check4_failed): New function.
6388 * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
6389 (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
6390 (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
6391 Add check.
6392
b1500d00
RS
63932004-03-23 Roger Sayle <roger@eyesopen.com>
6394
6395 * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
6396 A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
6397 when both A and B are nonnegative.
6398 (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
6399 nonzero.
6400
73b91357
KH
64012004-03-23 Kazu Hirata <kazu@cs.umass.edu>
6402
6403 * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
6404 VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
6405
bb3a37ac
RS
64062004-03-23 Kazu Hirata <kazu@cs.umass.edu>
6407
6408 PR optimization/14669
6409 * fold-const.c (fold): Only unwiden integer comparisons for equality
6410 and inequality operators, or when the signedness doesn't change.
6411
f2c79f80
JJ
64122004-03-23 Jakub Jelinek <jakub@redhat.com>
6413
6414 * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
6415 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
6416 * config/sparc/t-linux: New file.
6417
1707bafa
RS
64182004-03-23 Richard Sandiford <rsandifo@redhat.com>
6419
6420 * gcse.c (can_assign_to_reg_p): New function, split out from...
6421 (want_to_gcse_p): ...here.
6422 (compute_ld_motion_mems): Use can_assign_to_reg_p to validate
6423 the rhs of a store.
6424
63185fab
DN
64252004-03-22 Diego Novillo <dnovillo@redhat.com>
6426
6427 * c-typeck.c (same_translation_unit_p): Fix pasto.
6428
f72c6b56
DE
64292004-03-22 David Edelsohn <edelsohn@gnu.org>
6430
6431 * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
6432 (PARAM_MAX_SCHED_REGION_INSNS): New.
6433 * sched-rgn.c: Include params.h
6434 (MAX_RGN_BLOCKS): Delete.
6435 (MAX_RGN_INSNS): Delete.
6436 (too_large): Return bool. Convert to PARAM_VALUE.
0483ab6e 6437 * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
f72c6b56
DE
6438 * doc/invoke.texi (param): Document max-sched-region-blocks and
6439 max-sched-region-insns.
6440
d6672e91
JB
64412004-03-22 Joel Brobecker <brobecker@gnat.com>
6442
6443 * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
6444 for base types.
6445
886de2d4
JB
64462004-03-22 Joel Brobecker <brobecker@gnat.com>
6447
6448 * dwarf2out.c (is_subrange_type): Minor code rework. No behavior
6449 change.
6450
d915eec0
JJ
64512004-03-22 Jakub Jelinek <jakub@redhat.com>
6452
6453 PR c/14069
6454 * c-decl.c (finish_struct): Change type of incorrect flexible array
6455 field into error_mark_node.
6456
aa6d25c9
AP
64572004-03-22 Andrew Pinski <pinskia@physics.uc.edu>
6458
19a03303 6459 PR target/14580
aa6d25c9
AP
6460 * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
6461 who are not local for Darwin PIC.
6462
ead61c1d
UW
64632004-03-22 Ulrich Weigand <uweigand@de.ibm.com>
6464
6465 * regrename.c (regrename_optimize): Set regs_ever_live for all
6466 registers introduced as replacement.
6467
1bbd65cd
EB
64682004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr>
6469
6470 PR middle-end/14470
6471 * expr.c (mark_queue): New function.
6472 (emit_insns_enqueued_after_mark): New function replacing
6473 emit_queue. Clear the body of emitted queued insns.
6474 (emit_queue): Call emit_insns_enqueued_after_mark.
6475 (store_expr): Mark the increment queue on entry. Emit
6476 only the incrementations queued when expanding the source.
6477
6dd297da
NN
64782004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
6479
6480 * configure.ac: Allow --disable-coverage-flags (for the future benefit
6481 of top level bootstrap, and consistency). Reindent.
6482 * configure: Regenerate.
6483
400e39e3
KH
64842004-03-21 Kazu Hirata <kazu@cs.umass.edu>
6485
6486 * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
6487 ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
6488 unnecessary casts.
6489
bd8ec6a7
DS
64902004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
6491
6492 PR target/14291
6493 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
6494 __MINGW32__.
6495
bd446804
UW
64962004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
6497
6498 * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
6499 to nonimmediate_operand.
6500 ("*doloop_di"): Likewise.
6501
1e92bbb9
AO
65022004-03-21 Alexandre Oliva <aoliva@redhat.com>
6503
6504 * real.h (struct real_value): Use the same type for all
6505 bitfields. Rename exp to uexp.
6506 (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
6507 Adjust all uses of exp...
6508 * builtins.c: ... here, ...
6509 * emit-rtl.c: ... here, and ...
6510 * real.c: ... and here.
6511
b9b44fb9
GDR
65122004-03-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
6513
6514 * pretty-print.c (pp_base_maybe_space): New function.
6515 * pretty-print.h (pp_base_maybe_space): Declare.
6516 (pp_maybe_space): New macro.
6517
1c7b1b7e
UW
65182004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
6519
6520 * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
6521
f258e38b
UW
65222004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
6523
6524 * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
6525 of using register multiplication cost.
6526 (expand_mult): Adapt choose_mult_variant call.
6527 (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
6528 of MODE; pass appropriate cost bound. Adjust result when
6529 performing signed multiplication by a negative constant.
6530 Don't use intermediate modes larger than word_mode.
6531
6fce44af
RK
65322004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6533
6534 * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
6535 * emit-rtl.c (component_ref_for_mem_expr): Likewise.
6536 (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
6537 * explow.c (expr_size): Likewise.
6538 * expr.h (placeholder_list, find_placeholder): Deleted.
6539 * expr.c (store_constructor): Likewise.
6540 (get_inner_reference): Likewise. Also don't call find_placeholder.
6541 (placeholder_list, find_placeholder): Deleted.
6542 (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
6543 (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
6544 (highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
6545 * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
6546 * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
6547 Likewise.
6548 * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
6549 (extract_muldiv, case WITH_RECORD_EXPR): Likewise.
6550 * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
6551 (contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
6552 Clean up by using first_rtl_op.
6553 (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
6554 (substitute_placeholder_in_expr): New function.
6555 * tree.def (WITH_RECORD_EXPR): Deleted.
6556 * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
6557 (substitute_placeholder_in_expr): New.
6558
0f005f33
AP
65592004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
6560
6561 * dojump.c (prefer_and_bit_test): Fix which part of
6562 the and_test is replaced.
6563
f80352b8
JM
65642004-03-21 Joseph S. Myers <jsm@polyomino.org.uk>
6565
6566 * frontends.texi: Add missing line.
6567
6ad79f18 65682004-03-21 Zack Weinberg <zack@codesourcery.com>
f75fbaf7
ZW
6569 Chris Devers <cdevers@pobox.com>
6570 Joseph S. Myers <jsm@polyomino.org.uk>
6ad79f18
JM
6571
6572 * doc/frontends.texi: Rewrite.
6573 * doc/gcc.texi: Update last modification date.
6574
eabd7d31
JZ
65752004-03-21 Josef Zlomek <zlomekj@suse.cz>
6576
6577 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
6578 message before redirecting the edge.
6579
f8ad8d7c
ZD
65802004-03-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6581
6582 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
6583 flag.
6584 * explow.c (force_not_mem): Set REG_POINTER flag according to
6585 MEM_POINTER one.
6586 * rtl.h (MEM_POINTER): New macro.
6587 (struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
6588 for MEM_POINTER.
6589
8cce3d04
RS
65902004-03-20 Roger Sayle <roger@eyesopen.com>
6591
6592 PR target/13889
6593 * cse.c (fold_rtx): Avoid substituting constants into unary
687c3ea5 6594 conversion operations.
8cce3d04 6595
05fe5c67
KH
65962004-03-20 Kazu Hirata <kazu@cs.umass.edu>
6597
6598 * fold-const.c (fold): Replace "expr" with "t".
6599
dea984dc
ILT
66002004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
6601
6602 PR c/12373
6603 * c-typeck.c (tagged_types_tu_compatible_p): Don't use
6604 DECL_ORIGINAL_TYPE if there isn't one.
6605
079f946d
KH
66062004-03-20 Kazu Hirata <kazu@cs.umass.edu>
6607
6608 * fold-const.c (fold): Replace "final_type" with "type".
6609 Remove variable "final_type".
6610
8d3784af
KH
66112004-03-20 Kazu Hirata <kazu@cs.umass.edu>
6612
6613 * fold-const.c (fold): Constify "type".
6614 Replace "TREE_TYPE (t)" with "type".
6615
245f1bfa
KH
66162004-03-20 Kazu Hirata <kazu@cs.umass.edu>
6617
6618 * bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
6619 dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
6620 via (*targetm.foo) () with targetm.foo ().
6621
802f6d4b
JM
66222004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
6623
6624 PR other/14630
6625 * doc/install.texi: Add info directory category and entry.
6626
ea993805
KH
66272004-03-20 Kazu Hirata <kazu@cs.umass.edu>
6628
6629 * fold-const.c (fold): Replace "t" with "tem" where it is used
6630 as a temporary variable. Remove "orig_t" and all of its uses.
6631
8e7b3a43
KH
66322004-03-20 Kazu Hirata <kazu@cs.umass.edu>
6633
6634 * fold-const.c (fold): Remove variable "invert".
6635 Move the handling of relational expressions that can be folded
6636 to a constant ...
6637 (fold_relational_const): ... here.
6638 (tree_expr_nonzero_p): New.
6639
b1c2d04a
JM
66402004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
6641
6642 PR c/14635
6643 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
6644 DEF_GCC_BUILTIN.
6645
dbf833ee
RS
66462004-03-20 Richard Sandiford <rsandifo@redhat.com>
6647
6648 * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
6649 (GTFILES): Add $(srcdir)/dojump.h.
6650 (gt-dojump.h): New dependency.
6651 * dojump.c (and_reg, and_test, shift_test): New static variables.
6652 (prefer_and_bit_test): New function.
6653 (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
6654
d1a6adeb
KH
66552004-03-20 Kazu Hirata <kazu@cs.umass.edu>
6656
6657 * c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
6658 expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
6659 reorg.c, tree.h: Fix comment typos.
6660
5fd9b178
KH
66612004-03-19 Kazu Hirata <kazu@cs.umass.edu>
6662
6663 * alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
6664 c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
6665 cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
6666 haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
6667 sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
6668 vmsdbgout.c: Replace calls via (*targetm.foo) () with
6669 targetm.foo ().
6670
86e7df90
ZL
66712004-03-19 Ziemowit Laski <zlaski@apple.com>
6672
6673 * config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
6674 vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
6675 always_inline attribute.
6676 * config/rs6000/rs6000.c (altivec_expand_dst_builtin):
6677 Treat expansion as completed even if literal argument is
6678 invalid (so that other expansions are not tried in vain).
6679
147d77b6
KH
66802004-03-19 Kazu Hirata <kazu@cs.umass.edu>
6681
6682 * loop-doloop.c (add_test): Replace GEN_INT (0) with
6683 const0_rtx.
6684
73c4ab99
KH
66852004-03-19 Kazu Hirata <kazu@cs.umass.edu>
6686
6687 * fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
6688 ...
6689 (fold_abs_const): ... here.
6690
a6002f8d
RK
66912004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6692
6693 * tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
6694
829bde68
DC
66952004-03-19 Denis Chertykov <denisc@overta.ru>
6696
d0aa5f10 6697 PR target/11520
829bde68
DC
6698 * config/avr/avr.md ("call_insn"): Handle explicit integer
6699 specially.
6700 (call_value_insn): Likewise.
6701
9d2a492d
RK
67022004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6703
6704 * tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
6705
33d13fac
KH
67062004-03-19 Kazu Hirata <kazu@cs.umass.edu>
6707
6708 * fold-const.c (negate_expr): Move the handling of constants
6709 ...
6710 (fold_negate_const): ... here.
6711
7548281d
RK
67122004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6713
6714 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
6715 * langhooks.h (struct lang_hooks_for_types): New field hash_types.
6716 * tree.c (debug_no_type_hash): Deleted.
6717 (type_hash_canon): Abort if passed a variant.
6718 Check lang_hooks.types.hash_types.
6719 (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
6720 (build_array_type): Remove unnecessary allocation of pointer type.
6721 (build_complex_type): Properly qualify resulting type.
6722
7e463bda
PB
67232004-03-19 Paolo Bonzini <bonzini@gnu.org>
6724
6725 * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
6726
8efc8980
RS
67272004-03-19 Richard Sandiford <rsandifo@redhat.com>
6728
6729 * expmed.c (choose_mult_variant, expand_mult_const): New, split from...
6730 (expand_mult): ...here.
6731 (extract_high_half): New, split out from expand_mult_highpart.
6732 (expand_highpart_optab): Likewise. Don't clobber target prematurely.
6733 (expand_highpart): Evaluate the cost of a shift/add sequence,
6734 then see if any of the specialized optabs are cheaper.
6735
ff3fcb8a
ILT
67362004-03-18 Ian Lance Taylor <ian@wasabisystems.com>
6737
6738 * mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
6739
1fb7e3af
KG
67402004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6741
6742 * convert.c (convert_to_real): Add more math builtins.
6743
b3810360
KG
67442004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6745
6746 * convert.c (convert_to_real): Reformat using switch stmt.
6747
9d363a56
MM
67482004-03-18 Mark Mitchell <mark@codesourcery.com>
6749
6750 * c-common.c (pointer_int_sum): Do not complain about using
6751 pointers to pointers-to-members.
6752
c3690d79
KH
67532004-03-18 Kazu Hirata <kazu@cs.umass.edu>
6754
6755 * system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
6756 have moved to the target hooks structure".
6757
c3840092
JW
67582004-03-18 James E Wilson <wilson@specifixinc.com>
6759
6760 * config/mips/mips.md (type): Split move into arith and fmove. Split
6761 hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses.
6762 * config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
6763 Likewise.
6764 * config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
6765 Likewise.
6766 * config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
6767 rm7_fp_quick): Likewise.
6768 * config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
6769 rm9k_fquick): Likewise.
6770 * config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
6771 Likewise.
6772 (ir_sr70_icmp): Delete.
6773
eb34af89 67742004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
f75fbaf7 6775
eb34af89
RK
6776 * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
6777 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
6778 (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
6779 (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
6780 (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
6781 Protect with proper check.
6782 (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
6783 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
6784 * tree.c (type_hash_eq): Rewrite to access proper fields for each type.
6785 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
6786 * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
6787 * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
6788 not TYPE_FIELDS.
d3b6a5fb 6789 * stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
eb34af89 6790
2171cb85
MH
67912004-03-18 Mostafa Hagog <mustafa@il.ibm.com>
6792
6793 * gcse.c (eliminate_partially_redundant_loads): Reject change if
6794 dest is set between beginning and current insn.
6795
4ada538b
MM
67962004-03-18 Mark Mitchell <mark@codesourcery.com>
6797
6798 * c-decl.c (grokdeclarator): Do not complain about redeclaring
6799 visible "static" identifiers "extern" in a local scope.
6800 * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
6801 post-increments/decrements.
6802
79e9ebdc
BW
68032004-03-18 Bob Wilson <bob.wilson@acm.org>
6804
6805 * config/xtensa/xtensa.c (current_function_arg_words): Delete.
6806 (xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
6807 (xtensa_va_start): Remove assignment to current_function_arg_words.
6808
5da6f168
RS
68092004-03-18 Richard Sandiford <rsandifo@redhat.com>
6810
6811 * alias.c (record_set): Detect the case where a register is assigned
6812 a new value that has the same base term as the old one.
6813
689ba89d
ZD
68142004-03-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6815
6816 * doloop.c: Removed.
6817 * loop-doloop.c: New file.
6818 * Makefile.in (doloop.o): Remove.
6819 (loop-doloop.o): New.
6820 * cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
6821 * cfgloopanal.c (get_loop_level): New function.
6822 * loop-iv.c (iv_number_of_iterations): Handle case when loop
6823 is leaved immediatelly.
6824 * loop.c (strength_reduce): Do not call doloop optimization.
6825 * loop.h (LOOP_BCT): Removed.
6826 * passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
6827 (rest_of_handle_loop2): Call doloop_optimize_loops.
6828 (rest_of_compilation): Test for optimizations moved to
6829 rest_of_handle_loop2.
6830
327e5343
FJ
68312004-03-17 Fariborz Jahanian <fjahanian@apple.com>
6832
f75fbaf7
ZW
6833 * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
6834 for mixed mode.
6835 (rs6000_emit_prologue): Ditto.
6836 (rs6000_emit_epilogue): Ditto.
6837 * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
6838 macro for mixed mode.
327e5343 6839
214ee4a2
JH
68402004-03-18 Jan Hubicka <jh@suse.cz>
6841
6842 * predict.c (propagate_freq): Compute correctly frequency of
6843 EXIT_BLOCK.
6844
33521f7d
EC
68452004-03-17 Eric Christopher <echristo@redhat.com>
6846
6847 * builtins.c (apply_args_size): Use reg_raw_mode.
6848 (apply_result_size): Ditto.
6849
d3daf7bb
RC
68502004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
6851
6852 PR target/14620
6853 * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
6854
bb6df272
JJ
68552004-03-17 Jakub Jelinek <jakub@redhat.com>
6856
6857 * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
6858 32-bit builds when defaulting to 32-bit.
6859
7eca0767
JH
68602004-03-17 Jan Hubicka <jh@suse.cz>
6861
6862 * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
6863 array.
6864
3a3ae5e5
JW
68652004-03-17 James E Wilson <wilson@specifixinc.com>
6866
6867 * config/mips/mips.md (zero_extendsidi2): Add length attribute.
6868 (hazard_nop): Change type to nop.
6869 (type): Split arith into arith, shift, slt, clz. Delete darith.
6870 Fix all uses. Change arith to multi if more than one insn emitted.
6871 * config/mips/5400.md (ir_vr54_arith): Likewise.
6872 * config/mips/5500.md (ir_vr55_arith): Likewise.
6873 * config/mips/7000.md (rm7_int_other): Likewise.
6874 * config/mips/9000.md (rm9k_int): Likewise.
6875 * config/mips/sr71k.md (ir_sr70_arith): Likewise.
6876
6582c808
JB
68772004-03-17 Joel Brobecker <brobecker@gnat.com>
6878
6879 * dwarf2out.c (subrange_type_die): Define new variable "subtype"
6880 to hold the subtype tree instead of recomputing it several times.
6881
7ae4afcb
KH
68822004-03-17 Kazu Hirata <kazu@cs.umass.edu>
6883
6884 * config/mn10300/mn10300.c (notice_update_cc): Don't handle
6885 CC_INVERT.
6886 * config/mn10300/mn10300.md (cc): Remove "invert".
6887
b57051b2
KG
68882004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6889
d093738d
KG
6890 * builtins.c (integer_valued_real_p): Add builtin rint.
6891 (fold_builtin): Likewise.
6892 * convert.c (convert_to_real): Likewise.
6893
b57051b2
KG
6894 * convert.c (convert_to_real): Fix typos in `long double'
6895 builtins.
6896
88020bd8
MM
68972004-03-16 Mark Mitchell <mark@codesourcery.com>
6898
6899 PR c++/14481
6900 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
6901 generated COMPOUND_EXPRs.
6902
bf3864fe
RC
69032004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
6904
6905 * config/h8300/t-rtems (h8300-*-rtems*): New.
6906
bc4c01b7
EC
69072004-03-16 Eric Christopher <echristo@redhat.com>
6908
6909 * doc/cppopts.texi(fwide-exec-charset): Fix typo.
6910
3c5cb3e4
KH
69112004-03-16 Kazu Hirata <kazu@cs.umass.edu>
6912
6913 * config/i386/i386-protos.h: Add a prototype for
6914 ix86_reverse_condition.
6915 * config/i386/i386.c (ix86_reverse_condition): New.
6916 * config/i386/i386.h (REVERSE_CONDITION): Use
6917 ix86_reverse_condition.
6918 * config/i386/i386.md: Use ix86_reverse_condition instead of
6919 REVERSE_CONDITION.
6920
fd5580cb
B
69212004-03-16 J. Brobecker <brobecker@gnat.com>
6922
6923 * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
6924
78fab00f
NN
69252004-03-16 Nathanael Nerode <neroden@gcc.gnu.org>
6926
6927 PR bootstrap/12974
6928 * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
6929
4a5eab38
PB
69302004-03-16 Paolo Bonzini <bonzini@gnu.org>
6931
6932 * c-common.c (c_common_type_for_mode): Build vector types on
6933 demand.
6934 (handle_mode_attribute): Deprecate using the mode attribute
6935 to create vector types. Fix indentation.
6936 (vector_type_node_list): Remove.
6937 (handle_vector_size_attribute): Create vector types on demand.
6938 Strip a NON_LVALUE_EXPR from the attribute if there is one.
6939 * c-typeck.c (comptypes): Make vector types compatible if they
6940 have the same underlying mode.
6941 (convert_for_assignment): Use comptypes to convert between
6942 vector types.
6943 * tree.c (build_common_tree_nodes_2): Do not create vector types.
6944 * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
6945 vector types.
6946 * tree.h: Remove vector types.
6947 * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
6948 * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
6949 (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
6950 V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
6951 * doc/extend.texi (Vector Types): Document how to use the
6952 vector_size attribute to create vectors, rather than mode.
6953
6954 * config/arm/mmintrin.h: Use vector_size attribute, not mode.
6955 * config/i386/emmintrin.h: Likewise.
6956 * config/i386/mmintrin.h: Likewise.
6957 * config/i386/xmmintrin.h: Likewise.
6958 * config/sh/ushmedia.h: Likewise.
6959
b862b3b3
KH
69602004-03-16 Kazu Hirata <kazu@cs.umass.edu>
6961
6962 * config/freebsd-spec.h, config/arc/arc-protos.h,
6963 config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
6964 config/arm/linux-gas.h, config/arm/semi.h,
6965 config/cris/cris-protos.h, config/i386/xm-djgpp.h,
6966 config/ia64/freebsd.h, config/mips/7000.md,
6967 config/mips/9000.md, config/ns32k/ns32k-protos.h,
6968 config/sparc/pbd.h: Update copyright.
6969
314733e2
RC
69702004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
6971
6972 PR target/14577
6973 * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
6974
6621d78e
PB
69752004-03-16 Paolo Bonzini <bonzini@gnu.org>
6976
6977 * combine.c (combine_simplify_rtx): Remove the "last"
6978 parameter and its documentation. Adjust recursive calls.
6979 (simplify_logical): Always perform the only simplification
6980 controlled by "last", if the simplified expression is
6981 actually different.
6982 (try_combine): Do not pass the "last" parameter to
6983 combine_simplify_rtx.
6984
4e7edcca
RS
69852004-03-16 Richard Sandiford <rsandifo@redhat.com>
6986
6987 PR target/14599
6988 * config/mips/mips.md (UNSPEC_GP): New constant.
6989 * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
6990 an UNSPEC instead of (reg $gp).
6991 (mips16_gp_pseudo_reg): Change accordingly.
6992 (print_operand): Print $gp directly when handling CONST_GP_P.
6993
69942004-03-16 Richard Zidlicky <rz@linux-m68k.org>
3704aae9
RZ
6995
6996 * config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
6997 * longlong.h: Make code 68060 clean when compiling for m68060.
6998
4e7edcca 69992004-03-16 Richard Zidlicky <rz@linux-m68k.org>
8ac658b6
RZ
7000
7001 * config/m68k/m68k.md: Fix constraints for bitfield instructions.
7002 * doc/md.texi: Clarify description of "i" constraint.
7003
1a478672
JW
70042004-03-15 James E Wilson <wilson@specifixinc.com>
7005
7006 * config/mips/mips.md (type): Split load into load, fpload, fpidxload.
7007 Split store into store, fpstore, fpidxstore. Fix all uses.
7008 * config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
7009 Likewise.
7010 * config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
7011 * config/mips/7000.md (rm7_ld, rm7_st): Likewise.
7012 * config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
7013 * config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
7014 ir_sr70_fstore): Likewise.
7015
0977ab3a
RH
70162004-03-15 Richard Henderson <rth@redhat.com>
7017
7018 PR middle-end/14535
7019 * except.c (collect_one_action_chain): Record action for cleanup
7020 outer of exception spec.
7021
4e4083ad
ILT
70222004-03-15 Ian Lance Taylor <ian@wasabisystems.com>
7023
7024 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
7025 Fix the check for abort and only do the mmap if we can.
7026
ed38d6fe
EB
70272004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
7028
7029 * config/sparc/sparc.h: Rework comments about the code model
7030 in 64-bit environment and the mode 'Pmode'.
7031 * doc/invoke.texi (SPARC options): Rework description of the
7032 different code models supported in 64-bit environment.
7033
1f8551b2
KH
70342004-03-15 Kazu Hirata <kazu@cs.umass.edu>
7035
7036 * defaults.h (REVERSIBLE_CC_MODE): Define.
7037 * jump.c (reversed_comparison_code_parts): Don't check if
7038 REVERSIBLE_CC_MODE is defined.
7039
ca2b05ba
KH
70402004-03-15 Kazu Hirata <kazu@cs.umass.edu>
7041
7042 * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
7043 et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
7044 hosthooks.h, params.h, ra-colorize.c, web.c,
7045 config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
7046 config/avr/avr-protos.h, config/avr/avr.md,
7047 config/fr30/fr30-protos.h, config/fr30/fr30.md,
7048 config/h8300/fixunssfsi.c, config/i386/darwin.h,
7049 config/i386/freebsd.h, config/i386/freebsd64.h,
7050 config/ia64/hpux.h, config/ia64/unwind-ia64.c,
7051 config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
7052 config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
7053 config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
7054 config/pa/pa64-regs.h, config/rs6000/aix41.h,
7055 config/rs6000/aix43.h, config/rs6000/host-darwin.c,
7056 config/sparc/aout.h, config/sparc/freebsd.h,
7057 config/sparc/litecoff.h, config/vax/vax-protos.h,
7058 doc/hostconfig.texi, doc/include/gcc-common.texi: Update
7059 copyright.
7060
983e6484
PB
70612004-03-15 Paul Brook <paul@codesourcery.com>
7062
7063 * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
7064
5c3c69f4
GDR
70652004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
7066
7067 * c-pretty-print.c (pp_c_semicolon): Fix formatting.
7068 (pp_c_cv_qualifier): Document.
7069 (pp_c_space_for_pointer_operator): Likewise.
7070 (pp_c_integer_constant): Likewise.
7071 (pp_c_identifier): Likewise.
7072 (pp_c_init_declarator): Don't print function body.
7073
2dd76960
JM
70742004-03-14 Joseph S. Myers <jsm@polyomino.org.uk>
7075
7076 * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
7077 doc/install.texi, doc/invoke.texi, doc/makefile.texi,
7078 doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
7079 "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
7080 wording and grammar.
7081
ae2bcd98
RS
70822004-03-14 Roger Sayle <roger@eyesopen.com>
7083
7084 * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
7085 with lang_hooks.foo ().
7086 * builtins.c (expand_builtin_va_arg): Likewise.
7087 * c-common.c (fname_as_string, c_common_truthvalue_conversion,
7088 c_common_type_for_mode, c_common_nodes_and_builtins,
7089 handle_mode_attribute, handle_vector_size_attribute): Likewise.
7090 * c-convert.c (convert): Likewise.
7091 * c-format.c (check_format_types): Likewise.
7092 * c-objc-common.c (c_tree_printer): Likewise.
7093 * c-typeck.c (build_unary_op, build_conditional_expr,
7094 build_binary_op): Likewise.
7095 * calls.c (try_to_integrate, expand_call,
7096 emit_library_call_value_1): Likewise.
7097 * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
7098 Likewise.
7099 * cgraphunit.c (record_call_1, cgraph_analyze_function,
7100 cgraph_expand_function): Likewise.
7101 * convert.c (convert_to_pointer, convert_to_integer): Likewise.
7102 * coverage.c (build_fn_info_type, build_ctr_info_type,
7103 build_gcov_info, create_coverage): Likewise.
7104 * dbxout.c (dbxout_init): Likewise.
7105 * diagnostic.c (diagnostic_report_current_function): Likewise.
7106 * dojump.c (do_jump): Likewise.
7107 * dwarf2out.c (dwarf2_name): Likewise.
7108 * except.c (init_eh): Likewise.
7109 * explow.c (expr_size, int_expr_size): Likewise.
7110 * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
7111 Likewise.
7112 * expr.c (store_expr, store_constructor, safe_from_p,
7113 expand_expr_real, do_store_flag, try_casesi): Likewise.
7114 * function.c (push_function_context_to, pop_function_context_from,
7115 free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
7116 put_var_into_stack, allocate_struct_function, current_function_name):
7117 Likewise.
7118 * integrate.c (copy_decl_for_inlining, expand_inline_function):
7119 Likewise.
7120 * langhooks.c (lhd_clear_binding_stack, write_global_declarations,
7121 lhd_print_error_function): Likewise.
7122 * opts.c (handle_option, decode_options): Likewise.
7123 * passes.c (open_dump_file): Likewise.
7124 * print-tree.c (print_node): Likewise.
7125 * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
7126 expand_decl_cleanup, emit_case_nodes): Likewise.
7127 * stor-layout.c (variable_size): Likewise.
7128 * toplev.c (announce_function, wrapup_global_declarations,
7129 check_global_declarations, compile_file, default_tree_printer,
7130 process_options, lang_dependent_init, finalize): Likewise.
7131 * tree-dump.c (dequeue_and_dump): Likewise.
7132 * tree-inline.c (remap_decl, remap_block, copy_body_r,
7133 initialize_inlined_parameters, declare_return_variable,
7134 inlinable_function_p, expand_call_inline, optimize_inline_calls,
7135 walk_tree, copy_tree_r): Likewise.
7136 * tree-optimize.c (tree_rest_of_compilation): Likewise.
7137 * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
7138 unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
7139 variably_modified_type_p, dump_tree_statistics): Likewise.
7140 * varasm.c (assemble_variable, compare_constant, copy_constant,
7141 force_const_mem, compute_reloc_for_constant, output_constant,
7142 output_addressed_constants, initializer_constant_valid_p): Likewise.
7143
89acbae0
KC
71442004-03-14 Kelley Cook <kcook@gcc.gnu.org>
7145
7146 * doc/install.texi: Make autoconf 2.13 the exception, not the rule.
7147
d01b30dc
AT
71482004-03-14 Andreas Tobler <a.tobler@schweiz.ch>
7149
7150 * doc/install.texi: Reflect autoconf and automake version for
7151 libffi. Update autoconf version to 2.59.
7152
5785c7de
RS
71532004-03-13 Roger Sayle <roger@eyesopen.com>
7154
7155 * fold-const.c (negate_expr, operand_equal_for_comparison_p,
7156 optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
7157 make_range, build_range_check, fold_range_test, unextend,
7158 constant_boolean_node, fold_binary_op_with_conditional_arg,
7159 fold_truthop, fold_mathfn_compare, fold_inf_compare,
7160 fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
7161 with lang_hooks.foo ().
7162
edc62122
RE
71632004-03-14 Richard Earnshaw <rearnsha@arm.com>
7164
7165 * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
7166
7db956db
DH
71672004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
7168
7169 * doc/install.texi: Note status of -fnew-ra.
7170
e6d55fd7
EB
71712004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
7172
7173 PR middle-end/14470
7174 * expr.c (store_expr): Call emit_queue before generating the move
7175 from the temporary to the original target. Protect the temporary
7176 from emit_queue.
7177
cfbab41c
JJ
71782004-03-13 Jakub Jelinek <jakub@redhat.com>
7179
7180 PR target/14533
7181 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
7182 other than UNSPEC_GOTOFF.
7183
1e1ab407
RE
71842004-03-13 Richard Earnshaw <rearnsha@arm.com>
7185
7186 * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through
7187 to arm_legitimate_index_p. Update all callers with SET as default
7188 value.
7189 (arm_legitimate_index_p): New argument, OUTER. Restrict the index
7190 range if OUTER is a sign-extend operation on QImode. Correctly
7191 reject shift operations on sign-extended QImode addresses.
7192 (bad_signed_byte_operand): Delete.
7193 (arm_extendqisi_mem_op): New function.
7194 * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with...
7195 (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address
7196 constraints.
7197 (CONSTRAINT_LEN): New.
7198 (EXTRA_CONSTRAINT): Delete. Replace with...
7199 (EXTRA_CONSTRAINT_STR): ... this.
7200 (PREDICATE_CODES): Remove bad_signed_byte_operand.
7201 * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length
7202 is now always default.
7203 (define_splits for bad sign-extend loads): Delete.
7204 (arm_extendqisi, arm_extendqisi_v5): Likewise.
7205 * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
7206 Rework 'U' constraint to 'Uv'.
7207 * arm-protos.h: Remove bad_signed_byte_operand. Add
7208 arm_extendqisi_mem_op.
7209 * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
7210 Add Uq constraint.
7211
c53bdcf5
AM
72122004-03-13 Alan Modra <amodra@bigpond.net.au>
7213
fa78dbea
AM
7214 * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
7215 with targetm version.
7216
c53bdcf5
AM
7217 PR target/14567
7218 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
7219 (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
7220 * config/rs6000/rs6000.c (rs6000_arg_size): New function.
7221 Update all users of RS6000_ARG_SIZE.
7222 (function_arg_advance): Count fregno using mode size.
7223 (function_arg): Handle long double split over regs and memory.
7224 (function_arg_partial_nregs): Likewise.
7225 (rs6000_va_arg): Repackage complex args.
7226
992ab122
DF
72272004-03-13 Dean Ferreyra <dferreyra@igc.org>
7228
7229 PR target/14047
7230 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
7231 (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
7232 * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
7233
c973d557
JJ
72342004-03-12 Jakub Jelinek <jakub@redhat.com>
7235
7236 * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
7237 prototype.
7238 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
7239 * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
7240
4319ac92
AP
72412003-03-12 Andrew Pinski <apinski@apple.com>
7242
7243 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
7244 Use ret instead of result. Use addr instead of base.
7245
bb674cef
DE
72462004-03-12 David Edelsohn <edelsohn@gnu.org>
7247
7248 * doc/install.texi (*-ibm-aix*): Document assembler and achiver
7249 fixes required by libstdc++ and update installation instructions
7250 for libstdc++.a.
7251
b1f123c7
DS
72522004-03-12 Danny Smith <dannysmith@users.sourceforge.net>
7253
7254 * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
7255 leading '@' on fastcall symbols before stripping suffix.
7256
67962db5
RS
72572004-03-12 Roger Sayle <roger@eyesopen.com>
7258
7259 * combine.c (unmentioned_reg_p): New function to check whether an
7260 expression is a "specialization" of another, i.e. that there are
7261 no registers or memory references mentioned in the first that don't
7262 appear in the second.
7263 (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
7264 (combine_instructions): Also try combining instructions using the
7265 REG_EQUAL note from a preceding log-linked instruction.
7266
8937b6a2
RS
72672004-03-12 Roger Sayle <roger@eyesopen.com>
7268
7269 * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
7270
4746cf84
MA
72712004-03-12 Matt Austern <austern@apple.com>
7272
7273 * target.h (struct gcc_target): New target hook, unwind_label.
7274 * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
7275 * output.h (default_emit_unwind_label): New function.
7276 * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
7277 (TARGET_USES_WEAK_UNWIND_INFO): New target macro.
7278 (TARGET_SUPPORTS_HIDDEN): New target macro.
7279 * dwarf2out.c (struct dw_fde_struct): Add field for function decl
7280 that corresponds to this FDE.
7281 (FRAME_BEGIN_LABEL): Allow target to override default label.
7282 (output_call_frame_info): If FDEs are linknonce, then use extra
c53bdcf5 7283 indirection for FDE encoding, output a label for each FDE, and
4746cf84
MA
7284 output an empty label for each function without an FDE.
7285 (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
7286 * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
7287 decls with DECL_ONE_ONLY set, if that macro is defined.
7288 (make_decl_one_only): Don't use DECL_COMMON if we're compiling
7289 for a SUPPORTS_ONE_ONLY target.
7290 * config/darwin-protos.h (darwin_unique_section): Declare.
7291 (darwin_asm_named_section): Likewise.
7292 (darwin_section_type_flags): Likewise.
7293 (darwin_non_lazy_pcrel): Likewise.
7294 (darwin_emit_unwind_label): Likewise.
7295 (darwin_make_decl_one_only): Likewise.
7296 * config/darwin.c (machopic_finish): Get rid of tweak that
7297 eliminate stubs for symbols that are defined.
7298 (darwin_encode_section_info): Don't treat weak functions as defined.
7299 (darwin_make_decl_one_only): Define.
7300 (darwin_asm_named_section): Likewise.
7301 (darwin_section_type_flags): Likewise.
7302 (darwin_unique_section): Likewise.
7303 (darwin_emit_unwind_label): Likewise.
7304 (darwin_non_lazy_pcrel): Likewise.
7305 (darwin_asm_output_dwarf_delta): Difference between two labels is
7306 local only if both labels are local.
7307 * config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
7308 (ASM_MAKE_LABEL_LINKONCE): Likewise.
7309 (TARGET_SUPPORTS_HIDDEN): Likewise.
7310 (TARGET_USES_WEAK_UNWIND_INFO): Likewise.
7311 (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
7312 (FRAME_BEGIN_LABEL): Likewise.
7313 (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
7314 (ASM_DECLARE_FUNCTION_NAME): Likewise.
7315 (darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
7316 (TARGET_ASM_UNIQUE_SECTION): Define.
7317 (EH_FRAME_SECTION_NAME): Define.
7318 (EH_FRAME_SECTION_ATTR): Likewise.
7319 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
7320 (TARGET_ASM_NAMED_SECTION): Likewise.
7321 (TARGET_SECTION_TYPE_FLAGS): Likewise.
7322 * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
7323 TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
7324 TARGET_ASM_EMIT_UNWIND_LABEL.
bc4c01b7 7325
fd0c8c8d
KG
73262004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7327
7328 * builtins.c (expand_builtin_mathfn): Add pow10* to the
7329 existing exp10* case.
7330 (expand_builtin): Likewise.
7331
ca0b6e3b
EB
73322004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
7333
7334 * doc/tm.texi (registers) <Values in Registers>: Add
7335 entry for REGMODE_NATURAL_SIZE.
7336
42ba5130
RH
73372004-03-12 Richard Henderson <rth@redhat.com>
7338
7339 PR target/14547
7340 * target.h (struct gcc_target): Move calls substructure before
7341 booleans. Add split_complex_arg.
7342 * function.c (assign_parms, split_complex_args): Use it.
c53bdcf5
AM
7343 * calls.c (expand_call): Likewise.
7344 (split_complex_values): Likewise. Check for splittable types
7345 before allocating memory.
7346 (split_complex_types): Likewise.
42ba5130
RH
7347 * system.h (SPLIT_COMPLEX_ARGS): Poison.
7348 * expr.h (SPLIT_COMPLEX_ARGS): Remove.
7349 * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
7350 * config/alpha/alpha.c (alpha_split_complex_arg): New.
7351 (TARGET_SPLIT_COMPLEX_ARG): New.
7352 * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
7353 * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
7354 (rs6000_override_options): Zap it for non-AIX.
7355 (rs6000_function_value): Use targetm.calls.split_complex_arg.
7356 * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
7357 * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
7358 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
7359 * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
7360 SPLIT_COMPLEX_ARGS entry.
7361
75959f0a
RH
73622004-03-11 Richard Henderson <rth@redhat.com>
7363
7364 * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
7365 (alpha_lookup_xfloating_lib_func): Use them, return rtx.
7366 (alpha_emit_xfloating_arith): Update to match.
7367 (alpha_emit_xfloating_compare): Likewise.
7368 (alpha_emit_xfloating_cvt): Likewise.
7369 (alpha_emit_xfloating_libcall): Take already built symbol,
7370 mark call const.
7371 * config/alpha/alpha.md (extendsftf2, extenddftf2): Take
7372 op1 in a register.
7373
e5e10fb4
RH
73742004-03-11 Richard Henderson <rth@redhat.com>
7375
7376 PR target/14539
7377 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
7378
55cf9d62
RH
7379 * simplify-rtx.c (simplify_relational_operation): Fix typo.
7380
9caad63a
RH
73812004-03-11 Richard Henderson <rth@redhat.com>
7382
7383 PR middle-end/14477
7384 * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
7385
03ca1672
UW
73862004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
7387
7388 PR target/14262
7389 * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
7390 defined, pass small BLKmode values in registers in the low-order part.
7391
bbe708a3
UW
73922004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
7393
7394 * combine.c (if_then_else_cond): Check for NULL return value of
7395 simplify_gen_subreg.
7396
0e808055
RS
73972004-03-11 Richard Sandiford <rsandifo@redhat.com>
7398
7399 PR target/14496
7400 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
7401 TARGET_SINGLE_FLOAT.
7402
1f7aa7cd
SE
74032004-03-11 Steve Ellcey <sje@cup.hp.com>
7404
7405 * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
7406 * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
7407 * config/ia64/ia64.c (ia64_init_libfuncs): New.
7408 (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
7409
239a625e
RS
74102004-03-11 Roger Sayle <roger@eyesopen.com>
7411
7412 * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
7413 -((int)X>>C) where C is an integer constant one bit less than the
7414 size of X into (unsigned)X>>C. Similarly for unsigned->signed.
7415 (negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
7416
7417 * simplify-rtx.c (simplify_unary_operation): Also implement the
7418 above transformations at the RTL level.
7419
40131a38
AM
74202004-03-11 Alan Modra <amodra@bigpond.net.au>
7421
7422 * real.c (encode_ibm_extended): Do round low word.
7423
df8e2ad0
BE
74242004-03-11 Ben Elliston <bje@wasabisystems.com>
7425
7426 * config/arm/arm.md (is_xscale): Comment this attribute and move
7427 it a bit further up in the file, closer to related attributes.
7428
d1704a35
EB
74292004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr>
7430
7431 * config/host-solaris.c (sol_gt_pch_use_address): Add
7432 missing terminating marker to comment.
7433
fc31c7ca
RS
74342004-03-11 Richard Sandiford <rsandifo@redhat.com>
7435
7436 * config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
7437 (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
7438 (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
7439 (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
7440 move_operand as source predicate in all cases.
7441 (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
7442 Test reg_or_0_operand. Use move_operand as source predicate.
7443 (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
7444 (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
7445 (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
7446 (movhi, movqi, movsf, movdf): Use mips_legitimize_move.
7447 (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
7448 Use move_operand as source predicate. Remove 'K' constraint.
7449 (*movqi_internal): Likewise movqi_internal.
7450 (*movsf_hardfloat): Renamed from movsf_internal1. Test
7451 reg_or_0_operand. Use move_operand as source predicate.
7452 (*movsf_softfloat): Likewise movsf_internal2.
7453 (*movdf_hardfloat_64bit): Likewise movsf_internal1a.
7454 (*movdf_hardfloat_32bit): Likewise movsf_internal1b.
7455 (*movdf_softfloat): Likewise movdf_internal2.
7456 * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
7457 for DImode if !TARGET_64BIT.
7458 (mips_legitimize_move): Simplify accordingly.
7459
81f2eadb
JZ
74602004-03-11 Josef Zlomek <zlomekj@suse.cz>
7461
7462 PR/14362
7463 * var-tracking.c (struct variable_def): Added field refcount.
7464 (variable_htab_free): Decrease the refcount and delete variable
7465 only if there are no more references.
7466 (unshare_variable): New function.
7467 (vars_copy_1): Increase refcount instead of copying the variable.
7468 (variable_union): Share the variables where possible, unshare
7469 the variables if needed.
7470 (variable_different_p): Return false if var1 and var2 are
7471 the same structure.
7472 (variable_was_changed): Init the refcount of new variable.
7473 (set_frame_base_location): Unshare variable if needed.
7474 (set_variable_part): Init the refcount of new variable.
7475 Unshare the variables if needed.
c53bdcf5 7476 (delete_variable_part): Unshare the variables if needed.
81f2eadb
JZ
7477 (emit_notes_for_differences_1): Init the refcount of new variable.
7478 (vt_add_function_parameters): Do not add function parameters to
7479 IN set of ENTRY_BLOCK_PTR because it is unused anyway.
7480 (vt_initialize): Do not add frame_base_decl to IN set of
7481 ENTRY_BLOCK_PTR because it is unused anyway.
7482
11599d14
JZ
74832004-03-11 Josef Zlomek <zlomekj@suse.cz>
7484
7485 * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
7486 (vars_copy): Likewise.
7487 (variable_union): Likewise.
7488 (set_variable_part): Likewise.
7489 (delete_variable_part): Likewise.
7490
71cc389b
KH
74912004-03-11 Kazu Hirata <kazu@cs.umass.edu>
7492
7493 * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
7494 ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
7495 config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
7496 config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
7497 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
7498 config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
7499 config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
7500 config/pdp11/pdp11.h, config/rs6000/rs6000.c,
7501 config/stormy16/stormy16.c: Fix comment typos and formatting.
7502
f3c9f174
NN
75032004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
7504
7505 * configure: Regenerate, since I forgot to while committing Paolo's
7506 changes.
7507
e4c9c075
PB
75082004-03-08 Paolo Bonzini <bonzini@gnu.org>
7509
7510 PR ada/14131
7511 Move language detection to the top level.
7512 * configure.ac: Remove code to detect languages,
7513 it now lives exclusively in the top level.
7514 * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
7515 top level, renamed to ACX_PROG_GNAT.
7516
4d0c31e6
RH
75172004-03-10 Richard Henderson <rth@redhat.com>
7518
7519 * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
7520 extra arguments.
7521 * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
7522 and host_xmake_file fragments.
7523 * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
7524 (gt_pch_restore): Similarly for gt_pch_use_address.
7525 (default_gt_pch_get_address): New.
7526 (mmap_gt_pch_get_address): Split out of gt_pch_save.
7527 (default_gt_pch_use_address): Split out of gt_pch_restore.
7528 (mmap_gt_pch_use_address): Likewise.
7529 * hooks.c (hook_voidp_size_t_null): Remove.
7530 (hook_bool_voidp_size_t_false): Remove.
7531 * hooks.h: Likewise.
7532 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
7533 default_ or mmap_ definitions.
7534 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
7535 * hosthooks.h (struct host_hooks): Update gt_pch_get_address
7536 and gt_pch_use_address.
7537 * config/host-linux.c, config/host-solaris.c: New files.
7538 * config/x-linux, config/x-solaris: New files.
bc4c01b7 7539 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
4d0c31e6
RH
7540 Update for changed definition.
7541 (darwin_rs6000_gt_pch_use_address): Likewise.
7542 * doc/hostconfig.texi: Update docs.
7543
28fca7e4
RH
75442004-03-10 Richard Henderson <rth@redhat.com>
7545
7546 PR c/14517
7547 * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
7548 except for pedantic c90 mode.
7549
8ab705be
KC
75502004-03-10 Kelley Cook <kcook@gcc.gnu.org>
7551
7552 * configure.ac: Bump AC_PREREQ to 2.59.
7553 * configure: Regenerate.
7554
a251102e
UB
75552004-03-10 Uros Bizjak <uros@kss-loka.si>
7556
7557 * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
7558 (exp10_optab, exp2_optab): Define corresponding macros.
7559 * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
7560 * genopinit.c (optabs): Implement exp10_optab and exp2_optab
7561 using exp10?f2 and exp2?f2 patterns.
7562 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
7563 using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
7564 (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
7565 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
7566
7567 * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
7568 exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
7569 exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
7570
11f01d37
AG
75712004-03-10 Anthony Green <green@redhat.com>
7572
7573 * doc/invoke.texi (ARM Options): Fix -mpfu typo.
7574
bb904c1a
DE
75752004-03-10 David Edelsohn <edelsohn@gnu.org>
7576
7577 * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
7578 (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define
7579 __LONGDOUBLE128.
7580 * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
7581 TARGET_OS_AIX_CPP_BUILTINS.
7582 * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
7583 * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
7584 * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
7585 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
7586 previous change.
7587
b45d3a36
KG
75882004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7589
7590 * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
7591
35ae04ba
DE
75922004-03-10 David Edelsohn <edelsohn@gnu.org>
7593
7594 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
7595 __LONGDOUBLE128 on AIX.
7596
ffad84cd
AH
75972004-03-10 Andrew Haley <aph@redhat.com>
7598
f7b48371 7599 PR optimization/14381
ffad84cd
AH
7600 * function.c (expand_function_end): Emit a blockage insn before
7601 the epilogue when -fnon-call-exceptions is used.
7602
7603 * except.c (expand_start_all_catch): Make comment more accurate.
7604
65cd26a6
JS
76052004-03-08 Joel Sherrill <joel@oarcorp.com>
7606
7607 PR target/14480
7608 * config/rs6000/t-rtems: Add missing file on branch.
7609
452c159e
UW
76102004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
7611
7612 * dbxout.c (dbxout_symbol_location): Do not output references
7613 to optimized-out constant pool symbols.
7614
5f1b2068
AS
76152004-03-10 Andreas Schwab <schwab@suse.de>
7616
7617 * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
7618 twon34_r.
7619
5399d643
JW
76202004-03-09 James E Wilson <wilson@specifixinc.com>
7621
7622 * alias.c (alias_sets_might_conflict_p): New.
7623 * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
7624 * common.opt (Wstrict-aliasing=): New.
7625 * flags.h (warn_strict_aliasing): Change type to int.
7626 * opts.c (warn_strict_aliasing): Change type to int.
7627 (common_handle_option): Handle OPT_Wstrict_aliasing_.
7628 * tree.h (alias_sets_might_conflict_p): Declare it.
7629 * doc/invoke.tex (-Wstrict-aliasing=2): Document it.
7630
a4e9467d
RZ
76312004-03-10 Roman Zippel <zippel@linux-m68k.org>
7632
7633 PR bootstrap/12371
7634 * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
7635 (CALL_USED_REGISTERS): Likewise.
c53bdcf5 7636 (REG_CLASS_CONTENTS): Likewise.
a4e9467d
RZ
7637 (REG_ALLOC_ORDER): New.
7638 (REGNO_REG_CLASS): Use regno_reg_class.
7639 * config/m68k/m68k.c: Add regno_reg_class array.
7640
9aec7fb4
SE
76412004-03-09 Steve Ellcey <sje@cup.hp.com>
7642
7643 * config/ia64/ia64.md (divsi3): Fix algorithm.
7644 (udivsi3): Ditto.
7645 (setf_exp_xf): Remove '*' from name.
7646 * testsuite/gcc.dg/20040309-1.c: New test.
7647
9acd4a03
ILT
76482004-03-09 Ian Lance Taylor <ian@wasabisystems.com>
7649
7650 * system.h (SUNOS4_SHARED_LIBRARIES): Poison.
7651 * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
7652 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
7653 * config/sparc/sparc.c (sparc_aout_select_section): Remove.
7654 (sparc_aout_select_rtx_section): Don't check
7655 SUNOS4_SHARED_LIBRARIES.
7656 * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
7657
a5249a21
HPN
76582004-03-10 Hans-Peter Nilsson <hp@axis.com>
7659
7660 PR other/14474
7661 * doc/md.texi (Pattern Ordering, Dependent Patterns)
7662 (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
7663 INTERNALS".
7664
e373cdb4
ZW
76652004-03-09 Zack Weinberg <zack@codesourcery.com>
7666
7667 * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
7668 (LIBGCC_SPEC): Update to match.
7669
77dbdb57
ZW
76702004-03-09 Zack Weinberg <zack@codesourcery.com>
7671
7672 * c-decl.c (last_function_parms, last_function_parm_tags)
7673 (last_function_parm_others, current_function_parms)
7674 (current_function_parm_tags, current_function_parm_others):
7675 Delete.
7676 (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
7677 New macros.
7678 (grokdeclarator): For function definitions, save the arg-info
7679 block from the declarator in DECL_ARGUMENTS.
7680 (grokparms): Do not write to last_function_parm*. Use ARG_INFO_*
7681 macros to operate on arg-info block. Can assume ARG_INFO_PARMS
7682 contains only PARM_DECLs. Improve diagnostics.
7683 (get_parm_info): Use ARG_INFO_* macros. Improve comments and
7684 diagnostics. Disable some expensive checks if not ENABLE_CHECKING.
7685 (store_parm_decls_newstyle): Take the function to operate on,
7686 and an arg-info block, as arguments; don't get anything from
7687 current_function_* globals.
7688 (store_parm_decls_oldstyle): Likewise.
7689 (store_parm_decls): Pass fndecl and its arg-info block down to
7690 store_parm_decls_newstyle/oldstyle. Send functions with empty
7691 argument lists through store_parm_decls_newstyle to reduce
7692 overhead.
7693 (pushdecl): Comment on the problems with the call to copy_node.
7694 Clear DECL_ARGUMENTS of the old node after copying it, if it
7695 is an arg-info block instead of a chain of decls.
7696 (start_function): Do not manipulate current_function_parm* or
7697 last_function_parm*.
7698
305eeaeb
RS
76992004-03-09 Roger Sayle <roger@eyesopen.com>
7700 Andrew Pinski <pinskia@physics.uc.edu>
7701
7702 * ifcvt.c (noce_try_sign_mask): New function to transform
7703 "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
7704 (noce_process_if_block): Call noce_try_sign_mask.
7705
f38f747d
AP
77062004-03-09 Andrew Pinski <apinski@apple.com>
7707
7708 * c-typeck.c (tagged_types_tu_compatible_p):
7709 Fix typo.
7710
7ce3e360
RS
77112004-03-09 Roger Sayle <roger@eyesopen.com>
7712
7713 * simplify-rtx.c (simplify_const_relational_operation): New function
7714 renamed from simplify_relational_operation.
7715 (simplify_relational_operation): Change prototype to accept an
7716 additional mode argument. Call simplify_const_relational_operation.
7717 (simplify_gen_relational): Update simplify_relational_operation call.
7718 (simplify_ternary_operation): Update simplify_relational_operation
7719 subroutine call to use simplify_const_relational_operation instead.
7720
7721 * rtl.h (simplify_const_relational_operation): Prototype here.
7722 (simplify_relational_operation): Add addtional mode argument.
7723
7724 * combine.c (combine_simplify_rtx): Update calls to
7725 simplify_relational_operation.
7726 (simplify_set): Likewise.
7727 (gen_binary): Likewise.
7728 * cse.c (fold_rtx): Likewise.
7729 * dojump.c (compare_from_rtx): Likewise.
7730 (do_compare_rtx_and_jump): Likewise.
7731 * integrate.c (subst_constants): Likewise.
7732 * unroll.c (simplify_cmp_and_jump_insns): Likewise.
7733
c0e63064
KH
77342004-03-09 Kazu Hirata <kazu@cs.umass.edu>
7735
7736 * config/m32r/m32r.md: Remove all define_peephole's.
7737
6ae08853
AM
77382004-03-09 Alan Modra <amodra@bigpond.net.au>
7739
7740 * config/rs6000/rs6000.md: Remove trailing whitespace.
7741
5340bbea
EC
77422004-03-08 Eric Christopher <echristo@redhat.com>
7743
7744 * Makefile.in (site.exp): Add libiconv variable definition.
7745
3beb1315
HPN
77462004-03-09 Hans-Peter Nilsson <hp@axis.com>
7747
7748 * configure: Regenerate for config/accross.m4 correction.
7749
c589970a
JS
77502004-03-08 Joel Sherrill <joel@oarcorp.com>
7751
7752 PR target/14480
7753 * config/rs6000/t-rtems: Add missing file on branch.
7754
e697b20f
RS
77552004-03-08 Roger Sayle <roger@eyesopen.com>
7756
7757 PR middle-end/14289
7758 * c-typeck.c (c_mark_addressable): A register variable should
7759 be considered global if its not automatic, i.e. TREE_PUBLIC,
7760 TREE_STATIC or DECL_EXTERNAL.
7761 * function.c (put_var_into_stack): Call abort when placing a
7762 hard register into the stack, if x_parm_reg_stack_loc is NULL.
7763
59f8a8be
UW
77642004-03-08 Ulrich Weigand <uweigand@de.ibm.com>
7765
7766 * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
7767 ("*extendqisi2_short_displ"): Likewise.
7768
23bd99da
KH
77692004-03-08 Kazu Hirata <kazu@cs.umass.edu>
7770
7771 * config/pdp11/pdp11.c (comparison_operator_index): Remove.
7772 (comp_operator): Likewise.
7773 * config/pdp11/pdp11-protos.h: Remove corresponding
7774 prototypes.
7775
d50a16c4
EB
77762004-03-08 Eric Botcazou <ebotcazou@act-europe.fr>
7777
7778 * expr.c (highest_pow2_factor_for_type): Rename into
7779 highest_pow2_factor_for_target. Use DECL_ALIGN instead of
7780 TYPE_ALIGN when the target is a COMPONENT_REF.
7781 (expand_assignment): Ajust call to highest_pow2_factor_for_type.
7782
957211c3
AM
77832004-03-08 Alan Modra <amodra@bigpond.net.au>
7784
b1917422
AM
7785 * config/rs6000/rs6000.c: Formatting fix.
7786 (legitimate_offset_address_p): Correct offset range check.
7787
957211c3
AM
7788 * config/rs6000/rs6000.c (rs6000_override_options): Don't override
7789 -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
7790 and MASK_STRING.
7791
97727e85 77922004-03-07 Aldy Hernandez <aldyh@redhat.com>
5340bbea 7793
77dbdb57
ZW
7794 * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
7795 for little endian.
7796 ("ashrdi3_no_power"): Disable for little endian.
97727e85
AH
7797 (ashrdi3): Same.
7798
280e63ec
KG
77992004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7800
7801 * fold-const.c (tree_expr_nonnegative_p): Reformat checks for
7802 builtins.
7803
86da66b5
HPN
78042004-03-08 Hans-Peter Nilsson <hp@axis.com>
7805
7806 PR target/14471
7807 * configure.ac (Target-specific assembler checks) <cris-*-*>: New
7808 case, checking for -no-mul-bug-abort option.
7809 * configure, config.in: Regenerate.
7810 * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
7811 and -mno-mul-bug-workaround.
7812 * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
7813 ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
7814 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
7815 Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
7816 * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
7817 sure mulu.d is not last on cache-line.
7818 * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
7819 into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
7820 (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
7821 (TARGET_SWITCHES): New options -mmul-bug-workaround and
7822 -mno-mul-bug-workaround.
7823 (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
7824 (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
7825 * config/cris/cris.c (cris_operand_extend_operator): Clarify
7826 relation to MULT in head comment.
7827 (cris_op_str): Abort for MULT.
7828 (cris_print_operand) <case '!'>: New case.
7829
e7ee3914
AM
78302004-03-08 Alan Modra <amodra@bigpond.net.au>
7831
7832 PR debug/11983
7833 * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
7834 dw_val_class_vec. Replace use throughout file.
7835 (dw_float_const): Delete.
7836 (dw_vec_const): New.
7837 (dw_val_struct_union): Rename val_float to val_vec. Replace use
7838 throughout file.
7839 (add_AT_vec): Rename from add_AT_float. Add elt_size param.
7840 (same_dw_val_p): Adjust vec comparison. Use memcmp.
7841 (size_of_die): Adjust dw_val_class_vec sizing.
7842 (output_die): Output dw_val_class_vec.
7843 (insert_int, extract_int, insert_float): New functions.
7844 (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
7845 Handle CONST_VECTOR.
7846 (add_location_or_const_value_attribute): Handle CONST_VECTOR.
5cc73f91
AH
7847
78482004-03-07 Aldy Hernandez <aldyh@redhat.com>
7849
7850 * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
7851 AltiVec abi cannot co-exist.
7852
7853 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
7854
a61bf177
JH
78552004-03-07 Jan Hubicka <jh@suse.cz>
7856
7857 * except.c (emit_to_new_bb_before): Break fallthru edges.
7858
17c60946
SC
78592004-03-07 Stephane Carrez <stcarrez@nerim.fr>
7860
7861 * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
7862 ("*lshrsi3"): Also accept an immediate for 68HC12.
7863 ("*ashrsi3_const"): Likewise.
7864 ("*ashrsi3"): Likewise.
7865 ("*ashlsi3_const"): Likewise.
7866 ("*ashlsi3"): Likewise.
7867 ("cmphi_1_hc12"): Compare two hard register by pushing them and
7868 comparing with a pop; don't use a split for that.
7869 ("cmphi split"): Disable compare split for 68HC12.
7870
7871 * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
7872 the status operands if they have side effects.
7873
3e759eda
KH
78742004-03-07 Kazu Hirata <kazu@cs.umass.edu>
7875
7876 * defaults.h (LEGITIMIZE_ADDRESS): Provide a default
7877 definition.
7878 * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
7879 config/h8300/h8300.h, config/ia64/ia64.h,
7880 config/mcore/mcore.h, config/mmix/mmix.h,
7881 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
7882 config/stormy16/stormy16.h, config/v850/v850.h,
7883 config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
7884 * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
7885 definition.
7886
cd2f1c7a
RS
78872004-03-07 Roger Sayle <roger@eyesopen.com>
7888
7889 * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
7890 <XOR_EXPR>: Fold x ^ x as zero.
7891 <AND_EXPR>: Fold x & x as x.
7892
350f4ea8
RS
78932004-03-07 Roger Sayle <roger@eyesopen.com>
7894
7895 * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
7896 "foo++ == const" into "++foo == const+incr".
7897
91455597
RS
78982004-03-07 Richard Sandiford <rsandifo@redhat.com>
7899
7900 * config/mips/mips.c (mips_in_small_data_p): Return false if
7901 TARGET_ABICALLS.
7902
a75ea627
SC
79032004-03-06 Stephane Carrez <stcarrez@nerim.fr>
7904
7905 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
7906 the stack register.
7907 (expand_prologue): Don't make an interrupt or a trap handler a far
7908 symbol.
7909 (m68hc11_initial_elimination_offset): Likewise.
7910
7179b6db
RH
79112004-03-06 Richard Henderson <rth@redhat.com>
7912
7913 * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
7914
eff3c926
KH
79152004-03-06 Kazu Hirata <kazu@cs.umass.edu>
7916
7917 * config/ns32k/ns32k-protos.h: Add a prototype for
7918 ns32k_notice_update_cc.
7919 * config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
7920 * config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
7921 ns32k_notice_update_cc.
7922
22ea6b4f
UW
79232004-03-06 Ulrich Weigand <uweigand@de.ibm.com>
7924
7925 * config/s390/s390.md ("load_multiple", "*load_multiple_di",
7926 "*load_multiple_si"): Allow only if reload_completed.
7927 ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
7928 Likewise.
7929
af0ec113
KH
79302004-03-06 Kazu Hirata <kazu@cs.umass.edu>
7931
7932 * config/vax/vax-protos.h: Add a prototype for
7933 vax_notice_update_cc.
7934 * config/vax/vax.c (vax_notice_update_cc): New.
7935 * config/vax/vax.h (NOTICE_UPDATE_CC): Call
7936 vax_notice_update_cc.
7937
aaef9b06
DE
79382004-03-06 David Edelsohn <edelsohn@gnu.org>
7939
7940 * collect2.c (main): Only export initfunc and finifunc if
7941 LD_INIT_SWITCH not defined.
7942 (scan_prog_file): Only export constructors and destructors if
7943 LD_INIT_SWITCH not defined. Only export symbols not found in
7944 shared objects.
7945
7a9a5a44
JDA
79462004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7947
7948 * pa.md (icacheflush): Reorder operands to make match_scratch operand
7949 last.
7950 * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
7951 from calls to gen_icacheflush.
7952
0f15adbd
RH
79532004-03-06 Richard Henderson <rth@redhat.com>
7954
7955 * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
7956 (TARGET_LONG_DOUBLE_128): New.
7957 (TARGET_SWITCHES): Add long-double-{128,64}.
7958 (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
7959 (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
7960 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
7961 (WIDEST_HARDWARE_FP_SIZE): New.
7962 (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
7963 * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
7964 if TARGET_VAX_FLOAT.
7965 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
7966 (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
7967
b9c685ae
RH
79682004-03-06 Richard Henderson <rth@redhat.com>
7969
7970 * config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
7971 botched rtx class conversion.
7972
82b4201f
KG
79732004-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7974
7975 * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
7976 BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
7977
7978 * builtins.c (fold_builtin_logarithm, fold_builtin): Use new
7979 macros.
7980 * fold-const.c (fold_mathfn_compare, fold): Likewise.
7981
84289c76
EB
79822004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
7983
7984 PR target/14343
7985 * config/i386/i386.md (movv2di_internal): Conditionalize on
7986 TARGET_SSE, not TARGET_SSE2.
7987
3fdf09a1
CD
79882004-03-05 Chris Demetriou <cgd@broadcom.com>
7989
7990 * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
7991 duplicated line.
7992
f2f4e976
KG
79932004-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7994
7995 * builtins.c: Consistently use logN not log* in comments.
7996
2b3493c8
AK
79972004-03-05 Andreas Krebbel <krebbel1@de.ibm.com>
7998
7999 * rtl.h (mem_expr_equal_p): Function prototype added.
8000 * cfgcleanup.c (merge_memattrs): New function.
8001 (flow_find_cross_jump): Call merge_memattrs for matching insns.
8002 * emit-rtl.c (mem_expr_equal_p): New function.
8003
1a4a7065
ZL
80042004-03-05 Ziemowit Laski <zlaski@apple.com>
8005
8006 * objc/objc-act.c (synth_module_prologue): Const-qualify
8007 objc_selector type if using the GNU runtime; fix generated
8008 signatures for objc_msg_lookup and objc_msg_lookup_super
8009 to match what GNU ObjC headers provide; reformat and clean up.
8010 (synth_self_and_ucmd_args): Use previously constructed (and
8011 hence possibly const-qualified) objc_selector type.
8012
150c9fe8
KH
80132004-03-05 Kazu Hirata <kazu@cs.umass.edu>
8014
8015 * doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
8016
fd917e0d
JM
80172004-03-05 Jason Merrill <jason@redhat.com>
8018
8019 * tree.h (TYPE_HASH): Use TYPE_UID.
8020 (TREE_HASH): New macro with old definition of TYPE_HASH.
8021 * tree.c (build_type_attribute_variant): Use iterative_hash_object.
8022 (build_array_type, build_function_type): Likewise.
8023 (build_method_type_directly): Likewise.
8024 (build_offset_type, build_complex_type): Likewise.
8025 (type_hash_list, attribute_hash_list): Likewise. Now static.
8026 * except.c: s/TYPE_HASH/TREE_HASH/.
8027
822e895c
BW
80282004-03-05 Bob Wilson <bob.wilson@acm.org>
8029
8030 * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
8031 (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
8032 __va_ndx by 2 words when referencing an argument on the stack.
8033 (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
8034 words when an arg on the stack is first seen.
8035
2eb83715
PB
80362004-03-05 Paul Brook <paul@codesourcery.com>
8037
8038 * arm.h (ARM_FLAG_VFP): Remove.
8039 (ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
8040 * netbsd-elf.h (ARM_FLAG_VFP): Remove.
8041
ce407aa9
PB
80422004-03-05 Paul Brook <paul@codesourcery.com>
8043
8044 * function.c (assign_parms): Include pretend alignment offset.
8045
019dd4ec
RK
80462004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8047
8048 * stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
8049 FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
8050
33e70558
ILT
80512004-03-05 Ian Lance Taylor <ian@wasabisystems.com>
8052
8053 * configure.ac: When passing --enable-languages to subdir
8054 configure when host != build, make sure we don't pass an empty
8055 value.
8056 * configure: Regenerate.
8057
ab786753
NS
80582004-03-05 Nathan Sidwell <nathan@codesourcery.com>
8059
8060 PR 13577
8061 * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
8062 options.
8063
d2782048
PB
80642004-03-05 Paolo Bonzini <bonzini@gnu.org>
8065
8066 * simplify-rtx.c (simplify_relational_operation): If
8067 flag_wrapv is set, do not move terms between the two
8068 side of a relational operator.
8069
f894b69b
PB
80702004-03-05 Paolo Bonzini <bonzini@gnu.org>
8071
8072 * rtlanal.c: Include target.h and output.h
8073 (rtx_cost, address_cost, default_address_cost): Move from...
8074 * cse.c (rtx_cost, address_cost, default_address_cost):
8075 ... this file.
8076 * rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
8077 * Makefile.in: Adjust dependencies.
8078
86caf04d
PB
80792004-03-05 Paolo Bonzini <bonzini@gnu.org>
8080
8081 * cse.c (cse_end_of_basic_block): Make static.
8082 * local-alloc.c (function_invariant_p): Move to
8083 reload1.c.
8084 * loop.c (libcall_other_reg, record_excess_regs):
8085 Make static.
8086 * reload1.c (function_invariant_p): Moved here
8087 from local-alloc.c, made static.
8088 * rtl.h (cse_end_of_basic_block, function_invariant_p,
8089 libcall_other_reg, record_excess_regs): Remove
8090 declarations.
8091
d0fe265e
KH
80922004-03-05 Kazu Hirata <kazu@cs.umass.edu>
8093
8094 * config/m32r/m32r.c (signed_comparison_operator): Add a
8095 missing parenthesis.
8096
ee0d75ef
ILT
80972004-03-04 Ian Lance Taylor <ian@wasabisystems.com>
8098
8099 * ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
8100 going to call mmap again. Read the file into the right place.
8101 Give a fatal error if we have to relocate.
8102
6e5ff6e7
BW
81032004-03-04 Bob Wilson <bob.wilson@acm.org>
8104
8105 * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
8106 (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
8107
fc7b80e4
HPN
81082004-03-05 Hans-Peter Nilsson <hp@axis.com>
8109
fd9361f7 8110 PR other/14354
fc7b80e4
HPN
8111 * config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
8112 round the same. When rounding, clear bits that would cause a
8113 second rounding in pack_d.
8114 (_fpmul_parts): Ditto. Remove #if 0:d code.
8115
b9e4e5d1
ZL
81162004-03-04 Ziemowit Laski <zlaski@apple.com>
8117
8118 PR c++/14425, c++/14426
8119 * config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
8120 vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
8121 Change C++ definitions to accept a 'const int' argument;
8122 the prototypes already do.
8123 * config/rs6000/rs6000.c (rs6000_common_init_builtins):
8124 Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
8125 v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
8126 v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
8127 v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
8128 v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
8129 end in ..._int; change them to accept an int instead of a char
8130 as the last parameter.
8131
8653fed7
PE
81322004-03-04 Phil Edwards <phil@codesourcery.com>
8133
8134 * genmultilib: Change '=' to '-' when translating option names
8135 to directory names.
8136
daae8185
RK
81372004-03-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8138
8139 * expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
8140 stack slot for temp used for result of BLKmode but in integral mode.
8141
f345f21a
JH
81422004-03-04 Jan Hubicka <jh@suse.cz>
8143
8144 * reload.c (find_reloads): Reorganize if seqeunce to switch.
8145
8146 * cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty.
8147 (cfglayout_redirect_edge_and_branch): Set the source BB as dirty.
8148
aa42f99d
SE
81492004-03-04 Steve Ellcey <sje@cup.hp.com>
8150
8151 * config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
8152 * testsuite/gcc.dg/20040303-1.c: New test.
8153
56bab446
SB
81542004-03-04 Steven Bosscher <stevenb@suse.de>
8155
8156 * ppro.md: Rewrite as a DFA pipeline description.
8157 * i386.md: Remove all uses of the ppro_uops attribute.
8158 * i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
8159 ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
8160 ix86_sched_reorder, ix86_variable_issue,
8161 struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
8162 TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
8163 (ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
8164 (ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
8165 * athlon.md (athlon_ssecmp_load): Fix comment
8166
5a26b329 81672004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 8168
5a26b329
SH
8169 * gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
8170
2e5d2af9 81712004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 8172
2e5d2af9
SH
8173 * gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
8174 686, tell Darwin assembler to allow prefetch insns, non-empty def
8175 of SUBTARGET_OPTION_TRANSLATE_TABLE.
8176
58f206d6
DD
81772004-03-04 DJ Delorie <dj@redhat.com>
8178
8179 PR optimization/14282
8180 * sched-deps.c (sched_analyze_insn): Allow a stack adjustment
8181 between a call and the assignment of its return value.
8182
e9eba255
KH
81832004-03-04 Kazu Hirata <kazu@cs.umass.edu>
8184
8185 * config/h8300/h8300.c: Put a comment for every function.
8186
d3c40837
KH
81872004-03-04 Kazu Hirata <kazu@cs.umass.edu>
8188
8189 * config/h8300/h8300.md: Add comments about peephole2's.
8190
eb3d7f9d
SB
81912004-03-04 Steven Bosscher <stevenb@suse.de>
8192
8193 * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
8194
463301c3
JH
81952004-03-04 Jan Hubicka <jh@suse.cz>
8196
8197 * cfgcleanup.c (thread_jump): Update call of cselib_init.
8198 * cselib.c (cselib_record_memory): New static variable.
8199 (cselib_lookup_mem, cselib_record_set, cselib_record_sets):
8200 Give up on memories when asked for.
8201 (cselib_init): Accept new argument.
8202 * cselib.h (cselib_init): Update prototype.
8203 * gcse.c (local_cprop_pass): Update call of cselib_init.
8204 * loop.c (load_mems): Update call of cselib_init.
8205 * postreload.c (reload_cse_regs_1): Update call of cselib_init.
8206 * sched-deps.c (sched_analyze): Update call of cselib_init.
8207
3b6ce0af
DE
82082004-03-04 David Edelsohn <edelsohn@gnu.org>
8209 GP <gp@qnx.com>
8210
8211 * config/rs6000/rs6000.c (output_function_profiler): Append @plt
8212 when compiling PIC.
8213
af931390
JZ
82142004-03-04 Josef Zlomek <zlomekj@suse.cz>
8215
8216 PR/14362
8217 * var-tracking.c (track_expr_p): Do not track variables which
8218 should be ignored for debugging purposes.
8219
ddc68564
AM
82202004-03-04 Alan Modra <amodra@bigpond.net.au>
8221
8222 * real.c (encode_ibm_extended): Don't bother rounding low double.
8223 * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
8224 when fmt->pnan < fmt->p.
8225
ca87076c
EC
82262004-03-04 Eric Christopher <echristo@redhat.com>
8227
8228 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
8229 only range of valid arg registers and fixed_regs.
8230
1a402dc1
AM
82312004-03-04 Alan Modra <amodra@bigpond.net.au>
8232
8233 PR target/14406
8234 * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
8235 (abstf2, abstf2_internal): New define_expand.
8236
6a2d136b
EB
82372004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
8238
8239 PR optimization/14235
8240 * expr.c (convert_move): Copy the source to a new pseudo
8241 when converting from a sub-word source to a larger-than-word
8242 register which conflicts with the source.
8243
3205a71e
ZW
82442004-03-03 Zack Weinberg <zack@codesourcery.com>
8245
8246 PR 13728
8247 * c-decl.c (diagnose_mismatched_decls): Issue an error for two
8248 parameters with the same name, unless one is a forward decl.
8249 Do not issue a redundant-redeclaration warning for forward
8250 decls of parameters.
8251
e8d8a034
DE
82522004-03-04 David Edelsohn <edelsohn@gnu.org>
8253
8254 * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
8255 configuration.
8256
ebe29bbf
ILT
82572004-03-03 Ian Lance Taylor <ian@wasabisystems.com>
8258
8259 * ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
8260
7cd60054
AM
82612004-03-04 Alan Modra <amodra@bigpond.net.au>
8262
8263 * target-def.h (TARGET_OPTF): Delete.
8264 * c-opts.c (TARGET_OPTF): Define.
8265
e654c19e
JH
82662004-03-04 Jan Hubicka <jh@suse.cz>
8267
8268 * cselib.c (cselib_finish): Fix another miss-application of my previous
8269 patch.
8270
94d1613b
MS
82712004-03-03 Mike Stump <mrs@apple.com>
8272
8273 Add framework support for darwin.
8274
8275 * c-incpath.c: Include target.h and machmode.h.
8276 (add_path): Use a consistent style for cpp_dir. Initialize
8277 p->construct to 0.
8278 (add_cpp_dir_path): New.
8279 (register_include_chains): Add use of extra_includes callback.
8280 (hook_void_int): Add.
8281 (target_c_incpath): Add.
8282 * c-incpath.h (add_cpp_dir_path): New.
8283 (target_c_incpath_s): Add.
8284 (target_c_incpath): Add.
8285 (C_INCPATH_INIT): Add.
8286 * c-opts.c (c_common_missing_argument,
8287 c_common_handle_option): Add -F argument processing.
8288 * c.opt: Add -F argument processing.
8289 * gcc.c (trad_capable_cpp): Add -F argument processing.
8290 * cppfiles.c (find_file_in_dir): Update to use construct
8291 callback.
8292 (search_path_exhausted, cpp_get_path, cpp_get_buffer,
8293 cpp_get_prev): New.
8294 (_cpp_find_file): Use search_path_exhausted.
8295 (make_cpp_dir): Initialize construct to 0.
8296 * cpplib.h (missing_header_cb
8297 cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
8298 (cpp_callbacks): Add missing_header
8299 (cpp_dir): Add construct.
8300 * target-def.h: (TARGET_OPTF): New.
8301 * hooks.c (hook_void_int, hook_void_charptr): Add.
8302 * hooks.h (hook_void_int, hook_void_charptr): Add.
8303 * Makefile.in (c-incpath.o) : Add $(TARGET_H) and
8304 $(MACHMODE_H) dependencies.
8305 * doc/invoke.texi (Darwin Options): Document -F.
8306 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
8307 (TARGET_OPTF): Add.
8308 * fix-header.c (target_c_incpath): Add.
8309
8310 * config/darwin-c.c: Add c-incpath.h include.
8311 (using_frameworks, find_subframework_file,
8312 find_subframework_header, add_system_framework_path,
8313 frameworks_in_use, num_frameworks, max_frameworks,
8314 add_framework, find_framework, struct framework_header,
8315 framework_header_dirs, framework_construct_pathname,
8316 find_subframework_file, add_system_framework_path,
8317 add_framework_path, framework_defaults,
8318 darwin_register_frameworks, find_subframework_header): Add.
8319 * config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
8320 (TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
8321 (CPP_SPEC): Add __APPLE_CC__ support.
8322 * t-darwin (darwin-c.o): Add c-incpath.h dependency.
8323
0fc0c4c9
JH
83242004-03-04 Jan Hubicka <jh@suse.cz>
8325
8326 * cselib.c (cselib_finish): Fix miss-application of my previous
8327 patch.
8328
67dfe110
KH
83292004-03-03 Kazu Hirata <kazu@cs.umass.edu>
8330
8331 * hooks.c (hook_tree_tree_identity): New.
8332 * hooks.h: Add a prototype for hook_tree_tree_identity.
8333 * stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
8334 instead of MD_ASM_CLOBBERS.
8335 * system.h (MD_ASM_CLOBBERS): Poison.
8336 * target-def.h (TARGET_MD_ASM_CLOBBERS): New.
8337 (TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
8338 * target.h (gcc_target): Add md_asm_clobbers.
8339 * config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
8340 (ix86_md_asm_clobbers): New.
8341 * config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
8342 * doc/tm.texi (MD_ASM_CLOBBERS): Change to
8343 TARGET_MD_ASM_CLOBBERS.
8344
d79944f4 83452004-03-03 Stuart Hastings <stuart@apple.com>
67dfe110 8346
d79944f4 8347 * gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
3205a71e 8348
fc9232c9
EB
83492004-03-03 Eric Botcazou <ebotcazou@libertysurf.fr>
8350
8351 * config/sparc/sparc.c (noov_compare64_op): Fix typo.
8352
8353 * config/sparc/sparc.h (ASM_FLOAT): Delete.
8354 (ASM_DOUBLE): Likewise.
8355 (ASM_LONGDOUBLE): Likewise.
8356 * config/sparc/pbd.h (ASM_INT_OP): Delete.
8357
b7048ab7
RH
83582003-03-03 Richard Henderson <rth@redhat.com>
8359
8360 PR opt/13862
8361 * cselib.c (cselib_record_sets): Don't record multiple sets in
8362 asm insns.
8363
f9957958
MH
83642004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
8365
8366 * common.opt: Add description of the new -fgcse-after-reload flag.
8367
8368 * flags.h (flag_gcse_after_reload): Declaration of global variable.
8369
8370 * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
8371 reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
8372 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
8373 get_bb_avail_insn, hash_scan_set_after_reload,
8374 compute_hash_table_after_reload, eliminate_partially_redundant_loads,
8375 gcse_after_reload, get_bb_avail_insn): New functions to implement
8376 gcse-after-reload.
8377 (gcse_after_reload_main): New function, the main entry point to
8378 gcse-after-reload.
8379
8380 * rtl.h (gcse_after_reload_main): Declaration of the new function.
8381
8382 * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
8383
8384 * toplev.c (flag_gcse_after_reload): Initialization.
8385
8386 * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
8387
8388 * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
8389 PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
8390 the gcse after reload optimization.
8391
8392 * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
8393 GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
8394 parameters.
8395
8396 * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
8397
6f6dedf5
NP
83982004-03-03 Nicolas Pitre <nico@cam.org>
8399
8400 * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
8401 small negative values.
8402
6790d1ab
JH
84032004-03-03 Jan Hubicka <jh@suse.cz>
8404
8405 * cselib.c (hash_table): Remove GTY marker.
8406 (reg_values): Turn into array.
8407 (used_regs): Likewise.
8408 (n_used_regs): New static variable.
8409 (reg_values_old): Kill.
8410 (clear_table): Update uses of arrays.
8411 (cselib_lookup): Likewise.
8412 (cselib_record_set): Likewise.
8413 (cselib_init): Likewise.
8414 (cselib_finish): Likewise.
8415 (cselib_udpate_varray_sizes): Kill.
8416 * cselib.h (cselib_update_varray_sizes): Kill.
8417
33e6a97a
PB
84182004-03-03 Paul Brook <paul@codesourcery.com>
8419
8420 * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
8421
b9dcdee4
JH
84222004-03-03 Jan Hubicka <jh@suse.cz>
8423
8424 * ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
8425 Rename from ...; make statistics transparent.
8426 (ggc_alloc_cleared, ggc_realloc_stat): ... these.
8427 (loc_descriptor): New structure.
8428 (hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
8429 add_statistics):
8430 New static function.
8431 (ggc_record_overhead, dump_statistics): New global function.
8432 * ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
8433 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
8434 from ...; accept locations
8435 (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
8436 ggc_realloc, ggc_alloc_typed): ... this one.
8437 from ...; accept locations
8438 * ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
8439 ggc_alloc_stat): Rename from ... ; pass locations
8440 * ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
8441 ... this one.
8442 (ggc_alloc_stat): Record overehead.
8443 * ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
8444 ggc_realloc, ggc_alloc_typed): Turn to macros
8445 (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
8446 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
8447 (dump_ggc_loc_satistics, ggc_record_overehead): Declare.
8448 * langhooks.h (lhd_make_node): Declare.
8449 (LANG_HOOKS_MAKE_TYPE): Default to new function,
8450 * langhooks.c (lhd_make_node): New.
8451 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
8452 locations.
8453 (rtx_alloc, swallow_copy_rtx): ... this one.
8454 * rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
8455 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
8456 * toplpev.c (finalize): Dump stats.
8457 * tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
8458 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
8459 Rename from ... ; pass locators.
8460 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
8461 build?, build_decl): Declare.
8462 * tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
8463 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
8464 Declare.
8465 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
8466 build?, build_decl): New macros.
8467 * Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
8468 * statistics.h: New file.
8469
6ba7b547
MR
84702004-03-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
8471 Richard Sandiford <rsandifo@redhat.com>
8472
8473 * config/mips/mips.h (MASK_FIX_SB1): Bump.
8474 (MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
8475 (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
8476 * config/mips/mips.c (mips_output_division): Fill the branch delay
8477 slot with a nop if TARGET_FIX_R4000. Extend R4000 workarounds to
8478 TARGET_FIX_R4400.
8479 (mips_output_division): Adjust accordingly.
8480 (override_options): Make -march=r4400 imply -mfix-r4400 by default.
8481 * doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
8482
ec8e098d
PB
84832004-03-03 Paolo Bonzini <bonzini@gnu.org>
8484
8485 * alias.c (rtx_equal_for_memref_p): Use predicates
8486 to test rtx classes and new rtx class codes, possibly
8487 splitting conditionals that tested against '<' and 'o'.
8488 * caller-save.c (save_call_clobbered_regs): Likewise.
8489 * combine.c (contains_muldiv, find_split_point, subst,
8490 combine_simplify_rtx, simplify_if_then_else,
8491 simplify_set, simplify_logical, expand_compound_operation,
8492 make_compound_operation, if_then_else_cond, known_cond,
8493 apply_distributive_law, cached_nonzero_bits,
8494 cached_num_sign_bit_copies, simplify_shift_const,
8495 gen_binary, simplify_comparison, update_table_tick,
8496 record_value_for_reg, get_lsat_value_validate): Likewise.
8497 * cse.c (mention_regs, find_best_addr, find_comparison_args,
8498 fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
8499 Likewise.
8500 * emit-rtl.c (copy_insn_1): Likewise.
8501 * expr.c (force_operand): Likewise.
8502 * final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
8503 * flow.c (notice_stack_pointer_modification_1,
8504 invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
8505 and_reg_cond, elim_reg_cond): Likewise.
8506 * function.c (update_epilogue_consts): Likewise.
8507 * genattrtab.c (attr_rtx_1): Likewise.
8508 * genopinit.c (gen_insn): Likewise.
8509 * integrate.c (subst_constants): Likewise.
8510 * jump.c (reversed_comparison_code_parts,
8511 reversed_comparison_code, delete_related_insns,
8512 rtx_renumbered_equal_p): Likewise.
8513 * local-alloc.c (block_alloc): Likewise.
8514 * loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
8515 canonicalize_condition): Likewise.
8516 * loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
8517 Likewise.
8518 * optabs.c (add_equal_node, expand_binop): Likewise.
8519 * predict.c (estimate_probability): Likewise.
8520 * ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
8521 * recog.c (validate_replace_rtx_1, comparison_operator,
8522 offsettable_address_p, constrain_operands): Likewise.
8523 * reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
8524 Likewise.
8525 * regclass.c (scan_one_insn): Likewise.
8526 * regmove.c (stable_and_no_regs_but_for_p): Likewise.
8527 * regrename.c (kill_autoinc_value): Likewise.
8528 * reload.c (find_reusable_reload, find_reloads,
8529 reg_overlap_mentioned_for_reload_p): Likewise.
8530 * reload1.c (gen_reload, delete_address_reloads_1): Likewise.
8531 * rtl.c (copy_rtx): Likewise.
8532 * rtl.h (CONSTANT_P, INSN_P): Likewise.
8533 * rtlanal.c (commutative_operand_precedence): Likewise.
8534 * sched-deps.c (conditions_mutex_p): Likewise.
8535 * sched-rgn.c (is_cfg_nonregular): Likewise.
8536 * simplify-rtx.c (simplify_gen_binary,
8537 simplify_gen_relational, simplify_replace_rtx,
8538 simplify_unary_operation, simplify_binary_operation,
8539 simplify_ternary_operation, simplify_rtx): Likewise.
8540 * unroll.c (reg_dead_after_loop): Likewise.
8541 * config/alpha/alpha.c (alpha_swapped_comparison_operator,
8542 print_operand): Likewise.
8543 * config/arc/arc.c (proper_comparison_operator): Likewise.
8544 * config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
8545 Likewise.
8546 * config/avr/avr.c (_reg_unused_after): Likewise.
8547 * config/frv/frv.c (frv_ifcvt_modify_tests,
8548 frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
8549 * config/i386/i386.c (ix86_comparison_operator,
8550 ix86_carry_flag_operator, fcmov_comparison_operator,
8551 arith_or_logical_operator, print_operand,
8552 ix86_expand_binary_operator, ix86_binary_operator_ok):
8553 Likewise.
8554 * config/i386/i386.md: Likewise.
8555 * config/ia64/ia64.c (not_postinc_memory_operand,
8556 ia64_print_operand, update_set_flags, errata_emit_nops):
8557 Likewise.
8558 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
8559 CONSTRAINT_OK_FOR_S): Likewise.
8560 * config/ip2k/ip2k.c (mdr_resequence_xy_yx,
8561 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
8562 ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
8563 ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
8564 Likewise.
8565 * config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
8566 eqne_comparison_operator, signed_comparison_operator):
8567 Likewise.
8568 * config/mips/mips.c (cmp_op, symbolic_expression_p):
8569 Likewise.
8570 * config/mmix/mmix (mmix_foldable_comparison_operator,
8571 mmix_comparison_operator): Likewise.
8572 * config/pa/pa.c (hppa_legitimize_address): Likewise.
8573 * config/rs6000/rs6000.c (stmw_operation,
8574 branch_comparison_operator, trap_comparison_operator,
8575 ccr_bit): Likewise.
8576 * config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
8577 * config/s390/s390.c (s390_alc_comparison,
8578 s390_slb_comparison):L Likewise.
8579 * config/sh/sh.c (gen_block_redirect, reg_unused_after):
8580 Likewise.
8581 * config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
8582 noov_compare_op, noov_compare64_op, v9_regcmp_op,
8583 emit_hard_tfmode_operation, reg_unused_after)
8584 * doc/md.texi, doc/rtl.texi: Likewise.
8585
8586 * ra-debug.c: Add 2004 to list of copyright years.
8587 * unroll.c: Likewise.
8588
8589 * combine.c (simplify_logical): Remove dummy test,
8590 (apply_distributive_law): Fix typo in comment.
8591 GET_CODE (x) == AND so x is a commutative binary op.
8592 * jump.c (delete_related_insns): simplify loop
8593 condition, move testing of RTX codes inside the loop.
8594 (rtx_renumbered_equal_p): do not use RTX_CODE.
8595 * rtl.c (rtx_class): Declare as enum rtx_class.
8596 * rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
8597 Move to RTX_COMM_COMPARE class.
8598 (HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
8599 Move to RTX_CONST_OBJ class.
8600 * rtl.h (enum rtx_class): New declaration,
8601 (RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
8602 RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
8603 RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
8604 RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
8605 RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
8606 ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
8607 SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
8608 OBJECT_P): New macros.
8609 * config/sparc/sparc.c (noov_compare_op): Remove register
8610 from parameter.
8611
a841ab8b
KH
86122004-03-03 Kazu Hirata <kazu@cs.umass.edu>
8613
8614 * target.h: Remove texi jargons in comments.
8615
cb36ddba
KH
86162004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8617
8618 * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
8619 threshold to 0x4f.
8620
8621 Revert:
8622 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
8623 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
8624 as well.
8625 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
8626 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
8627
66c87bae
KH
86282004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8629
8630 * doc/md.texi (cbranchmode4): New.
8631
91e01231
EC
86322004-03-02 Eric Christopher <echristo@redhat.com>
8633
8634 * config/mips/mips16.S: Change fixsfsi and fixdfsi to
8635 fix_trunc.
8636 * config/mips/mips.c (mips_init_libfuncs): Change accordingly.
8637 * config/mips/t-elf (LIB1ASMFUNCS): Ditto.
8638 * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
8639 * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
8640
27ab3e91
RH
86412004-03-02 Richard Henderson <rth@redhat.com>
8642
3205a71e
ZW
8643 PR middle-end/11767
8644 * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
8645 * optabs.c (prepare_cmp_insn): Force trapping memories to registers
8646 before the compare, if flag_non_call_exceptions.
27ab3e91 8647
0eadce52
RH
86482004-03-02 Richard Henderson <rth@redhat.com>
8649
8650 PR middle-end/14327
8651 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
8652 emitting the label, not after.
8653
de70723b
SC
86542004-03-02 Stephane Carrez <stcarrez@nerim.fr>
8655
8656 * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
8657 (m68hc11_mov_addr_mode): Likewise.
8658 (m68hc11_override_options): Initialize them based on target.
8659 (register_indirect_p): Allow a MEM for indirect addressing modes and
8660 use flags to control what is allowed.
8661 (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
8662 supported addressing modes.
8663 (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
8664 (go_if_legitimate_address_internal): Likewise.
8665 (m68hc11_indirect_p): Likewise and check the mode.
8666 (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
8667
d6da68b9
KH
86682004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8669
8670 * builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
8671 (expand_builtin_setjmp_setup): Use
8672 targetm.builtin_setjmp_frame_value instead of
8673 BUILTIN_SETJMP_FRAME_VALUE.
8674 * system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
8675 * target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
8676 (TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
8677 * target.h (gcc_target): Add builtin_setjmp_frame_value.
8678 * targhooks.c (default_builtin_setjmp_frame_value): New.
8679 * targhooks.h: Add a prototype for
8680 default_builtin_setjmp_frame_value.
8681 * doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
8682 TARGET_BUILTIN_SETJMP_FRAME_VALUE.
8683
d87e83b9
SC
86842004-03-02 Stephane Carrez <stcarrez@nerim.fr>
8685
8686 * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
8687 sequences of moves.
8688 (add peepholes): New peepholes to optimize sequences adding small
8689 constants.
8690 (bset peepholes): New peepholes to transform an OR in a bset form
8691 (bclr peepholes): Likewise for bclr form.
8692 (cmp peepholes): New peepholes to avoid register copies when comparing.
8693
d5111c9c
SC
86942004-03-02 Stephane Carrez <stcarrez@nerim.fr>
8695
8696 * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
8697 to separate push from moves.
8698 ("*pushdf_internal"): Likewise.
8699 ("*pushsf_internal"): Likewise.
8700 ("*pushsi_internal"): Likewise.
8701 ("movdi_internal"): Use define_insn_and_split; non push operand.
8702 ("movdf_internal"): Likewise.
8703 ("movsf_internal"): Likewise.
8704 ("movsi_internal"): Likewise.
8705 ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
8706 ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
8707 ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
8708
9449502d
SC
87092004-03-02 Stephane Carrez <stcarrez@nerim.fr>
8710
8711 * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
8712 ("cmphi_z_used", "cmpqi_z_used"): Likewise.
8713 ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
8714 ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
8715 ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
8716 ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
8717 ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
8718 ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
8719 ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
8720 ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
8721 ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
8722
b90f3299
SC
87232004-03-02 Stephane Carrez <stcarrez@nerim.fr>
8724
8725 * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
8726 (SOFT_XY_REGNUM): Define.
8727 (cmp split): Use the above instead of hard coded numbers.
8728 (8-bit op split): No need to check the mode; allow Q_REG.
8729 (ashift split): Adjust the first operand if it uses the SP and we
8730 are pushing the shifted value.
8731 (plus shift split): Fix when a source is in register D+X.
8732 ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
8733
77d2a36d
SC
87342004-03-02 Stephane Carrez <stcarrez@nerim.fr>
8735
8736 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
8737 comparing with Z register.
8738
f2dca510
ZD
87392004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8740
8741 * cfgloop.h (struct loop_desc): Removed.
8742 (struct loop): Fields simple, desc and has_desc removed.
8743 (simple_loop_p, count_loop_iterations): Declaration removed.
8744 * cfgloopanal.c (struct unmark_altered_insn_data): Removed.
8745 (unmark_altered, blocks_invariant_registers, unmark_altered_insn
8746 blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
8747 invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
8748 simple_loop_exit_p, variable_initial_value, variable_initial_values,
8749 simple_condition_p, simple_increment, count_strange_loop_iterations,
8750 inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
8751 Removed.
8752 * loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
8753
87ca8b8c
KH
87542004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8755
8756 * genattrtab.c: Don't handle MATCH_INSN.
8757 * genrecog.c: Likewise.
8758 * gensupport.c: Likewise.
8759 * rtl.def (match_insn): Remove.
8760 * doc/md.texi (match_insn, match_insn2): Remove.
8761
bdc2893c
MM
87622004-03-02 Mark Mitchell <mark@codesourcery.com>
8763
8764 * doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
8765 macro results in memory allocation.
8766
2de2f846
DB
87672004-03-02 David O'Brien <obrien@FreeBSD.org>
8768
8769 * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
8770 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
8771 %(fbsd_dynamic_linker),
8772 (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
8773 config/i386/freebsd.h
8774 * config/arm/freebsd.h: Ditto.
8775 * config/i386/freebsd.h: Ditto.
8776 * config/i386/freebsd64.h: Ditto.
8777 * config/ia64/freebsd.h: Ditto.
8778 * config/rs6000/sysv4.h: Ditto.
8779 * config/sparc/freebsd.h: Ditto.
8780
f08dc6c1
LR
87812004-03-02 Loren James Rittle <ljrittle@acm.org>
8782
8783 * gcc/doc/install.texi (*-*-freebsd*): Update target information.
8784
c24938d4
KH
87852004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8786
8787 * rtl.def (define_combine): Remove.
8788
ba29f5de
KH
87892004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8790
8791 * config/h8300/h8300.md: Tweak formatting.
8792
a5a0ab45
KH
87932004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8794
8795 * config/h8300/h8300.md (*cmphi_h8300): Rename to
8796 *cmphi_h8300_znvc.
8797 (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
8798
e451301f
MM
87992004-03-01 Mark Mitchell <mark@codesourcery.com>
8800
8801 PR bootstrap/14356
8802 * gcc.c (process_command): Remove const-qualification from argv.
8803 (main): Likewise.
8804
b698e58b
KH
88052004-03-02 Kazu Hirata <kazu@cs.umass.edu>
8806
8807 * config/h8300/h8300.md (pushqi1_h8300hs): Rename to
8808 pushqi1_h8300hs_advanced. Adjust its caller.
8809 (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
8810 Adjust its caller.
8811
a5c40cfb 88122004-03-02 Nicolas Roche <roche@act-europe.fr>
3a41db81
NR
8813
8814 * Makefile.in (install-libgcc, install-multilib): Pass
8815 mkinstalldirs var to libgcc.mk.
8816
fdf89bf5
KH
88172004-03-01 Kazu Hirata <kazu@cs.umass.edu>
8818
8819 * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
8820 * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
8821
0e26895c
KH
88222004-03-01 Kazu Hirata <kazu@cs.umass.edu>
8823
8824 * config/h8300/h8300.c (gtle_operator): Accept GT and LE.
8825 * config/h8300/h8300.md: Split several peephole2's, each into
8826 two.
8827
738ed977
ZD
88282004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8829
8830 * dominance.c (recount_dominator): Handle postdominators.
8831
e245bd81
RS
88322004-03-01 Richard Sandiford <rsandifo@redhat.com>
8833
8834 * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
8835 (NUM_SYMBOL_TYPES): Likewise.
8836 (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
8837 (mips_unspec_address): Declare.
8838 (mips_gotoff_page, mips_gotoff_global): Delete.
8839 * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
8840 * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
8841 (mips_symbolic_constant_p, mips_symbolic_address_p)
8842 (mips_symbol_insns): Handle new symbol types.
8843 (general_symbolic_operand): New predicate.
8844 (mips_unspec_address): Make extern.
8845 (mips_gotoff_page, mips_gotoff_global): Delete.
8846 (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
8847 Handle new symbol types.
8848 * config/mips/mips.md (*lea_high64, *lea64): New patterns.
8849 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
8850 mips_unspec_address directly.
8851 * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
8852 the documentation of -mexplicit-relocs.
8853
9bf793f9
JL
88542004-03-01 Jeff Law <law@redhat.com>
8855
8856 * fold-const.c (fold): An equality comparison of a non-weak object
8857 against zero has a known result. Similarly an equality comparison
8858 of the address of two non-weak, unaliased symbols has a known result.
91e01231 8859
9bf793f9
JL
8860 * ggc-page.c (struct page_entry): New field PREV.
8861 (ggc_alloc): Update PREV field appropriately.
8862 (sweep_pages): Likewise.
8863 (ggc_free): Likewise. Use PREV field rather than loop to
8864 improve ggc_free performance.
91e01231 8865
c9e0ce37
RS
88662004-03-01 Richard Sandiford <rsandifo@redhat.com>
8867
8868 * config/mips/mips.c (mips_output_division): Use the division
8869 instruction to fill the delay slot of a zero check.
8870 (mips_idiv_insns): Adjust accordingly.
8871
65d151a7
NN
88722004-03-01 Nathanael Nerode <neroden@gcc.gnu.org>
8873
8874 * config.gcc: Create a default tmake_file for linux, and use
8875 it in all but two linux clauses. Comment those two.
8876
9a5a17f3
PB
88772004-03-01 Paolo Bonzini <bonzini@gnu.org>
8878
8879 * combine.c (try_combine): Do not refer to is_replaced.
8880 (gen_lowpart_for_combine): Perverse subregs now have a
8881 more politically correct name.
8882 * cse.c (cse_insn): Likewise.
8883 * jump.c: Fix bogus reference to delete_insn.
8884
c5b6f18e
MM
88852004-02-29 Mark Mitchell <mark@codesourcery.com>
8886
5bb2ed2c
MM
8887 PR debug/14328
8888 * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
8889 constants as signed values.
8890
c5b6f18e
MM
8891 PR middle-end/13448
8892 * c-tree.h (readonly_warning): Rename to ...
8893 (readonly_error): ... this.
8894 * c-typeck.c (build_unary_op): Adjust accordingly.
8895 (readonly_warning): Rename to ...
8896 (readonly_error): ... this and issue errors, not warnings.
8897 (build_modify_expr): Call readonly_error, not readonly_warning.
8898 (c_expand_asm_operands): Likewise.
8899 * tree-inline.c (optimize_inline_calls): Do not inline functions
8900 after errors have occurred.
8901
8bb915b6
NN
89022004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
8903
8904 * configure.ac: Rearrange some threading code for clarity;
8905 add section comment.
8906 * configure: Regenerate.
8907
4ee31f1e
KH
89082004-02-29 Kazu Hirata <kazu@cs.umass.edu>
8909
8910 * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
8911 typos.
8912 * doc/cppopts.texi: Fix a typo.
8913
15ec19b9
KH
89142004-02-29 Kazu Hirata <kazu@cs.umass.edu>
8915
8916 * config/i386/i386.md: Fix formatting.
8917
cbff2c1c
NN
89182004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
8919
630327c3
NN
8920 * configure.ac: Add some comments delineating sections of code.
8921
38fe9090
NN
8922 * doc/install.texi: Note that libada uses autoconf 2.57 also.
8923
42fce956
NN
8924 * doc/install.texi: Fix idiot typo in previous commit.
8925
cbff2c1c
NN
8926 * doc/install.texi: Update for conversion of intl to autoconf 2.57.
8927
c8574b54
KH
89282004-02-29 Kazu Hirata <kazu@cs.umass.edu>
8929
8930 * config/h8300/h8300.md: Add comments about peephole2's.
8931
2f537af9
KH
89322004-02-29 Kazu Hirata <kazu@cs.umass.edu>
8933
8934 * config/h8300/h8300.md: Tweak operand numbers of some
8935 peephole2's.
8936
a207f649
KH
89372004-02-29 Kazu Hirata <kazu@cs.umass.edu>
8938
8939 * config/h8300/h8300.md: Tweak comments about peephole2's.
8940
bc41842b
RS
89412004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>
8942
8943 PR middle-end/14203
8944 * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
8945 instead of testing whether DECL_RTL is not NULL.
8946
832a3292
KH
89472004-02-28 Kazu Hirata <kazu@cs.umass.edu>
8948
8949 * config/sh/sh.c: Fix formatting.
8950
508ea1c5
KH
89512004-02-28 Kazu Hirata <kazu@cs.umass.edu>
8952
8953 * config/sh/sh.c: Convert to ISO-C.
8954
dd833c7b 89552004-02-28 Andrew Pinski <pinskia@physics.uc.edu>
91e01231 8956
8cd6bdd1
AP
8957 * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
8958 my previous patch.
dd833c7b
AP
8959
8960 * config/darwin.h (machopic_finish): Output stub even if the
8961 symbol is already defined.
8962
5f190838
JDA
89632004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8964
8965 * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
8966
c1a41c2f
KH
89672004-02-28 Kazu Hirata <kazu@cs.umass.edu>
8968
8969 * genattr.c (main): Don't define
8970 TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
8971 * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
8972 (DFA_PIPELINE_INTERFACE): Likewise.
8973 * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
8974 (DFA_PIPELINE_INTERFACE): Likewise.
8975
757f9053
RS
89762004-02-28 Richard Sandiford <rsandifo@redhat.com>
8977
8978 * config/mips/mips.md (tstsi, tstdi): Delete.
8979
23cf6987
MR
89802004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
8981
91e01231 8982 * config/mips/mips.c (override_options): Remove an obsolete
23cf6987
MR
8983 duplicate definition of the "e" constraint.
8984 * config/mips/mips.h: Update a comment accordingly.
8985
bddbfe5f
MR
89862004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
8987
8988 * config/mips/mips.md: Complete the unfinished R4000
8989 multiply/shift errata workaround. Improve documentation.
8990 (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
8991 has a hilo hazard.
8992 (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
8993 (muldi3, muldi3_internal): Likewise.
8994 (muldi3_internal2): Remove, replacing with...
8995 (muldi3_mult3, muldi3_r4000): ...these new patterns.
8996 (mulsidi3): Take the errata into account.
8997 (mulsidi3_32bit): Remove, replacing with...
8998 (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
8999 (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
9000 (umulsidi3): Take the errata into account.
9001 (umulsidi3_32bit): Remove, replacing with..
9002 (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
9003 (umulsi3_highpart, umulsi3_highpart_internal): Disable if
9004 TARGET_FIX_R4000.
9005 (smulsi3_highpart, smulsi3_highpart_internal): Likewise.
9006 (smuldi3_highpart, umuldi3_highpart): Likewise.
9007 * doc/invoke.texi: Document the errata workaround.
9008
46490403
MR
90092004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
9010
9011 * config/mips/mips-protos.h (mips_idiv_insns): Declare.
9012 * config/mips/mips.h (MASK_FIX_SB1): Bump.
9013 (MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
9014 (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
9015 * config/mips/mips.c (mips_idiv_insns): New function.
9016 (override_options): Make -march=r4000 imply -mfix-r4000 by default.
9017 (mips_output_division): Add a workaround for the R4000 divide/shift
9018 errata.
9019 * config/mips/mips.md (length): Use mips_idiv_insns() to calculate
9020 the length of an "idiv" instruction.
9021 * doc/invoke.texi: Document the new switches.
9022
1b2c3767
KH
90232004-02-28 Kazu Hirata <kazu@cs.umass.edu>
9024
9025 * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
9026 TARGET_SCHED_IS_COSTLY_DEPENDENCE.
9027
79771cc4
ZD
90282004-02-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9029
9030 PR optimization/14229
9031 * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
9032
68a1a5da
EB
90332004-02-28 Eric Botcazou <ebotcazou@act-europe.fr>
9034
9035 * fold-const.c (fold): Strip NOPs that change the signedness
9036 for RSHIFT too. Expand comment.
9037
a10016d3
ILT
90382004-02-27 Ian Lance Taylor <ian@wasabisystems.com>
9039
9040 PR optimization/7871
9041 * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
68a1a5da 9042 from or to call insns.
a10016d3
ILT
9043
90442004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr>
9045
9046 PR optimization/7871
9047 * flow.c (propagate_one_insn): Interpret calls as setting global
9048 registers, not merely clobbering them.
9049
b30e1617 90502004-02-27 Dale Johannesen <dalej@apple.com>
a10016d3 9051
b30e1617
DJ
9052 * config/darwin.c (machopic_output_possible_stub_label): Remove.
9053 config/darwin-protos.h: Ditto.
9054 config/darwin.h: Remove call to it.
9055 * combine.c (distribute_notes): Do not place a REG_DEAD note
9056 when value is both set and used.
9057
bbc51dc2
KH
90582004-02-27 Kazu Hirata <kazu@cs.umass.edu>
9059
9060 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
9061 as well.
9062 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
9063 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
9064
dedbabed
AP
90652004-02-27 Andrew Pinski <apinski@apple.com>
9066
9067 * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
9068 Speedup common case of the type values being in the same order.
9069
b6b979d4
SE
90702004-02-27 Steve Ellcey <sje@cup.hp.com>
9071
9072 * config/ia64/ia64.h (no-inline-float-divide): New option.
9073 * config/ia64/ia64.h (no-inline-int-divide): New option.
9074 * config/ia64/ia64.h (no-inline-sqrt): New option.
9075 (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
9076 * config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
9077 * config/ia64/ia64.c (ia64_override_options): Modify error
9078 checking for inlined division/sqrt.
9079
88462c42
KH
90802004-02-27 Kazu Hirata <kazu@cs.umass.edu>
9081
9082 * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
9083 ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
9084 value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
9085 config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
9086 copyright.
9087
53c428d0
PB
90882004-02-27 Paul Brook <paul@codesourcery.com>
9089
9090 * function.c (assign_parms): Don't count pretend args for alignment.
9091
f6db1481
RH
90922004-02-27 Richard Henderson <rth@redhat.com>
9093
9094 * passes.c: New file.
9095 * Makefile.in (OBJS-common): Add it.
9096 * diagnostic.c (rtl_dump_and_exit): Move decl ...
9097 * flags.h (rtl_dump_and_exit): ... here.
91e01231 9098 * output.h (size_directive_output, last_assemble_variable_decl):
f6db1481
RH
9099 Move from toplev.c.
9100 * rtl.h (reg_alloc): Move from toplev.c.
9101 * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
9102 struct dump_file_info, enum dump_file_index, dump_file_tbl,
9103 open_dump_file, close_dump_file, rest_of_decl_compilation,
9104 rest_of_type_compilation, rest_of_handle_final,
91e01231 9105 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
f6db1481
RH
9106 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
9107 rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
9108 rest_of_handle_regrename, rest_of_handle_reorder_blocks,
9109 rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
91e01231 9110 rest_of_handle_tracer, rest_of_handle_if_conversion,
f6db1481
RH
9111 rest_of_handle_if_after_combine, rest_of_handle_web,
9112 rest_of_handle_branch_prob,
9113 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
91e01231 9114 rest_of_handle_addressof, rest_of_handle_sibling_calls,
f6db1481
RH
9115 rest_of_handle_jump_bypass, rest_of_handle_inlining,
9116 rest_of_handle_null_pointer, rest_of_handle_combine,
9117 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
91e01231 9118 rest_of_handle_gcse, rest_of_handle_loop_optimize,
f6db1481
RH
9119 rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
9120 (decode_d_option): Use enable_rtl_dump_file.
9121 (compile_file, finalize, do_compile): Move profile+combine+graph
9122 cleanup to finish_optimization_passes.
9123 * toplev.h (init_optimization_passes, finish_optimization_passes,
9124 enable_rtl_dump_file): Declare.
9125
288dc1ea 91262004-02-27 Eric Botcazou <ebotcazou@act-europe.fr>
3205a71e 9127 Roger Sayle <roger@eyesopen.com>
288dc1ea
EB
9128
9129 * fold-const.c (fold): Revert 2004-02-25 change. Use the original
9130 operands to build a tree with swapped operands.
9131 * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
9132 'unsignedp' predicate to specify the signedness.
9133
a1105617
KH
91342004-02-27 Kazu Hirata <kazu@cs.umass.edu>
9135
9136 * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
9137 expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
9138 params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
9139 comment typos and formatting. Follow spelling conventions.
9140
d095928f
AH
91412004-02-26 Aldy Hernandez <aldyh@redhat.com>
9142
9143 * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
9144 fix_truncsfsi2.
9145
9146 * config/rs6000/spe.md: Delete spe_efsctuiz.
9147 Add spe_fixuns_truncsfsi2.
9148 Add spe_fix_truncsfsi2.
91e01231 9149
21526606
EC
91502004-02-26 Eric Christopher <echristo@redhat.com>
9151
9152 * c-lex.c (c_lex_string_translate): New variable.
9153 (lex_string): Use to determine string translation.
9154 * c-pragma.h: Prototype.
9155 * c-parse.in (start_string_translation): New. Set above.
9156 (stop_string_translation): Ditto.
9157 (attribute, attribute_list, asm_def, asm_stmt,
9158 asm_operand): Use above functions.
9159 * cp/parser.c (cp_parser_declaration): Translate strings
9160 unless token is RID_EXTERN. Set c_lex_string_translate
9161 for recursive use.
9162 (cp_parser_asm_definition): Only translate argument strings
9163 to asms.
9164 (cp_parser_asm_operand_list): Ditto.
9165 (cp_parser_attribute_list): Do not translate attribute strings.
9166
e8eebd31
KH
91672004-02-26 Kazu Hirata <kazu@cs.umass.edu>
9168
9169 * stmt.c (expand_start_case_dummy): Remove.
9170 * tree.h: Remove the corresponding prototype.
9171
8f2de5f1
KH
91722004-02-26 Kazu Hirata <kazu@cs.umass.edu>
9173
9174 * builtins.c (apply_args_register_offset): Remove.
9175 * tree.h: Remove the corresponding prototype.
9176
c7924937
KH
91772004-02-26 Kazu Hirata <kazu@cs.umass.edu>
9178
9179 * stor-layout.c (is_pending_size): Remove.
9180 * tree.h: Remove the corresponding prototype.
9181
ca0afc29
KH
91822004-02-26 Kazu Hirata <kazu@cs.umass.edu>
9183
9184 * recog.c (validate_replace_src): Remove.
9185 * recog.h: Remove the corresponding prototype.
9186
6c5caf00
KH
91872004-02-26 Kazu Hirata <kazu@cs.umass.edu>
9188
9189 * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
9190 MAYBE_REG_PARM_STACK_SPACE.
9191 * function.c: Likewise.
9192 * system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
9193 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
9194 * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
9195 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
9196
17fd9cb9
KH
91972004-02-26 Kazu Hirata <kazu@cs.umass.edu>
9198
9199 * c-decl.c (c_expand_deferred_function): Remove.
9200 * c-tree.h: Remove the corresponding prototype.
9201
ec5de8d8
KH
92022004-02-26 Kazu Hirata <kazu@cs.umass.edu>
9203
9204 * postreload.c (reload_cse_move2add): Generate just a PLUS
9205 instead of an entire SET.
9206
5bbeea44
JH
92072004-02-26 Jan Hubicka <jh@suse.cz>
9208
9209 * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
9210 /pentium4m.
9211 * i386.c (override_options): Add support for new CPUs.
9212 * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
9213 (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
9214 constants.
9215 * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
9216
48c0150c
BW
92172004-02-26 Bob Wilson <bob.wilson@acm.org>
9218
9219 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
9220
b178305d
EB
92212004-02-26 Eric Botcazou <ebotcazou@act-europe.fr>
9222
9223 * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
9224 (sparc_emit_fixunsdi): New prototype.
9225 * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
9226 (sparc_emit_fixunsdi): New function.
9227 * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
9228 operand 1. Pass SFmode to sparc_emit_floatunsdi.
9229 (floatunsdidf2): Use 'general_operand' for operand 1. Pass DFmode
9230 to sparc_emit_floatunsdi.
9231 (fixuns_truncsfdi2): New expander.
9232 (fixuns_truncdfdi2): Likewise.
9233
fb643f64
AM
92342004-02-26 Alan Modra <amodra@bigpond.net.au>
9235
9236 * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
9237 unless HAVE_cc0.
9238
4a4f95d9
RH
92392004-02-25 Richard Henderson <rth@redhat.com>
9240
9241 * explow.c (force_reg): Call mark_reg_pointer as appropriate.
9242 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
9243 use (op0-op1) == 0 if op0 is a pointer.
9244 * config/alpha/alpha.md (cmpdi): Use some_operand.
9245 (three comparison combine splits): Remove.
9246
f6a76b9f
RH
92472004-02-25 Richard Henderson <rth@redhat.com>
9248
0d593f31 9249 PR c/12794
f6a76b9f
RH
9250 * c-common.c (handle_alias_attribute): Reject the attribute if
9251 current_function_decl is set.
9252
30500d84
KC
92532004-02-25 Kelley Cook <kcook@gcc.gnu.org>
9254
9255 * config.gcc: Add comment describing extra_gcc_objs.
9256 i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
9257 * configure.ac (extra_gcc_objs): New substitution variable.
9258 (host_extra_gcc_objs): Don't substitute.
9259 * configure: Regenerate.
9260 * Makefile.in: Use extra_gcc_objs.
9261
ed80fa2e
KC
92622004-02-25 Kelley Cook <kcook@gcc.gnu.org>
9263
9264 * doc/contrib.texi: Add an entry for myself.
9265
12c3874e
JH
92662004-02-25 Jan Hubicka <jh@suse.cz>
9267
9268 * basic-block.h (make_eh_edge, break_superblocks): Declare.
9269 * cfgbuild.c (make_eh_edge): Make global.
9270 * cfglayout.c (break_superblocks): Likewise; fix memory leak.
9271 * except.c (build_post_landing_pads, connect_post_landing_pads,
9272 dw2_build_landing_pads, sjlj_emit_function_enter,
21526606 9273 sjlj_emit_function_exit, sjlj_emit_dispatch_table,
12c3874e
JH
9274 sjlj_build_landing_pads): Update CFG.
9275 (emit_to_new_bb_before): New function.
9276 (finish_eh_generation): Do not rebuild the CFG.
9277
7b79fe71
JDA
92782004-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9279
9280 * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
9281 target_cpu_default defines.
9282 * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
9283 * pa.h (TARGET_DEFAULT): Likewise.
9284
81fbecac
EB
92852004-02-25 Eric Botcazou <ebotcazou@act-europe.fr>
9286
9287 * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
9288 comparisons with regard to signedness.
9289
6f5b4f3e
RE
92902004-02-25 Richard Earnshaw <rearnsha@arm.com>
9291
9292 * arm.c (thumb_legitimize_address): New function.
9293 * arm-protos.h: Prototype it.
9294 * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
9295 (LEGITIMIZE_ADDRESS): Use it.
9296
4ab51fb5
R
92972004-02-25 J"orn Rennecke <joern.rennecke@superh.com>
9298
9299 * reload1.c (reload): Only spill eliminable register with multiple
9300 adjacent elimination alternatives if all alternatives fail.
9301
e1471c91
RE
93022004-02-25 Richard Earnshaw <rearnsha@arm.com>
9303
9304 * arm.c (arm_legitimate_index_p): For QImode the range of an offset
9305 is -4095...+4095 inclusive.
9306
94b18ec1
EB
93072004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr>
9308
9309 * doc/install.texi (sparc-sun-solaris2* specific notes): Document
9310 the bootstrap failure with Sun CC 5.4 and 5.5.
9311
2e802a6f
KH
93122004-02-24 Kazu Hirata <kazu@cs.umass.edu>
9313
9314 * cse.c (cse_change_cc_mode_insns): Stop at any instruction
9315 which modifies NEWREG.
9316 (cse_condition_code_reg): Update the mode of CC_REG in
9317 CC_SRC_INSN on our own.
9318
89ab2b79
MM
93192004-02-24 Michael Matz <matz@suse.de>
9320
9321 * config/i386/i386.c (ix86_comp_type_attributes): Check for
9322 regparm attributes.
9323
c263766c
RH
93242004-02-24 Richard Henderson <rth@redhat.com>
9325
9326 * toplev.c (dump_file_tbl): Rename from dump_file.
9327 * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
c53bdcf5 9328 cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
c263766c
RH
9329 config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
9330 config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
9331 loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
9332 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
9333 toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
9334 s/rtl_dump_file/dump_file/g.
9335
dba2921d
AH
93362004-02-24 Aldy Hernandez <aldyh@redhat.com>
9337
3205a71e
ZW
9338 * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
9339 (spe_fixuns_truncsfsi2): Delete.
dba2921d 9340
3205a71e
ZW
9341 * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
9342 (fixuns_truncsfsi2): Delete.
dba2921d 9343
173cd571
JZ
93442004-02-24 Josef Zlomek <zlomekj@suse.cz>
9345
9346 PR/14240
9347 * rtlanal.c (replace_label): Fix replacing labels in constant pool.
9348
8db4d7a1
GK
93492004-02-24 Geoffrey Keating <geoffk@apple.com>
9350
9351 * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
9352
896c3aa3
JM
93532004-02-24 Jason Merrill <jason@redhat.com>
9354
9355 * tree.c (check_qualified_type): New fn.
9356 (get_qualified_type): Use it. If type already has the desired
9357 quals, just return it.
9358 * tree.h: Declare it.
896c3aa3 9359
58565a33
SKG
93602003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
9361
9362 * target-def.h (TARGET_SCHED_INIT_GLOBAL,
9363 TARGET_SCHED_FINISH_GLOBAL): New macros.
9364
9365 * target.h (md_init_global, md_finish_global): Function
9366 declarations corresponding to new target macros.
9367
9368 * haifa-sched.c (sched_init, sched_finish): Allow target to
9369 call the new schedular hooks.
9370
9371 * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
9372 call to update_life_info.
9373
9374 * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
9375 flag_schedule_insns for SH4.
9376
9377 * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
9378 find_set_regmode_weight, find_insn_regmode_weight,
9379 find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
9380 sh_variable_issue, high_pressure, ready_reorder,
9381 rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
9382 functions used to throttle the insn movement in first
9383 scheduling pass for SH.
9384
9385 * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
9386 TARGET_SCHED_FINISH_GLOBAL.
9387
34208acf
AO
93882004-02-24 Alexandre Oliva <aoliva@redhat.com>
9389
9390 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
9391 2004-02-05 Alexandre Oliva <aoliva@redhat.com>
9392 * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
9393 symbols in sections named by the user.
9394 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
9395 * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
9396 2004-01-27 Alexandre Oliva <aoliva@redhat.com>
9397 * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
9398 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
9399 the above.
9400 2004-01-20 Alexandre Oliva <aoliva@redhat.com>
9401 * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
9402 one more pseudo to further improve code generation.
9403 2004-01-19 Alexandre Oliva <aoliva@redhat.com>
9404 * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
9405 inside UNSPEC.
9406 2004-01-16 Alexandre Oliva <aoliva@redhat.com>
9407 * config/frv/frv.c (frv_legitimate_address_p): Added
9408 allow_double_reg_p argument. Adjust all callers. Use it to
9409 decide whether to enable double-register indirect addressing.
9410 (frv_funcdesc_alias_set): Remove.
9411 (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
9412 register. Emit movdi_ldd.
9413 (ldd_address_operand): New.
9414 * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
9415 * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
9416 (PREDICATE_CODES): Add ldd_address_operand.
9417 * config/frv/frv.md (movdi_ldd): New.
9418 (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
9419 intermediate computations if possible.
9420 (symGOTOFF2reg_i): Fix harmless typo.
9421 2003-12-18 Alexandre Oliva <aoliva@redhat.com>
9422 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
9423 relocated p_vaddr to vaddr type.
9424 * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
9425 * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
9426 (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
9427 MEM, or use a funcdesc alias set. Use regular move instead of
9428 ldd.
9429 (dbl_memory_one_insn_operand): Recognize function descriptors by
9430 type or by alias set, and don't split them.
9431 * config/frv/frv.md (call, call_value): Never use call_internal
9432 for fdpic.
9433 (call_internal, call_value_internal): Never match for FDPIC.
9434 (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
9435 call_value_fdpicsi): Require FDPIC.
9436 (ldd): Removed.
9437 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
9438 * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
9439 * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
9440 (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
9441 FDPIC. Compute data base address.
9442 * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
9443 before the other self-specs are processed.
9444 * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
9445 Build with -fPIC.
9446 2003-12-15 Alexandre Oliva <aoliva@redhat.com>
9447 * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
9448 inhibit_libc is defined.
9449 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
9450 * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
9451 __FRV_FDPIC__.
9452 (__RELOC_POINTER): Define.
9453 (_Unwind_IteratePhdrCallback): Use it.
9454 * config/frv/frv.h (Twrite): Define.
9455 (TRANSFER_FROM_TRAMPOLINE): Use it.
9456 * config/frv/linux.h (INVOKE__main): Undefine.
9457 (Twrite): Override.
9458 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
9459 * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
9460 (-mlibrary-pic): Emphasize that this option generates EABI code.
9461 (-mcpu): Add fr550.
9462 (-mpack): Remove.
9463 2003-11-30 Alexandre Oliva <aoliva@redhat.com>
9464 * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
9465 and CONSTs in FDPIC mode.
9466 * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
9467 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
9468 * config/frv/frv.c (move_source_operand): Don't accept symbolic
9469 constants.
9470 * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
9471 rather than 'i' constraint for the 2-instruction alternative.
9472 (*movsi_2word): New, incorporating existing int_2word_operand splitter.
9473 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
9474 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
9475 EXTRA_CONSTRAINT_FOR_Y.
9476 (EXTRA_CONSTRAINT): Remove handling of 'Y'.
9477 * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
9478 (addsi3): Change 'Y' constraint to 'Q'.
9479 2003-11-27 Richard Sandiford <rsandifo@redhat.com>
9480 * reload.c (CONST_POOL_OK_P): New macro.
9481 (find_reloads): Use it to decide whether a constant can be forced
9482 into memory.
9483 * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
9484 constant satisfies got12_operand.
9485 (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
9486 (frv_legitimate_address_p): Check for valid unspec offsets using
9487 got12_operand rather than frv_legitimate_fdpic_operand_p.
9488 (frv_legitimate_fdpic_operand_p): Delete.
9489 (frv_emit_movsi): Abort if we try to use the FDPIC register during
9490 or after reload.
9491 (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
9492 TARGET_FDPIC.
9493 * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
9494 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
9495 * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
9496 (frv_fdpic_fptr_operand): Don't declare here.
9497 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
9498 rather than fdpic_got12_operand.
9499 (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
9500 got12_operand and const_unspec_operand.
9501 * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
9502 (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
9503 (symbolic_operand): Remove.
9504 (const_unspec_operand): New predicate.
9505 * config/frv/frv.md (*movsi_got): Use got12_operand.
9506 (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
9507 2003-11-18 Richard Sandiford <rsandifo@redhat.com>
9508 * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
9509 * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
9510 * config/frv/frv.c (frv_unspec): New structure.
9511 (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
9512 (frv_print_operand_memory_reference): Use frv_const_unspec_p to
9513 validate CONST indices. Use frv_output_const_unspec to print them.
9514 (frv_print_operand): Update call to unspec_got_name. Use
9515 frv_output_const_unspec to print constant unspecs.
9516 (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
9517 Reject UNSPECs otherwise.
9518 (unspec_got_name): Take the relocation number as argument, not an
9519 rtx containing it.
9520 (frv_output_addr_const_extra): Remove, replacing with...
9521 (frv_output_const_unspec): ...this new function.
9522 (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
9523 (gpr_or_int12_operand): Use fdpic_got12_operand.
9524 (dbl_memory_one_insn_operand): Likewise.
9525 (fdpic_got12_operand): Use frv_const_unspec_p.
9526 (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
9527 are already legitimate. Use frv_small_data_reloc_p when deciding
9528 whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
9529 2003-11-18 Alexandre Oliva <aoliva@redhat.com>
9530 * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
9531 * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
9532 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
9533 label, for real this time.
9534 * config/frv/frv.c (frv_local_funcdesc_p): Update to new
9535 representation of visibility.
9536 (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
9537 such.
9538 2003-11-17 Richard Sandiford <rsandifo@redhat.com>
9539 * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
9540 (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
9541 * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
9542 it was explicitly disabled.
9543 (frv_stack_info): There is no need to save the link register in every
9544 frame unless TARGET_LINKED_FP is true.
9545 (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
9546 frame pointer if the stack pointer might change value.
9547 (frv_return_addr_rtx): Check and process "count" argument.
9548 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
9549 * config/frv/frv-protos.h (frv_legitimize_address): Remove.
9550 (frv_find_base_term): Declare.
9551 * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
9552 (FIND_BASE_TERM): Define.
9553 (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
9554 small_data_register_operand, small_data_symbolic_operand. Add
9555 symbolic_operand.
9556 * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
9557 (frv_print_operand_memory_reference, output_move_single): Remove
9558 special handling for unlegitimized sdata addresses.
9559 (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
9560 and symbolic addresses.
9561 (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
9562 (frv_find_base_term): New function.
9563 (int_2word_operand): Check specifically for symbolic address constants.
9564 (pic_register_operand, pic_symbolic_operand): Delete.
9565 (small_data_register_operand, small_data_symbolic_operand): Delete.
9566 (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
9567 Allow UNSPEC_GOT constants if !TARGET_FDPIC.
9568 (move_source_operand): Only accept CONSTs if they're a two-insn
9569 symbolic constant.
9570 (fdpic_got12_operand): Don't require TARGET_FDPIC.
9571 (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
9572 using gen_symGOTOFF2reg*.
9573 (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
9574 (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
9575 themselves a cost of 3 insns.
9576 * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
9577 Change predicate to symbolic_operand.
9578 (*movsi_high_got, *movsi_lo_sum_got): Likewise.
9579 (*movsi_lda_sdata): Delete.
9580 (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
9581 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
9582 * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
9583 frv-*-*linux*.
9584 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
9585 label.
9586 * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
9587 -multilib-library-pic.
9588 (LINK_SPEC): Add -z text for -mfdpic.
9589 * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
9590 * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
9591 * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
9592 Override.
9593 (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
9594 FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
9595 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
9596 crtstuff-generated files.
9597 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
9598 * config.gcc: Add frv-*-*linux*.
9599 * config/frv/linux.h, config/frv/t-linux: New.
9600 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
9601 * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
9602 when -mfdpic even if a linker script is explicitly listed.
9603 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
9604 * config/frv/frv.c (frv_override_options): Clear asm_out
9605 unaligned_op for SImode on FDPIC.
9606 (frv_emit_movsi): Use compute_reloc_for_constant to compute the
9607 argument passed to decl_readonly_section.
9608 (frv_assemble_integer): Revert 2003-09-30's change, but make the
9609 whole block run with FDPIC even with -fno-PIC.
9610 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
9611 * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
9612 symbol or label plus offset to memory.
9613 (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
9614 GOTOFF and GPREL for LABEL_REF.
9615 * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
9616 -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
9617 (MASK_GPREL_RO, TARGET_GPREL_RO): New.
9618 (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
9619 * doc/invoke.texi: Document them.
9620 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
9621 * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
9622 (frv_splittable_got_operand): Removed.
9623 * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
9624 LO_SUM. Add comments.
9625 (frv_override_options): Moved enabling of FDPIC to
9626 DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
9627 (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
9628 (frv_legitimize_fdpic_address): Don't duplicate logic in
9629 frv_emit_movsi.
9630 (frv_gen_GPsym2reg): New.
9631 (unspec_got_name): Added gprel.
9632 (frv_expand_fdpic_call): Add support for inlining PLTs.
9633 (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
9634 (gpr_or_int12_operand): Added GPREL12.
9635 (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
9636 (small_data_symbolic_operand): Fail if FDPIC.
9637 (fdpic_splittable_got_operand): Removed.
9638 (fdpic_got12_operand): Added GPREL12.
9639 (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
9640 when appropriate. Fix sdata GOTOFF.
9641 (frv_legitimate_constant_p): Require legitimate PIC operand for
9642 FDPIC with pic, but only a legitimate fdpic operand for non-pic.
9643 (frv_assemble_integer): Move FDPIC funcdesc handling out of
9644 flag_pic case.
9645 (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
9646 frv_assemble_integer fails.
9647 * config/frv/frv.h (DRIVER_SELF_SPECS): New.
9648 (SUBTARGET_DRIVER_SELF_SPECS): New.
9649 (ASM_SPEC): Don't pass -mno-fdpic.
9650 (LINK_SPEC): Pass -melf32frvfd for FDPIC.
9651 (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
9652 (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
9653 -multilib-library-pic.
9654 (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
9655 condexec_si_media_operator, condexec_sf_add_operator and
9656 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
9657 and condexec_sf_unary_operator.
9658 * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
9659 New.
9660 (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
9661 movsi_internal. Give them internal names. movsi_got has type
9662 int.
9663 (fdpic got splitters): Remove.
9664 (symGPREL2reg, symGPREL2reg_hilo): New.
9665 * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
9666 to -mlibrary-pic. Map -multilib-library-pic to it.
9667 * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
9668 Document.
9669 2003-09-28 Alexandre Oliva <aoliva@redhat.com>
9670 * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
9671 (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
9672 (frv_cannot_force_const_mem): New function.
9673 (const_small_data_p, plus_small_data_p): Update comments on sdata
9674 on FDPIC.
9675 (frv_override_options): Set flag_pie for FDPIC too.
9676 (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
9677 call-saved registers on FDPIC.
9678 (frv_stack_info): Don't preserve the PIC register on FDPIC, and
9679 don't force LR to be preserved.
9680 (frv_expand_prologue): Likewise.
9681 (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
9682 (frv_frame_pointer_required): Don't force it just because the
9683 FDPIC register is used.
9684 (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
9685 operand only if !condexec_p.
9686 (frv_legitimize_address): Return the FDPIC-legitimized address.
9687 Don't match small data here on FDPIC.
9688 (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
9689 symbols. Use TRUE/FALSE instead of 1/0.
9690 (frv_local_funcdesc_p): New.
9691 (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
9692 immediates when possible.
9693 (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
9694 (dbl_memory_one_insn_operand): Accept addresses that add a REG and
9695 an UNSPEC_GOT.
9696 (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
9697 12-bit immediates when possible.
9698 (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
9699 are not legitimate pic operands.
9700 (frv_in_small_data_p): Re-enable for FDPIC.
9701 * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
9702 (FRV_GLOBAL_P): Removed.
9703 * config/frv/frv.md: Add modes to CONSTs.
9704 (movsi_got): New.
9705 (movsi_lo_sum_got): Use separate matches instead of match_dup.
9706 (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
9707 (fdpic splittable operations): Match on flag_pic != 1.
9708 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
9709 * config/frv/frv.c (frv_asm_out_constructor,
9710 frv_asm_out_destructor): Pass to frv_assemble_integer the size in
9711 bytes, not bits.
9712 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
9713 * config/frv/frv.c (frv_assemble_integer): Reject complex
9714 expressions referencing function SYMBOL_REFs.
9715 * config/frv/frv.c (frv_function_symbol_referenced_p): New.
9716 (move_source_operand): Reject CONSTs that reference function
9717 SYMBOL_REFs on FDPIC.
9718 (frv_emit_movsi): If we get such a CONST, break it up.
9719 * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
9720 (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
9721 * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
9722 MEM.
9723 (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
9724 (frv_trampoline_size): Increase for FDPIC.
9725 * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
9726 (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
9727 * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
9728 Disable use of GOTOFF for now.
9729 (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
9730 Disable use of small data in FDPIC for now.
9731 (frv_asm_output_mi_thunk): Implement for FDPIC.
9732 * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
9733 * config/frv/frv.c (frv_asm_out_constructor): Use
9734 frv_assemble_integer for FDPIC pointers.
9735 (frv_asm_out_destructor): Likewise.
9736 * config/frv/frv.md (ldd): Fix order of operands. Use
9737 address_operand for input.
9738 2003-09-18 DJ Delorie <dj@redhat.com>
9739 * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
9740 (unspec_got_name): Correct typo.
9741 (frv_emit_movsi): Pre-expand splittable GOTs.
9742 (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
9743 * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
9744 (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
9745 * config/frv/t-frv: Add -mfdpic multilibs.
9746 * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
9747 (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
9748 * config/frv/frv.c (frv_override_options): -mfdpic assumes
9749 flag_pic, default to 32-bit pics, require DWORD ops.
9750 (frv_override_options): Add W and Z constraints.
9751 (frv_expand_prologue): No pic prologue for -mfdpic.
9752 (frv_asm_output_mi_thunk): Support -mfdpic (soon).
9753 (frv_print_operand_memory_reference): Handle GOT constants.
9754 (frv_legitimate_address_p): Allow GOT constants.
9755 (frv_legitimize_address): Handle GOT addresses too.
9756 (frv_legitimate_fdpic_operand_p): New.
9757 (frv_legitimize_fdpic_address): New.
9758 (unspec_got_name): New.
9759 (frv_output_addr_const_extra): New.
9760 (frv_expand_fdpic_call): New.
9761 (frv_fdpic_fptr_operand): New.
9762 (gpr_or_int12_operand): Handle GOT operands.
9763 (int_2word_operand): Handle GOT operands.
9764 (fdpic_operand): New.
9765 (fdpic_splittable_got_operand): New.
9766 (fdpic_got12_operand): New.
9767 (frv_emit_movsi): Handle GOT operands.
9768 (frv_assemble_integer): -mfdpic doesn't use rofixups.
9769 (frv_print_operand): Support 'g' code for GOT operands.
9770 * config/frv/frv-protos.h: Add prototypes as needed.
9771 * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
9772 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
9773 R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
9774 R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
9775 R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
9776 R_FRV_GOTOFFLO): New.
9777 (movsi_high_got, movsi_lo_sum_got): New.
9778 (*movsi_pic): Don't use this splitter for -mfdpic.
9779 (addsi3): Allow GOT references also.
9780 (call, call_value): Handle -mfdpic separately.
9781 (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
9782 call_value_fdpicsi): New.
9783 (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
9784 symGOTOFF2reg_i): New.
9785 * config/frv/frv.h (MASK_FDPIC): New.
9786 (TARGET_FDPIC): New.
9787 (TARGET_SWITCHES): Add -mfdpic.
9788 (FDPIC_FPTR_REGNO): New.
9789 (FDPIC_REGNO): New.
9790 (OUR_FDPIC_REG): New.
9791 (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
9792 FDPIC_CALL_REGS.
9793 (REG_CLASS_NAMES): Likewise.
9794 (REG_CLASS_CONTENTS): Likewise.
9795 (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
9796 (EXTRA_CONSTRAINT): Add it here.
9797 (FRV_GLOBAL_P): New.
9798 (OUTPUT_ADDR_CONST_EXTRA): New.
9799
7e26b0e3
KH
98002004-02-24 Kazu Hirata <kazu@cs.umass.edu>
9801
9802 * config/sparc/sparc.h: Remove commented-out definitions of
9803 TARGET_EDOM and GEN_ERRNO_RTX.
9804
b57f2e10
KH
98052004-02-24 Kazu Hirata <kazu@cs.umass.edu>
9806
9807 * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
9808 df_analyse with df_analyze.
9809
cb7c3c3f
AM
98102004-02-24 Alan Modra <amodra@bigpond.net.au>
9811
9812 * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
9813 beginning of block.
9814
3638733b
JW
98152004-02-23 James E Wilson <wilson@specifixinc.com>
9816
238470bd 9817 * calls.c (precompute_arguments): Update comment.
3638733b 9818
fa0ac78a
KH
98192004-02-23 Kazu Hirata <kazu@cs.umass.edu>
9820
9821 * et-forest.c: Replace et_occurences with et_occurrences.
9822
6d4e0ecc
KH
98232004-02-23 Kazu Hirata <kazu@cs.umass.edu>
9824
9825 * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
9826 with iv_analyze.
9827
9e200aaf
KC
98282004-02-23 Kelley Cook <kcook@gcc.gnu.org>
9829
9830 * config/i386/i386.c: Rename pni to sse3.
9831 * config/i386/i386.h: Likewise.
3205a71e 9832 * config/i386/i386.md: Likewise.
9e200aaf
KC
9833 * config/i386/pmmintrin.h: Likewise.
9834 * doc/extend.texi: Likewise.
9835 * doc/invoke.texi: Likewise.
9836
3521b33c
ZW
98372004-02-23 Zack Weinberg <zack@codesourcery.com>
9838 Kazu Hirata <kazu@cs.umass.edu>
9839
9840 Remove -fwritable-strings.
9841 * c-common.c (fix_string_type): Don't check
9842 flag_writable_strings.
9843 (fix_string_type): Likewise.
9844 * c-opts.c (set_std_c89): Don't initialize
9845 flag_writable_strings.
9846 (set_std_c99): Likewise.
9847 * common.opt (fwritable-strings): Remove.
9848 * flags.h: Remove the external declaration of
9849 flag_writable_strings.
9850 * opts.c (common_handle_option) <OPT_fwritable_strings>:
9851 Remove.
9852 * toplev.c (flag_writable_strings): Remove.
9853 (f_options): Remove an entry for writable-strings.
9854 * varasm.c (const_hash_1) <STRING_CST>: Don't check
9855 flag_writable_strings.
9856 (compare_constant) <STRING_CST>: Likewise.
9857 (build_constant_desc): Likewise.
9858 * config/darwin.c (machopic_select_section): Likewise.
9859 * config/arm/arm.c (AOF_ASSEMBLER): Likewise.
9860 * config/arm/pe.c (arm_pe_encode_section_info): Likewise.
9861 * config/iq2000/iq2000.c (iq2000_select_section): Likewise.
9862 * config/mips/mips.c (mips_select_section): Likewise.
9863 (mips_encode_section_info): Likewise.
9864 * config/pa/pa.c (pa_select_section): Likewise.
9865 * config/pa/pa.h (TEXT_SPACE_P): Likewise.
9866 * config/v850/v850.c (v850_select_section): Likewise.
9867 * doc/invoke.texi (-fwritable-strings): Remove.
9868 (-fno-const-strings): Don't mention -fwritable-strings.
9869 * doc/trouble.texi: Don't mention -fwritable-strings.
9870
eb6bddf6
NN
98712003-02-23 Nathanael Nerode <neroden@gcc.gnu.org>
9872
9873 * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
9874
e0740893
DJ
98752004-02-23 Dale Johannesen <dalej@apple.com>
9876
9877 * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
9878 (movdf_hardfloat64): Ditto.
9879 (movdf_softfloat64): Ditto.
9880
e91fa876 98812004-02-23 Fariborz Jahanian <fjahanian@apple.com>
3205a71e 9882 * config/rs6000/rs6000.c (function_arg): call to
e91fa876 9883 rs6000_mixed_function_arg for DFmode moved to allow
21526606 9884 normal DFmode incoming register assignment.
e91fa876 9885
ae6669e7
DJ
98862004-02-23 Dale Johannesen <dalej@apple.com>
9887
9888 * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
9889 (movdf_hardfloat64): Ditto.
9890
2a9f2ad3
KH
98912004-02-23 Kazu Hirata <kazu@cs.umass.edu>
9892
9893 * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
9894 config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
9895 copyright.
9896
aa5fa0fc
AP
98972004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
9898
a2f1f4c3
AP
9899 PR c/14156
9900 * c-typeck.c (c_expand_return): Change check for VAR_DECL
9901 to use DECL_P instead.
9902
aa5fa0fc
AP
9903 * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
9904 * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
9905
221ee7c9
KH
99062004-02-23 Kazu Hirata <kazu@cs.umass.edu>
9907
9908 * Makefile.in (opts.o): Depend on target.h.
9909 * opts.c (decode_options): Use targetm.default_short_enums
9910 instead of DEFAULT_SHORT_ENUMS.
9911 * system.h (DEFAULT_SHORT_ENUMS): Poison.
9912 * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
9913 (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
9914 * target.h (gcc_target): Add default_short_enums.
9915 * config/cris/cris.h: Remove a comment about
9916 DEFAULT_SHORT_ENUMS.
9917 * config/ip2k/ip2k.h: Likewise.
9918 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
9919 TARGET_DEFAULT_SHORT_ENUMS. Update the description.
9920
bba745c1 99212004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3205a71e 9922 Falk Hueffner <falk@debian.org>
bba745c1
EB
9923
9924 PR c/14188
9925 * builtins.c (expand_builtin_va_arg): Emit an informative message
9926 if a trap is generated.
9927 * c-typeck.c (build_function_call): Likewise.
9928
c2cd64b5
JJ
99292004-02-22 Jakub Jelinek <jakub@redhat.com>
9930
9931 * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
9932 fopen.
9933 * libgcov.c: Include sys/stat.h.
9934 * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
9935 * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
9936 * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
9937 * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
9938
fcfcb20e
KH
99392004-02-22 Kazu Hirata <kazu@cs.umass.edu>
9940
9941 * reorg.c: Remove comments about dead ports.
9942
56d03a40
CF
99432004-02-22 Christopher Faylor <cgf@redhat.com>
9944
9945 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
9946 extra host object file when targetting cygwin rather than generic
9947 object files.
9948
5e20bdd7
JZ
99492004-02-22 Josef Zlomek <zlomekj@suse.cz>
9950
9951 Merge from tree-ssa:
9952 2003-11-20 Richard Henderson <rth@redhat.com>
9953
9954 * tree-inline.c (insert_decl_map): New.
9955 (remap_decl, remap_type, remap_block, copy_body_r,
9956 initialize_inlined_parameters, declare_return_variable,
9957 remap_save_expr): Use it.
9958
9959 * function.c (copy_body_r): Add mapping from id->ret_label to
9960 id->ret_label. Revert test for ret_label.
9961
4112be4a
JJ
99622004-02-22 Jakub Jelinek <jakub@redhat.com>
9963
9964 * genoutput.c (process_template): Strip trailing whitespace in @
9965 templates and issue a warning if there was any.
9966
3a6efa98 99672004-02-21 Christopher Faylor <cgf@redhat.com>
dc4a2f32
CF
9968
9969 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
9970 object file when targetting cygwin.
9971 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
9972 overridden by top-level Makefile.
9973
22cc69c4
RS
99742004-02-21 Roger Sayle <roger@eyesopen.com>
9975
9976 * config/i386/i386.c (standard_80387_constant_p): Also prefer
9977 the x87's load constant instructions when optimizing for size.
9978
bee07d3f
KH
99792004-02-21 Kazu Hirata <kazu@cs.umass.edu>
9980
9981 * combine.c (SHIFT_COUNT_TRUNCATED): Remove.
9982 * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
9983 * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
9984 * fold-const.c: Likewise.
9985 * simplify-rtx.c: Likewise.
9986
da6fdad3
AM
99872004-02-21 Alan Modra <amodra@bigpond.net.au>
9988
9989 * combine.c (can_combine_p): Don't ignore SETs marked with
9990 REG_EH_REGION notes.
9991 (try_combine): When attemting to fix unrecognized insns, don't
9992 split a PARALLEL that contains the original i2.
9993
8bb418a3
ZL
99942004-02-21 Ziemowit Laski <zlaski@apple.com>
9995
9996 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
9997 SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
9998 * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
9999 * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
10000 (vector, pixel, bool): #define to __vector, __pixel and __bool.
10001 (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
10002 portion of header.
10003 (__altivec_link_error_invalid_argument): Remove prototype; will use
10004 __builtin_altivec_compiletime_error("vec_*") instead.
10005 (vec_*): Fix/complete set of available operation overloads given the
10006 existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
10007 cv-correctness of pointer arguments; in C, always check for correct
10008 argument types before macro expansion.
10009 * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
10010 defining Darwin/PowerPC-specific '-f[no-]altivec' and
10011 '-W[no-]altivec-long-deprecated' switches.
10012 * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
10013 '__vector', '__pixel' and '__bool' macros using
10014 '__attribute__((altivec(...)))' types.
10015 * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
10016 bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
10017 bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
10018 New type nodes.
10019 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
10020 handling '-W[no-]altivec-long-deprecated'.
10021 (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
10022 (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
10023 altivec_expand_dst_builtin): Remove casts from integer literals.
10024 (altivec_expand_builtin): Likewise; handle expansion of new
10025 '__builtin_altivec_compiletime_error' function.
10026 (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
10027 types, and make them distinct from other vector types; register
10028 '__builtin_altivec_compiletime_error' function.
10029 (print_operand): For 'P', print a full target register name instead of
10030 merely its number.
10031 (rs6000_attribute_table): Add "altivec" attribute.
10032 (rs6000_handle_altivec_attribute): New function.
21526606 10033 * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
8bb418a3
ZL
10034 '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
10035 maps to).
10036 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
10037 declare.
10038 (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
10039
06a419ff
JW
100402004-02-20 James E Wilson <wilson@specifixinc.com>
10041
10042 * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
10043 check.
10044 (shift_mix4left+2): Delete redundant pattern.
10045
d220de0e
KH
100462004-02-20 Kazu Hirata <kazu@cs.umass.edu>
10047
10048 * alias.c (OUTGOING_REGNO): Don't define the default.
10049 * builtins.c (OUTGOING_REGNO): Likewise.
10050 (INCOMING_REGNO): Likewise.
10051 (apply_args_register_offset): Always use OUTGOING_REGNO.
10052 * combine.c (OUTGOING_REGNO): Likewise.
10053 * sibcall.c (OUTGOING_REGNO): Likewise.
10054 * defaults.h (INCOMING_REGNO): Provide the default.
10055 (OUTGOING_REGNO): Likewise.
10056
701ad47e
JH
100572004-02-21 Jan Hubicka <jh@suse.cz>
10058
10059 * params.def (max-peeled-insns, max-completely-peeled-insns,
10060 max-once-peeled-insns): Set to 400.
10061
7a3e01c4
JDA
100622004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10063
3205a71e 10064 PR c++/12007
7a3e01c4
JDA
10065 * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
10066 are set for parameters before outputing debugging information.
10067
f4d9988b
FH
100682004-02-20 Falk Hueffner <falk@debian.org>
10069
10070 PR target/14201
10071 * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
10072 numbers.
10073
2ae5c785
PB
100742004-02-20 Per Bothner <per@bothner.com>
10075
10076 * input.h: Don't #include line-map.h. It may cause link problems
10077 with undefined linemap_line_start when line-map.h is included but
10078 line-map.o is not linked, as currently happens with gengtype on
10079 compilers that don't support inline.
10080 * toplev.c: So we do have to explicitly #include line-map.h here.
10081
7c4d376d
RH
100822004-02-20 Richard Henderson <rth@redhat.com>
10083
10084 * doc/invoke.texi: Add -Wvariadic-macros.
10085
2c598860
KH
100862004-02-20 Kazu Hirata <kazu@cs.umass.edu>
10087
10088 * haifa-sched.c (sched_emit_insn): Remove.
10089 * sched-int.h: Remove the corresponding prototype.
10090
35afa569
KH
100912004-02-20 Kazu Hirata <kazu@cs.umass.edu>
10092
10093 Revert:
10094 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
10095 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
10096 * system.h (DEFAULT_SHORT_ENUMS): Poison.
10097 * config/cris/cris.h: Remove a comment about
10098 DEFAULT_SHORT_ENUMS.
10099 * config/ip2k/ip2k.h: Likewise.
10100 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
10101
c1c3bb0c
ME
101022004-02-20 Mohan Embar <gnustuff@thisiscool.com>
10103 Tom Tromey <tromey@redhat.com>
10104
10105 * doc/install.texi: Moved --disable-libgcj and
10106 --with-system-zlib documentation to new section for
10107 Java-specific options.
10108 Added explicit Cross-Compiler-Specific Options subheading.
10109 Added section for Java-specific options.
10110
ee095310
MK
101112004-02-20 Matt Kraai <kraai@alumni.cmu.edu>
10112
10113 * doc/install.texi (Building the Ada compiler): Remove
3205a71e 10114 example.
ee095310 10115
15316a6f
JW
101162004-02-20 James E Wilson <wilson@specifixinc.com>
10117
10118 * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
10119
9f76f909
KH
101202004-02-20 Kazu Hirata <kazu@cs.umass.edu>
10121
10122 * gcc.c (process_command): Allow translation of the copyright
10123 symbol but not the rest of the copyright message.
10124 * gcov.c (print_version): Likewise. Allow translation of the
10125 message about warranty.
10126
f38a62ff
HPN
101272004-02-20 Hans-Peter Nilsson <hp@axis.com>
10128
10129 * config/cris/cris.md ("*andsi_movu"): Correct parentheses in
10130 predicate.
10131 ("*andsi_clear"): Tweak constraints to not match postincrement.
10132 Adjust the predicate to exclude a volatile memory reference.
10133 ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
10134 ("*andhi_clear_unsigned"): Remove, non-matching pattern.
10135
88e3a2a3
MK
101362004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
10137
10138 * move-if-change: Remove.
10139 * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
10140 (s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
10141 (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
10142 (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
10143 (s-gtyp-gen, s-iov): Use the top level move-if-change.
10144 * objc/Make-lang.in (objc/objc-parse.y): Likewise.
10145
e0c34369
JW
101462004-02-19 James E Wilson <wilson@specifixinc.com>
10147
10148 * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
10149 for operand2. Add condition that requires register_operand operand2
10150 before reload.
10151
656f37ee 101522004-02-19 Richard Sandiford <rsandifo@redhat.com>
2b5f287b 10153 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
656f37ee
RS
10154
10155 * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
10156 * config/mips/mips.md: Expand comment above unaligned loads and stores.
10157
4221057e
RH
101582004-02-19 Richard Henderson <rth@redhat.com>
10159
10160 * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
10161 * tree.c (build0, build1, build2, build3, build4): Split out from...
10162 (build): ... here. Call them.
10163 * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
10164
10165 * convert.c (convert_to_integer): Remove extra build argument.
10166 * tree-inline.c (expand_call_inline): Likewise.
10167
e5b79219
RH
101682004-02-19 Richard Henderson <rth@redhat.com>
10169
10170 * c-opts.c (warn_variadic_macros): New.
10171 (c_common_handle_option): Set it.
10172 (sanitize_cpp_opts): Copy it to cpp_opts.
10173 * c.opt (Wvariadic-macros): New.
10174 * cpplib.h (struct cpp_options): Add warn_variadic_macros.
10175 * cppinit.c (cpp_create_reader): Initialize it.
10176 * cppmacro.c (parse_params): Check it.
10177
18586cb7
DD
101782004-02-19 David Daney <ddaney@avtrex.com>
10179
10180 PR preprocessor/14198
10181 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
10182 builtin_assert ("machine=mips")
10183
37a46828
KH
101842004-02-19 Kazu Hirata <kazu@cs.umass.edu>
10185
10186 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
10187 * system.h (DEFAULT_SHORT_ENUMS): Poison.
10188 * config/cris/cris.h: Remove a comment about
10189 DEFAULT_SHORT_ENUMS.
10190 * config/ip2k/ip2k.h: Likewise.
10191 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
10192
f9c887ac
ZW
101932004-02-19 Zack Weinberg <zack@codesourcery.com>
10194
10195 * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
10196 when passing single SFmode quantities in general registers,
10197 put them in the high half.
10198
0e1d7f32 101992004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
10200
10201 * doc/md.texi (Standard Names): Document additional dependency on
10202 fix pattern.
10203
10204 * optabs.c (ftruncify): Remove.
10205 (expand_fix): Manually inline ftruncify above.
10206 (can_fix_p): Add FIXME note.
0e1d7f32 10207
c6e9f0eb 102082004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
10209
10210 * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
10211 spe_fixuns_truncsfsi2.
10212
10213 * config/rs6000/rs6000.md (fixunssfsi2): Rename to
10214 fixuns_truncsfsi2.
c6e9f0eb 10215
919b531d
SE
102162004-02-19 Steve Ellcey <sje@cup.hp.com>
10217
10218 * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
10219 * testsuite/gcc.dg/20040219-1.c: New test.
10220
4dbb5970
UW
102212004-02-19 Ulrich Weigand <uweigand@de.ibm.com>
10222
10223 * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
10224 "*subsf3_cconly"): Subtraction is not commutative.
10225
16edbbf0
ZW
102262004-02-19 Zack Weinberg <zack@codesourcery.com>
10227
10228 * sdbout.c (preinit_symbols, sdbout_initialized): New statics.
10229 (sdbout_symbol): If called before sdbout_init, queue DECL for
10230 later and return.
10231 (sdbout_init): Set sdbout_initialized true, process decls
10232 queued earlier by sdbout_symbol.
10233 (sdbout_finish): Use size_t for index variable.
10234
f46e5baa 102352004-02-19 Jeff Law <law@redhat.com>
16edbbf0 10236
f46e5baa
JL
10237 * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
10238 for unordered comparison codes.
10239
d754127f
ILT
102402004-02-19 Ian Lance Taylor <ian@wasabisystems.com>
10241
10242 * reload1.c (reload): Correct comment.
10243 (scan_paradoxical_subregs): Remove #if 0 and old comment.
10244 * doc/extend.texi (Local Reg Vars): Remove obsolete comment that
10245 register variables are not used by reload.
10246
428eae94
HPN
102472004-02-19 Hans-Peter Nilsson <hp@axis.com>
10248
10249 PR target/14209
10250 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
10251 constraints to not match postincrement. Adjust the predicate to
10252 exclude a volatile memory reference.
10253
a5ee8d80
KH
102542004-02-19 Kazu Hirata <kazu@cs.umass.edu>
10255
10256 * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
10257
45ea6431
KH
102582004-02-19 Kazu Hirata <kazu@cs.umass.edu>
10259
10260 * hooks.c (hook_void_tree_int): Remove.
10261 (hook_void_constcharptr): Likewise.
10262 (hook_int_void_0): Likewise.
10263 * hooks.h: Remove the prototypes for the above three
10264 functions.
10265 * targhooks.c (hook_bool_machine_mode_true): Remove.
10266 * targhooks.h: Remove the prototype for
10267 hook_bool_machine_mode_true.
10268
c59102b4
KH
102692004-02-19 Kazu Hirata <kazu@cs.umass.edu>
10270
10271 * emit-rtl.c (subreg_realpart_p): Remove.
10272 (reorder_insns_with_line_notes): Likewise.
10273 (end_full_sequence): Likewise.
10274 * rtl.h: Remove the prototype for the above functions.
10275
3ad17f7b
KH
102762004-02-19 Kazu Hirata <kazu@cs.umass.edu>
10277
10278 * config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
10279 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
10280 config/iq2000/iq2000.h, config/m32r/m32r.h,
10281 config/pdp11/pdp11.h, config/sparc/sparc.h,
10282 config/xtensa/xtensa.h: Remove commented-out or useless
10283 definitions of CASE_VECTOR_PC_RELATIVE.
10284
a3b182a7
KH
102852004-02-19 Kazu Hirata <kazu@cs.umass.edu>
10286
10287 * loop.c (all_sets_invariant_p): Remove.
10288
1b5963f7
EB
102892004-02-19 Eric Botcazou <ebotcazou@libertysurf.fr>
10290
10291 PR target/12916
10292 * config/sparc/sparc.h (NPARM_REGS): Delete.
10293 (BASE_RETURN_VALUE_REG): Likewise.
10294 (BASE_OUTGOING_VALUE_REG): Likewise.
10295 (BASE_PASSING_ARG_REG): Likewise.
10296 (BASE_INCOMING_ARG_REG): Likewise.
10297 * config/sparc/sparc.c (sparc_strict_argument_naming): Test
10298 TARGET_ARCH64, not TARGET_V9.
10299 (function_arg_slotno): Dispatch based on the mode class.
10300 Handle vector modes like floating-point modes.
10301 (function_arg_record_value_1): Handle vector types like
10302 floating-point types.
10303 (function_arg_record_value_2): Likewise.
10304 Calculate regno after mode transformation.
10305 (function_arg): Handle vector modes like floating-point modes.
10306 (function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
10307 If ARCH64, do not recheck alignment.
10308 (function_arg_pass_by_reference): Reorder the conditions.
10309 (sparc_return_in_memory): Move after function_arg_padding.
10310 Implement calling conventions for vector modes.
10311 (sparc_struct_value_rtx): Move after sparc_return_in_memory.
10312 (function_value): Move scope of 'regbase'.
10313 Implement calling conventions for vector modes.
10314 (sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
10315 and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
10316 (sparc_va_arg): Use function_arg_pass_by_reference to test whether
10317 the argument is passed by reference.
10318 (sparc_type_code): Handle vector types.
10319
196c42cd
AM
103202004-02-19 Alan Modra <amodra@bigpond.net.au>
10321
10322 * function.c (assign_parms): When building decl_rtl for
10323 SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
10324
c0cfc691
OH
103252004-02-19 Olivier Hainque <hainque@act-europe.fr>
10326
10327 * expr.c (is_aligning_offset): Check if we are aligning the
10328 expressions's address over BIGGEST_ALIGNMENT in bytes, not
10329 in bits.
10330
328163dc
MA
103312003-02-18 Matt Austern <austern@apple.com>
10332
10333 * gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
10334 LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
10335 (init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
10336 defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
10337 spec string.
10338 * doc/tm.texi (REAL_LIBGCC_SPEC): Document.
16edbbf0 10339
57d4f65c
ZW
103402004-02-18 Zack Weinberg <zack@codesourcery.com>
10341
10342 * dwarf2out.c (loclabel_num): Move outside #ifdef
10343 DWARF2_DEBUGGING_INFO and mark with GTY(()).
10344 * config/ia64/ia64.c (struct extern_func_list,extern_func_head):
10345 Mark with GTY(()).
10346 (ia64_hpux_add_extern_decl): Save the decl, not the name string.
10347 Allocate memory with ggc_alloc. No need to copy anything.
10348 (ia64_hpux_file_end): Update to match.
10349
3fec9fa9
JJ
103502004-02-18 Jakub Jelinek <jakub@redhat.com>
10351
10352 * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
10353 by default.
10354
5665e398
UW
103552004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
10356
10357 * config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
10358 ("divmodtisi3"): Likewise.
10359 ("udivmoddi4", "udivmodtidi3"): Likewise.
10360 ("divmodsi4", "divmoddisi3"): Likewise.
10361 ("udivmodsi4", "udivmoddisi3"): Likewise.
10362 ("udivsi3", "umodsi3"): Likewise.
10363
d76e8439
UW
103642004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
10365
10366 * config/s390/s390.c (s390_mainpool_start): Delete the main pool
10367 placeholder insn when chunkifying the pool.
10368
3cf7104e
JDA
103692004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10370
10371 * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
10372 generating PIC code.
10373
8981ecd3
KH
103742004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10375
10376 * config/h8300/h8300-protos.h: Add a prototype for
10377 h8300_expand_branch.
10378 * config/h8300/h8300.c (h8300_expand_branch): New.
10379 * config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
10380 bgtu, beq, bne): Call h8300_expand_branch().
10381
07ee3b58
KH
103822004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10383
10384 * config/h8300/h8300-protos.h: Add prototypes for
10385 h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
10386 * config/h8300/h8300.c (h8300_hard_regno_nregs): New.
10387 (h8300_hard_regno_mode_ok): Likewise.
10388 * config/h8300/h8300.h (HARD_REGNO_NREGS): Call
10389 h8300_hard_regno_nregs().
10390 (HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
10391
22234f56
PB
103922004-02-18 Per Bothner <per@bothner.com>
10393
10394 * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
10395 partly reverts my 2003-10-01 change, because we're back to logically
10396 including <command line> inside the main line.
10397 * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
10398 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
10399 Fixes PR preprocessor/14103.
10400
10401 * cppfiles.c (_cpp_stack_include): When appropriate decrement
10402 line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
10403 (cpp_push_include): Don't need to increment pfile's line field.
10404 * line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
10405
10406 * c-ppoutput.c (print struct): New first_time field.
10407 (init_pp_output): Set print.first_time.
10408 (pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
10409 which is set also for (say) <command line>. Clear print.first_time.
10410
10411 * cppfiles.c (struct _cpp_file): Comment and type for pch field
10412 does not match the code, so fix both.
10413 (should_stack_file): Inline include_pch_p function.
10414 (include_pch_p): Remove pointless function.
10415
10416 * cpphash.h (struct cpp_buffer): Remove unused search_cached field.
10417
5a6d9a81
KH
104182004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10419
10420 * config/h8300/h8300.md (four define_peephole2's): Use
10421 h8300_regs_ok_for_stm().
10422
3d2e90d6
KH
104232004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10424
10425 * config/h8300/h8300-protos.h: Update the prototype for
10426 expand_a_rotate().
10427 * config/h8300/h8300.c (expand_a_rotate): Remove the first
10428 argument.
10429 * config/h8300/h8300.md: Update all callers.
10430
79ae63b1
JH
104312004-02-18 Jan Hubicka <jh@suse.cz>
10432
10433 * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
10434 floats.
10435 (simplify_binary_operation): Deal with logicals on floats.
10436
10437 * i386.md (SSE fabs splitters): Emit new patterns.
10438 (SSE cmov splitters): Likewise.
10439 (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
10440 (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
10441 subregs.
10442 (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
10443 (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
10444
01ab5574
KH
104452004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10446
10447 * config/h8300/h8300.c (expand_a_rotate): Don't generate insns
10448 by hand.
10449 (output_a_rotate): Tweak a comment.
10450 * config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
10451 (*rotlhi3_1): Change to rotlhi3_1.
10452 (*rotlsi3_1): Change to rotlsi3_1.
10453
d5f7d2d0
RE
104542004-02-18 Richard Earnshaw <rearnsha@arm.com>
10455
10456 PR target/13866
10457 * arm.c (load_multiple_operation): Don't insist that the source reg
10458 of a post-increment component is the same as the destination.
10459 (store_multiple_operation): Likewise.
10460
b0c8a821
KH
104612004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10462
10463 * config/h8300/h8300.md: Move movsf patterns into one section
10464 of the file.
10465
aa335b76
KH
104662004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10467
10468 * cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
10469 loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
10470 xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
10471 config/mips/linux64.h, config/pa/pa-64.h,
10472 config/rs6000/aix51.h, config/rs6000/aix52.h,
10473 config/rs6000/spe.md, config/sparc/linux.h,
10474 config/sparc/linux64.h: Update copyright.
10475
5a64541a
KH
104762004-02-18 Kazu Hirata <kazu@cs.umass.edu>
10477
10478 * config/h8300/h8300.md: Move push patterns into one
10479 section of the file.
10480
8d04e6db
MM
104812004-02-18 Mark Mitchell <mark@codesourcery.com>
10482
10483 PR c++/11326
10484 * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
10485 fntype.
10486
e978d62e
PB
104872004-02-18 Paul Brook <paul@codesourcery.com>
10488
10489 * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
10490
cdbafce1
PB
104912004-02-18 Paul Brook <paul@codesourcery.com>
10492
c5fe5036 10493 PR debug/12934
cdbafce1
PB
10494 * dwarf2out.c (loc_descriptor_from_tree): Handle
10495 EXPR_WITH_FILE_LOCATION.
10496
5a0855a0
JJ
104972004-02-18 Jakub Jelinek <jakub@redhat.com>
10498
10499 * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
10500 testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
10501 trailing whitespace from instructions.
10502
9c56033f
GK
105032004-02-17 Geoffrey Keating <geoffk@apple.com>
10504
10505 * configure.ac: When generating auto-build.h, pass
10506 --enable-languages to the sub-configure.
10507 Put quotes around ${program_transform_name} when generating
10508 name of as, ld, nm, objdump.
10509 * configure: Regenerate.
10510
80bcb4d2
MK
105112004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
10512
10513 * Makefile.in (s-check, s-config, s-conditions, s-flags)
10514 (s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
10515 (s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
10516 (s-preds, s-iov): Do not depend on move-if-change.
10517
ce7b36a4
JW
105182004-02-17 James E Wilson <wilson@specifixinc.com>
10519
10520 * caller-save.c (insert_restore): Pass mem through copy_rtx.
10521 (insert_save): Likewise.
10522
f8b58e56
KH
105232004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10524
10525 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
10526 warning.
10527
8d82e1d8
KH
105282004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10529
10530 * config/h8300/h8300.md (*one_complsi2_h8300): Change to
10531 *one_cmplsi2_h8300.
10532 (*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
10533
4093985c
KH
105342004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10535
10536 * config/h8300/h8300-protos.h: Update the prototype of
10537 fix_bit_operand().
10538 * config/h8300/h8300.c (fix_bit_operand): Remove the second
10539 argument "what".
10540 * config/h8300/h8300.md: Update all callers.
10541
fd57a6e4
KH
105422004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10543
10544 * config/h8300/h8300.c (fix_bit_operand): Change the name of
10545 the last argument to "code" from "type".
10546
6a415867
KH
105472004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10548
10549 * config/h8300/h8300.c: Remove an extern declaration of
10550 rtx_equal_function_value_matters.
10551
a3579575
KH
105522004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10553
10554 * config/h8300/h8300.c (fix_bit_operand): Don't generate insns
10555 by hand.
10556 * config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
10557 (*iorqi3_1): Change to iorqi3_1.
10558 (*xorqi3_1): Change to xorqi3_1.
10559
321440fd
KH
105602004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10561
10562 * c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
10563 typos.
10564
7b50a809
JH
105652004-02-17 Jan Hubicka <jh@suse.cz>
10566
10567 * i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
10568
8051c2eb
AM
105692004-02-18 Alan Modra <amodra@bigpond.net.au>
10570
10571 PR optimization/14119
10572 * combine.c (try_combine): When attemting to fix unrecognized insns,
10573 don't delete SETs marked with REG_EH_REGION notes.
10574
db33236e
UW
105752004-02-17 Ulrich Weigand <uweigand@de.ibm.com>
10576
57d4f65c 10577 * combine.c (simplify_if_then_else): Do not replace
db33236e
UW
10578 (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
10579 modes differ.
10580
1da326c3
SB
105812004-02017 Steven Bosscher <stevenb@suse.de>
10582
10583 * (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
10584 function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
10585 tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
10586 * ada/utils.c: Likewise.
10587 * cp/decl.c: Likewise.
10588 * f/com.c: Likewise.
10589 * java/class.c: Likewise.
10590
65c07641
KH
105912004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10592
10593 * config/h8300/h8300.md: Fix comment typos.
10594
3e35cb0c
RO
105952004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10596
10597 * config/mips/t-iris6gld: Renamed to ...
10598 * config/mips/t-irix-gld: ... this.
10599 * config.gcc (mips-sgi-irix6*): Reflect this
10600 (mips-sgi-irix5*): Use it with GNU ld.
57d4f65c 10601
3e35cb0c
RO
10602 * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
10603 to ...
10604 * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
10605 * config/mips/t-irix-gld: Reflect this.
10606 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 10607
3e35cb0c
RO
10608 * config/mips/iris5gld.h: New file.
10609 * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
10610 Only use collect2 without gas.
57d4f65c 10611
3e35cb0c
RO
10612 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
10613 Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
10614 (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
10615 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 10616
3e35cb0c
RO
10617 * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
10618 * config/mips/iris5.h: ... here.
10619
10620 * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
57d4f65c 10621 IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3e35cb0c 10622 (STARTFILE_SPEC, ENDFILE_SPEC): Define.
57d4f65c 10623
3e35cb0c
RO
10624 * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
10625 using irix_startfile_spec, irix_endfile_spec.
10626
1f0282cb
GN
106272004-02-16 Gunther Nikl <gni@gecko.de>
10628
10629 * config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
10630
6552458a
KH
106312004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10632
10633 * config/h8300/h8300.c (h8300_expand_prologue): Don't generate
10634 insns by hand.
10635
017b3258
ZD
106362004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10637
10638 * cfghooks.c (split_edge): Speed up updating of dominators.
10639
57782ad8
MM
106402004-02-17 Mark Mitchell <mark@codesourcery.com>
10641
10642 PR c++/11326
10643 * c-common.c (flag_abi_version): Remove.
10644 * c-common.h (flag_abi_version): Likewise.
10645 * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
10646 * c.opt (fabi-version): Remove.
10647 * calls.c (expand_call): Always pass a function type to
10648 struct_value_rtx. Use convert_memory_address.
10649 * common.opt (fabi-version): Add it.
10650 * flags.h (flag_abi_version): Likewise.
10651 (abi_version_at_least): New macro.
10652 * opts.c (common_handle_option): Add OPT_fabi_version.
10653 * toplev.c (flag_abi_version): Define it.
10654 * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
10655 New function.
10656 (ia64_output_mi_thunk): Use it.
10657 (ia64_struct_value_rtx): Likewise.
57d4f65c 10658
72b1de44
KH
106592004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10660
10661 * config/h8300/h8300.c (h8300_emit_stack_adjustment):
10662 Don't generate insns by hand.
10663
d150ccef
AP
106642004-02-17 Andrew Pinski <pinskia@physics.uc.edu>
10665
10666 PR c++/14178
10667 * doc/invoke.texi (fabi-version): The default is 2 now.
10668
50654f6c
ZD
106692004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10670
10671 * loop-iv.c: New file.
10672 * Makefile.in (loop-iv.o): New.
10673 * basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
10674 * cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
10675 num_loop_branches): New functions.
10676 * cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
10677 iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
10678 find_simple_exit, iv_number_of_iterations, iv_analysis_done,
10679 get_simple_loop_desc, free_simple_loop_desc): Declare.
10680 (simple_loop_desc): New inline function.
10681 (struct rtx_iv, struct niter_desc): New.
10682 * cfgloopmanip.c (loopify): Specify semantics more precisely.
10683 * expr.c (force_operand): Handle subregs of expressions created by
10684 loop unroller.
10685 * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
10686 parts of the initialization to toplev.c
10687 * loop-unroll.c (loop_exit_at_end_p): New.
10688 (unroll_and_peel_loops): Call iv_analysis_done.
10689 (decide_peel_once_rolling, decide_peel_completely,
10690 decide_unroll_stupid, decide_unroll_constant_iterations,
10691 decide_unroll_runtime_iterations, decide_peel_simple,
10692 peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
10693 unroll_loop_runtime_iterations): Use new simple loop analysis.
10694 * loop-unswitch.c (compare_and_jump_seq): New.
10695 (may_unswitch_on_p): Renamed to ...
10696 (may_unswitch_on): Use new iv analysis.
10697 (reversed_condition): Export.
10698 (unswitch_single_loop, unswitch_loop): Use new iv analysis.
10699 * predict.c (estimate_probability): Use new simple loop analysis.
10700 * rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
10701 canon_condition, simplify_using_condition): Declare.
10702 * stor-layout.c (get_mode_bounds): New.
10703 * toplev.c (rest_of_handle_loop2): Some parts of
10704 initialization/finalization moved here from loop-init.c.
10705
ef3f573f
KH
107062004-02-17 Kazu Hirata <kazu@cs.umass.edu>
10707
10708 * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
10709 pointer.
10710 (CALL_USED_REGISTERS): Likewise.
10711 (REG_ALLOC_ORDER): Likewise.
10712 (REG_CLASS) <GENERAL_REGS>: Likewise.
10713
e3d6e740
GK
107142004-02-16 Geoffrey Keating <geoffk@apple.com>
10715
10716 * doc/md.texi (Insn Canonicalizations): Document left-chaining
10717 in associative operators.
10718 * rtlanal.c (commutative_operand_precedence): Create some new
10719 variables. Prefer a commutative operand on the left, then
10720 binary expressions, then NEG and NOT.
10721
8c958ed2
MK
107222004-02-16 Matthias Klose <doko@debian.org>
10723
57d4f65c
ZW
10724 * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
10725 in terms of SHLIB_SOVERSION.
10726 * config/m68k/t-slibgcc-elf-ver: New file.
10727 * config/pa/t-slibgcc-elf-ver: New file.
10728 * config.gcc (m68k-linux, parisc-linux): Use them when not
8c958ed2
MK
10729 sjlj exceptions are not configured.
10730
42a5f3c0
EB
107312004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
10732
10733 * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
10734
1729e46c
ZW
107352004-02-16 Zack Weinberg <zack@codesourcery.com>
10736
10737 * sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
10738
0acdc221
JM
107392004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
10740
10741 * doc/sourcebuild.texi: Mention backends.html.
10742
9ac97460
KH
107432004-02-16 Kazu Hirata <kazu@cs.umass.edu>
10744
10745 * c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
10746 line-map.c, line-map.h, var-tracking.c: Fix comment
10747 formatting.
10748
9dcb4381
RH
107492004-02-16 Richard Henderson <rth@redhat.com>
10750
10751 * cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
10752
1729e46c 10753 * fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
875427f0 10754
1472042a
KH
107552004-02-15 Kazu Hirata <kazu@cs.umass.edu>
10756
10757 * config/h8300/h8300.md: Remove unnecessary parallels from
10758 all define_insn and define_split patterns.
10759
24f29b06
KH
107602004-02-15 Kazu Hirata <kazu@cs.umass.edu>
10761
10762 * config/h8300/h8300.md: Remove explicit (set_attr "cc"
10763 "clobber").
10764
ac5f9961
BI
107652004-02-15 Bernardo Innocenti <bernie@develer.com>
10766
10767 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
10768 '%#'.
10769
68776c43
KH
107702004-02-15 Kazu Hirata <kazu@cs.umass.edu>
10771
10772 * config/ia64/ia64.c, config/mips/mips.c,
10773 config/mmix/mmix-modes.def: Fix comment typos.
10774
7501c4e4
RS
107752004-02-15 Roger Sayle <roger@eyesopen.com>
10776
10777 * c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
10778 (get_directive_line): Remove unused function prototype.
10779
5852680b
JZ
107802004-02-14 Josef Zlomek <zlomekj@suse.cz>
10781
10782 * tree-inline.c (copy_body_r): Do not replace ret_label.
10783
be04394b
JH
107842004-02-14 Jan Hubicka <jh@suse.cz>
10785
10786 * i386.c (x86_four_jump_limit): New variable.
10787 (k8_avoid_jump_misspredicts): Rename to ...
10788 (ix86_avoid_jump_misspredicts): .. this one.
10789 (ix86_pad_returns): Break out from ...
10790 (ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
10791 to.
10792 * i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
10793
d4afac5b
JZ
107942004-02-14 Josef Zlomek <zlomekj@suse.cz>
10795
10796 * emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
10797 PARALLEL is NULL.
10798
c7762b44
PB
107992004-02-14 Per Bothner <per@bothner.com>
10800
10801 * fix-header.c (line_table): Move local variable in main to global.
10802 * scan.h (line_table): Use it.
10803 * scan-decls.c (scan_decls): Need to call linemap_lookup on token's
10804 line (recently renamed to src_loc) before calling recognized_function.
10805
cb7c0b5a
MK
108062004-02-14 Matt Kraai <kraai@alumni.cmu.edu>
10807
10808 * Makefile.in: Fix comment typos.
10809
45f9877a
EB
108102004-02-14 Olivier Hainque <hainque@act-europe.fr>
10811
10812 * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
10813 for start_value when it is directly moved into reg, and factorize
10814 the retrieval of GET_MODE (reg).
10815
544142d8
RS
108162004-02-14 Richard Sandiford <rsandifo@redhat.com>
10817
10818 * config/mips/mips-protos.h (mips_load_got_page): Delete.
10819 (mips_load_got_global): Delete.
10820 (mips_gotoff_page): Declare.
10821 * config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
10822 (*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
10823 UNSPEC_LOAD_GOT pattern rather than a MEM.
10824 (*load_got[sd]i): New patterns.
10825 * config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
10826 (mips_load_got_page, mips_load_got_global): Delete.
10827 (mips_gotoff_page): New function.
10828 (override_options): Don't initialize mips_got_alias_set.
10829
d2888f1d
RS
108302004-02-14 Richard Sandiford <rsandifo@redhat.com>
10831
10832 * config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
10833 (TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
10834 (TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
10835 (GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
10836 (TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
10837 * config/mips/mips.c: Fix some overly-long lines.
10838 (SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
10839 (init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
10840
19baba0b
RO
108412004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10842
10843 * configure.ac: Search for as, ld below libexec/gcc.
10844 * configure: Regenerate.
10845
f07a6b21
BE
108462004-02-14 Ben Elliston <bje@wasabisystems.com>
10847
10848 * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
10849 __builtin_arm_setwcx ().
10850 * config/arm/arm.c (arm_expand_builtin): Generate operands
10851 correctly and reverse their order in call to gen_iwmmxt_tmcr ().
10852
108532004-02-14 Ben Elliston <bje@wasabisystems.com>
10854
10855 * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
10856 and "wmuluh" to "wmulsm" and "wmulum", respectively.
10857 * config/arm/arm.h (enum arm_builtins): Rename enumerators to
10858 ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
10859 * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
10860 (_mm_mulhi_pu16): Likewise.
10861
f433554b
ZW
108622004-02-13 Zack Weinberg <zack@codesourcery.com>
10863
10864 * xcoffout.c (xcoff_assign_fundamental_type_number): Check
10865 DECL_NAME != 0 before dereferencing.
10866
faeb9bb6
UW
108672004-02-13 Ulrich Weigand <uweigand@de.ibm.com>
10868
10869 * config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
10870 (s390_output_addr_const_extra): Declare.
10871 (s390_output_pool_entry): Remove FILE * argument.
10872 * config/s390/s390.c (s390_output_symbolic_const): Remove.
10873 (s390_output_addr_const_extra): New function.
10874 (print_operand_address): Call output_addr_const instead of
10875 s390_output_symbolic_const.
10876 (print_operand): Likewise.
10877 (s390_output_pool_entry): Use assemble_integer for symbolic constants.
10878 Remove FILE * argument.
10879 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
10880 * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
10881 call.
10882
cfbe3efe
ZD
108832004-02-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10884
10885 * cfgloopanal.c (mark_irreducible_loops): Rewriten.
10886 (struct edge, struct vertex, struct graph): New.
10887 (dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
10888 free_graph): New functions.
10889
d349192c
CD
108902004-02-12 Chris Demetriou <cgd@broadcom.com>
10891
10892 * config/mips/mips.md (casesi_internal, casesi_internal_di):
10893 Use ".set macro" to avoid warnings about multi-instruction
10894 macros, since they're intentional.
10895
52ccb3d2
GK
108962004-02-12 Geoffrey Keating <geoffk@apple.com>
10897
213c4a8a
GK
10898 * config/darwin.h: Add include guards. Remove old, now incorrect,
10899 comment about STANDARD_EXEC_PREFIX.
10900
52ccb3d2
GK
10901 * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
10902 $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
10903 for installing .1 manpages. Add rules for installing cpp
10904 and gcov manpages under their installed names.
10905
1a543d25
AO
109062004-02-12 Alexandre Oliva <aoliva@redhat.com>
10907
10908 * configure.ac (gcc_cv_ld): Don't set to LD if target is not
10909 host, but try LD_FOR_TARGET first.
10910 * configure: Rebuilt.
10911
8507c40a
ZW
109122004-02-12 Zack Weinberg <zack@codesourcery.com>
10913
10914 * dbxout.c: Move declaration of dbxout_type_decl outside
10915 #ifdef DBX_DEBUGGING_INFO.
10916 * c-parse.in: Don't give the asmdef production a type.
10917
21d13d83
ZW
109182004-02-12 Zack Weinberg <zack@codesourcery.com>
10919
10920 * debug.h (struct gcc_debug_hooks): Add type_decl field.
10921 (debug_nothing_tree_int): Prototype.
10922 (dwarf_debug_hooks): Delete, unused.
10923 * debug.c (do_nothing_debug_hooks): Update.
10924 (debug_nothing_tree_int): New function.
10925 * langhooks.h (struct lang_hooks_for_decls):
10926 Remove builtin_type_decls field.
10927 * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
10928 (LANG_HOOKS_DECLS): Update.
10929 * toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
10930 Use debug_hooks->type_decl.
10931 * dbxout.c (preinit_symbols): New static.
10932 (dbx_debug_hooks, xcoff_debug_hooks): Update.
10933 (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
10934 lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols
10935 for symbols to output.
10936 (dbxout_type_decl): New function.
10937 (dbxout_symbol): If called before dbxout_init has run, queue
10938 the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
10939 to TYPE_DECLs before emitting them.
10940 * xcoffout.c (assign_type_number): Delete.
10941 (xcoff_type_numbers): New static table.
10942 (xcoff_assign_fundamental_type_number): New function.
10943 * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
10944 DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs.
10945 * sdbout.c: Include varray.h.
10946 (deferred_global_decls): New static.
10947 (sdb_debug_hooks): Update.
10948 (sdbout_global_decl): If we can't emit something right now,
10949 remember it in deferred_global_decls.
10950 (sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
10951 (sdbout_init): Initialize deferred_global_decls.
10952 * Makefile.in: Update dependencies of sdbout.o.
10953 * dwarf2out.c (dwarf2out_type_decl): New function.
10954 (dwarf2_debug_hooks): Update.
10955 * vmsdbgout.c (vmsdbg_debug_hooks): Update.
10956 * c-decl.c (getdecls): Just return 0.
10957 (check_for_loop_decls): Don't use getdecls.
10958 (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
10959 * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
10960
a90a16f3
UW
109612004-02-12 Ulrich Weigand <uweigand@de.ibm.com>
10962
10963 * config/s390/s390.c (s390_sched_reorder2): Remove.
10964 (TARGET_SCHED_REORDER2): Do not redefine.
10965
9f0e2d86
ZW
109662004-02-12 Zack Weinberg <zack@codesourcery.com>
10967
10968 * c-parse.in (maybe_type_qual): Delete.
10969 (maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
10970 (asm_argument): New grammar rules.
10971 (extdef_1): Use asmdef.
10972 (maybeasm): Move down with other asm rules; use simple_asm_expr.
10973 (xexpr): Move up with other expression rules.
10974 (stmt): Use asm_stmt.
10975
10976 * c-typeck.c (build_asm_expr): New function - body mostly
10977 pulled from build_asm_stmt.
10978 (build_asm_stmt): Just handle tacking on the volatile qualifier.
10979 * c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
10980
35f5add9
RS
109812004-02-12 Richard Sandiford <rsandifo@redhat.com>
10982
10983 PR bootstrap/13617
10984 * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
10985 (mips_declare_object): Make variadic.
10986 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
10987 mips_output_aligned_decl_common.
10988 * config/mips/mips.c (mips_output_aligned_decl_common): New function.
10989 (mips_declare_object): Make variadic.
10990
a5e9c810
RK
109912004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10992
8fbc67c0
RK
10993 * function.c (update_epilogue_consts): Teach about binary operations.
10994
a5e9c810
RK
10995 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
10996 previous MEM_VOLATILE in REF.
10997 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
10998 * expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
10999
7ea98c5a
GN
110002004-02-12 Gunther Nikl <gni@gecko.de>
11001
11002 * config.gcc: Restore support for m68k-openbsd.
11003
8f6a8d03
JH
110042004-02-12 Jan Hubicka <jh@suse.cz>
11005
11006 * tree-optimize.c (tree_rest_of_compilation): Do not release
11007 DECL_ARGUMENTS.
11008
c2910edf
MK
110092004-02-11 Matt Kraai <kraai@alumni.cmu.edu>
11010
11011 * doc/install.texi: Fix the spelling of "explicitly".
11012
423e95e2
EC
110132004-02-11 Eric Christopher <echristo@redhat.com>
11014
11015 * cppcharset.c (_cpp_interpret_string_notranslate): Rename and
11016 duplicate argument structure of cpp_interpret_string.
11017 * cpphash.h: Move prototype...
11018 * cpplib.h: Here.
11019 * cpplib.c: Fix calls to match new function signature.
11020
32e8aa9a
JM
110212004-02-11 Joseph S. Myers <jsm@polyomino.org.uk>
11022
11023 PR c/456
11024 * cppexp.c (num_binary_op): Don't allow comma operators in #if
11025 constant expressions at all outside C99 mode if pedantic.
11026
3b8e0c91
UB
110272004-02-11 Uros Bizjak <uros@kss-loka.si>
11028
11029 * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
11030 (log10_optab, log2_optab): Define corresponding macros.
11031 * optabs.c (init_optabs): Initialize log10_optab and log2_optab.
11032 * genopinit.c (optabs): Implement log10_optab and log2_optab
11033 using log10?f2 and log2?f2 patterns.
11034 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
11035 using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
11036 (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
11037 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
11038
11039 * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
11040 log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
11041 log2, log2f and log2l built-ins as inline x87 intrinsics.
11042
a6abdce3
RH
110432004-02-11 Richard Henderson <rth@redhat.com>
11044
888ff7a1 11045 PR target/1532
a6abdce3
RH
11046 * flow.c (insn_dead_p): A clobber of a dead hard register is a
11047 dead insn after reload.
11048
05ac140e
UW
110492004-02-11 Ulrich Weigand <uweigand@de.ibm.com>
11050
11051 * tree.h (frame_base_decl): Add GTY marker.
11052 * var-tracking.c (frame_base_decl): Likewise.
11053
e193b408
DB
110542004-02-11 Daniel Berlin <dberlin@dberlin.org>
11055
11056 * dwarf2out.c (output_loc_list): Remove no longer necessary, and now
11057 incorrect, hunk.
11058 (add_location_or_const_value_attribute): Use text_section_label,
11059 not TEXT_SECTION_NAME.
12f9df4e
PB
11060
110612004-02-11 Per Bothner <per@bothner.com>
11062
11063 Represent column numbers using line-map's source_location.
11064 The "next available source_location" is now managed internally by
11065 line-maps.c rather than by clients.
11066 * line-map.h (struct line_map): New field column_bits.
11067 <from_line>: Rename field to start_location.
11068 (struct line_maps): New fields highest_location and max_column_hint.
11069 (linemap_check_files_exited): New declaration.
11070 (linemap_line_start): New declaration.
11071 (linemap_add): Remove from_line parameter; use highest_location field.
11072 (SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits.
11073 (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros.
11074 (CURRENT_LINE_MAP): Remove macro.
11075 (linemap_position_for_column): New inline function.
11076 * line-map.c (linemap_init): Clear new fields.
11077 (linemap_check_files_exited): New function, extracted from ...
11078 (linemap_free): Use linemap_check_files_exited.
11079 (linemap_add): Remove from_line parameter. Various updates.
11080 (linemap_line_start): New function.
11081 (linemap_lookeup): Update for new field names.
11082 * cpphash.h (struct cpp_reader) <map>: Field removed. Because
11083 linemap_position_for_column may unpredictably change the current map,
11084 it is cleaner and simpler for us to not cache it in cpp_reader.
11085 (struct cpp_buffer): New sysp field.
11086 Changed warned_cplusplus_comments and from_stage3 to bitfields.
11087 * cppinit.c (cpp_read_min_file): pfile->map no longer exists.
11088 * cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get
11089 current map using linemap_lookup.
11090 (do_linemarker): Also set buffer's sysp field.
11091 (destringize_and_run): No longer need to decrement current line.
11092 * cppfiles.c (_cpp_stack_file): Set sysp from and in buffer.
11093 (search_path_head, open_file_failed): Use buffer's sysp.
11094 (cpp_make_system_header): Get current map using linemap_lookup.
11095 Also set buffer's sysp flag.
11096 * cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup.
11097 * cpphash.h (CPP_INCREMENT_LINE): New macro.
11098 (struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ...
11099 (struct cpp_reader): ... and adding saved_line_base field.
11100 * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
11101 Update accordingly. Don't adjust line.
11102 (_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE.
11103 * cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ...
11104 (cpp_in_system_header): ... new inline function, using buffer's sysp.
11105 * cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header.
11106 * cpplex.c (_cpp_lex_direct): Likewise.
11107 * cppmacro.c (_cpp_builtin_macro_text): Likewise.
11108 * cppmacro.c (_cpp_create_definition): Use buffer's sysp field.
11109 * cpplib.h (struct cpp_token): Rename line field to src_loc.
11110 Remove col field as it is now subsumed by src_loc.
11111 * cpperror.c: Update various field, parameter, and macro names.
11112 (print_location): If col==0, try SOURCE_COLUMN of line.
11113 (cpp_error): Use cur_token's src_loc field, rather than line+col.
11114 * cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col.
11115 * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
11116 _cpp_skip_block_comment): Use CPP_INCREMENT_LINE.
11117 (_cpp_temp_token): Replace cpp_token's line+col fields by src_loc.
11118 (_cpp_get_fresh_line): Don't need to adjust line for missing newline.
11119 (_cpp_lex_direct): Use linemap_position_for_column.
11120 * c-ppoutput.c (maybe_print_line, print_line): Don't take map
11121 parameter. Instead get it from the line_table global. Adjust callers.
11122 (print): Remove map field. Replace line field to src_line.
11123 (init_pp_output, account_for_newlines, maybe_print_line): Adjust.
11124 (cb_line_change): Use SOURCE_COLUMN. Minor optimizations.
11125 (pp_file_change): Use MAIN_FILE_P since we cannot checked print.map.
11126 Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
11127 * cpptrad.c (copy_comment): Rename variable.
11128 * c-lex.c (map): Remove static variable, for same reason we removed
11129 cpp_reader's map field.
11130 (cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need
11131 to call linemap_lookup.
11132 (cb_line_change): Token's line field replaced by src_loc.
11133 (fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros.
11134 Don't save new_map.
11135
11136 * cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to
11137 source_location.
11138
e086f51d 111392004-02-11 Hartmut Penner <hpenner@de.ibm.com>
423e95e2 11140
e086f51d
HP
11141 * config/rs6000/altivec.md (*movv4si_internal): At least one
11142 operand must be register_operand.
11143 (*movv8hi_internal1): Likewise.
11144 (*movv16qi_internal1): Likewise.
11145 (*movv4sf_internal1): Likewise.
11146
e66b2fcf 111472004-02-10 Aldy Hernandez <aldyh@redhat.com>
8914b65e
AH
11148
11149 * config/rs6000/spe.md ("*movv2si_internal"): Check for register
11150 operand.
11151 (movv4hi_internal): Same.
11152 (movv2sf_internal): Same.
11153 (movv1di_internal): Same.
e66b2fcf 11154
7f9be256
TS
111552004-02-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
11156
11157 * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
c0689841 11158 TARGET_OLDABI consistently.
7f9be256
TS
11159 * config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
11160 mips_va_arg,override_options,compute_frame_size,
11161 mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
11162 ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
c0689841 11163 and TARGET_OLDABI consistently.
7f9be256
TS
11164 * config/mips/mips.md (exception_receiver): Likewise.
11165 * config/mips/linux64.h: Likewise.
11166
6d0ef01e
HP
111672004-02-11 Hartmut Penner <hpenner@de.ibm.com>
11168
11169 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
11170 Set AltiVec ABI and vrsave as default for ppc64 linux.
11171 (init_cumulative_args): Post error, if try to return
11172 value in AltiVec register without enable AltiVec.
423e95e2 11173 (function_arg_advance): Ditto for passing arguments.
6d0ef01e 11174
7537fc90
RS
111752004-02-11 Richard Sandiford <rsandifo@redhat.com>
11176
11177 * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
11178 a label before updating its usage count.
11179
1e9f1674
MK
111802004-02-10 Matt Kraai <kraai@alumni.cmu.edu>
11181
9f0e2d86 11182 * doc/install.texi: Remove extra cd.
1e9f1674 11183
b34417a4
ZL
111842004-02-10 Ziemowit Laski <zlaski@apple.com>
11185
11186 * c-common.c (vector_size_helper): Remove; call
11187 reconstruct_complex_type() instead.
11188 * tree.c (reconstruct_complex_type): New function
11189 (formerly vector_size_helper() in c-common.c).
11190 (make_vector): Make externally visible.
11191 * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
11192
a466bea3
KH
111932004-02-10 Kazu Hirata <kazu@cs.umass.edu>
11194
11195 * config/h8300/h8300-protos.h: Add a prototype for
11196 h8300_regs_ok_for_stm.
11197 * config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
11198 * config/h8300/h8300.md (stm_h8300s_2_advanced,
11199 stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
11200 stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
11201 stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
11202 ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
11203 ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
11204 ldm_h8300s_4_normal, ldm_h8300s_4): Use
11205 h8300_regs_ok_for_stm().
11206
52bac949
DS
112072004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
11208
11209 PR c/14088
896c3aa3 11210 * real.c (real_from_string): Look for 'X' as well as 'x' in
52bac949
DS
11211 hexfloat strings.
11212
2493deee
KH
112132004-02-10 Kazu Hirata <kazu@cs.umass.edu>
11214
11215 * config/h8300/h8300.md: Remove an incorrect comment about
11216 peephole2. Add comments.
11217
fbe6ec81
JZ
112182004-02-10 Josef Zlomek <zlomekj@suse.cz>
11219
11220 PR/14058
11221 * emit-rtl.c (set_decl_incoming_rtl): New.
11222 * tree.h (set_decl_incoming_rtl): New.
11223 * function.c (assign_parms): Use set_decl_incoming_rtl for setting
11224 DECL_INCOMING_RTL.
11225 * ada/misc.c (adjust_decl_rtl): Likewise.
11226
8a4baa83
PB
112272004-02-10 Per Bothner <per@bothner.com>
11228
11229 * c-opts.c (c_common_post_options): Don't emit working directory
11230 in cpp output if -P was specified.
11231
31cc6081
PB
112322004-02-10 Paolo Bonzini <bonzini@gnu.org>
11233
11234 PR c/14092
11235 * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
11236 negate_expr back to the original type.
11237
d1d5c836
AM
112382004-02-10 Alan Modra <amodra@bigpond.net.au>
11239
11240 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
11241 bump retaddr here.
11242
dad822d3
PB
112432004-02-10 Paolo Bonzini <bonzini@gnu.org>
11244
11245 * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
11246 gen_lowpart_SUBREG): Move under the file in which they
11247 are actually declared.
11248
cd271054
AC
112492004-02-10 Arnaud Charlet <charlet@act-europe.fr>
11250
11251 * doc/sourcebuild.texi: Add libada documentation.
11252
11253 * doc/install.texi: Update documentation on Ada build, now
11254 that the GNAT lib and tools are built automatically.
11255
117c5858
RS
112562004-02-10 Richard Sandiford <rsandifo@redhat.com>
11257
11258 * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
11259 && TARGET_IRIX.
11260
42a1b62e
ZL
112612004-02-09 Ziemowit Laski <zlaski@apple.com>
11262
11263 * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
11264 boundaries outside build_component_ref() call (a macro in ObjC++).
11265
997b8b4d
BW
112662004-02-09 Bob Wilson <bob.wilson@acm.org>
11267
11268 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
11269 (init_cumulative_args): Likewise.
11270 (a7_overlap_mentioned_p): Delete prototype.
11271 * config/xtensa/xtensa.c (struct machine_function): Replace
11272 incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
11273 Add set_frame_ptr_insn field.
11274 (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
11275 (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
11276 if the operand is an argument in a7. If so, copy a7 to a new pseudo
11277 at the function entry and replace the operand with the pseudo.
11278 (init_cumulative_args): Remove unused arguments. Add new "incoming"
11279 argument and record this flag in CUMULATIVE_ARGS.
11280 (function_arg): Remove result_mode and special-case code to handle
11281 arguments in a7. Instead, set need_a7_copy flag when there is an
11282 incoming argument in a7.
11283 (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
11284 and use the value recorded in cfun->machine->set_frame_ptr_insn.
11285 (xtensa_builtin_saveregs): Check for negative gp_left value. Set
11286 need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
11287 special-case code.
11288 (a7_overlap_mentioned_p): Delete.
11289 * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
11290 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
11291 arguments to init_cumulative_args and pass "incoming" flag instead.
11292 (BLOCK_REG_PADDING): Delete.
11293 * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
11294 checks for reload_in_progress and reload_completed. Update calls to
11295 xtensa_copy_incoming_a7.
11296 (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
11297 to call xtensa_copy_incoming_a7.
11298
10709fbf
DD
112992004-02-09 DJ Delorie <dj@redhat.com>
11300
11301 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
11302 longer modify standard_exec_prefix, standard_bindir_prefix, or
11303 standard_startfile_prefix.
11304
c76362b4
JW
113052004-02-09 James E Wilson <wilson@specifixinc.com>
11306
228ae085
JW
11307 PR c++/11295
11308 * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
11309 to expand_expr_real call, and pass in alt_rtl as last argument.
11310
c76362b4
JW
11311 PR libstdc++/5625
11312 * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
11313 * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
11314 * builtins.def (BUILT_IN_EXTEND_POINTER): New.
11315 * except.c (expand_builtin_extend_pointer): New.
11316 * except.h (expand_builtin_extend_pointer): Declare.
11317
d886a041
DE
113182004-02-09 David Edelsohn <edelsohn@gnu.org>
11319
11320 * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
11321 unaligned loads and stores.
11322
756f76d0
RO
113232004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11324
11325 * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
11326 * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
11327
11328 * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
11329 * config/mips/iris5.h: ... here.
11330 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
11331
11332 * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
11333 * config/mips/iris5.h: ... here.
11334
426ca3ca
RO
113352004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11336
11337 * configure.ac: Remove default executable files before AC_PROG_CC.
11338 * configure: Regenerate.
11339
500fc80f
KH
113402004-02-09 Kazu Hirata <kazu@cs.umass.edu>
11341
11342 PR target/13721
11343 * config/h8300/h8300.c (byte_reg): Call abort() if asked to
11344 print a operand other than a register.
11345
b83c4036
RS
113462004-02-09 Roger Sayle <roger@eyesopen.com>
11347
11348 * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
11349 tree code rather than call fold_convert, which doesn't specify a
11350 default floating point to integer conversion.
11351
3b4b85c9
BI
113522004-02-08 Bernardo Innocenti <bernie@develer.com>
11353
11354 * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
11355 code to support SGS assembler. Reformat adjacent code where possible.
b83c4036
RS
11356 * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
11357 definition.
11358 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
11359 for '%#'.
3b4b85c9 11360 * config/m68k/linux.h, config/m68k/m68k.c,
b83c4036
RS
11361 * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
11362 macros and asm_printf() format strings.
3b4b85c9
BI
11363 * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
11364 * config/m68k/linux.h: Update copyright.
11365 * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
11366
01bbf777 113672004-02-08 Andreas Schwab <schwab@suse.de>
9f0e2d86 11368 Bernardo Innocenti <bernie@develer.com>
01bbf777
AS
11369
11370 * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
11371 REGISTER_PREFIX.
11372 * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
11373 frame pointer register, overridable by OS targets.
11374 * (M68K_REGNAME): Macro to obtain register name for asm output,
11375 eventually replacing %a6 with M68K_FP_REG_NAME.
11376 * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
11377 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
11378 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
11379 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
11380 * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
11381
1f6acb82
KH
113822004-02-08 Kazu Hirata <kazu@cs.umass.edu>
11383
11384 * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
11385 hook_rtx_tree_int_null.
11386 * targhooks.c (default_struct_value_rtx): Remove.
11387 * targhooks.h: Remove the prototype for
11388 default_struct_value_rtx.
11389 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
11390 config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
11391 config/ip2k/ip2k.c, config/iq2000/iq2000.c,
11392 config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
11393 config/mn10300/mn10300.c, config/pdp11/pdp11.c,
11394 config/rs6000/rs6000.c, config/s390/s390.c,
11395 config/stormy16/stormy16.c, config/v850/v850.c,
11396 config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
11397 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
11398
b46b8fb4
JM
113992004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
11400
11401 * README.Portability: Change "ISO C89" to "ISO C90".
11402 * c-parse.in (primary, initelt): Likewise.
11403
7c476bde
RS
114042004-02-08 Richard Sandiford <rsandifo@redhat.com>
11405
11406 * real.c (encode_ibm_extended): Normalize the input value before
11407 converting it to a double. Handle the case where a normal value
11408 rounds to infinity.
11409
56ae04af
KH
114102004-02-08 Kazu Hirata <kazu@cs.umass.edu>
11411
f934561e
KH
11412 * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
11413 warning.
56ae04af
KH
11414 * cse.c (preferrable): Change to preferable. Update all of its
11415 callers.
11416 * genautomata.c (ainsn): Change
11417 first_ainsn_with_given_equialence_num to
11418 first_ainsn_with_given_equivalence_num. Update all of its
11419 references.
11420
ec1dbfca
JH
114212004-02-08 Jan Hubicka <jh@suse.cz>
11422
11423 * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
11424
f276fb54
DE
114252004-02-07 David Edelsohn <edelsohn@gnu.org>
11426
11427 * function.c (assign_parms): Fix formatting.
11428
fefcb65c
KH
114292004-02-07 Kazu Hirata <kazu@cs.umass.edu>
11430
11431 * default.h (PROMOTE_PROTOTYPES): Remove.
11432 * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
11433 STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
11434 EXPAND_BUILTIN_SAVEREGS): Poison.
11435 * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
11436 hook_bool_tree_false.
11437 (TARGET_PROMOTE_PROTOTYPES): Likewise.
11438 * target.h: Replace SETUP_INCOMING_VARARGS with
11439 targetm.calls.setup_incoming_varargs().
11440 * targhooks.c (default_promote_function_return): Remove.
11441 (default_promote_prototypes): Likewise.
11442 (default_struct_value_rtx): Always abort().
11443 (default_expand_builtin_saveregs): Always print an error
11444 message.
11445 (default_setup_incoming_varargs): Do nothing.
11446 (default_pretend_outgoing_varargs_named): Don't depend on
11447 SETUP_INCOMING_VARARGS.
11448 * targhooks.h: Remove the prototype for
11449 default_promote_function_return and
11450 default_promote_prototypes.
11451
dc79b3b8
KH
114522004-02-07 Kazu Hirata <kazu@cs.umass.edu>
11453
11454 * system.h (SHARED_SECTION_ASM_OP): Poison.
11455 * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
11456 * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
11457
a6f78652
ZW
114582004-02-07 Zack Weinberg <zack@codesourcery.com>
11459
11460 Bug 13856
11461 * c-decl.c (diagnose_mismatched_decls): Only give special
11462 treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
11463 is also true.
11464 (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
11465 DECL_FUNCTION_CODE when defining a built-in function.
11466 Don't update DECL_ESTIMATED_INSNS.
11467 * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
11468 FUNCTION_DECLs.
11469 * tree.h: Delete DECL_ESTIMATED_INSNS.
11470 * tree-inline.c (struct inline_data): Delete inlined_insns field.
11471 (expand_call_inline, optimize_inline_calls): Don't update
11472 DECL_ESTIMATED_INSNS nor inlined_insns.
11473 * cgraphunit.c (cgraph_analyze_function): Don't update
11474 DECL_ESTIMATED_INSNS.
11475
114762004-02-07 Zack Weinberg <zack@codesourcery.com>
11477
11478 * c-common.c (shadow_warning): Delete.
11479 * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
11480 * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
11481 * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
11482 * c-parse.in (free_parser_stacks): Delete.
11483
947c6b00
NN
114842004-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
11485
11486 * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
11487 config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
11488 Use the top level mkinstalldirs, not the one in the gcc subdir.
11489 * mkinstalldirs: Remove (from the gcc subdir).
11490
088414c1
RS
114912004-02-07 Roger Sayle <roger@eyesopen.com>
11492
11493 PR middle-end/13696
11494 * fold-const.c (fold_convert): New function to provide type
11495 conversion to the middle-end without using convert.
11496 (negate_expr, associate_trees, size_diffop, omit_one_operand,
11497 operand_equal_for_comparison_p, pedantic_omit_one_operand,
11498 invert_truthvalue, optimize_bit_field_compare, range_binop,
11499 decode_field_reference, make_range, build_range_check, unextend,
11500 fold_truthop, extract_muldiv_1, fold_mathfn_compare,
11501 fold_binary_op_with_conditional_arg, fold_inf_compare,
11502 fold_single_bit_test, fold, multiple_of_p): Replace all calls to
11503 convert with calls to fold_convert.
11504
076963eb
JH
115052004-02-07 Jan Hubicka <jh@suse.cz>
11506
11507 * genrecog.c (find_operand): add extra argument stop.
11508 (validate_pattern): Verify that mach_dup is duplicating operand
11509 defined lexically earlier.
11510
1197924d
KH
115112004-02-07 Kazu Hirata <kazu@cs.umass.edu>
11512
11513 * config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
11514 * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
11515 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
11516 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
11517 config/ia64/ia64.h, config/ip2k/ip2k.h,
11518 config/iq2000/iq2000.h, config/mips/iris5.h,
11519 config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
11520 config/rs6000/aix51.h, config/rs6000/aix52.h,
11521 config/rs6000/darwin.h, config/rs6000/rs6000.h,
11522 config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
11523 config/sparc/linux.h, config/sparc/linux64.h,
11524 config/sparc/netbsd-elf.h, config/sparc/sparc.h,
11525 config/xtensa/xtensa.h: Remove the definitions of
11526 MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
11527 MAX_WCHAR_TYPE_SIZE.
11528 * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
11529 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
11530
883899ee
SC
115312004-02-07 Stephane Carrez <stcarrez@nerim.fr>
11532
11533 PR bootstrap/13990
11534 * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
11535 gen_rtx_NE.
11536
f6e215cc
JZ
115372004-02-07 Josef Zlomek <zlomekj@suse.cz>
11538
11539 * var-tracking.c (vt_add_function_parameters): Surround checkings by
11540 #ifdef ENABLE_CHECKING and #endif.
11541
dfb36f9b
RS
115422004-02-07 Roger Sayle <roger@eyesopen.com>
11543
11544 * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
11545 either (-A)-B or (-B)-A, if A or B is easily negated respectively.
11546 (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
11547 integer types and floating point with unsafe_math_optimizations.
11548 Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
11549 Optimize A - B as A + (-B), if B is easily negated.
11550
0ea5865c
KH
115512004-02-07 Kazu Hirata <kazu@cs.umass.edu>
11552
11553 * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
11554 config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
11555 config/m32r/linux.h, config/rs6000/ppc64-fp.c,
11556 config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
11557 Update copyright.
11558
fb0840fc
KH
115592004-02-07 Kazu Hirata <kazu@cs.umass.edu>
11560
11561 * c-ppoutput.c, var-tracking.c: Fix comment typos.
11562
468c45a3
JW
115632004-02-06 James E Wilson <wilson@specifixinc.com>
11564
11565 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
11566 glibc 2.3 or better.
11567
9c917669
KH
115682004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11569
11570 * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
11571 to FLOAT_LIB_COMPARE_RETURNS_BOOL.
11572
fb7e4164
AM
115732004-02-07 Alan Modra <amodra@bigpond.net.au>
11574
11575 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
11576 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
11577 (SHLIB_MKMAP_OPTS): Delete.
11578 (TARGET_LIBGCC2_CFLAGS): Add -specs.
11579 (bispecs): Add rule.
11580 * config/rs6000/libgcc-ppc64.ver: New file.
11581 * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
11582 (__floatdidf, __floatdisf): Optimize multiply.
11583 (__fixunstfdi): New function.
11584 * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
11585 real and imag parts larger than one register.
11586 (function_arg): Correct type of reg used when fp arg split partially
11587 to stack.
11588 * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
11589 and __MACH__ or __powerpc64__.
11590
254878ea
RS
115912004-02-06 Roger Sayle <roger@eyesopen.com>
11592 Ulrich Weigand <uweigand@de.ibm.com>
11593
11594 * builtins.c (expand_builtin_signbit): Use extract_bit_field instead
11595 of gen_highpart or gen_lowpart when the floating point format is
11596 wider than the result mode.
11597
b1053160
AP
115982004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
11599
a6f78652 11600 * dwarf2out.c (loclabel_num): Move into #ifdef
b1053160
AP
11601 DWARF2_DEBUGGING_INFO.
11602
25fe8680
ZL
116032004-02-06 Ziemowit Laski <zlaski@apple.com>
11604
11605 * objc/objc-act.c (build_super_template) the 'class' field of
11606 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
11607 (get_super_receiver): Likewise.
11608
761fa0f7
KH
116092004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11610
11611 * reload1.c (check_eliminable_occurrences): Optimize the reset
11612 of can_eliminate.
11613 (eliminate_regs_in_insn): Likewise.
11614
0a2d3d69 116152004-02-06 Daniel Berlin <dberlin@dberlin.org>
a6f78652 11616 Josef Zlomek <zlomekj@suse.cz>
0a2d3d69
DB
11617
11618 * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
11619 at the beginning of function, call dwarf2out_var_location for
11620 NOTE_INSN_VAR_LOCATION note.
11621 (struct var_loc_node, struct var_loc_list_def, loclabel_num,
11622 decl_loc_table): New.
11623 (lookup_decl_loc): New function.
11624 (add_var_loc_to_decl): New function.
11625 (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
11626 only if can_use_fbreg.
11627 (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
11628 functions.
11629 (loc_descriptor): Likewise. Process VAR_LOCATION.
11630 (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
11631 (loc_descriptor_from_tree): Call mem_loc_descriptor with
11632 can_use_fbreg == true.
11633 (add_location_or_const_value_attribute): Added parameter enum
11634 dwarf_attribute attr, generate attribute ATTR. Create the location list.
11635 (add_bound_info): Call loc_descriptor with can_use_fbreg == true.
11636 (gen_formal_parameter_die): Call add_location_or_const_value_attribute
11637 with attr == DW_AT_location.
11638 (gen_subprogram_die): Generate the location list for DW_AT_frame_base
11639 if frame_base_decl is defined and has a location list.
11640 (gen_variable_die): Call add_location_or_const_value_attribute with
11641 attr == DW_AT_location.
11642 (dwarf2out_var_location): New function.
11643 (dwarf2out_begin_function): New function.
11644 (dwarf2out_init): Create decl_loc_table.
11645
1f0db3df
UW
116462004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
11647
11648 * loop.c (force_movables): Transitively increase the priorities of
11649 all insns forces by an insn, not just the first one.
11650
014a1138 116512004-02-06 Josef Zlomek <zlomekj@suse.cz>
a6f78652 11652 Daniel Berlin <dberlin@dberlin.org>
014a1138
JZ
11653
11654 Josef Zlomek <zlomekj@suse.cz>
11655 * Makefile.in (var-tracking.o): New.
11656 * common.opt (fvar-tracking): New.
11657 * flags.h (flag_var_tracking): New.
11658 * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
11659 * opts.c (common_handle_option): Add OPT_fvar_tracking.
11660 * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
a6f78652
ZW
11661 * rtl.c (note_insn_name): Likewise.
11662 * rtl.def (VAR_LOCATION): New.
11663 * rtl.h (NOTE_VAR_LOCATION): New.
11664 (NOTE_VAR_LOCATION_DECL): New.
11665 (NOTE_VAR_LOCATION_LOC): New.
11666 (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
11667 (variable_tracking_main): New exported function.
11668 * timevar.def (TV_VAR_TRACKING): New.
11669 * toplev.c (enum dump_file_index): Added DFI_vartrack.
11670 (dump_file): "vartrack" was added (-dV).
11671 (flag_var_tracking): New.
11672 (f_options): "var-tracking" was added.
014a1138 11673 (rest_of_handle_variable_tracking): New function.
a6f78652 11674 (rest_of_compilation): Run variable tracking.
014a1138
JZ
11675 (process_options): If user has not specified flag_var_tracking set it
11676 according to optimize, debug_info_level and debug_hooks.
11677 * tree.h (frame_base_decl): New.
a6f78652 11678 * var-tracking.c: New file.
014a1138
JZ
11679 * config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
11680 (ia64_override_options): Set flags to run variable tracking in machine
11681 dependent reorg instead of toplev.c.
11682 (ia64_reorg): Run variable tracking if wanted.
a6f78652 11683 * doc/invoke.texi: Mention variable tracking in -dV,
014a1138 11684 add and -fvar-tracking.
a6f78652 11685 * doc/passes.texi: Added variable tracking pass.
014a1138
JZ
11686
11687 Daniel Berlin <dberlin@dberlin.org>
11688 * debug.h (struct gcc_debug_hooks): Added var_location debug hook.
11689 * dbxout.c (dbx_debug_hooks): Likewise.
11690 (xcoff_debug): Likewise.
11691 * debug.c (do_nothing_debug_hooks): Likewise.
11692 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
11693 * dwarfout.c (dwarf_debug_hooks): Likewise.
11694 * sdbout.c (sdb_debug_hooks): Likewise.
11695 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
a6f78652
ZW
11696 * final.c (final_scan_insn): Call var_location debug hook for each
11697 NOTE_INSN_VAR_LOCATION.
014a1138 11698
298c28a8
JH
116992004-02-06 Jan Hubicka <jh@suse.cz>
11700
11701 * flow.c (update_life_info): Allocate reg_deaths when called from
11702 scheudler.
11703 (attempt_auto_inc): Update life ranges accordingly.
11704
3199cb41
UW
117052004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
11706
11707 PR debug/11816
11708 * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
11709
1a6dd8a2
UW
117102004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
11711
11712 * cfganal.c (flow_call_edges_add): Never split a libcall block.
11713
1711adc2
DB
117142004-02-06 Daniel Berlin <dberlin@dberlin.org>
11715
11716 * dwarf2out.c (output_loc_list): Don't use deltas if we have
11717 a separate line info table in use.
11718 Use the correct size for terminators.
11719 (output_die): Use offset, not delta.
11720
b1e5a971
L
117212004-02-06 H.J. Lu <hongjiu.lu@intel.com>
11722
11723 * doc/invoke.texi: Remove the pni option from -mfpmath=.
11724
736b64dd
JH
117252004-02-06 Jan Hubicka <jh@suse.cz>
11726
11727 * recog.c (split_all_insns): Do not update reg info.
11728 * regrename.c (regrename_optimize): Likewise.
11729 * toplev.c (rest_of_handle_reorder_blocks): Likewise.
11730 * flow.c (struct propagate_block_info): Add insn_num field.
11731 (reg_deaths): New array.
11732 (life_analysis): Free reg_deaths info.
11733 (allocate_reg_life_data): Allocate reg_deaths array.
11734 (propagate_one_insn): Use new array.
11735 (init_propagate_block): Initialize it.
11736 (free_propagate_block_info): Finish compuation of
11737 REG_LIVE_LENGTH
11738 (attempt_auto_inc): Sanity check that REG_INFO is not
11739 computed at same time.
11740 (mark_used_regs): Update new array.
11741
11742 * reg-stack.c (subst_stack_regs): Unshare clobbers before
11743 substitution.
11744
eb457a7a
KH
117452004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11746
11747 * config/s390/s390.md (*extendsiqi2_short_displ): Change to
11748 *extendqisi2_short_displ.
11749
0f6937fe
AM
117502004-02-06 Alan Modra <amodra@bigpond.net.au>
11751
11752 * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
11753 * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
11754 (emit_library_call_value_1): Likewise pass nargs.
11755 * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
11756 * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
11757 * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
11758 parameter instead of scanning TYPE_ARGS_TYPES to count args.
11759 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
11760 prototype.
11761 * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
11762 (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
11763 (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
11764 * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
11765 INIT_CUMULATIVE_ARGS.
11766 * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
11767 * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
11768 config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
11769 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
11770 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
11771 config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
11772 config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
11773 config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
11774 config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
07711f53 11775 config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
0f6937fe
AM
11776 config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
11777 config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
11778
11b635fe
KH
117792004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11780
11781 * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
11782 possible.
11783
ace3ffcd
KH
117842004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11785
11786 * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
11787 note containing (plus (reg) (const_int)), where reg is an
11788 eliminable reg, then perform the register elimination without
11789 depending on eliminate_regs().
11790
78bc94a2
KH
117912004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11792
11793 * config/arc/arc.c (arc_return_in_memory): Check the return
11794 value of int_size_in_bytes against -1. Don't check
11795 TREE_ADDRESSABLE.
11796 * config/avr/avr.c (avr_return_in_memory): Check the return
11797 value of int_size_in_bytes against -1.
11798 * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
11799 * config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
11800 Likewise.
11801 * config/mcore/mcore.c (mcore_return_in_memory): Likewise.
11802 * config/stormy16/stormy16.c (xstormy16_return_in_memory):
11803 Likewise.
11804
d8c2bed3
KH
118052004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11806
11807 * config/frv/frv-protos.h: Remove the prototype for
11808 frv_setup_incoming_varargs.
11809 * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
11810 (frv_setup_incoming_varargs): Make it static.
11811 * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
11812
3e29e2aa
KH
118132004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11814
11815 * config/fr30/fr30-protos.h: Remove the prototype for
11816 fr30_setup_incoming_varargs.
11817 Update the prototypes for fr30_num_arg_regs and
11818 fr30_function_arg_partial_nregs.
11819 * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
11820 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
11821 (fr30_setup_incoming_varargs): Make it static.
11822 Add argument second_time. Don't do anything when second_time
11823 is nonzero.
11824 (fr30_num_arg_regs): Change the type of the first argument to
11825 enum machine_mode.
11826 (fr30_function_arg_partial_nregs): Change the type of the
11827 second argument to enum machine_mode.
11828 * config/fr30/fr30.h (STRUCT_VALUE): Remove.
11829 (SETUP_INCOMING_VARARGS): Remove.
11830
07ba2efb
KH
118312004-02-06 Kazu Hirata <kazu@cs.umass.edu>
11832
11833 * config/arc/arc-protos.h: Remove the prototype for
11834 arc_setup_incoming_varargs.
11835 * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
11836 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
11837 (arc_setup_incoming_varargs): Make it static.
11838 (arc_external_libcall): Likewise.
11839 * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
11840 Remove the commented-out definition of
11841 ASM_OUTPUT_EXTERNAL_LIBCALL.
11842
f4954ff1
ST
118432004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
11844
11845 * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
11846 to $$(slibdir) in the installation commands.
11847
403c659c
DE
118482004-02-05 David Edelsohn <edelsohn@gnu.org>
11849
11850 * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
11851 with inner_regno, not regno.
11852 * rtlanal.c (refers_to_regno_p): Same.
11853
5b547172
KH
118542004-02-05 Kazu Hirata <kazu@cs.umass.edu>
11855
11856 * config.gcc: Remove i370 support.
11857
ce5c1cf3
KC
118582004-02-05 Kelley Cook <kcook@gcc.gnu.org>
11859
11860 * doc/install.texi: Update automake and autoconf version
11861 requirements. Note where to find gcj automake version.
11862
118632004-02-05 Kelley Cook <kcook@gcc.gnu.org>
11864
11865 * Makefile.in (generate-manpages): Move dependencies to ...
11866 (man): here.
11867 * doc/makefile.texi: Document new targets.
11868 * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
11869
02ba6b22
KC
118702004-02-05 Kelley Cook <kcook@gcc.gnu.org>
11871
11872 PR/13485
11873 Makefile.in (srcextra): Add a level of indirection to ...
11874 (gcc.srcextra): ... here.
11875 (po-generated): Delete.
11876 (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
11877 options.c.
11878 (start.encap): Remove superfluous lang.srcextra dependency.
11879 objc/Make-lang.in (po-generated): Delete.
11880
66fcab25
KH
118812004-02-05 Kazu Hirata <kazu@cs.umass.edu>
11882
11883 * config/ia64/ia64.c (REG_GP): Remove.
11884
89a95129
RO
118852004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11886
11887 * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
11888
9733d507
DP
118892004-02-05 Devang Patel <dpatel@apple.com>
11890
11891 * dwarf2out.c (force_type_die): Look up input type itself
11892 instead of root_type() of type.
a6f78652 11893
19796784
AK
118942004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
11895
11896 * config/s390/s390.md ("*tmqidi_ext"): New insn.
11897 ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
11898 pre-reload splitters are transformed to post-reload
11899 define_insn_and_split patterns.
11900 ("*tmqisi_ext"): Renamed old "*tmqi_ext".
11901
136e64db
KH
119022004-02-05 Kazu Hirata <kazu@cs.umass.edu>
11903
11904 * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
11905 TARGET_PROMOTE_PROTOTYPES.
11906
839ee4bc
RO
119072004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11908
11909 PR middle-end/13750
11910 Revert:
11911 2004-01-15 Geoffrey Keating <geoffk@apple.com>
11912 PR pch/13361
11913 * c-typeck.c (constructor_asmspec): Delete.
11914 (struct initializer_stack): Delete field 'asmspec'.
11915 (start_init): Delete saving of asmspec.
11916 (finish_init): Don't update constructor_asmspec.
11917 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
11918 * stmt.c (expand_asm): Duplicate strings from tree.
11919 (expand_asm_operands): Likewise.
11920 * tree.c (tree_size): Update computation of size of STRING_CST.
11921 (make_node): Don't make STRING_CST nodes.
11922 (build_string): Allocate string with tree node.
11923 * tree.def (STRING_CST): Update comment.
11924 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
11925 (tree_string): Place contents of string in tree node.
11926 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
11927 from tree.
11928
687d688e
JM
119292004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
11930
11931 * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
11932 msgid.
11933
20a20bf0
DN
119342004-02-05 Dorit Naishlos <dorit@il.ibm.com>
11935
11936 * config/rs6000/altivec.md (*movv4si_internal): At least one
11937 operand must be altivec_register_operand.
11938 (*movv8hi_internal1): Likewise.
11939 (*movv16qi_internal1): Likewise.
11940 (*movv4sf_internal1): Likewise.
11941
6b37db3c
DE
119422004-02-05 David Edelsohn <edelsohn@gnu.org>
11943
11944 * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
11945 * configure: Regenerate.
11946
e0b24bce
JW
119472004-02-05 Jonathan Wakely <redi@gcc.gnu.org>
11948
11949 * doc/install.texi: Update description of --gxx-include-dir to
11950 give correct default value.
11951
2dca8ddb
KH
119522004-02-05 Kazu Hirata <kazu@cs.umass.edu>
11953
11954 * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
11955 8 with MAC_REG.
11956
92fd5e41
KH
119572004-02-05 Kazu Hirata <kazu@cs.umass.edu>
11958
11959 * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
11960 gen_rtx_PARALLEL.
11961
f822fcf7
KH
119622004-02-05 Kazu Hirata <kazu@cs.umass.edu>
11963
11964 * emit-rtl.c: Update the comment about the file.
11965
4ef84575
JM
119662004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
11967
11968 * sourcebuild.texi (Test Idioms): Update testcase naming
11969 conventions.
11970
8e9ea4d7
PB
119712004-02-04 Per Bothner <per@bothner.com>
11972
11973 Partially revert/redo 2003-10-01 change; fix -fworking-directory.
11974 * c-ppoutput.c (pp_dir_change): New function.
11975 * c-common.h (pp_dir_change): New declaration.
11976 * cpplib.h (struct cpp_options): Remove working_directory field.
11977 * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
11978 (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
11979 Don't handle -fworking_directory here, but in c_common_post_options.
11980 (read_original_directory): Don't back up when done.
11981 Don't clear no-longer used working_directory flag.
11982 * cpplib.h: Update declarations to match.
11983 * c-lex.c (cb_dir_change): Move to c-opts.c.
11984 (init_c_lex): Don't set dir_change callback here, since we want
11985 to set it even if flag_preprocess_only.
11986 * c-opts.c (cb_dir_change): Function moved from c-lex.c.
11987 (c_common_post_options): Set dir_change callback.
11988 Call pp_dir_change if approporiate.
11989 (finish_options): Don't call cpp_find_main_file here. Hence remove
11990 unneeded parameter and result. Do LC_RENAME for <built-in>.
11991 (c_common_post_options): Call cpp_read_main_file here instead.
11992 (c_common_init): Update accordingly.
11993 (push_command_line_include): Don't cpp_push_main_file.
11994 Do LC_RENAME rather than LC_LEASE to get back to main file.
11995 Compared to pre-10-01 version, inline cpp_rename_to_main_file.
11996 (c_common_parse_file): Call cpp_read_main_file for subsequent main
11997 files, but call finish_options for all files.
11998 * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
11999 * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
12000 cpp_find_main_file + cpp_push_main_file.
12001 * c-lex.c (fe_file_change): Don't set main_input_filename here.
12002 * opts.c (handle_options): Only set main_input_filename first time.
12003
5384443a
ILT
120042004-02-05 Ian Lance Taylor <ian@wasabisystems.com>
12005
12006 * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
12007
3c241c19
GK
120082004-02-04 Geoffrey Keating <geoffk@apple.com>
12009
12010 * reload.c (find_equiv_reg): When checking for register overlap,
12011 don't index hard_regno_nregs with a pseudo-reg.
12012
a322288b
UW
120132004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
12014
12015 * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
12016
859b9c1d
DE
120172004-02-04 David Edelsohn <edelsohn@gnu.org>
12018
12019 * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
12020 against FIRST_PSEUDO_REGISTER.
12021
7e63a64e
RO
120222004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12023
12024 * Makefile.in: Move target, host overrides after per-language
12025 fragments.
12026
12027 * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
12028 (GNATLIBCFLAGS): Remove -g.
12029
5efb1046
KH
120302004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12031
12032 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
12033 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
12034 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
12035 config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
12036 config/pdp11/pdp11.c, config/rs6000/rs6000.c,
12037 config/sparc/sparc.c, config/vax/vax.c: Revert the
12038 replacements of "FALLTHRU" with "Fall through" done in the
12039 previous patch.
12040
ff482c8d
KH
120412004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12042
12043 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
12044 config/arm/arm.c, config/arm/arm.md,
12045 config/cris/cris-protos.h, config/fr30/fr30.c,
12046 config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
12047 config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
12048 config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
12049 config/ip2k/ip2k.md, config/ip2k/libgcc.S,
12050 config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
12051 config/m68k/m68k.c, config/m68k/netbsd-elf.h,
12052 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
12053 config/ns32k/netbsd.h, config/ns32k/ns32k.c,
12054 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
12055 config/rs6000/darwin-ldouble.c, config/s390/s390.h,
12056 config/s390/s390.md, config/sparc/netbsd-elf.h,
12057 config/sparc/openbsd.h, config/sparc/sparc.c,
12058 config/xtensa/lib2funcs.S: Fix comment formatting.
12059
59b9a953
KH
120602004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12061
12062 * config/alpha/alpha.c, config/arc/arc.c,
12063 config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
12064 config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
12065 config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
12066 config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
12067 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
12068 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
12069 config/iq2000/iq2000.c, config/m32r/m32r.c,
12070 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
12071 config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
12072 config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
12073 config/rs6000/rs6000.h, config/sparc/sparc.c,
12074 config/vax/vax.c: Fix comment typos. Follow spelling
12075 conventions.
12076
e146f815
KH
120772004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12078
12079 * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
12080 caller-save.c, df.h, genconfig.c, global.c, lcm.c,
12081 ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
12082 sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
12083 config/arm/fpa.md, config/arm/iwmmxt.md,
12084 config/arm/netbsd-elf.h, config/arm/netbsd.h,
12085 config/m68hc11/m68hc11.md, config/mips/iris5.h,
12086 config/mn10300/mn10300.md, config/rs6000/altivec.md,
12087 config/sparc/netbsd-elf.h: Update copyright.
12088
e2a17f6e
EB
120892004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
12090
12091 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
12092 for all modes whose size is greater than 8 bytes if ARCH32.
12093 (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
12094 by reference if ARCH32.
12095
e0cc7f73 120962004-02-04 Aldy Hernandez <aldyh@redhat.com>
a6f78652
ZW
12097
12098 * cgraphunit.c (cgraph_postorder): Fix typo in comment.
e0cc7f73 12099
7bdff56f
UW
121002004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
12101
12102 * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
12103 to before adddi3 insn patterns.
12104 ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
12105 "reload_insi"): Move to before addsi3 insn patterns.
12106
dd292d0a
MM
121072004-02-04 Mark Mitchell <mark@codesourcery.com>
12108
12109 * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
12110 parameter. Use it instead of current_function_is_thunk.
12111 * function.h (struct function): Update documentation for is_thunk.
12112 * tree.h (CALL_FROM_THUNK_P): New macro.
12113 * config/alpha/alpha.c (alpha_sa_mask): Do not check
12114 no_new_pseudos when testing current_function_is_thunk.
12115 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
12116
c2379679
KH
121172004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12118
12119 * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
12120 TARGET_SETUP_INCOMING_VARARGS.
12121
a2a8cc44
KH
121222004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12123
12124 * emit-rtl.c (gen_rtx): Remove.
12125 * genattrtab.c: Don't mention gen_rtx in a comment.
12126 * rtl.h: Remove the prototype for gen_rtx.
12127 * doc/md.texi: Replace gen_rtx with gen_rtx_REG.
12128
f61c92c3
KH
121292004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12130
12131 * config/arc/arc.h, config/fr30/fr30.h
12132 (SETUP_INCOMING_VARARGS): Remove the target-independent
12133 comments.
12134 * doc/tm.texi: Don't mention deprecated target macros.
12135
c35c17c1
KH
121362004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12137
12138 * config/fr30/fr30.h (FUNCTION_VALUE): Remove the
12139 target-independent comment.
12140
cea28603
KH
121412004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12142
12143 * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
12144 mention deprecated target macros.
12145
a4a4b1d3
KH
121462004-02-04 Kazu Hirata <kazu@cs.umass.edu>
12147
12148 * config.gcc: Remove obsolete ports and configurations.
12149 * config/linux-aout.h, config/netware.h,
12150 config/t-linux-gnulibc1, config/d30v/abi,
12151 config/d30v/d30v-protos.h, config/d30v/d30v.c,
12152 config/d30v/d30v.h, config/d30v/d30v.md,
12153 config/d30v/libgcc1.asm, config/d30v/t-d30v,
12154 config/dsp16xx/dsp16xx-modes.def,
12155 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
12156 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
12157 config/i370/README, config/i370/i370-c.c,
12158 config/i370/i370-protos.h, config/i370/i370.c,
12159 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
12160 config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
12161 config/i386/freebsd-aout.h, config/i386/linux-aout.h,
12162 config/i386/moss.h, config/i386/netware.h,
12163 config/i386/svr3.ifile, config/i386/svr3dbx.h,
12164 config/i386/svr3gas.h, config/i386/svr3z.ifile,
12165 config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
12166 config/i960/i960-c.c, config/i960/i960-coff.h,
12167 config/i960/i960-modes.def, config/i960/i960-protos.h,
12168 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
12169 config/i960/rtems.h, config/i960/t-960bare,
12170 config/m68k/hp310.h, config/m68k/hp320.h,
12171 config/m68k/hp320base.h, config/m68k/m68kv4.h,
12172 config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
12173 Remove.
12174 * doc/extend.texi, doc/install.texi, doc/invoke.texi,
12175 doc/md.texi: Remove mentions of obsolete ports.
12176
40e02b4a
JH
121772004-02-04 Jan Hubicka <jh@suse.cz>
12178
12179 * alias.c (find_base_term, get_addr): Do not dereference NULL
12180 pointer when all VALUE's locations has been invalidated.
12181 (rtx_equal_for_memref_p): Simplify checking of VALUEs.
12182
a6f78652 121832004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
1c02f6f2
WB
12184
12185 * doc/invoke.texi (x86 options): Fix spelling/wording.
12186
584e5527
RS
121872004-02-03 Richard Sandiford <rsandifo@redhat.com>
12188
12189 * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
12190 put the original string in a comment.
12191 * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
12192 * config/mips/mips.c (mips_output_ascii): Likewise.
12193 * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
12194
9b2b3375
KH
121952004-02-03 Kazu Hirata <kazu@cs.umass.edu>
12196
12197 * system.h (GIV_SORT_CRITERION): Poison.
12198 * config/avr/avr.h (GIV_SORT_CRITERION): Remove.
12199 * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
12200
888d65b5
RS
122012004-02-03 Roger Sayle <roger@eyesopen.com>
12202
12203 PR target/9348
12204 * expr.c (expand_expr_real) <MULT_EXPR>: When performing widening
12205 multiplies with a multiplication of the wrong signedness, its the
12206 signedness of the multiplication that we've performed that needs to
12207 be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move
12208 if expand_mult_highpart_adjust places the result in target.
12209
a8c0bbc7
RH
122102004-02-03 Richard Henderson <rth@redhat.com>
12211
12212 * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
12213
a8f0f22e
R
122142004-02-03 J"orn Rennecke <joern.rennecke@superh.com>
12215
12216 * config.gcc (sh[234]l): Use little endian fragments.
12217
e621b588
PK
122182004-02-03 Paul Koning <pkoning@equallogic.com>
12219
12220 * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
12221 * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
12222 * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
12223 encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
12224 floating point format.
12225 (pdp11_f_format, pdp11_d_format): New real_format descriptors for
12226 the above functions.
12227 (output_move_quad): Output float values in correct target format.
12228 (legitimate_const_double_p): New function.
12229 * config/pdp11/pdp11.h: Fix typos.
12230 (FLOAT_WORDS_BIG_ENDIAN): Add definition.
12231 (TARGET_FLOAT_FORMAT): Ditto.
12232 (pdp11_f_format, pdp11_d_format): Add external declarations.
12233 (MAX_REGS_PER_ADDRESS): Corrected.
12234 (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
12235 (PRINT_OPERAND): Output float literals in target format.
12236
5a98fa7b
MM
122372004-02-03 Mark Mitchell <mark@codesourcery.com>
12238
12239 PR c++/13975
12240 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
12241 TI_PRIVATE.
12242 (access_public_node): Redefine.
12243 (access_protected_node): Likewise.
12244 (access_private_node): Likewise.
12245 * tree.c (build_common_tree_nodes): Create access_public_node,
12246 access_protected_node, and access_private_node.
12247
0263e6bf
SE
122482004-02-03 Steve Ellcey <sje@cup.hp.com>
12249
12250 * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
12251 (MASK_INLINE_INT_DIV_THR): Ditto.
12252 (MASK_INLINE_SQRT_LAT): Ditto.
12253 (MASK_INLINE_SQRT_THR): Ditto.
12254 (MASK_DWARF2_ASM): Ditto.
12255 (MASK_EARLY_STOP_BITS): Ditto.
12256
9b66ebb1
PB
122572004-02-02 Paul Brook <paul@codesourcery.com>
12258
12259 Merge from csl-arm-branch.
12260
12261 2004-01-30 Paul Brook <paul@codesourcery.com>
12262
12263 * aof.h (REGISTER_NAMES): Add vfp reg names
12264 (ADDITIONAL_REGISTER_NAMES): Ditto.
12265 * aout.h (REGISTER_NAMES): Ditto.
12266 (ADDITIONAL_REGISTER_NAMES): Ditto.
12267 * arm-protos.h: Update/Add Prototypes.
12268 * arm.c (init_fp_table): Rename from init_fpa_table. Update users.
12269 Only allow 0.0 for VFP.
12270 (fp_consts_inited): Rename from fpa_consts_inited. Update users.
12271 (values_fp): Rename from values_fpa. Update Users.
12272 (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
12273 Update users. Only check valid constants for this hardware.
12274 (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
12275 Only allow consts for FPA.
12276 (arm_float_add_operand): Rename from fpa_add_operand. Update users.
12277 Only allow consts for FPA.
12278 (use_return_insn): Check for saved VFP regs.
12279 (arm_legitimate_address_p): Handle VFP DFmode addressing.
12280 (arm_legitimize_address): Ditto.
12281 (arm_general_register_operand): New function.
12282 (vfp_mem_operand): New function.
12283 (vfp_compare_operand): New function.
12284 (vfp_secondary_reload_class): New function.
12285 (arm_float_compare_operand): New function.
12286 (vfp_print_multi): New function.
12287 (vfp_output_fstmx): New function.
12288 (vfp_emit_fstm): New function.
12289 (arm_output_epilogue): Output VPF reg restore code.
12290 (arm_expand_prologue): Output VFP reg save code.
12291 (arm_print_operand): Add 'P'.
12292 (arm_hard_regno_mode_ok): Return modes for VFP regs.
12293 (arm_regno_class): Return classes for VFP regs.
12294 (arm_compute_initial_elimination_offset): Include space for VFP regs.
12295 (arm_get_frame_size): Ditto.
12296 * arm.h (FIXED_REGISTERS): Add VFP regs.
12297 (CALL_USED_REGISTERS): Ditto.
12298 (CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
12299 (FIRST_VFP_REGNUM): Define.
12300 (LAST_VFP_REGNUM): Define.
12301 (IS_VFP_REGNUM): Define.
12302 (FIRST_PSEUDO_REGISTER): Include VFP regs.
12303 (HARD_REGNO_NREGS): Handle VFP regs.
12304 (REG_ALLOC_ORDER): Add VFP regs.
12305 (enum reg_class): Add VFP_REGS.
12306 (REG_CLASS_NAMES): Ditto.
12307 (REG_CLASS_CONTENTS): Ditto.
12308 (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
12309 (REG_CLASS_FROM_LETTER): Add 'w'.
12310 (EXTRA_CONSTRAINT_ARM): Add 'U'.
12311 (EXTRA_MEMORY_CONSTRAINT): Define.
12312 (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
12313 (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
12314 (REGISTER_MOVE_COST): Ditto.
12315 (PREDICATE_CODES): Add arm_general_register_operand,
12316 arm_float_compare_operand and vfp_compare_operand.
12317 * arm.md (various): Rename as above.
12318 (divsf3): Enable when TARGET_VFP.
12319 (divdf3): Ditto.
12320 (movdfcc): Ditto.
12321 (sqrtsf2): Ditto.
12322 (sqrtdf2): Ditto.
12323 (arm_movdi): Disable when TARGET_VFP.
12324 (arm_movsi_insn): Ditto.
12325 (movsi): Only split with general regs.
12326 (cmpsf): Use arm_float_compare_operand.
12327 (push_fp_multi): Restrict to TARGET_FPA.
12328 (vfp.md): Include.
12329 * vfp.md: New file.
12330 * fpa.md (various): Rename as above.
12331 * doc/md.texi: Document ARM w and U constraints.
12332
12333 2004-01-15 Paul Brook <paul@codesourcery.com>
12334
12335 * config.gcc: Add with_fpu. Allow with-float=softfp.
12336 * config/arm/arm.c (arm_override_options): Rename *-s to *s.
12337 Break out of loop when we find a float-abi. Fix typo.
12338 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
12339 Set -mfloat-abi=.
12340 * doc/install.texi: Document --with-fpu.
12341
12342 2003-01-14 Paul Brook <paul@codesourcery.com>
12343
12344 * config.gcc (with_arch): Add armv6.
12345 * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
12346 * config/arm/arm.c (arm_overrride_options): Ditto.
12347
12348 2004-01-08 Richard Earnshaw <rearnsha@arm.com>
12349
12350 * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
12351 (FL_ARCH6): Renamed from FL_ARCH6J.
12352 (arm_arch3m): Renamed from arm_fast_multiply.
12353 (arm_arch6): Renamed from arm_arch6j.
12354 * arm.h: Update all uses of above.
12355 * arm-cores.def: Likewise.
12356 * arm.md: Likewise.
12357
12358 * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
12359 not arm6j. Add entry for arch armv6.
12360
12361 2004-01-07 Richard Earnshaw <rearnsha@arm.com>
12362
12363 * arm.c (arm_emit_extendsi): Delete.
12364 * arm-protos.h (arm_emit_extendsi): Delete.
12365 * arm.md (zero_extendhisi2): Also handle zero-extension of
12366 non-subregs.
12367 (zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
12368 (thumb_zero_extendhisi2): Only match if not v6.
12369 (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
12370 (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
12371 (thumb_extendqisi2): Likewise.
12372 (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
12373 (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
12374 (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
12375 (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
12376 (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
12377 (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
12378 (arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
12379 (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
12380 (arm_extendqisi2addsi): Likewise.
12381
12382 2003-12-31 Mark Mitchell <mark@codesourcery.com>
12383
12384 Revert this change:
12385 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
12386 + REG addressing modes.
12387
12388 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
12389 + REG addressing modes.
12390
12391 2003-12-30 Mark Mitchell <mark@codesourcery.com>
12392
12393 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
12394 CONSTANT_P_RTX.
12395
12396 2003-30-12 Paul Brook <paul@codesourcery.com>
12397
12398 * longlong.h: protect arm inlines with !defined (__thumb__)
12399
12400 2003-30-12 Paul Brook <paul@codesourcery.com>
12401
12402 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
12403
12404 2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
12405
12406 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
12407 change.
12408
12409 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
12410
12411 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
12412 to the virtual incoming args pointer for downward stacks.
12413
12414 2003-12-29 Paul Brook <paul@codesourcery.com>
12415
12416 * config/arm/arm-cores.def: Add cost function.
12417 * config/arm/arm.c (arm_*_rtx_costs): New functions.
12418 (arm_rtx_costs): Remove
12419 (struct processors): Add rtx_costs field.
12420 (all_cores, all_architectures): Ditto.
12421 (arm_override_options): Set targetm.rtx_costs.
12422 (thumb_rtx_costs): New function.
12423 (arm_rtx_costs_1): Remove cases handled elsewhere.
12424 * config/arm/arm.h (processor_type): Add COSTS parameter.
12425
12426 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
12427
12428 * config/arm/arm.md (generic_sched): arm926 has its own scheduler.
12429 (arm926ejs.md): Include it.
12430 * config/arm/arm926ejs.md: New pipeline description.
12431
12432 2003-12-24 Paul Brook <paul@codesourcery.com>
12433
12434 * config/arm/arm.c (arm_arch6j): New variable.
12435 (arm_override_options): Set it.
12436 (arm_emit_extendsi): New function.
12437 * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
12438 * config/arm/arm.h (arm_arch6j): Declare.
12439 * config/arm/arm.md: Add sign/zero extend insns.
12440
12441 2003-12-23 Paul Brook <paul@codesourcery.com>
12442
12443 * config/arm/arm.c (all_architectures): Add armv6.
12444 * doc/invoke.texi: Document it.
12445
12446 2003-12-19 Paul Brook <paul@codesourcery.com>
12447
12448 * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
12449 insn patterns to match.
12450 * config/arm/arm-generic.md: Ditto.
12451 * config/arm/cirrus.md: Ditto.
12452 * config/arm/fpa.md: Ditto.
12453 * config/amm/iwmmxt.md: Ditto.
12454 * config/arm/arm1026ejs.md: Ditto.
12455 * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
12456 for 11_loadb.
12457
12458 2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
12459
12460 * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
12461 * config/arm/arm.c (arm_adjust_cost): Check shift cost for
12462 TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
12463 (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
12464 arm_no_early_mul_dep): Correctly deal with conditional execution,
12465 parallels and single shift operations.
12466 (arm_no_early_alu_shift_value_dep): Define.
12467 * arm.md (attr type): Replace 'normal' with 'alu',
12468 'alu_shift' and 'alu_shift_reg'.
12469 (attr core_cycles): Adjust.
12470 (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
12471 *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
12472 *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
12473 *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
12474 *arith_shiftsi_compare0_scratch, *sub_shiftsi,
12475 *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
12476 *if_shift_move, *if_move_shift, *if_shift_shift): Set type
12477 attribute appropriately.
12478 * config/arm/arm1026ejs.md (alu_op): Adjust.
12479 (alu_shift_op, alu_shift_reg_op): New.
12480 * config/arm/arm1136.md: Add better bypasses for early
12481 registers. Remove load[234] and store[234] bypasses.
12482 (11_alu_op): Adjust.
12483 (11_alu_shift_op, 11_alu_shift_reg_op): New.
12484
12485 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
12486
12487 * config/arm/arm-protos.h (arm_no_early_store_addr_dep,
12488 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
12489 * config/arm/arm.c (arm_no_early_store_addr_dep,
12490 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
12491 * config/arm/arm1026ejs.md: Add load-store bypass.
12492 * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
12493 Add bypasses between instructions.
12494
12495 2003-12-10 Paul Brook <paul@codesourcery.com>
12496
12497 * config/arm/arm.c (arm_fpu_model): New variable.
12498 (arm_fload_abi): New variable.
12499 (target_fpe_name): Rename from target_fp_name.
12500 (target_fpu_name): New variable.
12501 (arm_is_cirrus): Remove.
12502 (fpu_desc): New struct.
12503 (all_fpus): Define.
12504 (pf_model_for_fpu): Define.
12505 (all_loat_abis): Define.
12506 (arm_override_options): Set fp arch flags based on -mfpu=
12507 and -float-abi=.
12508 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
12509 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
12510 (*): Use new TARGET_* flags.
12511 * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
12512 (TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
12513 (TARGET_SOFT_FLOAT): Ditto.
12514 (TARGET_SOFT_FLOAT_ABI): New.
12515 (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
12516 TARGET_HARD_FLOAT.
12517 (TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
12518 (TARGET_OPTIONS): Add -mfpu=.
12519 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
12520 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
12521 (arm_pf_model): Define.
12522 (arm_float_abi_type): Define.
12523 (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
12524 * config/arm/arm.md: Use new TARGET_* flags.
12525 * config/arm/cirrus.md: Ditto.
12526 * config/arm/fpa.md: Ditto.
12527 * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
12528 * config/arm/semi.h (ASM_SPEC): Ditto.
12529 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
12530 (FPUTYPE_DEFAULT): Set to VFP.
12531 * doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
12532
12533 2003-11-22 Phil Edwards <phil@codesourcery.com>
12534
12535 PR target/12476
12536 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
12537 'bx' instead of 'b' to avoid branch range restrictions. Output
12538 the thunk immediately before the thunked-to function.
12539 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
12540 .thumb_func if a thunk is being generated. Emit .code 16 along
12541 with .thumb_func if a thunk is not being generated.
12542
12543 2003-11-15 Nicolas Pitre <nico@cam.org>
12544
12545 * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
12546 arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
12547 * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
12548 (lshrdi3_iwmmxt): Renamed from lshrdi3.
12549 * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
12550
12551 2003-11-12 Steve Woodford <scw@wasabisystems.com>
12552 Ian Lance Taylor <ian@wasabisystems.com>
12553
12554 * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
12555 code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
12556
12557 2003-11-05 Phil Edwards <phil@codesourcery.com>
12558
12559 * config/arm/arm.md (insn): Add new V6 instruction names.
12560 (generic_sched): New attr.
12561 * config/arm/arm-generic.md: Use generic_sched here.
12562 * config/arm/arm1026ejs.md: Do not model fetch/issue/decode
12563 stages of pipeline. Adjust latency counts accordingly.
12564 * config/arm/arm1136jfs.md: New file.
12565
12566 2003-10-28 Mark Mitchell <mark@codesourcery.com>
12567
12568 * config/arm/arm.h (processor_type): New enumeration type.
12569 (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
12570 ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
12571 (CPP_CPU_ARCH_SPEC): Likewise.
12572 * config/arm/arm.c (arm_tune): New variable.
12573 (all_cores): Use cores.def.
12574 (all_architectures): Add representative processor.
12575 (arm_override_options): Restructure way in which tuning
12576 information is deduced.
12577 * arm.md: Update "insn" and "type" attributes throughout.
12578 (insn): New attribute.
12579 (type): Compute "mult" from "insn" attribute. Add load2,
12580 load3, load4 alternatives.
12581 (arm automaton): Move to arm-generic.md.
12582 * config/arm/arm-cores.def: New file.
12583 * config/arm/arm-generic.md: Likewise.
12584 * config/arm/arm1026ejs.md: Likewise.
12585
60b85c4c
EB
125862004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr>
12587
12588 * doc/invoke.texi (SPARC options): Remove -mflat and
12589 all -mxxx (xxx:chip) options.
12590 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
12591 * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
12592 * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
12593 * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
12594 * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
12595 * config/sparc/sparc.c: Likewise.
12596 (sparc_output_function_prologue): Remove TARGET_FLAT handling.
12597 (sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
12598 (sparc_output_function_epilogue): Remove TARGET_FLAT handling.
12599 (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
12600 (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
12601 (sparc_flat_must_save_register_p): Likewise.
12602 (sparc_flat_compute_frame_size): Likewise.
12603 (sparc_flat_save_restore): Likewise.
12604 (sparc_flat_function_prologue): Likewise.
12605 (sparc_flat_function_epilogue): Likewise.
12606 (sparc_flat_epilogue_delay_slots): Likewise.
12607 (sparc_flat_eligible_for_epilogue_delay): Likewise.
12608 (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
12609 * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
12610 (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
12611 (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
12612 (CONDITIONAL_REGISTER_USAGE): Likewise.
12613 (FRAME_POINTER_REQUIRED): Likewise.
12614 (INITIAL_ELIMINATION_OFFSET): Likewise.
12615 (BASE_RETURN_VALUE_REG): Likewise.
12616 (BASE_OUTGOING_VALUE_REG): Likewise.
12617 (BASE_PASSING_ARG_REG): Likewise.
12618 (BASE_INCOMING_ARG_REG): Likewise.
12619 (INCOMING_REGNO): Likewise.
12620 (OUTGOING_REGNO): Likewise.
12621 (LOCAL_REGNO): Likewise.
12622 (DELAY_SLOTS_FOR_EPILOGUE): Likewise.
12623 (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
12624 (EPILOGUE_USES): Likewise.
12625 * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
12626 ("flat" attribute): Delete.
12627 (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
12628 handling.
12629 (call followed by jump define_peephole's): Delete.
12630 (exception_receiver): Likewise.
12631 (builtin_setjmp_receiver): Likewise.
12632 * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
12633
e57e265b
PB
126342004-02-03 Paolo Bonzini <bonzini@gnu.org>
12635
12636 PR c/11658
12637 PR c/13994
12638 * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
12639 on langhooks.h.
12640 * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
12641 * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
12642 Include langhooks.h. Replace c_common_truthvalue_conversion
12643 with the truthvalue_conversion language hook throughout.
12644 (expr_no_commas): Call default_conversion before save_expr
12645 for the first term of the production 'x ? : y'.
12646 * c-common.c (c_common_truthvalue_conversion): Remove
12647 obsolete block. Invoke recursively the hook instead
12648 of this function.
12649 * c-convert.c (convert): handle ERROR_MARK_NODE.
12650 * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
12651 returned by the truthvalue_conversion language hook.
12652 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
12653 c_objc_common_truthvalue_conversion.
12654 * c-objc-common.c (c_objc_common_truthvalue_conversion):
12655 New function.
12656 * c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
12657 * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
12658 c_objc_common_truthvalue_conversion.
12659
a7a2225a
KH
126602004-02-03 Kazu Hirata <kazu@cs.umass.edu>
12661
12662 * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
12663 of gen_rtx.
12664 (LIBCALL_VALUE): Likewise.
12665 * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
12666 gen_rtx_CC0 instead of gen_rtx.
12667 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
12668 gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
12669 (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
12670 gen_rtx.
12671 (m68hc11_emit_logical): Likewise.
12672
a556fd39
KH
126732004-02-03 Kazu Hirata <kazu@cs.umass.edu>
12674
12675 * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
12676 config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
12677 config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
12678 config/m32r/m32r.md, config/m68hc11/m68hc11.c,
12679 config/mips/mips.md, config/mmix/mmix.c,
12680 config/mn10300/mn10300.c, config/mn10300/mn10300.md,
12681 config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
12682 config/rs6000/altivec.md, config/s390/s390.c,
12683 config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
12684 config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
12685 Use const0_rtx instead of GEN_INT (0). Do the same for other
12686 constants that are readily available.
12687
60c81c89
KH
126882004-02-03 Kazu Hirata <kazu@cs.umass.edu>
12689
12690 * doloop.c, optabs.c, regmove.c, sched-deps.c,
12691 config/i386/i386.c, config/i386/i386.md: Use const0_rtx
12692 instead of GEN_INT (0). Do the same for other constants that
12693 are readily available.
12694
2fb00d7f
KH
126952004-02-03 Kazu Hirata <kazu@cs.umass.edu>
12696
12697 * combine.c (simplify_set): Use gen_rtx_fmt_e instead of
12698 gen_rtx.
12699 * emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
12700 instead of gen_rtx.
12701 * reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
12702 gen_rtx.
12703 * config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
12704 gen_rtx_ASHIFT instead of gen_rtx.
12705 (udivmodqi4): Likewise.
12706
b0dccb00
RH
127072004-02-02 Richard Henderson <rth@redhat.com>
12708
a6f78652
ZW
12709 PR target/13789
12710 * expr.c (store_expr): Use force_operand before emit_move_insn.
b0dccb00 12711
3168cb99
JL
127122004-02-02 Jeff Law <law@redhat.com>
12713 Roger Sayle <roger@eyesopen.com>
12714
12715 * tree.c (commutative_tree_code, associative_tree_code): New
12716 functions.
12717 (iterative_hash_expr): Use commutative_tree_code.
12718 * tree.h (commutative_tree_code, associative_tree_code): Declare.
12719 * fold-const.c (operand_equal_p): Use commutative_tree_code
12720 rather than inlining the commutativity check.
12721 (fold): Likewise.
12722
040333a7
KH
127232004-02-02 Kazu Hirata <kazu@cs.umass.edu>
12724
12725 * system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
12726 * config/frv/frv-protos.h: Remove the prototype for
12727 frv_function_arg_keep_as_reference.
12728 * config/frv/frv.c (frv_function_arg_keep_as_reference):
12729 Remove.
12730 * config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
12731 * config/stormy16/stormy16.h: Remove the commented-out
12732 definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
12733
79d69d75
AM
127342004-02-03 Alan Modra <amodra@bigpond.net.au>
12735
12736 PR target/13914
12737 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
12738 for retaddr_column.
12739
600555f5
KH
127402004-02-02 Kazu Hirata <kazu@cs.umass.edu>
12741
12742 * genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
12743 gen_rtx.
12744
16dd5cfe 127452004-02-02 Eric Christopher <echristo@redhat.com>
a6f78652 12746 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
12747
12748 * c-opts.c (c_common_handle_option): Add -finput-charset.
a6f78652
ZW
12749 * c.opt: Ditto.
12750 * cppcharset.c (one_iso88591_to_utf8): Remove.
12751 (convert_iso88591_utf8): Ditto.
12752 (conversion_tab): Remove 8859-1 converter.
12753 (_cpp_input_to_utf8): Remove.
12754 (_cpp_init_iconv_buffer): Ditto.
12755 (_cpp_close_iconv_buffer): Ditto.
12756 (_cpp_convert_input): New function.
12757 (_cpp_default_encoding): Ditto.
12758 * cpphash.h: Add/remove prototypes for above.
12759 * cppfiles.c (read_file_guts): Use _cpp_convert_input.
12760 * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
12761 for narrow execution and input character sets.
12762 * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
12763 * doc/cppopts.texi: Document -finput-charset.
16dd5cfe 12764
8ad0d964
DE
127652004-02-02 David Edelsohn <edelsohn@gnu.org>
12766
12767 * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
12768 against FIRST_PSEUDO_REGISTER.
12769
238b11b5
EB
127702004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
12771
12772 * doc/invoke.texi (SPARC options): Further improve.
12773
0f4c242b
KH
127742004-02-02 Kazu Hirata <kazu@cs.umass.edu>
12775
12776 * config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
12777 config/h8300/h8300.c, config/ip2k/ip2k.md,
12778 config/iq2000/iq2000.c, config/mips/mips.c,
12779 config/rs6000/rs6000.c, config/rs6000/rs6000.md,
12780 config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
12781 config/v850/v850.md: Fix indentation.
12782
d560b0aa
EB
127832004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
12784
12785 * config/sparc/sparc.c (function_arg_slotno): Align TImode
12786 arguments on a 16-byte boundary in the parameter array if ARCH64.
12787 Split handling of TFmode.
12788
6f626d1b
PB
127892004-02-02 Paolo Bonzini <bonzini@gnu.org>
12790
12791 * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
12792 Don't test CONSTANT_P (x).
12793 (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
12794 ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
12795 Fix misindentation.
12796
e789e9c4
EB
127972004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
12798
12799 * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
12800
1c563bed
KH
128012004-02-02 Kazu Hirata <kazu@cs.umass.edu>
12802
12803 * config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
12804 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
12805 config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
12806 config/iq2000/iq2000.c, config/m32r/m32r.c,
12807 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
12808 config/mn10300/mn10300.c, config/rs6000/rs6000.c,
12809 config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
12810 config/stormy16/stormy16.c, config/v850/v850.md,
12811 config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
12812
67245ad3
KH
128132004-02-01 Kazu Hirata <kazu@cs.umass.edu>
12814
12815 * config/mcore/mcore.c (block_move_sequence): Replace
12816 gen_rtx_CONST_INT with GEN_INT.
12817
66fd46b6
JH
128182004-02-02 Jan Hubicka <jh@suse.cz>
12819
12820 * alias.c (record_set): Use hard_regno_nregs.
12821 * bt-load.c (find_btr_reference, note_btr_set): Likewise.
12822 * builtins.c (apply_args_size): Likewise.
12823 * caller-save.c (setup_save_areas, save_call_clobbered_regs,
12824 mark_set_regs, add_stored_regs, mark_referenced_regs,
12825 insert_restore, insert_save, insert_one_insn): Likewise.
12826 * cfgcleanup.c: Include regs.h
12827 (mark_effect, mentions_nonequal_regs): Likewise.
12828 * cfgrtl.c (mark_killed_regs): Likewise
12829 * combine.c (update_table_tick, record_value_for_reg,
12830 record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
12831 reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
12832 reg_bitfield_target_p, distribute_notes): Likewise.
12833 * cse.c (mention_regs, insert, invalidate, invalidate_for_call,
12834 exp_equiv_p, cse_insn): Likewise.
12835 * cselib.c (cselib_lookup): Likewise.
12836 (cselib_invalidate_regno, cselib_record_set): Likewise.
12837 * df.c (df_ref_record): Likewise.
12838 * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
12839 Likewise.
12840 * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
12841 count_or_remove_death_notes_bb): Likewise.
12842 * function.c (aggregate_value_p, keep_stack_depressed): Likewise.
12843 * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
12844 mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
12845 * integrate.c (mark_stores): Likewise.
12846 * jump.c (delete_prior_computation): Likewise.
12847 * lcm.c (reg_dies, reg_becomes_live): Likewise.
12848 * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
12849 * loop.c (LOOP_REGNO_NREGS): Likewise.
12850 * postreload.c (reload_combine, reload_combine_note_store,
12851 reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
12852 * ra-colorize.c (combine, color_usable_p, get_free_reg,
16dd5cfe 12853 calculate_dont_begin, calculate_dont_begin, colorize_one_web,
66fd46b6
JH
12854 try_recolor_web, insert_coalesced_conflicts, check_colors,
12855 break_precolored_alias): Likewise.
12856 * ra-debug.c: Include regs.h
12857 (ra_print_rtx_object): Likewise.
12858 * ra-rewrite (choose_spill_colors): Likewise.
12859 (spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
12860 * ra.c (init_ra): Likewise.
12861 * recog.c (reg_fits_class_p, peep2_reg_dead_p,
12862 peep2_find_free_register): Likewise.
12863 * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
12864 * regclass.c (hard_regno_nregs): New array.
12865 (init_reg_modes_once): Initialize it.
12866 (choose_hard_reg_mode): Use it.
12867 (record_reg_classes): Likewise.
12868 * regmove.c (mark_flags_life_zones): Likewise.
12869 * regrename.c (note_sets, clear_dead_regs, regrename_optimize,
12870 scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
12871 copy_value, maybe_mode_change, find_oldest_value_reg,
12872 copyprop_hardreg_forward_1):
12873 * regs.h (hard_regno_nregs): Declare.
12874 * realod.c (reload_inner_reg_of_subreg): Use it.
12875 (push_reload, combine_reloads, find_dummy_reload,
12876 hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
12877 refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
12878 reload_adjust_reg_for_mode): Likewise.
12879 * reload1.c (compute_use_by_pseudos, count_pseudo,
12880 count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
12881 spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
12882 clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
12883 allocate_reload_reg, choose_reload_regs, emit_reload_insns,
12884 delete_output_reload): Likewise.
12885 * resource.c (update_live_status, mark_referenced_resources,
12886 mark_set_resources, mark_target_live_regs): Likewise.
12887 * rtlanal.c: Include regs.h
12888 (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
12889 dead_or_set_regno_p, find_regno_note, find_reg_fusage,
12890 subreg_regno_offset, subreg_offset_representable_p,
12891 hoist_test_store): Likewise.
12892 * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
12893 * sched-rgn.c (check_live_1, update_live_1): Likewise.
12894 * stmt.c: Include regs.h
12895 (decl_conflicts_with_clobbers_p): Likewise.
12896 * varasm.c (make_decl_rtl): Likewise.
12897 * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
12898
f1c25d3b
KH
128992004-02-01 Kazu Hirata <kazu@cs.umass.edu>
12900
12901 * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
12902 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
12903 config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
12904 config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
12905 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
12906 config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
12907 config/iq2000/iq2000.h, config/m32r/m32r.c,
12908 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
12909 config/m68hc11/m68hc11.md, config/m68k/m68k.md,
12910 config/mcore/mcore.c, config/mcore/mcore.h,
12911 config/mcore/mcore.md, config/mips/mips.c,
12912 config/ns32k/ns32k.h, config/ns32k/ns32k.md,
12913 config/rs6000/rs6000.c, config/s390/s390.c,
12914 config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
12915 config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
12916 "gen_rtx (FOO, " with "gen_rtx_FOO (".
12917
e0a24727
KH
129182004-02-01 Kazu Hirata <kazu@cs.umass.edu>
12919
12920 * config/h8300/h8300.md (two peephole2's): New.
12921
5202c5fe
EB
129222004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
12923
12924 * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
12925 (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
12926 (ASM_CPU_SPEC): Likewise
12927 * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
12928 (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3.
12929
13b59849
RS
129302004-02-01 Roger Sayle <roger@eyesopen.com>
12931
12932 * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
12933 isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
12934 (expand_builtin): Always call expand_builtin_pow.
12935
ef79730c
RS
129362004-02-01 Roger Sayle <roger@eyesopen.com>
12937
12938 * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
12939 BUILT_IN_SIGNBITL): New GCC builtins.
12940 * builtins.c (expand_builtin_signbit): New function to RTL expand
12941 calls to signbit, signbitf and signbitl as inline intrinsics.
12942 (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
12943 (fold_builtin_signbit): New function to perform constant folding
12944 of signbit, signbitf and signbitl.
12945 (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
12946
12947 * doc/extend.texi: Document new signbit{,f,l} builtins.
12948
a80cdb0f
RS
129492004-02-01 Richard Sandiford <rsandifo@redhat.com>
12950
12951 * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
12952
2efe2033
CD
129532004-02-01 Chris Demetriou <cgd@broadcom.com>
12954
12955 * config/mips/mips.h (PREDICATE_CODES): Remove entries for
12956 "mips_const_double_ok" and "simple_memory_operand", which were
12957 removed from the MIPS port with the mips-3_4-rewrite branch merge.
12958 * config/mips/mips.c (mips16_lay_out_constants): Update comment
12959 for removal of simple_memory_operand.
12960
d37eb705
KH
129612004-01-31 Kazu Hirata <kazu@cs.umass.edu>
12962
12963 * config/c4x/c4x.md: Use GEN_INT instead of
12964 gen_rtx (CONST_INT, ...).
12965
fadeed3b
RH
129662004-01-31 Richard Henderson <rth@redhat.com>
12967
12968 * varasm.c (output_constant_pool): Don't zap the pool.
12969
ccdc1703
KH
129702004-01-31 Kazu Hirata <kazu@cs.umass.edu>
12971
12972 * genrecog.c (decision_type): Add DT_const_int.
12973 (write_cond) [DT_const_int]: Print a comparison against small
12974 constant.
12975 (write_node): Simplify comparisons against small constants
12976 before printing tests.
16dd5cfe 12977
aeba8f80
KH
129782004-01-31 Kazu Hirata <kazu@cs.umass.edu>
12979
12980 * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
12981 instead of gen_rtx_CONST_INT.
12982
400ce94c
KH
129832004-01-31 Kazu Hirata <kazu@cs.umass.edu>
12984
12985 * config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
12986 instead of gen_rtx_CONST_INT.
12987
8dfa8fcd
KH
129882004-01-31 Kazu Hirata <kazu@cs.umass.edu>
12989
12990 * target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
12991 hook_bool_CUMULATIVE_ARGS_false.
12992 * targhooks.c (default_strict_argument_naming): Rename to
12993 hook_bool_CUMULATIVE_ARGS_false.
12994 * targhooks.h: Update the prototype for
12995 default_strict_argument_naming.
12996
c0d4e710
KH
129972004-01-31 Kazu Hirata <kazu@cs.umass.edu>
12998
12999 * config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
13000 * config/sh/sh.h: Likewise.
13001 * config/sh/sh.md: Likewise.
13002
fdf064f2
EB
130032004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
13004
13005 * doc/invoke.texi (SPARC options): Restructure and update.
13006
b602b7b6
KH
130072004-01-31 Kazu Hirata <kazu@cs.umass.edu>
13008
13009 * system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
13010 STRICT_ARGUMENT_NAMING): Poison.
13011 * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
13012 hook_bool_tree_false.
13013 * targhooks.c (default_promote_function_args): Remove.
13014 (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
13015 Don't check incoming.
13016 (default_strict_argument_naming): Don't use
13017 STRICT_ARGUMENT_NAMING.
13018 * targhooks.h: Remove the prototype for
13019 default_promote_function_args.
13020
a0524eb3
KH
130212004-01-31 Kazu Hirata <kazu@cs.umass.edu>
13022
13023 * config/i386/i386-protos.h: Remove the prototype for
13024 ix86_setup_incoming_varargs.
13025 * config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
13026 (ix86_setup_incoming_varargs): Make it static.
13027 * config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
13028
a457ee07
KH
130292004-01-31 Kazu Hirata <kazu@cs.umass.edu>
13030
13031 * alloc-pool.c: Fix comment typos.
13032 * builtin-types.def: Likewise.
13033 * builtins.def: Likewise.
13034 * c-pretty-print.c: Likewise.
13035 * df.h: Likewise.
13036 * reload1.c: Likewise.
13037
a451b0bd
KH
130382004-01-31 Kazu Hirata <kazu@cs.umass.edu>
13039
13040 * doc/invoke.texi: Follow spelling conventions.
13041 * doc/tm.texi: Likewise.
13042
e53e0c56
KH
130432004-01-31 Kazu Hirata <kazu@cs.umass.edu>
13044
13045 * doc/install.texi: Fix typos.
13046 * doc/invoke.texi: Likewise.
13047
025b17a4
UW
130482004-01-31 Ulrich Weigand <uweigand@de.ibm.com>
13049
13050 * config/s390/s390.c (s390_decompose_address): Do not treat virtual
13051 registers as pointers.
13052 * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
13053
4de249d9
PB
130542004-01-31 Paolo Bonzini <bonzini@gnu.org>
13055
c53bdcf5 13056 * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
4de249d9
PB
13057 and restore it to gen_lowpart_general on exit.
13058 (gen_lowpart_for_combine): Adjust all callers to go through
13059 gen_lowpart.
13060 * cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
13061 and restore it to gen_lowpart_general on exit.
13062 (gen_lowpart_if_possible): Adjust all callers to go through
13063 gen_lowpart.
13064 * emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
13065 (gen_lowpart): Declare as pointer to function, initialized to
13066 gen_lowpart_general.
13067 * rtl.h (gen_lowpart): Declare as pointer to function.
13068
f84d109f
KH
130692004-01-31 Kazu Hirata <kazu@cs.umass.edu>
13070
13071 * bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
13072 * calls.c: Likewise.
13073 * emit-rtl.c: Likewise.
13074 * function.c: Likewise.
13075 * reload1.c: Likewise.
13076 * config/i386/cygming.h: Likewise.
13077 * config/i386/i386.c: Likewise.
13078 * config/i386/winnt.c: Likewise.
13079
354b7da5
DH
130802004-01-30 Dara Hazeghi <dhazeghi@yahoo.com>
13081
13082 PR bootstrap/9249
13083 * doc/install.texi: document --enable-__cxa_atexit option.
13084 * configure.ac: Disable __cxa_atexit if not supported.
13085 * configure: Regenerate.
13086
9781b6da
DB
130872003-01-30 Daniel Berlin <dberlin@dberlin.org>
13088
13089 * ggc-zone.c (ggc_free): New function.
13090
283334f0
KH
130912004-01-30 Kazu Hirata <kazu@cs.umass.edu>
13092
13093 alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
13094 cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
13095 flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
13096 ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
13097 tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
13098 config/alpha/alpha.c, config/alpha/alpha.h,
13099 config/alpha/alpha.md, config/alpha/unicosmk.h,
13100 config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
13101 config/c4x/c4x-protos.h, config/c4x/c4x.md,
13102 config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
13103 config/frv/frvend.c, config/i386/cygming.h,
13104 config/i386/djgpp.h, config/i386/emmintrin.h,
13105 config/i386/gthr-win32.c, config/i386/i386-interix.h,
13106 config/i386/i386-protos.h, config/i386/openbsd.h,
13107 config/i386/winnt.c, config/i386/xm-mingw32.h,
13108 config/i386/xmmintrin.h, config/ia64/ia64.md,
13109 config/iq2000/iq2000.md, config/m32r/m32r.md,
13110 config/m68k/m68k.md, config/mcore/mcore-elf.h,
13111 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
13112 config/mips/iris5gas.h, config/mips/iris6.h,
13113 config/mips/iris6gas.h, config/mips/linux.h,
13114 config/mips/mips.md, config/mips/netbsd.h,
13115 config/mips/openbsd.h, config/mips/windiss.h,
13116 config/pa/fptr.c, config/rs6000/aix.h,
13117 config/rs6000/altivec.h, config/rs6000/darwin.h,
13118 config/rs6000/xcoff.h, config/s390/s390-protos.h,
13119 config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
13120 config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
13121 config/sparc/sol2.h: Update copyright.
13122
71cbe2c1
KC
131232004-01-30 Kelley Cook <kcook@gcc.gnu.org>
13124
13125 * Makefile.in (abs_docdir, abs_srcdir): Define.
13126 (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
13127
bfb2d661
KH
131282004-01-30 Kazu Hirata <kazu@cs.umass.edu>
13129
13130 * genconfig.c (main): Have CC0_P check its operand even on a
13131 target without cc0.
13132
bd5bd7ac
KH
131332004-01-30 Kazu Hirata <kazu@cs.umass.edu>
13134
13135 * config/alpha/alpha.c: Remove mentions of deprecates macros
13136 in comments, remove some target-independent comments about target
13137 macros, and/or add minimal function comments for target hook
13138 implementations.
13139 * config/avr/avr.c: Likewise.
13140 * config/ia64/ia64.h: Likewise.
13141 * config/ip2k/ip2k.c: Likewise.
13142 * config/iq2000/iq2000.c: Likewise.
13143 * config/m32r/m32r.h: Likewise.
13144 * config/m68hc11/m68hc11.c: Likewise.
13145 * config/mcore/mcore.c: Likewise.
13146 * config/mmix/mmix.c: Likewise.
13147 * config/mn10300/mn10300.c: Likewise.
13148 * config/pa/pa.c: Likewise.
13149 * config/pdp11/pdp11.c: Likewise.
13150 * config/rs6000/rs6000.h: Likewise.
13151 * config/sh/sh.c: Likewise.
13152 * config/sh/sh.h: Likewise.
13153 * config/sparc/sparc.c: Likewise.
13154 * config/sparc/sparc.h: Likewise.
13155 * config/stormy16/stormy16.c: Likewise.
13156 * config/xtensa/xtensa.c: Likewise.
13157
808ededc
UW
131582004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
13159
13160 PR optimization/12147
13161 * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
13162 RELOAD_FOR_OPADDR_ADDR.
13163 (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
13164 might be reused as RELOAD_FOR_OPADDR_ADDR register.
13165
98e5e087
JH
131662004-01-30 Jan Hubicka <jh@suse.cz>
13167
bd5bd7ac 13168 * reload.c (get_secondary_mem): Fix updating of
98e5e087
JH
13169 secondary_memlocs_elim_used.
13170
3234b52d
RH
131712004-01-30 Richard Henderson <rth@redhat.com>
13172
13173 * varasm.c (struct rtx_const, struct pool_constant): Remove.
13174 (MAX_RTX_HASH_TABLE): Remove.
13175 (const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
13176 (first_pool, last_pool, pool_offset): Remove.
13177 (struct rtx_constant_pool): Split out from ...
13178 (struct varasm_status): ... here. Reference one via pointer.
13179 (struct constant_descriptor_rtx): Merge struct pool_constant.
13180 (SYMHASH): Remove.
13181 (decode_rtx_const): Remove.
13182 (const_hash_rtx, compare_constant_rtx): Remove.
13183 (record_constant_rtx): Remove.
13184 (const_desc_rtx_hash, const_desc_rtx_eq): New.
13185 (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
13186 (const_rtx_hash_1, const_rtx_hash): New.
13187 (init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
13188 (simplify_subtraction): Use simplify_rtx.
13189 (force_const_mem): Rewrite to use new data structures.
13190 (find_pool_constant): Likewise.
13191 (get_pool_constant, get_pool_constant_mark,
13192 get_pool_constant_for_function, get_pool_mode,
13193 get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
13194 (output_constant_pool_2): Split out from output_constant_pool.
13195 (output_constant_pool_1): Likewise. Use new pool datastructures.
13196 (output_constant_pool): Zap entire pool datastructure.
13197 (mark_constant): Use new pool datastructures.
13198 (mark_constants): Use for_each_rtx.
13199 (mark_constant_pool): Use new pool datastructures.
13200
be77d9e7 132012004-01-30 Fariborz Jahanian <fjahanian@apple.com>
16dd5cfe 13202
a6f78652 13203 * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
be77d9e7
FJ
13204 Copy operands[1] to pseudo for simplify_gen_subreg.
13205
f0cad2d5
KH
132062004-01-30 Kazu Hirata <kazu@cs.umass.edu>
13207
13208 * gcse.c (bypass_block): Fix a typo in the previous check-in
13209 to the file.
13210
40ca90bf
AP
132112004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
13212
13213 * toplev.c: Include alloc-pool.h.
16dd5cfe 13214 * Makefile.in (toplev.c): Update dependencies.
40ca90bf 13215
39a44a4e
RK
132162004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13217
13218 * combine.c (simplify_shift_const, case XOR): Be careful when
13219 commuting XOR with ASHIFTRT.
13220
3e2cc1d1 132212004-01-30 Kazu Hirata <kazu@cs.umass.edu>
a6f78652 13222 Eric Botcazou <ebotcazou@libertysurf.fr>
3e2cc1d1
KH
13223
13224 * config/sparc/sparc-protos.h: Remove the prototype for
13225 sparc_builtin_saveregs.
13226 * config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
13227 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
13228 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13229 (TARGET_STRUCT_VALUE_RTX): Likewise.
13230 (TARGET_RETURN_IN_MEMORY): Likewise.
13231 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
13232 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
13233 (sparc_builtin_saveregs): Make it static.
13234 (sparc_promote_prototypes): New.
13235 (sparc_struct_value_rtx): Likewise.
13236 (sparc_return_in_memory): Likewise.
13237 * config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
13238 (PROMOTE_FUNCTION_RETURN): Likewise.
13239 (RETURN_IN_MEMORY): Likewise.
13240 (STRUCT_VALUE): Likewise.
13241 (STRUCT_VALUE_INCOMING): Likewise.
13242 (EXPAND_BUILTIN_SAVEREGS): Likewise.
13243 (STRICT_ARGUMENT_NAMING): Likewise.
13244 (PROMOTE_PROTOTYPES): Likewise.
13245
13246 * config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
13247
5e9295fa
EB
132482004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
13249
13250 PR c/12818
13251 * varasm.c (const_hash_1) <STRING_CST>: Use the
13252 address to compute the hash value if flag_writable_strings.
13253 (compare_constant) <STRING_CST>: Compare the addresses
13254 if flag_writable_strings.
13255 (build_constant_desc): Do not copy the expression for a
13256 STRING_CST if flag_writable_strings.
13257
1f2eae8d
JH
132582004-01-30 Jan Hubicka <jh@suse.cz>
13259
1e0f41c9
JH
13260 * alloc-pool.c: Include hashtab.h
13261 (alloc_pool_descriptor): New structure
13262 (alloc_pool_hash): New global variable.
13263 (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
13264 (create_alloc_pool): Update statistics.
13265 (free_alloc_pool): Likewise.
13266 (pool_alloc): Likewise.
13267 (output_info): New structure
13268 (print_statistics, dump_alloc_pool_statistics): New function.
13269 * alloc-pool.h (alloc_pool_def): Turn name to be constant.
13270 (dump_alloc_pool_statistics): Declare.
13271 * toplev.c (finalize): Dump statistics.
13272
1f2eae8d
JH
13273 * reload.c (secondary_memlocs_elim_used): New static variable.
13274 (get_secondary_mem): Update it.
13275 (find_reloads): Use it.
13276
80a08664
SB
132772004-01-30 Steven Bosscher <s.bosscher@student.tudelft.nl>
13278
13279 * toplev.c: Fix broken checkin of 2003-12-30, again.
13280
57116d8d
UW
132812004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
13282
13283 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
13284 s390*-*-* targets by specifying a 'nop' insn.
13285 * configure: Regenerate.
13286
5fddd9fe
EB
132872004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
13288
13289 PR target/11475
13290 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
13291
64fc7c00
JJ
132922004-01-29 Jakub Jelinek <jakub@redhat.com>
13293
13294 * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
13295 of addr when creating MEM copy.
13296
ed672aa8
DP
132972004-01-29 Devang Patel <dpatel@apple.com>
13298
13299 * dwarf2out.c (gen_field_die): Do not equate decl number to die.
16dd5cfe 13300
7e3aa041
ILT
133012004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
13302
13303 PR inline-asm/6162
13304 * reload.c (find_reloads): Only support one pair of commutative
13305 operands.
13306
06f12aa0
RS
133072004-01-29 Roger Sayle <roger@eyesopen.com>
13308
13309 PR java/13824
13310 * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
13311 as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
13312 recursion.
13313
b88cf82e
KH
133142004-01-29 Kazu Hirata <kazu@cs.umass.edu>
13315
13316 * config/frv/frv.c: Don't mention deprecated macros in
13317 comments. Remove some target-independent comments about
13318 target macros.
13319 * config/frv/frv.h: Likewise.
13320
3ae4a5b1
ZD
133212004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13322
13323 * cfghooks.c (split_block): Set probability and count of the
13324 new edge.
13325
636c7bc4
JZ
133262005-01-29 Josef Zlomek <zlomekj@suse.cz>
13327
13328 * dwarf2out.c (struct die_struct): Added field decl_id.
13329 (decl_die_table): Changed to hash table.
13330 (decl_die_table_allocated): Deleted.
13331 (decl_die_table_in_use): Deleted.
13332 (DECL_DIE_TABLE_INCREMENT): Deleted.
13333 (decl_die_table_hash): New function.
13334 (decl_die_table_eq): New function.
13335 (lookup_decl_die): Lookup in a hash table.
13336 (equate_decl_number_to_die): Insert into a hash table.
13337 (dwarf2out_init): Init hash table decl_die_table.
13338
4e44c1ef
JJ
133392004-01-29 Jakub Jelinek <jakub@redhat.com>
13340
13341 PR optimization/13424
13342 * expr.c (store_constructor): Revert 2003-12-03 change.
13343
13344 * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
13345 expected before returning early. Avoid sharing RTL if they
13346 need to be changed.
13347
13348 * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
13349 handling so that memory attributes are preserved. Don't call
13350 ix86_set_move_mem_attrs.
13351 (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
13352 (ix86_expand_clrstr): Rename src argument to
13353 dst. Rework rep_stos and strset handling so that memory attributes
13354 are preserved.
13355 (ix86_expand_strlen): Pass src argument to
13356 ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
13357 memory attributes are preserved.
13358 (ix86_expand_strlensi_unroll_1): Add src argument. Use
13359 change_address instead of gen_rtx_MEM.
13360 * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
13361 expanders.
13362 (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
13363 strmovqi, strmovqi_rex64): Remove.
13364 (rep_mov*, strmov*): Prefix insn names with *.
13365 (strset, strset_singleop, rep_stos): New expanders.
13366 (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
13367 strsetqi, strsetqi_rex64): Remove.
13368 (rep_stos*, strset*): Prefix insn names with *.
13369 (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
13370 to SImode.
13371 (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
13372 are preserved.
13373 (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
13374 Prefix insn names with *.
13375 (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
13376 (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
13377 (strlenqi_1): New expander.
13378 * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
13379
f470c378
ZD
133802004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13381
13382 * Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
13383 * basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
13384 verify_flow_info): Declaration removed.
13385 * cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
13386 (debug_bb, debug_bb_n): Add argument to dump_bb call.
13387 * cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
13388 try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
13389 instead of delete_block.
13390 * cfghooks.c: Include timevar.h and toplev.h.
13391 (cfg_hooks): Define here.
13392 (verify_flow_info, dump_bb): Moved from cfg.c.
13393 (redirect_edge_and_branch, redirect_edge_and_branch_force,
13394 split_block, split_block_after_labels, move_block_after,
13395 delete_basic_block, split_edge, create_basic_block,
13396 create_empty_bb, can_merge_blocks_p, merge_blocks,
13397 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
13398 New functions.
13399 * cfghooks.h (struct cfg_hooks): Added fields name,
13400 make_forwarder_block, tidy_fallthru_edge and
13401 move_block_after. Changed type of verify_flow_info, dump_bb,
13402 split_block fields. Renamed cfgh_split_edge and delete_block
13403 fields.
13404 (redirect_edge_and_branch, redirect_edge_and_branch_force,
13405 split_block, delete_block, split_edge, create_basic_block,
13406 can_merge_blocks_p, merge_blocks): Macros removed.
13407 (cfg_hooks): Do not export.
13408 (verify_flow_info, dump_bb, redirect_edge_and_branch,
13409 redirect_edge_and_branch_force, split_block, split_block_after_labels,
13410 move_block_after, delete_basic_block, split_edge, create_basic_block,
13411 create_empty_bb, can_merge_blocks_p, merge_blocks,
13412 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
13413 Declare.
13414 (cfg_layout_rtl_cfg_hooks): Declare.
13415 * cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
13416 New functions.
13417 (canonicalize_loop_headers): Use new semantics of make_forwarder_block.
13418 (redirect_edge_with_latch_update): Removed.
13419 (make_forwarder_block): Moved to cfghooks.c, semantics changed.
13420 * cfgloopmanip.c (remove_bbs): Do not update dominators here.
13421 * cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
13422 rtl_delete_block, rtl_split_block, rtl_merge_blocks,
13423 tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
13424 cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
13425 cfghooks.c.
13426 (rtl_create_basic_block): Coding style fix.
13427 (rtl_tidy_fallthru_edge, rtl_move_block_after,
13428 rtl_make_forwarder_block): New functions.
13429 (update_cfg_after_block_merging): Removed.
13430 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
13431 * flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
13432 to dump_bb.
13433 * ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
13434 find_if_case_2): Don't update dominators.
13435 * timevar.def (TV_CFG_VERIFY): New.
13436 * loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
13437 * cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
13438 * cfgloopmanip.c (split_loop_bb): Don't update dominators.
13439 (remove_bbs): Don't call remove_bbs.
13440 (create_preheader): Use make_forwarder_block.
13441 (mfb_keep_just, mfb_update_loops): New static functions.
13442
3cea4788
KH
134432004-01-29 Kazu Hirata <kazu@cs.umass.edu>
13444
13445 * config/avr/avr.h: Remove target-independent comments about
13446 target macros.
13447
75e853f2 134482004-01-28 Daniel Berlin <dberlin@dberlin.org>
16dd5cfe 13449
75e853f2
DB
13450 * timevar.c (timevar_print): Mention when checking is enabled.
13451
7625e73d
GB
134522004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
13453
13454 * c-lex.c (c_lex): Rename to...
13455 (c_lex_with_flags): Add new parameter to get CPP flags.
13456 (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
13457 * c-pragma.h (c_lex_with_flags): Declare.
13458
dc7efe6e
KH
134592004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13460
13461 * config/mcore/mcore.c (mcore_external_libcall): Add a
13462 comment.
13463 (mcore_return_in_memory): Likewise.
13464
09a2b93a
KH
134652004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13466
13467 * config/mcore/mcore-protos.h: Remove the prototype for
13468 mcore_setup_incoming_varargs.
13469 * config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
13470 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
13471 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
13472 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13473 (TARGET_STRUCT_VALUE_RTX): Likewise.
13474 (TARGET_RETURN_IN_MEMORY): Likewise.
13475 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13476 (mcore_setup_incoming_varargs): Make it static. Receive the
13477 first argument by reference. Add argument second_time.
13478 (mcore_external_libcall): New.
13479 (mcore_return_in_memory): Likewise.
13480 * config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
13481 (PROMOTE_FUNCTION_RETURN): Likewise.
13482 (STRUCT_VALUE): Likewise.
13483 (RETURN_IN_MEMORY): Likewise.
13484 (SETUP_INCOMING_VARARGS): Likewise.
13485 (PROMOTE_PROTOTYPES): Likewise.
13486 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
13487
a7ed00da
KH
134882004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13489
13490 * config/m32r/m32r-protos.h: Remove the prototype for
13491 m32r_setup_incoming_varargs.
13492 * config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
13493 (TARGET_STRUCT_VALUE_RTX): Likewise.
13494 (TARGET_RETURN_IN_MEMORY): Likewise.
13495 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13496 (m32r_return_in_memory): New.
13497 (m32r_setup_incoming_varargs): Make it static.
13498 * config/m32r/m32r.h: Remove #undef of
13499 ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out
13500 definitions of PROMOTE_FUNCTION_ARGS and
13501 PROMOTE_FUNCTION_RETURN.
13502 (PROMOTE_PROTOTYPES): Remove.
13503 (RETURN_IN_MEMORY): Likewise.
13504 (STRUCT_VALUE): Likewise.
13505
8636be86
KH
135062004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13507
13508 * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
13509 (TARGET_STRUCT_VALUE_RTX): Likewise.
13510 (m68k_struct_value_rtx): Likewise.
13511 * config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
13512 STRUCT_VALUE_REGNUM.
13513 (PROMOTE_PROTOTYPES): Remove.
13514 * config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
13515 STRUCT_VALUE_REGNUM.
13516 * config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
13517 * config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
13518
f2f61ee7
KH
135192004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13520
13521 * config/stormy16/stormy16.c
13522 (TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
13523 TARGET_BUILD_BUILTIN_VA_LIST.
13524
fb7bc7fb
KH
135252004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13526
13527 * config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
13528 (TARGET_STRUCT_VALUE_RTX): Likewise.
13529 (TARGET_RETURN_IN_MEMORY): Likewise.
13530 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13531 (v850_return_in_memory): Likewise.
13532 (v850_setup_incoming_varargs): Likewise.
13533 * config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
13534 (SETUP_INCOMING_VARARGS): Likewise.
13535 (RETURN_IN_MEMORY): Likewise.
13536 (STRUCT_VALUE): Likewise.
13537
0fd818e7
KH
135382004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13539
13540 * config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
13541 (fr30_setup_incoming_varargs): Don't use
13542 STRICT_ARGUMENT_NAMING.
13543 * config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
13544 (STRICT_ARGUMENT_NAMING): Likewise.
13545
8ac411c7
KH
135462004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13547
13548 * config/frv/frv-protos.h: Remove the prototype for
13549 frv_expand_builtin_saveregs.
13550 * config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
13551 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
13552 (frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
13553 STRUCT_VALUE_REGNUM.
13554 (frv_expand_builtin_saveregs): Make it static.
13555 (frv_struct_value_rtx): New.
13556 * config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
13557
d173e685
JH
135582004-01-29 Jan Hubicka <jh@suse.cz>
13559
13560 PR c++/12850
13561 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
13562 initial pointers.
13563 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
13564 for functions that will be only inlined.
13565 (cgraph_mark_function_to_output): Likewise.
13566 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
13567 do not clear function body.
13568 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
13569 (tree_rest_of_compilation): Reorganize the logic releasing function
13570 body to use callgraph datastructure.
13571
f7a1010e
JDA
135722004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13573
13574 * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
13575 to register_operand.
13576
e7f47f83
ZW
135772004-01-28 Zack Weinberg <zack@codesourcery.com>
13578
13579 * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
13580 (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
13581 match_operand expressions so that all match_dups appear
13582 lexically after their corresponding match_operands.
13583
1807b726
KH
135842004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13585
13586 * config/h8300/h8300.c (WORD_REG_USED): Use
13587 HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
13588 (compute_saved_regs): Likewise.
13589 (h8300_expand_prologue): Likewise. Allocate locals after
13590 saving registers.
13591 (h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
13592 of FRAME_POINTER_REGNUM. Deallocate locals before saving
13593 registers.
13594 (h8300_initial_elimination_offset): Adjust for the new frame
13595 layout, which swaps flips the order of locals and saved
13596 registers.
13597 * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
13598 (HARD_FRAME_POINTER_REGNUM): New.
13599 (ELIMINABLE_REGS): Add an elimination rule from
13600 FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
13601 (REGISTER_NAMES): Add fp.
13602 * config/h8300/h8300.md (FP_REG): Change to 11.
13603 (HFP_REG): New.
13604
be2c39f8
KH
136052004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13606
13607 * genrecog.c (write_node): Remove a useless local variable.
13608
469ef4a3
ILT
136092004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
13610
13611 * Makefile.in (options.c options.h): Use stamp file s-options to
13612 avoid unnecessary rebuilds.
13613 (options.o): New target listing dependencies.
13614 (gtyp-gen.h): Use stamp file s-gtyp-gen.
13615 (STAGESTUFF): Add s-gtyp-gen.
13616
685fe032
RH
136172004-01-28 Richard Henderson <rth@redhat.com>
13618
13619 * ggc.h (ggc_free): Declare.
13620 * ggc-common.c (ggc_realloc): Use it.
13621 * ggc-page.c: Remove lots of inline markers.
13622 (globals): Add free_object_list.
13623 (ggc_alloc): Tidy.
13624 (ggc_free, validate_free_objects): New.
13625 (poison_pages): Provide default.
13626 (ggc_collect): Call validate_free_objects; emit markers to
13627 the debug file.
13628
2ffe0e02
ZW
136292004-01-28 Zack Weinberg <zack@codesourcery.com>
13630 Jim Wilson <wilson@specifixinc.com>
13631
13632 * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
13633 Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
13634 scratch pointer.
13635 (ia64_secondary_reload_class): Delete case GR_REGS.
13636 * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
13637 Do not allocate a scratch register.
13638 (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
13639
a544524a
JH
136402004-01-28 Jan Hubicka <jh@suse.cz>
13641
13642 * gcse.c (bypass_block): Prevent edges to be unified when we are
13643 about to emit compenstation code.
13644
1b8f8174
NC
136452004-01-28 Nick Clifton <nickc@redhat.com>
13646
13647 * config/arm/arm.c (arm_expand_builtin): Force second argument of
13648 the setcwx insn into a register.
13649
faceece3
RS
136502004-01-28 Richard Sandiford <rsandifo@redhat.com>
13651
13652 * config/fp-bit.c (pack_d): When using paired doubles to implement
13653 a long double, round the high part separately.
13654 (unpack_d): Fix the case in which the high part is a power of two
13655 and the low part is a nonzero value of the opposite sign.
13656
28b24176
KH
136572004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13658
13659 * config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
13660 (TARGET_STRUCT_VALUE_RTX): Likewise.
13661 (c4x_external_libcall): Likewise.
13662 (c4x_struct_value_rtx): Likewise.
13663 * config/c4x/c4x.h: Remove.
13664 (STRUCT_VALUE_REGNUM): Likewise.
13665 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
13666
9184f892
KH
136672004-01-28 Kazu Hirata <kazu@cs.umass.edu>
13668
13669 * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
13670 (TARGET_STRUCT_VALUE_RTX): Likewise.
13671 * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
13672 (STRUCT_VALUE): Likewise.
13673 (PROMOTE_PROTOTYPES): Likewise.
13674
4cce9dd8
RS
136752004-01-27 Roger Sayle <roger@eyesopen.com>
13676
13677 * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
13678 CONST_INT before using INTVAL.
13679
590fcf48
UW
136802004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
13681
13682 * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
13683 * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
13684 frame if !TARGET_BACKCHAIN.
2ffe0e02 13685 * config/s390/s390.md ("allocate_stack"): Use pattern only if
590fcf48
UW
13686 TARGET_BACKCHAIN.
13687 * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
13688
826b47cc
ZW
136892004-01-27 Zack Weinberg <zack@codesourcery.com>
13690
13691 * ia64.c (ia64_function_arg): When placing HFAs in integer
13692 registers, do not special case the mode used for complex
13693 types. Do not advance int_regs until the current register
13694 is full.
13695
83810fcb
RS
136962004-01-27 Richard Sandiford <rsandifo@redhat.com>
13697
13698 PR target/7297
13699 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
13700
2d9db8eb
DE
137012004-01-27 David Edelsohn <edelsohn@gnu.org>
13702
13703 * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
13704 slow, unaligned loads and stores while debugging. Fix formatting.
13705
39e453d7
DE
137062004-01-27 David Edelsohn <edelsohn@gnu.org>
13707
13708 * config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
13709 of computing wmode.
13710 (restore_stack_nonlocal): Same.
13711
6097b0c3 137122004-01-27 Devang Patel <dpatel@apple.com>
826b47cc 13713
6097b0c3 13714 * Makefile.in (dwarf2out.o): Depend on input.h
826b47cc 13715 * dbxout.c (dbx_debug_hooks): Add new empty hook for
6097b0c3
DP
13716 imported_module_or_decl.
13717 (xcoff_debug_hooks): Same.
13718 * sdbout.c (sdb_debug_hooks): Same.
13719 * vmsdbgout.c (vmsdbg_debug_hooks): Same.
13720 * debug.c (do_nothing_debug_hooks): Same.
13721 (debug_nothing_tree_tree): New function.
13722 * debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
13723 * dwarf2out.c: Include input.h.
13724 (dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
13725 (remove_child_TAG): New function.
13726 (dwarf_tag_name): Handle DW_TAG_imported_module.
13727 (gen_subprogram_die): Equate decl number to declaration die. Do not
13728 remove all children dies while reusing declaration die for definition.
13729 Instead, selectively remove only formal parameters.
13730 (gen_variable_die): Equate variable decl to declaration die.
13731 (gen_field_die): Equate field decl to line number.
13732 (force_namespace_die): Replace it with ...
13733 (force_decl_die): ... this.
13734 (force_type_die): New function.
13735 (setup_namespace_context): Replace use of force_namespace_die() with
13736 force_decl_die().
13737 (gen_namespace_die): Same.
13738 (dwarf2out_imported_module_or_decl): New function.
13739
e6aecf8e 137402004-01-27 Bob Wilson <bob.wilson@acm.org>
826b47cc 13741
e6aecf8e
BW
13742 * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
13743 on CQImode and CHImode incoming arguments in register a7.
13744 (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
13745 * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
13746 * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
13747 xtensa_copy_incoming_a7 before reload.
826b47cc 13748
02307675
R
137492004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
13750
13751 * coverage.c (get_coverage_counts): Give a different message
13752 if flag_guess_branch_prob is set.
13753 * predict.c (counts_to_freqs): Return an int.
13754 (estimate_bb_frequencies): If counts_to_freqs returns zero,
13755 calculate estimates.
13756
69a45040
KH
137572004-01-27 Kazu Hirata <kazu@cs.umass.edu>
13758
13759 * config/iq2000/iq2000-protos.h: Remove the prototype for
13760 iq2000_setup_incoming_varargs.
13761 * config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
13762 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
13763 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13764 (TARGET_STRUCT_VALUE_RTX): Likewise.
13765 (TARGET_RETURN_IN_MEMORY): Likewise.
13766 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13767 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
13768 (iq2000_return_in_memory): Likewise.
13769 (iq2000_setup_incoming_varargs): Make it static. Receive the
13770 first argument by reference.
13771 * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
13772 (PROMOTE_FUNCTION_RETURN): Likewise.
13773 (PROMOTE_PROTOTYPES): Likewise.
13774 (RETURN_IN_MEMORY): Likewise.
13775 (STRUCT_VALUE): Likewise.
13776 (SETUP_INCOMING_VARARGS): Likewise.
13777 (STRICT_ARGUMENT_NAMING): Likewise.
13778
9cdfc8e7
JM
137792004-01-24 James A. Morrison <ja2morri@uwaterloo.ca>
13780
826b47cc 13781 * fixinc/fixinc.c (test_test): Initialize res.
9cdfc8e7
JM
13782 (start_flexer): Initialize pz_cmd_save.
13783
60ffd2fe
ZW
137842004-01-27 Zack Weinberg <zack@codesourcery.com>
13785
13786 * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
13787 SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
13788
52ad4d7b
ZW
137892004-01-27 Zack Weinberg <zack@codesourcery.com>
13790
13791 PR 7198
13792 * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
13793 (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
13794 (*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
13795 Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
13796 Possibly rename pattern for consistency.
13797 Remove ??? comments suggesting that this be done.
13798 (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
13799 New patterns.
13800 (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
13801 (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
13802 (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
13803 (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
13804 Update to match.
13805
b034930f
ILT
138062004-01-27 Ian Lance Taylor <ian@wasabisystems.com>
13807
13808 * config/arm/arm.c (output_return_instruction): Only restore IP
13809 into SP if frame_pointer_needed.
13810
be446dfc
EB
138112004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
13812
13813 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
13814 for SCmode and DCmode if ARCH32.
13815 (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
13816 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
13817 if ARCH32.
13818 (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
13819 if ARCH32.
13820 (BASE_OUTGOING_VALUE_REG): Likewise.
13821
1b4bda70
EB
138222004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
13823
13824 PR target/10904
13825 PR target/13058
13826 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
13827 Forbid mode changes from SImode for lower FP regs if ARCH64.
13828
1194fc79
R
138292004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
13830
13831 * Makefile.in (bt-load.o): Depend on except.h.
13832 * bt-load.c (except.h): #include.
13833 (compute_defs_uses_and_gen): If insn at end of BB can throw
13834 within this function, consider registers used by it unavailable for
13835 btr migration.
13836 (move_btr_def): If insn at end of BB can throw, insert before rather
13837 than after.
13838
13839 * flags.h (flag_btr_bb_exclusive): Declare.
13840 * toplev.c (flag_btr_bb_exclusive): New variable.
13841 (f_options): Add btr-bb-exclusive.
13842 * bt-load.c (augment_live_range): Restore old behaviour if
13843 flag_btr_bb_exclusive is set.
13844 * common.opt: Add entry for -fbtr-bb-exclusive.
13845 * opts.c (common_handle_options): Same.
13846 * doc/invoke.texi: Document -fbtr-bb-exclusive.
52ad4d7b 13847
1194fc79
R
13848 * bt-load.c (btrs_live_at_end): New variable.
13849 (compute_defs_uses_and_gen): Compute its pointed-to array.
13850 (clear_btr_from_live_range, add_btr_to_live_range): Update it.
13851 (augment_live_range): When augmenting with a new dominator,
13852 use only its btrs_live_at_end set, but also add in the full set
13853 of the old dominator.
13854 (btr_def_live_range): Use btrs_live_at_end.
13855 (move_btr_def): Set other_btr_uses_before_def, and move new set
13856 to the end of the basic block, if appropriate.
13857 (migrate_btr_defs): Allocate and free btrs_live_at_end.
52ad4d7b 13858
1194fc79
R
13859 * bt-load.c (basic_block_freq): Remove outdated comment.
13860
895ea8f0
AM
138612004-01-27 Alan Modra <amodra@bigpond.net.au>
13862
13863 * config/rs6000/rs6000.h: Correct target_flags free bits comment.
13864 (PREDICATE_CODES): Remove duplicate.
13865 * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
13866 (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
13867 (MASK_PROFILE_KERNEL): Adjust define.
13868
4137ba7a
JJ
138692004-01-27 Jakub Jelinek <jakub@redhat.com>
13870
13871 * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
13872 of long string literals from 32 bytes to sizeof (void *) when !-Os
13873 and to 1 with -Os.
13874
a4bb41cc
KH
138752004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13876
13877 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
13878 constant addresses in the normal mode.
13879
1c62e7b2
KG
138802004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13881
13882 * system.h (CHAR_BITFIELD): Delete.
13883 (BOOL_BITFIELD): New.
13884 * c-decl.c (c_scope): Use BOOL_BITFIELD.
13885 * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
13886
96ab60fc
KH
138872004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13888
13889 * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
13890 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
13891 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13892 (TARGET_STRUCT_VALUE_RTX): Likewise.
13893 (TARGET_RETURN_IN_MEMORY): Likewise.
13894 (arc_return_in_memory): Likewise.
13895 * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
13896 (PROMOTE_FUNCTION_RETURN): Likewise.
13897 (RETURN_IN_MEMORY): Likewise.
13898 (STRUCT_VALUE): Likewise.
13899
6d4b0a5d
RH
139002004-01-26 Richard Henderson <rth@redhat.com>
13901
13902 * c-parse.in (extension): Use itype.
13903 (SAVE_EXT_FLAGS): Don't allocate a tree.
13904 (RESTORE_EXT_FLAGS): Don't read a tree.
13905
18874af6
JH
139062004-01-26 Jan Hubicka <jh@suse.cz>
13907
13908 * cselib.c (discard_useless_values): Clear out value pointer pointing
13909 to datastructure to be recycled.
13910
501f88de
JH
139112004-01-25 Jan Hubicka <jh@suse.cz>
13912
13913 * genextract.c (main): Do not output the memset when not checking.
13914
d6456562
KH
139152004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13916
13917 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
13918 switch statement instead of a chain of if statements.
13919
5cea9d5d
JL
139202004-01-26 Jeff Law <law@redhat.com>
13921
13922 * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
13923 acute accents for Petur Runolfsson's entry.
13924
04e9daaf
KH
139252004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13926
13927 * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
13928 (TARGET_RETURN_IN_MEMORY): Likewise.
13929 * config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
13930 (RETURN_IN_MEMORY): Likewise.
13931
40ca90bf 139322004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 13933
52ad4d7b
ZW
13934 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
13935 unaligned load/store into smaller loads and stores.
6c8066b9 13936
40ca90bf 139372004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 13938
52ad4d7b
ZW
13939 * function.c (assign_parms): Do not assign
13940 long long argument to memory in prologue if
13941 is it loaded into register.
6c8066b9 13942
40ca90bf 139432004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
13944
13945 PR middle-end/13779
52ad4d7b
ZW
13946 * expr.c (emit_group_load): split constant
13947 correctly into register components of PARALLEL insn.
6c8066b9 13948
40ca90bf 139492004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
13950
13951 * gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
13952 Use adjust_address_nv directly with appropriate mode.
13953 (restore_stack_nonlocal): Ditto.
13954
4c45af42
KH
139552004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13956
13957 * config/xtensa/xtensa-protos.h: Remove the prototype for
13958 xtensa_builtin_saveregs.
13959 * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
13960 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
13961 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13962 (TARGET_STRUCT_VALUE_RTX): Likewise.
13963 (TARGET_RETURN_IN_MEMORY): Likewise.
13964 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
13965 (xtensa_builtin_saveregs): Make it static.
13966 (xtensa_return_in_memory): New.
13967 * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
13968 (PROMOTE_FUNCTION_RETURN): Likewise.
13969 (PROMOTE_PROTOTYPES): Likewise.
13970 (STRUCT_VALUE): Likewise.
13971 (RETURN_IN_MEMORY): Likewise.
13972 (EXPAND_BUILTIN_SAVEREGS): Likewise.
13973
1cc9f5f5
KH
139742004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13975
13976 * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
13977 (arm_setup_incoming_varargs): Likewise.
13978 * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
13979
558d352a
KH
139802004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13981
13982 * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
13983 (cris_setup_incoming_varargs): Likewise.
13984 * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
13985
2001a5cf
KH
139862004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13987
13988 * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
13989 (ns32k_struct_value_rtx): Likewise.
13990 * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
13991 NS32K_STRUCT_VALUE_REGNUM.
13992
f9ba5949
KH
139932004-01-26 Kazu Hirata <kazu@cs.umass.edu>
13994
13995 * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
13996 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13997 (TARGET_STRUCT_VALUE_RTX): Likewise.
13998 (arm_struct_value_rtx): Likewise.
13999 * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
14000 (STRUCT_VALUE): Likewise.
14001 (STRUCT_VALUE_REGNUM): Likewise.
14002 (PROMOTE_PROTOTYPES): Likewise.
14003
351a758b
KH
140042004-01-26 Kazu Hirata <kazu@cs.umass.edu>
14005
14006 * config/ia64/ia64-protos.h: Remove the prototype for
14007 ia64_setup_incoming_varargs and ia64_return_in_memory.
14008 * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
14009 (TARGET_RETURN_IN_MEMORY): Likewise.
14010 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14011 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
14012 (ia64_setup_incoming_varargs): Adjust the arguments to meet
14013 the requirement of TARGET_SETUP_INCOMING_VARARGS.
14014 (ia64_return_in_memory): Make it static. Change the return
14015 type to bool from int. Add an argument.
14016 (ia64_struct_value_rtx): New.
14017 * config/ia64/ia64.h: Remove commented-out definitions of
14018 PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
14019 PROMOTE_PROTOTYPES.
14020 (RETURN_IN_MEMORY): Remove.
14021 (STRUCT_VALUE_REGNUM): Likewise.
14022 (STRICT_ARGUMENT_NAMING): Likewise.
14023
a7bba6ca
EB
140242004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
14025
14026 PR target/13666
14027 * config/sparc/sparc.c (function_arg_union_value): New function.
14028 (function_arg): Use it to deal with unions.
14029 (function_value): Likewise. Define 'regbase' only for ARCH64.
14030 Replace a conditional statement by a simpler one.
14031
6865f4cd
RS
140322004-01-26 Richard Sandiford <rsandifo@redhat.com>
14033
14034 * config/mips/mips.c (mips16_optimize_gp): Delete.
14035 (mips_reorg): Don't call it.
14036
2d6d0eb5
MH
140372004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14038
14039 * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
14040 (floatunsqihf2): Remove operand 6.
14041 (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
14042 fix patterns.
14043 (ldi_conditional, ldf_conditional): Validate operands.
14044
8f422192
MH
140452004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14046
14047 * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
14048 (HAVE_GAS_HIDDEN): Undefine as interim measure.
52ad4d7b 14049
9c3602e4
MH
140502004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14051
14052 * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
14053 memory references if TARGET_EXPOSE_LDP nonzero.
14054
a026b9d6
MH
140552004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14056
14057 * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
52ad4d7b 14058
b7bbb574
MH
140592004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14060
14061 * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
14062 invalid operand combinations.
14063
1e903c61
MH
140642004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14065
14066 * config/c4x/c4x.c (c4x_check_legit_addr): Rename to
14067 c4x_legitimate_address_p. Fix post_modify check.
b7bbb574 14068
1e903c61
MH
14069 * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
14070 * config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
52ad4d7b 14071
3f12cd9b
KH
140722004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14073
14074 * config/pa/pa-protos.h: Remove the prototype for
14075 hppa_builtin_saveregs. Add a prototype for
14076 pa_return_in_memory.
14077 * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
14078 (TARGET_PROMOTE_PROTOTYPES): Likewise.
14079 (TARGET_STRUCT_VALUE_RTX): Likewise.
14080 (TARGET_RETURN_IN_MEMORY): Likewise.
14081 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
14082 (pa_struct_value_rtx): Likewise.
14083 (pa_return_in_memory): Likewise.
14084 * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
14085 PA_STRUCT_VALUE_REGNUM.
14086 (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
14087 (EXPAND_BUILTIN_SAVEREGS): Remove.
14088 (PROMOTE_PROTOTYPES): Likewise.
14089 (PROMOTE_FUNCTION_RETURN): Likewise.
14090
f289e226
KH
140912004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14092
14093 * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
14094 (TARGET_STRUCT_VALUE_RTX): Likewise.
14095 (vax_struct_value_rtx): Likewise.
14096 * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
14097 VAX_STRUCT_VALUE_REGNUM.
14098 (PROMOTE_PROTOTYPES): Remove.
14099
12fb52cf 141002004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
52ad4d7b
ZW
14101
14102 * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
14103
fdcf1e1e
CD
141042003-04-25 Chris Demetriou <cgd@broadcom.com>
14105
14106 * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
14107 and MIPS64 have HI/LO interlocks. Update comment.
14108
7e43c821
KH
141092004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14110
14111 * config/stormy16/stormy16-protos.h: Remove the prototype for
14112 xstormy16_setup_incoming_varargs.
14113 * config/stormy16/stormy16.c
14114 (xstormy16_setup_incoming_varargs): Remove.
14115 (xstormy16_return_in_memory): New.
14116 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
14117 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
14118 (TARGET_PROMOTE_PROTOTYPES): Likewise.
14119 (TARGET_STRUCT_VALUE_RTX): Likewise.
14120 (TARGET_RETURN_IN_MEMORY): Likewise.
14121 * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
14122 (PROMOTE_FUNCTION_RETURN): Likewise
14123 (PROMOTE_PROTOTYPES): Likewise
14124 (RETURN_IN_MEMORY): Likewise
14125 (STRUCT_VALUE): Likewise
14126 (SETUP_INCOMING_VARARGS): Likewise
14127
62973ffe
RS
141282004-01-25 Richard Sandiford <rsandifo@redhat.com>
14129
14130 * config/mips/mips.c (mips_offset_within_object_p): New function.
14131 (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
14132 SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
14133 ABI has 64-bit pointers and the object file only allows 32-bit symbols.
14134
8e67da21
KH
141352004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14136
14137 * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
14138 (PROMOTE_FUNCTION_RETURN): Likewise.
14139
9024ea92
KH
141402004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14141
14142 * config/mn10300/mn10300-protos.h: Remove the prototype for
14143 mn10300_builtin_saveregs.
14144 * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
14145 (TARGET_STRUCT_VALUE_RTX): Likewise.
14146 (TARGET_RETURN_IN_MEMORY): Likewise.
14147 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
14148 (mn10300_return_in_memory): Likewise.
14149 (mn10300_builtin_saveregs): Make it static.
14150 * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
14151 (RETURN_IN_MEMORY): Likewise.
14152 (STRUCT_VALUE): Likewise.
14153 (EXPAND_BUILTIN_SAVEREGS): Likewise.
14154
20b4e8ae
EB
141552004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
14156
14157 PR bootstrap/13853
14158 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
14159
cff555dc
KH
141602004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14161
14162 * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
14163 using ccr.
14164
30f58b01
KH
141652004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14166
14167 * config/i860/i860-protos.h: Remove the prototype for
14168 i860_saveregs.
14169 * config/i860/i860.c (i860_saveregs): Make it static.
14170 (i860_struct_value_rtx): New.
14171 (TARGET_STRUCT_VALUE_RTX): Likewise.
14172 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
14173 * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
14174 I860_STRUCT_VALUE_REGNUM.
14175 (EXPAND_BUILTIN_SAVEREGS): Remove.
14176
341ec191
KH
141772004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14178
14179 * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
14180 (TARGET_RETURN_IN_MEMORY): Likewise.
14181 (m68hc11_struct_value_rtx): Likewise.
14182 (m68hc11_return_in_memory): Likewise.
14183 * config/m68hc11/m68hc11.h: Remove a commented-out definition
14184 of PROMOTE_PROTOTYPES.
14185 (RETURN_IN_MEMORY): Remove.
14186 (STRUCT_VALUE_REGNUM): Likewise.
14187
344caf1b
KH
141882004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14189
14190 * config/mmix/mmix-protos.h: Remove the prototype for
14191 mmix_setup_incoming_varargs.
14192 * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
14193 (TARGET_STRUCT_VALUE_RTX): Likewise.
14194 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14195 (mmix_setup_incoming_varargs): Make it static.
14196 (mmix_struct_value_rtx): New.
14197 * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
14198 Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
14199 (STRUCT_VALUE_REGNUM): Remove.
14200 (SETUP_INCOMING_VARARGS): Likewise.
14201
0c8da560
KH
142022004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14203
14204 * config/mips/mips-protos.h: Remove the prototypes for
14205 mips_setup_incoming_varargs and mips_return_in_memory.
14206 * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
14207 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
14208 (TARGET_PROMOTE_PROTOTYPES): Likewise.
14209 (TARGET_STRUCT_VALUE_RTX): Likewise.
14210 (TARGET_RETURN_IN_MEMORY): Likewise.
14211 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14212 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
14213 (mips_setup_incoming_varargs): Match the prototype for
14214 TARGET_SETUP_INCOMING_VARARGS.
14215 (mips_return_in_memory): Make it static. Add argument fntype.
14216 (mips_strict_argument_naming): New.
14217 * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
14218 (PROMOTE_FUNCTION_ARGS): Likewise.
14219 (PROMOTE_FUNCTION_RETURN): Likewise.
14220 (STRUCT_VALUE): Likewise.
14221 (RETURN_IN_MEMORY): Likewise.
14222 (SETUP_INCOMING_VARARGS): Likewise.
14223 (STRICT_ARGUMENT_NAMING): Likewise.
14224
49ca372c
KH
142252004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14226
14227 * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
14228 (TARGET_RETURN_IN_MEMORY): Likewise.
14229 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14230 (ip2k_return_in_memory): Likewise.
14231 (ip2k_setup_incoming_varargs): Likewise.
14232 * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
14233 (STRUCT_VALUE): Likewise.
14234 (STRUCT_VALUE_INCOMING): Likewise.
14235 (SETUP_INCOMING_VARARGS): Likewise.
14236
b069302c
KH
142372004-01-25 Kazu Hirata <kazu@cs.umass.edu>
14238
14239 * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
14240 (TARGET_RETURN_IN_MEMORY): Likewise.
14241 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
14242 (avr_return_in_memory): Remove.
14243 * config/avr/avr.h (RETURN_IN_MEMORY): Remove.
14244 (STRUCT_VALUE): Likewise.
14245 (STRUCT_VALUE_INCOMING): Likewise.
14246 (STRICT_ARGUMENT_NAMING): Likewise.
14247
e6d83128
JH
142482004-01-25 Jan Hubicka <jh@suse.cz>
14249
14250 * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
14251
bcbc6b7f
RS
142522004-01-25 Richard Sandiford <rsandifo@redhat.com>
14253
14254 * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
14255 (mips_regno_mode_ok_for_base_p): Declare.
14256 * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
14257 (FRAME_POINTER_REGNUM): Renumber to 78.
14258 (FIRST_PSEUDO_REGISTER): Update comment accordingly.
14259 (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
14260 (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
14261 (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
14262 (REG_MODE_OK_FOR_BASE_P): Likewise.
14263 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
14264 entry for 77 to "$arg" and entry for 78 to "$frame".
14265 (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
14266 (mips_reg_mode_ok_for_base_p): Remove.
14267 (mips_regno_mode_ok_for_base_p): New function, derived from old
14268 BASE_REG_P macro. Don't enforce the mips16 stack pointer
14269 restrictions unless we're being strict.
14270 (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
14271
1f52178b
KH
142722004-01-24 Kazu Hirata <kazu@cs.umass.edu>
14273
14274 * c-common.h: Fix comment typos.
14275 * c-decl.c: Likewise.
14276 * cgraphunit.c: Likewise.
14277 * combine.c: Likewise.
14278 * et-forest.c: Likewise.
14279 * flow.c: Likewise.
14280 * function.c: Likewise.
14281 * ifcvt.c: Likewise.
14282 * integrate.c: Likewise.
14283 * jump.c: Likewise.
14284 * postreload.c: Likewise.
14285 * varray.c: Likewise.
14286
56ae1316
KH
142872004-01-24 Kazu Hirata <kazu@cs.umass.edu>
14288
14289 * doc/frontends.texi: Update copyright.
14290 * doc/gcov.texi: Likewise.
14291 * doc/gty.texi: Likewise.
14292 * doc/sourcebuild.texi: Likewise.
14293 * doc/standards.texi: Likewise.
14294
b1dccb28
HB
142952004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
14296
14297 PR target/12978
14298 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
14299 Remove movstrqi_small because it conflicts with movstrqi_large.
14300
a2fef3a4
KH
143012004-01-24 Kazu Hirata <kazu@cs.umass.edu>
14302
14303 * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
14304 (TARGET_STRUCT_VALUE_RTX): Likewise.
14305 (cris_struct_value_rtx): Likewise.
14306 * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
14307 (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
14308 STRUCT_VALUE_REGNUM.
14309 (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
14310
1f44254c
ILT
143112004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
14312
14313 PR bootstrap/13848
14314 * cse.c (cse_cc_succs): Change the mode of the source expression
14315 as soon as decide we need a new mode. Don't permit changing modes
14316 if we found a match in a successor block.
14317 (cse_condition_code_reg): Save original mode of source expression
14318 so that we know whether we have to change the mode in other
14319 insns.
14320
fdb1c7b3
JH
143212004-01-24 Jan Hubicka <jh@suse.cz>
14322
14323 * emit-rtl.c (change_address, adjust_address_1, offset_address,
14324 widen_memory_access): Return early when there is nothing to change.
14325
5473cfa7
JJ
143262004-01-24 Jakub Jelinek <jakub@redhat.com>
14327
14328 * simplify-rtx.c (simplify_relational_operation): Don't
14329 simplify address == constant into address + -constant == 0.
14330
a5153056
KH
143312004-01-24 Kazu Hirata <kazu@cs.umass.edu>
14332
14333 * gcc.c (process_command): Don't internationalize the
14334 Copyright message.
14335 * mips-tfile.c (main): Likewise.
14336
174b84e5
AT
143372004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
14338
14339 * cse.c: (cse_cc_succs) Fix comparison warning.
14340
16537909
KH
143412004-01-24 Kazu Hirata <kazu@cs.umass.edu>
14342
14343 * config/h8300/h8300.md: Remove extraneous USE in expanders.
14344
d0022200
KH
143452004-01-24 Kazu Hirata <kazu@cs.umass.edu>
14346
14347 * config/h8300/h8300-protos.h: Provide prototypes for
14348 h8300_legitimate_constant_p and h8300_legitimate_address_p.
14349 * config/h8300/h8300.c (h8300_legitimate_constant_p): New.
14350 (h8300_rtx_ok_for_base_p): Likewise.
14351 (h8300_legitimate_address_p): Likewise.
14352 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
14353 h8300_legitimate_constant_p.
14354 (RTX_OK_FOR_BASE_P): Remove.
14355 (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
14356
ca04c5a9
KH
143572004-01-24 Kazu Hirata <kazu@cs.umass.edu>
14358
14359 * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
14360 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
14361 (REG_OK_FOR_INDEX_STRICT_P): Likewise.
14362 (REG_OK_FOR_BASE_STRICT_P): Likewise.
14363 (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
14364 (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
14365 (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
14366 (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
14367
3e2a0bd2
JH
143682004-01-24 Jan Hubicka <jh@suse.cz>
14369
14370 * cselib.c (remove_useless_values): Do not access discarded values.
14371
b1adf557
JM
143722004-01-24 Joseph S. Myers <jsm@polyomino.org.uk>
14373
14374 * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
14375 arrays.
14376
55cd4633
KH
143772004-01-23 Kazu Hirata <kazu@cs.umass.edu>
14378
14379 * recog.c: Fix a typo in copyright.
14380
bbf294a5
AP
143812004-01-23 Andrew Pinski <apinski@apple.com>
14382
14383 * config/rs6000/rs6000.md (call): Fix misappiled patch.
14384 (call_value): Likewise.
14385
a475bff7
RH
143862004-01-23 Richard Henderson <rth@redhat.com>
14387
52ad4d7b
ZW
14388 PR opt/12941
14389 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
14390 (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
14391 if SHIFT_COUNT_TRUNCATED is set.
a475bff7 14392
3712281f
BW
143932004-01-23 Bob Wilson <bob.wilson@acm.org>
14394
14395 * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
14396 separate real and imaginary parts.
14397 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
14398
99e5c00b
HP
143992004-01-23 Hartmut Penner <hpenner@de.ibm.com>
14400
14401 PR target/13674
14402 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
14403 loading into GPR.
14404
8b07361e
JH
144052004-01-23 Jan Hubicka <jh@suse.cz>
14406
a74ff877
JH
14407 * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
14408 change.
14409
8b07361e
JH
14410 * alloc-pool.c (align_four): Kill.
14411 (create_alloc_pool): Align size to eight.
14412 (free_alloc_pool, free_pool): Invalidate deallocated data.
14413
e129d93a
ILT
144142004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
14415
14416 PR gcc/1532
14417 * cse.c (cse_change_cc_mode): New static function.
14418 (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
14419 (cse_condition_code_reg): New function.
14420 * rtl.h (cse_condition_code_reg): Declare.
14421 * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
14422 * target.h (struct gcc_target): Add fixed_condition_code_regs and
14423 cc_modes_compatible.
14424 * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
14425 (TARGET_CC_MODES_COMPATIBLE): Define.
14426 (TARGET_INITIALIZER): Add new initializers.
14427 * targhooks.c (default_cc_modes_compatible): New function.
14428 * targhooks.c (default_cc_modes_compatible): Declare.
14429 * hooks.c (hook_bool_intp_intp_false): New function.
14430 * hooks.h (hook_bool_intp_intp_false): Declare.
14431 * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
14432 (TARGET_CC_MODES_COMPATIBLE): Define.
14433 (ix86_fixed_condition_code_regs): New static function.
14434 (ix86_cc_modes_compatible): Likewise.
14435 * doc/tm.texi (Condition Code): Document new hooks.
14436
f6c930a3
RO
144372004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14438
14439 * fixinc/inclhack.def (bad_lval): Renamed to ...
14440 (alpha_bad_lval): ... this.
14441 Removed file list.
14442 Restrict to alpha*-dec-osf*.
14443 * fixinc/fixincl.x: Regenerate.
14444 * fixinc/tests/base/dirent.h: Remove, moving test ...
14445 * fixinc/tests/base/testing.h: ... here, reflecting new name.
14446
04b8f97f
ZW
144472004-01-23 Zack Weinberg <zack@codesourcery.com>
14448
30cab869 14449 PR c/13814
04b8f97f
ZW
14450 * c-decl.c (diagnose_mismatched_decls): Also discard a
14451 built-in if we encounter an old-style definition with the
14452 same name.
14453
1ab1739c
JJ
144542004-01-23 Jakub Jelinek <jakub@redhat.com>
14455
14456 * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
14457 set to default{32,64}.
14458
02731d29
JJ
144592004-01-21 Jakub Jelinek <jakub@redhat.com>
14460
14461 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
14462 [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
14463
0a944ef6 144642004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
04b8f97f 14465 Olivier Hainque <hainque@act-europe.fr>
0a944ef6
EB
14466
14467 * fold-const.c (fold_binary_op_with_conditional_arg): Only
14468 build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
14469
0bfb39ef
DJ
144702004-01-23 Daniel Jacobowitz <drow@mvista.com>
14471
14472 * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
14473 size for minipool references.
14474
25348c94
RS
144752004-01-23 Roger Sayle <roger@eyesopen.com>
14476
14477 * real.c (real_floor, real_ceil): Tweak to allow input and output
14478 arguments to overlap.
14479 (real_round): New function to implement round(3m) semantics.
14480 * real.h (real_round): Prototype here.
14481 * builtins.c (fold_builtin_round): New function to constant fold
14482 round, roundf and roundl.
14483 (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
14484
0f2b41b2
AO
144852004-01-23 Alexandre Oliva <aoliva@redhat.com>
14486
14487 PR optimization/13819
04b8f97f 14488 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
0f2b41b2
AO
14489 introduced by 2004-01-20's Jan Hubicka's copy_insn change.
14490 (sh_handle_sp_switch_attribute): Remove warning.
14491
72613dfa
JH
144922003-11-30 Jan Hubicka <jh@suse.cz>
14493
14494 * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
14495
7be4d808
R
144962004-01-23 J"orn Rennecke <joern.rennecke@superh.com>
14497
14498 * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
14499 may or may not return non-NIL.
14500 * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
14501 check CANNOT_CHANGE_MODE_CLASS
14502
23bd7a93
JH
145032004-01-23 Jan Hubicka <jh@suse.cz>
14504
14505 * basic-block.h (PROP_POSTRELOAD): New macro.
14506 (CLEANUP_LOG_LINKS): New.
14507 * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
14508 * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
14509
14510 * cselib.c (value_pool): New.
14511 (new_cselib_val): Use pool.
14512 (cselib_init): Initialize value_pool
14513 (cselib_finish): Free pool.
14514
5c4f4b18
EB
145152004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
14516
14517 * config/sparc/sparc.c (scan_record_type): New function.
14518 (function_arg_slotno): Use it to determine which kinds of
14519 registers the record can be passed in.
14520
95f576c1
JM
145212004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca>
14522
14523 * config/pa/fptr.c: Fix old-style definition.
14524
4c442790
PB
145252004-01-22 Paolo Bonzini <bonzini@gnu.org>
14526
14527 PR optimization/13724
14528 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
14529 represents the zero bits produced by a ZERO_EXTEND operation.
14530
dc4bbaf7
RS
145312004-01-22 Roger Sayle <roger@eyesopen.com>
14532
14533 PR optimization/13821
14534 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
14535 correctly calculate the lowpart offset of the contracted subreg.
14536
b00567b0
ILT
145372004-01-22 Ian Lance Taylor <ian@wasabisystems.com>
14538
14539 * doc/invoke.texi (Optimize Options): Note that --param arguments
14540 are subject to change without notice.
14541
d0d969f8
RO
145422004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14543
14544 * config.gcc (mips-sgi-irix6*o32): Removed.
14545 * config/mips/iris6-o32-as.h: Likewise.
14546 * config/mips/iris6-o32-gas.h: Likewise.
14547 * config/mips/iris6-o32.h: Likewise.
14548
7cf240d5
JH
145492004-01-22 Jan Hubicka <jh@suse.cz>
14550
14551 * cfgcleanup.c (first_pass): New static variable.
14552 (try_forward_edges): Add work limiting check for threading.
14553 (try_crossjump_bb): Add work limiting check for crossjumping.
14554 (try_optimize_cfg): Maintain first pass variable.
14555
b16417d6
BW
145562004-01-22 Bob Wilson <bob.wilson@acm.org>
14557
14558 * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
14559 handles complex and vector modes.
14560
c8796654
KH
145612004-01-22 Kazu Hirata <kazu@cs.umass.edu>
14562
14563 * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
14564 (REG_OK_FOR_BASE_P_STRICT): Likewise.
14565 (STRICT): Likewise.
14566
10176e28
DJ
145672004-01-22 Daniel Jacobowitz <drow@mvista.com>
14568
14569 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
14570 (genrtl_for_stmt): Remove emit_nop calls.
14571
7bff636b
JDA
145722004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14573
14574 PR target/13713
14575 PR target/13324
14576 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
14577 movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
14578 clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
14579
980e61bb
DJ
145802004-01-22 Daniel Jacobowitz <drow@mvista.com>
14581
14582 * config/arm/arm.c: Include "debug.h".
04b8f97f 14583 (thumb_pushpop): Take two new arguments. Add some commentary.
980e61bb
DJ
14584 Output frame information when pushing.
14585 (thumb_exit, thumb_unexpanded_epilogue): Update calls to
14586 thumb_pushpop.
14587 (thumb_output_function_prologue): Likewise. Accumulate a CFA
14588 offset, and pass it to thumb_pushpop. Output CFI information.
14589 (thumb_expand_prologue): Add some frame-related markers and notes.
14590
0067d121
UW
145912004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
14592
14593 * config/s390/s390.c (s390_frame_info): Allow large frame sizes
14594 for TARGET_64BIT.
14595 (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
14596 * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
14597
bb51e270
RS
145982004-01-22 Roger Sayle <roger@eyesopen.com>
14599 Paolo Bonzini <bonzini@gnu.org>
14600
14601 * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
14602 (subreg_lsb): Change to call new subreg_lsb_1 helper function.
14603 * rtl.h (subreg_lsb_1): Prototype here.
14604 * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
14605 sign extensions.
14606
9c49953c
KH
146072004-01-22 Kazu Hirata <kazu@cs.umass.edu>
14608
14609 * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
14610 macro need not be defined if jump-tables should contain
14611 relative addresses only when -fPIC or -fPIC is in effect.
14612
c582d54a
JH
146132004-01-22 Jan Hubicka <jh@suse.cz>
14614
14615 * alias.c (reg_base_value): Turn into varray.
14616 (reg_base_value_size): Kill.
14617 (old_reg_base_value): New deletable varray.
14618 (alias_invariant_size): New variable.
14619 (REG_BASE_VALUE): Update to use varray.
14620 (find_base_value): Likewise.
14621 (record_set): Likewise.
14622 (record_base_value): Likewise.
14623 (memrefs_conflict_p): Likewise.
14624 (record_set): Likewise
14625 (record_base_value): Likewise.
14626 (memrefs_conflict_p): Use alias_invariant_size.
14627 (init_alias_analysis): Use varray; set alias_invariant_size;
14628 rescale other arrays to be sized by maxreg.
14629 (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
14630
8a98812c
EB
146312004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
14632
14633 * config/sparc/sparc.c (function_arg_slotno): Use
14634 FLOAT_TYPE_P to detect FP fields in structures.
14635 (function_arg_record_value_1): Likewise.
14636 (function_arg_record_value_2): Likewise.
14637
0de456a5
JH
146382004-01-22 Jan Hubicka <jh@suse.cz>
14639
14640 * function.c (allocate_struct_function): Do not initialize expr, emit
14641 and varasm.
14642 (prepare_function_start): Do it here.
14643 * c-parse.in (maybe_type_qual): Do not produce line number notes.
14644
1fd05073
EB
146452004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
14646
14647 PR target/13559
14648 * config/sparc/sparc.c (function_arg_record_value_3): Revert
14649 to 'word_mode' once the first slot has been filled.
14650
b2f24c85
EB
146512004-01-22 Olivier Hainque <hainque@act-europe.fr>
14652
14653 * config/sparc/sparc.c (function_arg_record_value_1): Fix
14654 computation of the number of integer registers required.
14655
b4e0dd8e
KH
146562004-01-21 Kazu Hirata <kazu@cs.umass.edu>
14657
14658 * config/i386/i386.md: Simplify certain comparisons of
14659 const_int.
14660
5cc5eddc
AP
146612004-01-21 Andrew Pinski <apinski@apple.com>
14662
14663 PR target/13785
04b8f97f 14664 * config/rs6000/rs6000.md (call_value): Force operand
5cc5eddc
AP
14665 1 not operand 0 into a register.
14666
711d8c91
KH
146672004-01-21 Kazu Hirata <kazu@cs.umass.edu>
14668
14669 * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
14670 unwind-dw2-fde.h: Update copyright.
14671
d1885651
JDA
146722004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14673
14674 * pa-protos.h: Update copyright.
14675 * pa.h: Likewise.
14676 * pa.md: Likewise.
14677
40ca90bf 146782004-01-21 Caroline Tice <ctice@apple.com>
ec13ba83 14679
6ed854f1 14680 PR target/12308
04b8f97f 14681 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
ec13ba83
CT
14682 flags register.
14683 (fix_truncdfdi2): Likewise.
14684 (fix_truncsfdi2): Likewise.
14685 (*fix_truncdi_1): Likewise.
14686 (fix_truncxfsi2): Likewise.
14687 (fix_truncdfsi2): Likewise.
14688 (fix_truncsfsi2): Likewise.
14689 (*fix_truncsi_1): Likewise.
14690 (fix_truncxfhi2): Likewise.
14691 (fix_truncdfhi2): Likewise.
14692 (fix_truncsfhi2): Likewise.
14693 (*fix_trunchi_1): Likewise.
04b8f97f 14694
d9221e01
KH
146952004-01-21 Kazu Hirata <kazu@cs.umass.edu>
14696
14697 * alias.c, basic-block.h, c-common.c, c-common.h,
14698 c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
14699 calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
14700 combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
14701 cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
14702 defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
14703 expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
14704 genautomata.c, genconditions.c, genemit.c, genflags.c,
14705 gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
14706 ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
14707 langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
14708 line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
14709 ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
14710 rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
14711 target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
14712 unwind.h, varray.c, varray.h: Update copyright.
14713
6d6b0a12
KH
147142004-01-21 Kazu Hirata <kazu@cs.umass.edu>
14715
14716 * config/h8300/coff.h: Update copyright.
14717 * config/h8300/elf.h: Likewise.
14718 * config/h8300/h8300-protos.h: Likewise.
14719 * config/h8300/h8300.c: Likewise.
14720 * config/h8300/h8300.h: Likewise.
14721 * config/h8300/h8300.md: Likewise.
14722
4b60eb3b
JDA
147232004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14724
14725 * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
14726 ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
14727 ultrix_unistd): New hacks.
14728 * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
14729 ULTRIX_CONST2_CHECK): Add checks.
14730 * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
14731 * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
14732 * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
14733 * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
14734 * fixinc/tests/base/locale.h: New file.
14735 * fixinc/fixincl.x: Rebuilt.
14736
bbf5a54d
AJ
147372004-01-21 Andreas Jaeger <aj@suse.de>
14738 Michael Matz <matz@suse.de>
14739
14740 * doc/extend.texi (Extended Asm): Clarify memory clobber.
14741
bfccaa6f
JJ
147422004-01-21 Jakub Jelinek <jakub@redhat.com>
14743
14744 * crtstuff.c (frame_dummy, __do_global_ctors_1): Call
14745 _Jv_RegisterClasses through a function pointer.
14746
c3cda381
FH
147472004-01-21 Falk Hueffner <falk@debian.org>
14748
14749 PR target/12898
14750 * config/alpha/alpha.c (alpha_emit_set_const_1): If
14751 no_new_pseudos, use gen_rtx_SET directly for SImode constants
14752 which need multiple instructions to emit.
14753
2a2001be
IK
147542004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
14755
14756 * config/m32r/m32r.h (CPP_SPEC): Define.
14757
1ef82ef2
ZW
147582004-01-21 Zack Weinberg <zack@codesourcery.com>
14759
14760 * c-decl.c (merge_decls): Kill different_binding_level and
14761 different_tu arguments; simplify throughout.
14762 (duplicate_decls): Likewise.
14763 (pushdecl, merge_translation_unit_decls): Update calls to
14764 duplicate_decls.
14765
13544b81
KG
147662004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14767
14768 * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
14769 $(SYSTEM_H).
14770 (print-rtl1.o): Depend on $(SYSTEM_H).
14771
a541f69d
KC
147722004-01-20 Kelley Cook <kcook@gcc.gnu.org>
14773
14774 PR bootstrap/12730
14775 * configure.ac: Delete definition and subsitution of docdir.
14776 Add info, man, srcman and srcinfo to target hooks. Create doc/
14777 directory.
14778 * configure: Regenerate.
14779 * Makefile.in: Don't substitute docdir and delete all references
14780 throughout.
14781 (MAKEINFOFLAGS): Define.
14782 (stmp-docobjdir): Delete.
14783 (INFOFILES, MANFILES): Define.
14784 (info): Call lang.info, srcinfo and lang.srcinfo.
14785 (generated-manpages): Call lang.man, srcman and lang.srcman.
14786 (srcinfo, srcman): New rules to copy back files to source directory.
14787 (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
14788 (install-man): Revamp rule.
14789 (clean): Update dvi directory.
14790 (distclean): Delete TAGS from front end directorys.
14791 (maintainer-clean): Delete all document files in source directory.
14792
14793 objc/Make-lang.in (objc.man, objc.info): Dummy entries.
14794 (objc.srcman, objc.srcinfo): Likewise.
14795
793146e3
BK
147962004-01-20 Bruce Korb <bkorb@gnu.org>
14797
14798 * fixinc/inclhack.def(math_exception): bypass only for glibc.
14799 (matherr_decl): rename & relocate as exception_structure.
14800 This fix must precede the math_exception fix.
14801
fdb33708
RS
148022004-01-20 Roger Sayle <roger@eyesopen.com>
14803
14804 * fold-const.c (fold_convert): Rename to fold_convert_const.
14805 (fold_convert_const): Change arguments to take a tree_code,
14806 a type and the operand/expression to be converted. Return
14807 NULL_TREE if no simplification is possible. Add support for
14808 FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
14809 (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
14810 Adjust call to fold_convert to match new fold_convert_const.
14811 Avoid modifying the tree passed to fold in-place.
14812
34c80057
AM
148132004-01-21 Alan Modra <amodra@bigpond.net.au>
14814
14815 * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
14816 * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
14817 * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
14818
a4295210
JDA
148192004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14820
14821 * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
14822 * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
14823 Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
14824 (emit_move_sequence): Check scratch_reg first in various if statements.
14825 Extend source simplification to handle all 64-bit CONST_INTs.
14826 (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
14827 frame size.
14828 (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
14829 frame offset calculations.
14830 * pa.h (NEW_HP_ASSEMBLER): Add comment.
14831 (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
14832 LEGITIMATE_64BIT_CONST_INT_P): Define.
14833 (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
14834 any CONST_INT as legitimate during and after reload.
14835 (VAL_32_BITS_P, INT_32_BITS): Define.
14836 (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
14837
3e89ed8d
JH
148382004-01-20 Jan Hubicka <jh@suse.cz>
14839
14840 * emit-rtl.c (verify_rtx_sharing, copy_insn_1,
14841 emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
14842 containing hard regs are shared.
14843 (gen_hard_reg_clobber): New function.
14844 (hard_reg_clobbers): New array.
14845 * genemit.c (gen_exp): Use gen_hard_reg_clobber.
14846 (copy_rtx): Do not copy clobbers containing hard regs.
14847 * rtl.h (gen_hard_reg_clobber): Declare.
14848
9b57b627
JH
148492004-01-20 Jan Hubicka <jh@suse.cz>
14850
14851 * varray.c: Include hashtab.h
14852 (varray_descriptor): New structure.
14853 (hash_descriptor, eq_descriptor, varray_descriptor,
14854 print_statistics): New static functions
14855 (varray_init, varray_grow): Update statistics
14856 (dump_varray_statistics): New function.
14857 * varray.h (dump_varray_statistics): Declare.
14858 * toplev.c (finalize): Call it.
14859 * Makefile.in (varray.o): Add dependency.
14860
6a59927d
JH
148612004-01-20 Jan Hubicka <jh@suse.cz>
14862
14863 * cselib.c: Include alloc-pool.h
14864 (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
14865 (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
14866 (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
14867 unchain_one_elt_loc_list_pool, unchain_one_value,
14868 new_cselib_val): Simplify using allocpool.
14869 (cselib_init): Initialize allocpools.
14870 (cselib_finish): Finish allocpools.
14871 * Makefile.in (cselib.o): Depend on alloc-pool.h
14872
3c53850d
RS
148732004-01-20 Richard Sandiford <rsandifo@redhat.com>
14874
14875 * config/mips/mips.c (mips_load_call_address): Make the call insn
14876 use $gp if it could be calling a lazy binding stub.
14877
101ad855
KH
148782004-01-20 Kazu Hirata <kazu@cs.umass.edu>
14879
14880 * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
14881 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
14882 (TARGET_STRUCT_VALUE_RTX): Likewise.
14883 * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
14884 (PROMOTE_FUNCTION_RETURN): Remove.
14885 (STRUCT_VALUE): Remove.
14886
c099ba28
DC
148872004-01-20 Denis Chertykov <denisc@overta.ru>
14888
03b82c00 14889 PR bootstrap/13735
c099ba28
DC
14890 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
14891 register as pointer after reload.
14892
c8b6fae3
ZD
148932004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14894
14895 PR optimization/12440
14896 * loop.c: Include ggc.h.
14897 (loop_optimize): Run garbage collector between optimization of loops.
14898 * Makefile.in (loop.o): Add GGC_H dependency.
14899
c72d6c26
HP
149002004-01-20 Hartmut Penner <hpenner@de.ibm.com>
14901
1ef82ef2 14902 * gcc/config/rs6000/rs6000.c (function_arg) Handle
c72d6c26
HP
14903 vector register special in function without prototype.
14904 (function_arg_advance): Vector parameters get always
14905 GPRs allocated for the linux64 target.
14906
91e736f9
KI
149072004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
14908
14909 * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
14910 not TARGET_M32RX_MASK.
14911
4043d6fb
EB
149122004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
14913
14914 PR target/13557
14915 * config/sparc/sparc.c (function_arg): Reorder the cases.
14916
50f59cd7
PB
149172004-01-19 Per Bothner <per@bothner.com>
14918
14919 Move cpp_reader's line_maps field to a shared global.
14920 * cpphash.h (cpp_reader): Rename line_maps field to line_table
14921 and change the type to a pointer rather than a struct.
14922 * cppinit.c (cpp_push_main_field): Adjust accordingly.
14923 * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
14924 Likewise.
14925 * cppfiles.c (validate_pch): Likewise.
14926 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
14927 Likewise.
14928 * cpperror.c (print_location): Likewise.
14929 * cpplib.h (cpp_create_reader): New line_maps pointer parameter.
14930 * cppinit.c (cpp_create_reader): Handle new parameter.
14931 (cpp_destroy): Don't free line_maps - that's no longer our job.
14932 * input.h (line_table): New variable.
14933 * toplev.c (line_table): Declare variable.
14934 (general_init): Initialize line_table.
14935 * c-opts.c (c_common_init_options): Pass line_table to
14936 cpp_create_reader.
14937 * fix-header.c (read_scan_file): New local variable line_table.
14938 Initialize, and pass it to cpp_create_reader.
14939 * Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
14940 (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
14941
149422004-01-19 Per Bothner <per@bothner.com>
9132fbb7
PB
14943
14944 Implement a cache for linemap_lookup.
14945 * line-map.h (struct_line_maps): Add cache field.
14946 * line-map.c (linemap_init): Zero cache field.
14947 (linemap_add): Set cache field to offset of newly allocated map.
14948 (linemap_lookup): Use and set cache field.
14949
26d107db
KK
149502004-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
14951
14952 PR optimization/13567
14953 * cse.c (cse_basic_block): Call cse_insn with a non-null
14954 libcall_insn for the last SET insn of a no-confilict block.
14955
e165d61b
KC
149562004-01-20 Kelley Cook <kcook@gcc.gnu.org>
14957
1ef82ef2 14958 * Makefile.in (target_noncanonical, program_transform_name): Use
e165d61b 14959 immediate define instead of deferred.
1ef82ef2 14960 (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
e165d61b
KC
14961 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
14962 GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
14963 deferred backquote.
14964
53cd18ec
JM
149652004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
14966
14967 * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
14968 true unconditionally.
14969 * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
14970 Remove.
14971 (build_unary_op, build_modify_expr): Don't handle extended
14972 lvalues.
14973 (build_component_ref, build_conditional_expr): Call non_lvalue
14974 instead of pedantic_non_lvalue.
14975 (build_c_cast): Don't condition use of non_lvalue on pedantic.
14976 * fold-const.c (fold): Don't check pedantic directly for
14977 COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
14978 passed to pedantic_non_lvalue.
14979 * doc/extend.texi: Remove documentation of extended lvalues.
14980
9ce79a7a
RS
149812004-01-19 Roger Sayle <roger@eyesopen.com>
14982
14983 PR optimization/5263
14984 * simplify-rtx.c (associative_constant_p): Delete.
14985 (simplify_associative_operation): Rewrite to linearize terms, and
14986 attempt to simplify new term against both left and right subterms.
14987 (simplify_binary_operation): Call swap_commutative_operands_p on
14988 op0 and op1, not trueop0 and trueop1. Move the initialization of
14989 trueop0 and trueop1 down to where first needed.
14990 (simplify_relational_operation): Likewise.
14991 * rtlanal.c (commutative_operand_precedence): Also order constant
14992 operands using avoid_constant_pool_reference.
14993
62e88293
RH
149942004-01-19 Richard Henderson <rth@redhat.com>
14995
1ef82ef2
ZW
14996 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
14997 don't check memory mode.
14998 (unaligned_memory_operand): Likewise.
14999 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
15000 abort for op0 not MEM.
62e88293 15001
1ef82ef2
ZW
15002 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
15003 is not a reg, copy to a scratch first.
15004 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
15005 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
15006 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
15007 (reload_inqi, reload_inhi): Fix mode of op0.
15008 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
15009 reload_outhi_help): Likewise. Use define_insn_and_split.
62e88293 15010
1ef82ef2
ZW
15011 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
15012 as well as $29 dead.
62e88293 15013
2f3321ca
EB
150142004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
15015
15016 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
15017 "tls_object" for thread-local objects.
15018 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
15019 "#tls" for thread-local sections.
15020 * configure.ac (thread-local checks): Specify --fatal-warnings in
15021 every binutils-specific checks. For sparc*-*-*, test whether the
15022 OS is Solaris and the tools are native and act accordingly.
15023 * configure: Rebuild.
15024
6fe37bc4
JL
150252004-01-19 Jeff Law <law@redhat.com>
15026
15027 * contrib.texi: Update Paolo Carlini's entry. New entries for
15028 Jerry Quinn and Petur Runolfsson.
1ef82ef2 15029
68f48f39
RS
150302004-01-19 Roger Sayle <roger@eyesopen.com>
15031
15032 * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
15033 size, don't use the larger zero-extending loads.
15034
5c9948f4
RH
150352004-01-19 Richard Henderson <rth@redhat.com>
15036
15037 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
15038 * alpha.md (UNSPEC_NT_LDA): Remove.
15039 (UNSPEC_CVTLQ, cvtlq): New.
15040 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
15041 (extendsidi2_fix): Remove.
15042 (extendsidi2 splitter): Use cvtlq.
15043 (extendsidi2 fp peepholes): Remove.
15044 (cvtql): Use SFmode instead of SImode.
15045 (fix_trunc?fsi): Update to match.
15046 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
15047 (movsi): Rename from movsi_nofix, remove f alternatives.
15048 (movsi_nt_vms): Similarly.
15049 (movsi_fix, movsi_nt_vms_fix): Remove.
15050 (nt_lda): Remove.
15051 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
15052
9b0436b7
JH
150532004-01-19 Jan Hubicka <jh@suse.cz>
15054
15055 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
15056 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
15057 list.
15058 (cgraph_remove_unreachable_nodes): New function
15059 (cgraph_decide_inlining_of_small_function): Fix pasto.
15060 (cgraph_decide_inlining_incrementally): Fix pasto.
15061 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
15062
8c80adb7
SB
150632004-01-19 Steven Bosscher <stevenb@suse.de>
15064
15065 * gengtype.c (header_file): Make it static.
15066 (write_types_process_field, write_enum_defn): Minor whitespace fixes.
15067 * gengtype.h (header_file): No longer extern.
15068
0ede749d
KH
150692004-01-18 Kazu Hirata <kazu@cs.umass.edu>
15070
15071 * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
15072 * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
15073 * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
15074
41cbdcd0
KH
150752004-01-18 Kazu Hirata <kazu@cs.umass.edu>
15076
15077 * stmt.c (HAVE_casesi): Define it not already defined.
15078 (HAVE_tablejump): Likewise.
15079 (expand_end_case_type): Resort to the binary tree method if
15080 neither casesi or tablejump is available.
15081
5cfc5f84
DJ
150822004-01-18 Daniel Jacobowitz <drow@mvista.com>
15083
15084 * final.c (final_scan_insn): Make non-static again.
15085 * output.h (final_scan_insn): Re-add prototype.
15086 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
15087 to final_scan_insn call.
15088 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
15089 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
15090 * config/pa/pa.c (output_lbranch, output_call): Likewise.
15091 * config/sh/sh.c (print_slot): Likewise.
15092 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
15093 (output_sibcall, sparc_flat_function_epilogue): Likewise.
15094
3348b696
JH
150952004-01-18 Jan Hubicka <jh@suse.cz>
15096
15097 * basic-block.h (try_redirect_by_replacing_jump): Declare.
15098 * cfgcleanup.c (try_optimize_cfg): Use it.
15099 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
15100 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
15101 Kill hack.
15102 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
15103
15104 Revert:
15105 2004-01-16 Geoffrey Keating <geoffk@apple.com>
15106
15107 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
15108 even after reload, just don't remove the actual jump tables.
15109
72d89d35
KH
151102004-01-18 Kazu Hirata <kazu@cs.umass.edu>
15111
15112 * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
15113
07b50aad
KH
151142004-01-18 Kazu Hirata <kazu@cs.umass.edu>
15115
15116 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
15117 the size of a pointer in bytes.
15118
6e46ab25
RS
151192004-01-18 Roger Sayle <roger@eyesopen.com>
15120
15121 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
15122 live "next" variable, which could lead to an infinite loop.
15123
3ce5437a
AP
151242004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
15125
b4be9e8e
AP
15126 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
15127 block.
15128
3ce5437a
AP
15129 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
15130 Check for NULL in the chain and remove repeated code.
15131
20c361f3
JH
151322004-01-18 Jan Hubicka <jh@suse.cz>
15133
15134 * coverage.c (checksum_string): Rename to ...
15135 (coverage_checksum_string): ... this one, Use crc32_string; recognize
15136 names containing random number and zero the number out in order to get
15137 match.
15138
cacb5bba
RS
151392004-01-18 Richard Sandiford <rsandifo@redhat.com>
15140
15141 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
15142
daf2f129
JM
151432004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
15144
15145 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
15146 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
15147 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
15148 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
15149 doc/trouble.texi: Remove trailing whitespace.
15150
b85aed9e
RS
151512004-01-18 Richard Sandiford <rsandifo@redhat.com>
15152
1c0f3fac 15153 PR target/7618
b85aed9e
RS
15154 * config/mips/mips.c: Include cfglayout.h.
15155 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
15156 (mips_unspec_offset_high): Add temporary register argument.
15157 (mips_load_call_address): New function, split out from...
15158 (mips_expand_call): ...here.
15159 (mips_output_cplocal): New function.
15160 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
15161 (mips_emit_loadgp): New function, split out from...
15162 (mips_expand_prologue): ...here.
15163 (mips_output_mi_thunk): New function.
15164
e5d95b69
BI
151652004-01-17 Bernardo Innocenti <bernie@develer.com>
15166
15167 * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
15168 mcpu32): Remove redundant checks for implied target predefines.
15169
19d66194
AP
151702004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
15171
15172 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
15173 Return type is unsigned int not int.
15174 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
15175 Likewise.
15176
95fef11f
JM
151772004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
15178
15179 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
15180 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
15181 "GNU/Linux" and "Microsoft Windows" terminology.
15182
3ab51846
JM
151832004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
15184
15185 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
15186 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
15187 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
15188 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
15189 @smallexample instead of @example.
15190
cfbed37c
ZL
151912004-01-17 Ziemowit Laski <zlaski@apple.com>
15192
15193 * objc/objc-act.c (build_objc_method_call): Use target
1ef82ef2 15194 hooks instead of macros to determine if ..._stret
cfbed37c
ZL
15195 dispatchers should be used (NeXT runtime only).
15196
bef5105b
RS
151972004-01-17 Roger Sayle <roger@eyesopen.com>
15198
15199 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
15200 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
15201
dd3adcf8
DJ
152022004-01-17 Daniel Jacobowitz <drow@mvista.com>
15203
15204 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
15205 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
15206 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
15207 macros.
15208 * reload1.c (emit_reload_insns): Use them.
15209 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
15210 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
15211 for NULL PATTERN.
15212
589fe865
DJ
152132004-01-17 Daniel Jacobowitz <drow@mvista.com>
15214
15215 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
15216 (final_scan_insn): Update to take an additional SEEN argument. Emit
15217 a line note after the prologue. Make static.
15218 (line_note_exists): Remove.
15219 (final): Don't initialize line_note_exists. Update call to
15220 final_scan_insn.
15221 * output.h (final_scan_insn): Remove prologue.
15222 * function.c (set_insn_locators): Update comment.
15223 (thread_prologue_and_epilogue_insns): Add a comment.
15224
95727fb8
AP
152252004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
15226
15227 PR target/10781
15228 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
15229 Prototype.
15230 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
15231 New function.
15232 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
15233 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
15234 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
15235
f2e16e97
JH
152362004-01-17 Jan Hubicka <jh@suse.cz>
15237
26c0473b
JH
15238 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
15239 commit.
15240
f2e16e97
JH
15241 * toplev.c (HAVE_conditional_execution): Provide default.
15242 (rest_of_handle_reorder_blocks): For conditional_execution target
15243 update liveness once after all transformations
15244 (rest_of_compilation): Do crossjumping before ce3.
15245
f103e34d
GK
152462004-01-17 Geoffrey Keating <geoffk@apple.com>
15247
15248 * alias.c (new_alias_set): Mark last_alias_set for PCH.
15249 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
15250 for PCH.
15251 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
15252 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
15253 (get_TOC_alias_set): Mark 'set' for PCH.
15254
ab530ea8
GK
152552004-01-16 Geoffrey Keating <geoffk@apple.com>
15256
15257 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
15258 even after reload, just don't remove the actual jump tables.
15259
53dd3be3 152602004-01-17 J. Brobecker <brobecker@gnat.com>
e7d23ce3
B
15261
15262 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
15263 Remove checks for is_ada() and TREE_UNSIGNED.
15264 (subrange_type_die): Emit a byte_size attribute if the subrange
15265 type size is different from the base type size.
15266 (modified_type_die): Replace call to is_ada_subrange_type() by
15267 call to is_subrange_type().
15268
8582b18a
AP
152692004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
15270
15271 * config/sh/sh.c: Include ggc.h.
15272
73e61092
GK
152732004-01-16 Geoffrey Keating <geoffk@apple.com>
15274
15275 * Makefile.in (MD5_H): New.
15276 (fold-const.o): Depend on md5.h.
15277 (dwarf2out.o): Likewise.
15278 (cppfiles.o): Likewise.
15279 * cppfiles.c: Include md5.h.
15280 (should_stack_file): Check against list read from PCH file.
15281 (struct pchf_data): New.
15282 (pchf): New variable.
15283 (struct pchf_adder_info): New.
15284 (pchf_adder): New.
15285 (pchf_save_compare): New.
15286 (_cpp_save_file_entries): New.
15287 (_cpp_read_file_entries): New.
15288 (struct pchf_compare_data): New.
15289 (pchf_compare): New.
15290 (check_file_against_entries): New.
15291 * cpphash.h (_cpp_save_file_entries): Prototype.
15292 (_cpp_read_file_entries): Prototype.
15293 * cpppch.c (cpp_write_pch_state): Write the list of headers.
15294 (cpp_read_state): Read the list of headers.
15295
3b75d796
JH
152962004-01-17 Jan Hubicka <jh@suse.cz>
15297
15298 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
15299 builtin_expect specially.
15300 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
15301 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
15302 * invoke.texi (max-inline-insns-single): Set to 100.
15303 (large-function-insns): Set to 3000.
15304
cf551fba
EC
153052004-01-16 Eric Christopher <echristo@redhat.com>
15306 Chandrakala Chavva <cchavva@redhat.com>
15307
15308 * cppcharset.c (one_iso88591_to_utf8): New function.
15309 (convert_iso88591_utf8): Ditto. Use.
15310 (conversion_tab): Use.
15311 (_cpp_input_to_utf8): New function.
15312 (_cpp_init_iconv_buffer): Ditto.
15313 (_cpp_close_iconv_buffer): Ditto.
15314 * cpphash.h: Prototype new functions.
15315 (cpp_buffer): Add input_cset_desc.
15316 * cppinit.c: Add input_charset default.
15317 * cpplib.c (cpp_push_buffer): Support init and
15318 close of iconv.
15319 * cpplib.h (cpp_options): Add input_charset.
15320
510d1e80
KH
153212004-01-16 Kazu Hirata <kazu@cs.umass.edu>
15322
15323 * system.h (ASM_OUTPUT_SECTION_NAME): Poison.
15324 * config/alpha/unicosmk.h: Remove a commented-out definition
15325 of ASM_OUTPUT_SECTION_NAME.
15326 * config/stormy16/stormy16.h: Likewise.
15327
fb2c2608
RO
153282004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15329
15330 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
15331 (alpha___extern_prefix_sys_stat): ... this.
15332 Apply to <sys/mount.h>, too.
15333 Tweak to match more variations.
15334 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
15335
15336 * fixinc/inclhack.def (alpha___extern_prefix,
cf551fba 15337 alpha___extern_prefix_standards): New hacks to obey
c53bdcf5 15338 __PRAGMA_EXTERN_PREFIX.
fb2c2608
RO
15339 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
15340 test.
15341 * fixinc/tests/base/standards.h: Likewise.
cf551fba 15342
fb2c2608
RO
15343 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
15344 variations.
15345 New testcase.
15346 * fixinc/tests/base/pthread.h: Handle it.
cf551fba 15347
fb2c2608
RO
15348 * fixincl/inclhack.def (bad_lval): Sort file list.
15349 Add many missing files up to Tru64 UNIX V5.1B.
15350 * gcc/fixinc/tests/base/libgen.h: Renamed to ...
15351 * gcc/fixinc/tests/base/dirent.h: ... this to match new file list
15352 order.
cf551fba 15353
fb2c2608
RO
15354 * fixinc/fixincl.x: Regenerate.
15355
79a76d65
MM
153562004-01-16 Mark Mitchell <mark@codesourcery.com>
15357
15358 * version.c (version_string): Change to 3.5.0.
15359 * doc/include/gcc-common.texi (version-GCC): Likewise.
15360
965514bd
JH
153612004-01-16 Jan Hubicka <jh@suse.cz>
15362
15363 * i386.md (load_tp_di): Fix pasto.
15364
15365 PR opt/13608
15366 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
15367
15368 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
15369 pp_c_character_constant, pp_c_floating_constant,
15370 pp_c_additive_expression, pp_c_shift_expression,
15371 pp_c_equality_expression, pp_c_and_expression,
15372 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
15373 pp_c_logical_and_expression): Remove inline modifier.
15374 * dwarf2out.c (get_AT): Likewise.
15375 * et-forest.c (et_splay): Likewise.
15376 * ra.h (ra_alloc, ra_calloc): Likewise
15377
87b483a1
KH
153782004-01-16 Kazu Hirata <kazu@cs.umass.edu>
15379
15380 * config/frv/frv-protos.h: Fix comment formatting.
15381 * config/frv/frv.c: Likewise.
15382 * config/frv/frv.h: Likewise.
15383 * config/frv/frv.md: Likewise.
15384 * config/frv/frvbegin.c: Likewise.
15385 * config/frv/frvend.c: Likewise.
15386
16201823
KH
153872004-01-16 Kazu Hirata <kazu@cs.umass.edu>
15388
15389 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
15390 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
15391 LINKER_DOES_NOT_WORK_WITH_DWARF2.
15392 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
15393
115df136
R
153942004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
15395
5ed5fd90 15396 PR 11864
115df136
R
15397 * postreload.c (reload_cse_simplify_operands): Don't remove
15398 implicit extension from LOAD_EXTEND_OP.
15399
e24e7211
JH
154002004-01-16 Jan Hubicka <jh@suse.cz>
15401
8c80adb7
SB
15402 PR opt/11350
15403 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
e24e7211 15404 after reload.
8c80adb7
SB
15405 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
15406 rtl_try_redirect_by_replacing_branch): Likewise.
e24e7211 15407
b0fadda7
GK
154082004-01-15 Geoffrey Keating <geoffk@apple.com>
15409
b604074c
GK
15410 PR pch/13689
15411 * alias.c (struct alias_set_entry): Mark for GC.
15412 (alias_sets): Make static, mark for GC.
15413 (record_alias_subset): Use GC to allocate alias structures.
15414 * varray.c (element): Make generic varrays GCed.
15415
a6dd4094
GK
15416 PR pch/13361
15417 * c-typeck.c (constructor_asmspec): Delete.
15418 (struct initializer_stack): Delete field 'asmspec'.
15419 (start_init): Delete saving of asmspec.
15420 (finish_init): Don't update constructor_asmspec.
15421 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
15422 * stmt.c (expand_asm): Duplicate strings from tree.
15423 (expand_asm_operands): Likewise.
15424 * tree.c (tree_size): Update computation of size of STRING_CST.
15425 (make_node): Don't make STRING_CST nodes.
15426 (build_string): Allocate string with tree node.
15427 * tree.def (STRING_CST): Update comment.
15428 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
15429 (tree_string): Place contents of string in tree node.
15430 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
15431 from tree.
15432
b0fadda7
GK
15433 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
15434 altivec operands.
15435
e0a21ab9
KH
154362004-01-15 Kazu Hirata <kazu@cs.umass.edu>
15437
15438 * c-common.h: Fix comment formatting.
15439 * c-cppbuiltin.c: Likewise.
15440 * c-pragma.c: Likewise.
15441 * calls.c: Likewise.
15442 * collect2.c: Likewise.
15443 * cppcharset.c: Likewise.
15444 * cpptrad.c: Likewise.
15445 * dbxout.c: Likewise.
15446 * defaults.h: Likewise.
15447 * dwarf2out.c: Likewise.
15448 * fold-const.c: Likewise.
15449 * genautomata.c: Likewise.
15450 * genconditions.c: Likewise.
15451 * genflags.c: Likewise.
15452 * gengtype.c: Likewise.
15453 * integrate.c: Likewise.
15454 * loop.c: Likewise.
15455 * predict.c: Likewise.
15456 * sdbout.c: Likewise.
15457
f57fc998
ZW
154582004-01-15 Zack Weinberg <zack@codesourcery.com>
15459
15460 * config/ia64/ia64.md (*movti_internal): C output template
15461 extracted to ia64.c.
15462 (*movti_internal_reg): Delete.
15463 (reload_inti, reload_outti): Use the correct mode on operand 2
15464 in the first place, don't fix it up in the output template.
15465 (movtf, reload_ointf, reload_outtf): New expanders.
15466 (*movtf_internal): New define_insn_and_split.
15467 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
15468 make static; do not hand TFmode CONST_DOUBLEs to split_double.
15469 (ia64_split_tmode_move): New function, body mostly pulled
15470 from ia64.md:*movti_internal.
15471 (ia64_function_arg_words): New function, extracted common
15472 logic from ia64_function_arg et seq.
15473 (ia64_function_arg_offset): Likewise. Handle correctly the
15474 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
15475 (ia64_function_arg, ia64_function_arg_partial_nregs)
15476 (ia64_function_arg_advance): Use ia64_function_arg_words and
15477 ia64_function_arg_offset.
15478 (ia64_function_value): TCmode does not go in float regs.
15479 (ia64_secondary_reload_class): Also handle TFmode.
15480 * config/ia64/ia64-protos.h: Remove prototype for
15481 ia64_split_timode; add prototype for ia64_split_tmode_move.
15482
e9c4897b
KC
154832004-01-15 Kelley Cook <kcook@gcc.gnu.org>
15484
15485 * Makefile.in (MAINT): Make it an immediate assignment.
15486
5a67e41f
KH
154872004-01-15 Kazu Hirata <kazu@cs.umass.edu>
15488
15489 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
15490
340f6494
KH
154912004-01-15 Kazu Hirata <kazu@cs.umass.edu>
15492
15493 * config/h8300/coff.h: Replace Hitachi with Renesas.
15494 * config/h8300/elf.h: Likewise.
15495 * config/h8300/h8300-protos.h: Likewise.
15496 * config/h8300/h8300.c: Likewise.
15497 * config/h8300/h8300.h: Likewise.
15498 * config/h8300/h8300.md: Likewise.
15499 * config/h8300/lib1funcs.asm: Likewise.
15500
c954844a
AP
155012004-01-15 Andrew Pinski <apinski@apple.com>
15502
15503 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
15504 around it.
15505
34bf1fe3
KH
155062004-01-15 Kazu Hirata <kazu@cs.umass.edu>
15507
15508 * config/h8300/h8300.c (h8300_return_in_memory): New.
15509 (TARGET_STRUCT_VALUE_RTX): Likewise.
15510 (TARGET_RETURN_IN_MEMORY): Likewise.
15511 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
15512 (RETURN_IN_MEMORY): Likewise.
15513
e5396f90
RE
155142004-01-15 Richard Earnshaw <rearnsha@arm.com>
15515
15516 PR optimization/13375
15517 * gcse.c (handle_avail_expr): Just return if the source is not a
15518 single set.
15519
46049cff
RE
155202004-01-15 Richard Earnshaw <rearnsha@arm.com>
15521 Daniel Jacobowitz <drow@mvista.com>
15522
15523 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
15524 (EQUIV): Define.
15525 (ARM_FUNC_ALIAS): New macro.
15526 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
15527 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
15528
2fabc3d6
JDA
155292004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15530
15531 PR optimization/12372
15532 * calls.c (expand_call): Add call_fusage data for stack arguments in
15533 constant calls.
15534
3c9eb5f4
AM
155352004-01-15 Alan Modra <amodra@bigpond.net.au>
15536
15537 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
15538 (rs6000_elf_declare_function_name): Formatting.
15539 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
15540
c7866154
JH
155412004-01-15 Jan Hubicka <jh@suse.cz>
15542
15543 PR bootstrap/13692
15544 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
15545 previous patch.
15546
ad5d827d
RH
155472004-01-15 Richard Henderson <rth@redhat.com>
15548
15549 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
15550 integer regs of the same call-savedness.
15551
66e07510
AS
155522004-01-15 Andreas Schwab <schwab@suse.de>
15553
15554 PR bootstrap/13562
15555 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
15556 status for NOTB/NOTW/NEGW methods.
15557
7c12f388
KH
155582004-01-15 Kazu Hirata <kazu@cs.umass.edu>
15559
15560 * doc/invoke.texi: Update dump file names. Fix a typo.
15561
4a7bb550
KH
155622004-01-15 Kazu Hirata <kazu@cs.umass.edu>
15563
15564 * builtins.c (expand_builtin_va_end): Don't use
15565 EXPAND_BUILTIN_VA_END.
15566 * system.h (EXPAND_BUILTIN_VA_END): Poison.
15567 * config/d30v/d30v.h: Remove a commented-out definition of
15568 EXPAND_BUILTIN_VA_END.
15569 * config/stormy16/stormy16.h: Likewise.
15570
430fff02
KH
155712004-01-15 Kazu Hirata <kazu@cs.umass.edu>
15572
15573 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
15574 * targhooks.c (default_struct_value_rtx): Don't use
15575 STRUCT_VALUE_INCOMING_REGNUM.
15576
03787dfd
KC
155772004-01-15 Kelley Cook <kcook@gcc.gnu.org>
15578
15579 PR bootstrap/12744
15580 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
15581 GENINSRC and not parsedir. Define srcextra as a langhook.
15582 * configure: Regenerate.
15583 * Makefile.in: Suppress default .l.c rule. Don't substitute
15584 parsedir and delete all references throughout. Conditionally define
15585 rule for srcextra dependent on GENINSRC.
15586 (stmp-docobjdir): Delete.
15587 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
15588 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
15589 and gengtype-yacc.h back to source directory.
15590 (maintainer-clean): Delete all parse files in source directory.
15591 (distclean): Delete generated files.
15592
15593 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
15594 (objc-parse.c, objc-parse.y): Don't use parsedir.
15595 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
15596 directory if requested.
15597 (po-generated): Don't use parsedir.
15598 (objc.maintainer-clean): Delete above files from source directory.
15599
04ab46a4
KH
156002004-01-14 Kazu Hirata <kazu@cs.umass.edu>
15601
15602 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
15603
d624465f
KH
156042004-01-14 Kazu Hirata <kazu@cs.umass.edu>
15605
15606 * doc/tm.texi: Replace RETURN_IN_MEMORY with
15607 TARGET_RETURN_IN_MEMORY.
15608
e1be55d0
JH
156092004-01-15 Jan Hubicka <jh@suse.cz>
15610
15611 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
15612 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
15613 functions accepting SSE arguments
15614 (function_arg): Warn only when asked to warn.
15615 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
15616
f560bf91
JM
156172004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
15618
15619 * c-parse.in (stmts_and_decls): Make label at end of compound
15620 statement a hard error.
15621
95c755e9
JH
156222004-01-14 Jan Hubicka <jh@suse.cz>
15623
15624 * cgraph.c (create_edge): Use local.redefined_extern_inline.
15625 * cgraph.h (cgraph_local_info): Sort fields by size; add
15626 redefined_extern_inline
15627 (cgraph_global_info): Sort fields by size.
15628 (cgraph_node): Likewise.
15629 * cgraphunit.c (cgraph_finalize_function): Se
15630 local.redefined_extern_inline on redefinition.
15631 (cgraph_analyze_function): Use it; fix formating.
15632
84568e14
JH
156332004-01-14 Jan Hubicka <jh@suse.cz>
15634
15635 PR c++/10776
15636 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
15637 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
15638 bitmaps
15639 (cache_size): New variable
15640 (add_dependence): Update use; canonize early memory locations
15641 (sched_analyze_1): Likewise.
15642 (sched_analyze_2): Likewise.
15643 (init_dependency_caches): Initialize bitmaps.
15644 (free_dependency_caches): Free bitmaps
15645
3a179764
KH
156462004-01-14 Kazu Hirata <kazu@cs.umass.edu>
15647
15648 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
15649 targetm.calls.strict_argument_naming().
15650 * target.h: Likewise.
15651
b298f00f
RH
156522004-01-14 Richard Henderson <rth@redhat.com>
15653
15654 PR debug/13231
15655 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
15656 instructions.
15657
1bddbeb4
RH
156582004-01-14 Richard Henderson <rth@redhat.com>
15659
15660 PR c++/12491
15661 * except.c (struct eh_region): Add u.fixup.resolved.
15662 (resolve_one_fixup_region): Split out from ...
15663 (resolve_fixup_regions): ... here.
15664
4eb31d4f
KH
156652004-01-14 Kazu Hirata <kazu@cs.umass.edu>
15666
15667 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
15668
16f425fc
KH
156692004-01-14 Kazu Hirata <kazu@cs.umass.edu>
15670
15671 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
15672 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
15673 (STRUCT_VALUE): Remove.
15674
4850c982 156752004-01-14 Steven Bosscher <stevenb@suse.de>
616f6d84
SB
15676
15677 * system.h: Poison PROMOTED_MODE
15678 * integrate.c (expand_inline_function): Don't mention the
15679 PROMOTED_MODE.
15680 * loop.c (update_giv_derive): Same.
15681 * tree.h (DECL_RTL): Same.
15682
f9654065
R
156832004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
15684
15685 PR target/9365
15686 * sh.c (gen_block_redirect): Add special handling of RETURN.
15687 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
15688 far branch target (i.e. it's a return).
15689
abbe8578
KH
156902004-01-14 Kazu Hirata <kazu@cs.umass.edu>
15691
15692 * regrename.c (find_oldest_value_reg): Fix a warning.
15693
192c8d78
RE
156942004-01-14 Richard Earnshaw <rearnsha@arm.com>
15695
15696 PR bootstrap/12527
15697 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
15698 Move linux-gas.h and linux-elf.h before aout.h.
15699 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
15700 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
15701
e512ab39
KH
157022004-01-14 Kazu Hirata <kazu@cs.umass.edu>
15703
15704 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
15705 (CONST_INT, VOIDmode, ...).
15706
684bcee5
RE
157072004-01-14 Richard Earnshaw <rearnsha@arm.com>
15708
f57fc998 15709 * regrename.c (find_oldest_value_reg): If the replacement uses
684bcee5
RE
15710 multiple hard registers, check that all of them are in CLASS.
15711
e7844ffb
JH
157122004-01-14 Jan Hubicka <jh@suse.cz>
15713
15714 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
15715 impossible.
15716
73e232f0
KC
157172004-01-14 Kelley Cook <kcook@gcc.gnu.org>
15718
15719 * Makefile.in: Define MAINT from --enable-maintainer-mode.
15720
4d774ff8
HP
157212004-01-14 Hartmut Penner <hpenner@de.ibm.com>
15722
15723 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
15724 Calculate always vrsave_mask if TARGET_ALTIVEC.
15725 (rs6000_emit_prologue): Emit code for vrsave
15726 only if TARGET_ALTIVEC_VRSAVE.
15727 (rs6000_emit_epilogue): Likewise.
15728
fa1090f5
EB
157292004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
15730
15731 * config/sparc/sparc.md (tie_add32): Fix pasto.
15732 (tie_add64): Likewise.
15733
79551a56
ZD
157342004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15735
15736 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
15737
5b8d96f1
KH
157382004-01-13 Kazu Hirata <kazu@cs.umass.edu>
15739
15740 * config/iq2000/iq2000-protos.h: Fix comment formatting.
15741 * config/iq2000/iq2000.c: Likewise.
15742 * config/iq2000/iq2000.md: Likewise.
15743
b98d154e
B
157442004-01-14 J. Brobecker <brobecker@gnat.com>
15745
15746 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
15747 (subrange_type_die): Add handle for nameless subrange types.
15748
1a793acf
KH
157492004-01-13 Kazu Hirata <kazu@cs.umass.edu>
15750
15751 * config/h8300/h8300-protos.h: Replace do_movsi with
15752 h8300_expand_movsi.
15753 * config/h8300/h8300.c (do_movsi): Change to
15754 h8300_expand_movsi.
15755 * config/h8300/h8300.md (movsi): Replace do_movsi with
15756 h8300_expand_movsi.
15757 (movsf): Likewise.
15758
81ad9ded
KH
157592004-01-13 Kazu Hirata <kazu@cs.umass.edu>
15760
15761 * config/h8300/h8300.c (dosize): Change to
15762 h8300_emit_stack_adjustment. Update callers.
15763
3f0063ab
KH
157642004-01-13 Kazu Hirata <kazu@cs.umass.edu>
15765
15766 * config/h8300/h8300.md (movstrictqi): Add an alternative with
15767 the source being post_inc. Tighten the predicate for the
15768 destination to register_operand.
15769 (movstricthi): Likewise.
15770
abf843c4
KH
157712004-01-13 Kazu Hirata <kazu@cs.umass.edu>
15772
15773 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
15774 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
15775 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
15776
4b589eab
JH
157772004-01-14 Jan Hubicka <jh@suse.cz>
15778
d34cb6a1
JH
15779 Partial fix PR c++/12850
15780 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
15781 at zero nest level.
4b589eab 15782
9ff2cabc
BI
157832004-01-13 Bernardo Innocenti <bernie@develer.com>
15784
15785 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
f57fc998 15786 pseudo-register.
9ff2cabc 15787
a4d8ec65
DP
157882004-01-13 Devang Patel <dpatel@apple.com
15789
15790 PR debug/7078
f57fc998 15791 * dbxout.c (dbxout_symbol_name): Emit mangled names for
a4d8ec65 15792 NAMESPACE_DECL memebers.
f57fc998 15793
bfaba7a9
AP
157942004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
15795
15796 PR c++/12709
15797 * c-common.c (finish_fname_decls): Use the chain only if the
15798 tree is an expr_stmt.
15799
dfa849f3
VM
158002004-01-13 Vladimir Makarov <vmakarov@redhat.com>
15801
616f6d84 15802 * rtl.def: Add comment about new option in automata_option.
f57fc998 15803
dfa849f3
VM
15804 * genautomata.c (PROGRESS_OPTION): New macro.
15805 (progress_flag): New global variable.
15806 (gen_automata_option): Process `progress'.
15807 (transform_insn_regexps, check_unit_distributions_to_automata,
15808 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
15809 expand_automata, write_automata): Print about the progress only if
15810 progress_flag. Remove fflush.
15811 (initiate_automaton_gen): Process command line flag `-progress'.
15812
15813 * doc/md.texi: Describe the new option.
f57fc998 15814
9405162e
ZD
158152004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15816
15817 * cfg.c (dump_bb): Dump entry edges.
15818
f954388e
RE
158192004-01-13 Richard Earnshaw <rearnsha@arm.com>
15820
f57fc998 15821 * arm.c (thumb_legitimate_address_p): Only allow constant pool
f954388e
RE
15822 references from SImode.
15823 * arm.md (thumb_movhi_insn): Don't allow minipool references.
15824
0fe7abcc
KH
158252004-01-13 Kazu Hirata <kazu@cs.umass.edu>
15826
15827 * system.h (TEXT_SECTION): Poison.
15828 * varasm.c (text_section): Don't use TEXT_SECTION.
15829 * config/sh/sh.c (sh_file_start): Fix a comment typo.
15830 * doc/tm.texi (TEXT_SECTION): Remove.
15831
fdb07791
BE
158322004-01-13 Ben Elliston <bje@wasabisystems.com>
15833
15834 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
15835
56067bbe
JW
158362004-01-12 James E Wilson <wilson@specifixinc.com>
15837
15838 * unwind-libunwind.c: Delete.
15839
bc298aa7
ZW
158402004-01-12 Zack Weinberg <zack@codesourcery.com>
15841
15842 PR 13656
15843 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
15844 oldtype is set, set *newtypep or *oldtypep too. Do not set
15845 them at the very end.
15846 (validate_proto_after_old_defn): Restructure for comprehensibility;
15847 make error messages clearer.
15848
12a08b40
ZW
158492004-01-12 Zack Weinberg <zack@codesourcery.com>
15850
15851 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
15852 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
15853 * varray.c: No need to prototype error.
15854 (varray_check_failed): Wrap long string onto two lines.
15855 (varray_underflow): New function.
15856
faed5cc3
SB
158572004-01-13 Steven Bosscher <stevenb@suse.de>
15858
15859 PR c++/13376
15860 * function.h (struct function): Kill `name' field.
15861 (current_function_name): Make it an extern function.
15862 * function.c (current_function_name): New function.
15863 * graph.c: Update all uses of current_function_name.
15864 * gcse.c: Likewise.
15865 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
15866 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
15867 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
15868 instead of a strcmp with "main".
15869
2d327012
JH
158702004-01-13 Jan Hubicka <jh@suse.cz>
15871
0bb03c11
JH
15872 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
15873
2d327012
JH
15874 * cgraphunit.c (cgraph_optimize_function): Always do
15875 optimize_inline_calls when there is always_inline callee.
15876 (cgraph_decide_inlining): Fix formating.
15877 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
15878 functions.
15879 (expand_call_inline): Likewise.
15880 * toplev.h (sorry): Fix prototype.
15881
04cc79bb
RS
158822004-01-12 Roger Sayle <roger@eyesopen.com>
15883
15884 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
15885 conditional jumps that drop through to unconditional jumps or the
15886 end of the sequence.
15887
3416f5c2
JH
158882004-01-13 Jan Hubicka <jh@suse.cz>
15889
15890 * alias.c (new_alias_set): Construct the alias_set varray.
15891 (init_alias_once): Don't do it here.
15892
f92ed976
ME
158932004-01-12 Marc Espie <espie@openbsd.org>
15894
15895 * system.h: handle YYBYACC like YYBISON.
15896
ff2aaa93
JM
158972004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
15898
15899 PR target/10847
15900 * config.gcc: No longer includes conflicting header sparc/sol2.h when
15901 building on sparc64-*-openbsd*.
15902
c5ff9123
AP
159032004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
15904
15905 PR debug/13539
15906 * dbxout.c (dbxout_type): Protected inheritance is not
15907 private but protected.
15908
3cd2a183
RS
159092004-01-12 Richard Sandiford <rsandifo@redhat.com>
15910
15911 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
15912
5c881655
KH
159132004-01-12 Kazu Hirata <kazu@cs.umass.edu>
15914
15915 PR optimization/12508.
15916 * combine.c (try_combine): Remove a dead set in a parallel
15917 even if its destination is a subreg.
15918
15919 Revert:
15920 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
15921 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
15922 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
15923
a42f8ae7 159242004-01-12 Geoffrey Keating <geoffk@apple.com>
affad9a4
GK
15925
15926 * real.c: Update copyright date.
15927 * emit-rtl.c: Likewise.
15928 * rtl.h: Likewise.
15929 * dwarf2out.c: Likewise.
15930 * config/rs6000/darwin-ldouble.c: Likewise.
15931 * config/rs6000/rs6000.md: Likewise.
15932
4274207b
DE
159332004-01-12 David Edelsohn <edelsohn@gnu.org>
15934
15935 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
15936 TFmode to SImode libfuncs.
15937
06e4eab5
RS
159382004-01-12 Roger Sayle <roger@eyesopen.com>
15939
15940 PR middle-end/11397
15941 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
15942
432f982f
JH
159432004-01-12 Jan Hubicka <jh@suse.cz>
15944
15945 PR opt/12826
15946 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
15947 stored.
15948
15949 PR opt/12863
15950 * cfgcleanup.c (label_is_jump_target_p): Move to...
15951 * rtlanal.c (label_is_jump_target_p): ... here.
15952 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
15953 edges unified with branch edges.
15954
8064d930
RE
159552004-01-12 Richard Earnshaw <rearnsha@arm.com>
15956
15957 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
15958 high word of an integral CONST_DOUBLE.
15959
1c48f4be 159602004-01-12 Paul Brook <paul@codesourcery.com>
0786ca87
PB
15961
15962 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
15963
68d2b0bb 159642004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
07d7d2f4
R
15965
15966 PR target/13585
15967 * sh-protos.h (check_use_sfunc_addr): Declare.
15968 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
15969 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
15970
c65ecebc
JH
159712004-01-12 Jan Hubicka <jh@suse.cz>
15972
9ddb66ca
JH
15973 * alias.c: Invlude varray.h
15974 (alias_sets): Turn into varray.
15975 (get_alias_set_entry): Use VARRAY; mark inline.
15976 (mems_in_disjoint_alias_sets_p): Mark inline.
15977 (record_alias_subset): Use varray.
15978 (init_alias_once): Initialize varray.
15979 (new_alias_set): Grow array.
15980 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
15981
159822004-01-12 Jan Hubicka <jh@suse.cz>
15983
15984 Partial fix for PR opt/10776 II
c65ecebc
JH
15985 * cselib.c: Include params.h
15986 (cselib_invalidate_mem): Limit amount of nonconflicting memory
15987 locations.
15988 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
15989 * Makefile.in (cselib.o): Depend on params.h
15990
c0657872
RS
159912004-01-12 Richard Sandiford <rsandifo@redhat.com>
15992
15993 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
15994 simplify_unary_operation if the operand has a known mode.
15995
d2288d5d
HP
159962004-01-12 Hartmut Penner <hpenner@de.ibm.com>
15997
b40ee5d6 15998 PR target/13534
d2288d5d
HP
15999 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
16000 predicate to handle 'ld' conform addresses.
16001 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
16002 contraint.
16003 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
16004 are memory contraints.
12a08b40 16005 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
d2288d5d 16006 New prototype.
12a08b40 16007 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
d2288d5d
HP
16008 Change 'o' to 'Y' constraint.
16009 (*movdf_softfloat64): Ditto.
12a08b40 16010
c223cf45
BI
160112004-01-12 Bernardo Innocenti <bernie@develer.com>
16012
16013 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
16014 brace-enclosed syntax in all C output statements.
16015
5fc921c1
DE
160162004-01-12 David Edelsohn <edelsohn@gnu.org>
16017
16018 PR target/13401
16019 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
16020 Objective-C language type value is 14.
16021
48568ec7
MO
160222004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
16023
16024 PR c/12148
16025 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
16026 `int' in a number of places to make sure we always have a SImode
16027 and not a HImode. Add a 'L' suffix to a number of constants.
16028
124c9423
JDA
160292004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16030
16031 * pa.c: Don't include obstack.h.
16032
16033 * pa.md: Correct constraint in pattern for loading PIC label address.
16034
c924f70c
KK
160352004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
16036
16037 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
16038 before defining.
16039
53efeb8d
SB
160402004-01-11 Steven Bosscher <stevenb@suse.de>
16041
1eee14b9 16042 PR fortran/9972
53efeb8d
SB
16043 * toplev.c (rest_of_handle_inline): Also consider functions
16044 for deferral if the language is GNU F77.
16045
d4968a11
ZW
160462004-01-11 Zack Weinberg <zack@codesourcery.com>
16047
16048 * c-decl.c (diagnose_arglist_conflict): Add missing space to
16049 diagnostic messages.
16050
1759c760
JJ
160512004-01-11 Jakub Jelinek <jakub@redhat.com>
16052
16053 PR middle-end/13392
16054 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
16055 to drop through label. Don't fall back to SCC even when conditional
16056 jump has not been found.
16057
0bcf8261
JH
160582004-01-11 Jan Hubicka <jh@suse.cz>
16059
fb544601
JH
16060 * invoke.texi: Fix syntax error in previous patch.
16061
0bcf8261
JH
16062 Partial fix for PR opt/10776
16063 * Makefile.in (reload.o): Include param.h
16064 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
16065 * reload.c: Include params.h.
16066 (find_equiv_reg): Work limiting check.
16067 * invoke.texi: Document.
16068
bd9131c0
RS
160692004-01-11 Richard Sandiford <rsandifo@redhat.com>
16070
16071 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
16072 out-of-bounds accesses to string constants. Simplify mips16
16073 case accordingly.
16074
6732ee60
RS
160752004-01-11 Richard Sandiford <rsandifo@redhat.com>
16076
16077 PR optimization/13469
16078 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
16079 reload_cse_regs (-fnon-call-exceptions only).
16080
14bc6742
KH
160812004-01-11 Kazu Hirata <kazu@cs.umass.edu>
16082
16083 * config/mcore/lib1.asm: Fix comment formatting.
16084 * config/mcore/mcore-elf.h: Likewise.
16085 * config/mcore/mcore.c: Likewise.
16086 * config/mcore/mcore.h: Likewise.
16087 * config/mcore/mcore.md: Likewise.
16088
3c6e6fbf
ZW
160892004-01-10 Zack Weinberg <zack@codesourcery.com>
16090
16091 * c-decl.c (duplicate_decls): Break apart into...
16092 (diagnose_arglist_conflict, validate_proto_after_old_defn)
16093 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
16094 ... these new functions. Restructure for comprehensibility.
16095 Remove various archaic special cases. Always report the
16096 location of the previous declaration when a diagnostic is issued.
16097 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
16098 (match_builtin_function_types): Delete unnecessary forward declaration.
16099
1e8dcb41
ZW
161002004-01-10 Zack Weinberg <zack@codesourcery.com>
16101
16102 * genautomata.c (make_automaton, NDFA_to_DFA):
16103 Print progress bars with '.' characters instead of '*'.
16104 (build_automaton): Change notes to match.
16105
a2ab189d
KH
161062004-01-10 Kazu Hirata <kazu@cs.umass.edu>
16107
16108 * config/m32r/m32r.md: Use define_constants for unspec and
16109 unspec_volatile.
16110
cf7cb67e
JH
161112004-01-10 Jan Hubicka <jh@suse.cz>
16112
c8fdcfae 16113 PR opt/11635
cf7cb67e
JH
16114 * expr.c (expand_expr_real): More curefully expand union casts.
16115
0574200c
KH
161162004-01-10 Kazu Hirata <kazu@cs.umass.edu>
16117
16118 * config/m32r/m32r.md (flush_icache): Use 1 for
16119 unspec_volatile.
16120
a2a0019f
DE
161212004-01-10 David Edelsohn <edelsohn@gnu.org>
16122 James E Wilson <wilson@specifixinc.com>
16123
16124 PR debug/12860
16125 * dbxout.c (dbxout_symbol): Remove initialization of
16126 current_sym_code, current_sym_value, and current_sym_addr.
16127 (dbxout_symbol_location): Same.
16128 (dbxout_prepare_symbol): Zero current_sym_code,
16129 current_sym_value, and current_sym_addr.
16130
bb3f5384
RS
161312004-01-10 Richard Sandiford <rsandifo@redhat.com>
16132
16133 * tree.c (get_unwidened): Reorder conditions so that the null pointer
16134 check is done first.
16135
fbfb16e2
EC
161362004-01-09 Eric Christopher <echristo@redhat.com>
16137
16138 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
16139 if we're running mark_constant_function.
16140
cc23f3c7
JB
161412004-01-09 Jeff Bailey <jbailey@nisa.net>
16142
16143 PR target/12561
16144 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
16145
975421be
AP
161462004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
16147
16148 PR debug/11231
a2a0019f
DE
16149 * dbxout.c (dbxout_type_fields): Return if any item is
16150 error_mark_node or the type is error_mark_node.
975421be 16151
7e4bd541
GK
161522004-01-09 Geoffrey Keating <geoffk@apple.com>
16153
f01519dd
GK
16154 * config/rs6000/darwin-ldouble.c: Add big comment explaining
16155 exactly what is expected as a 'long double'.
16156 (_xlqadd): When a value to be returned is representable as a
16157 'double', just return it directly, do not construct it using a union.
16158 Also, correct final fixup.
16159 (_xlqmul): Likewise.
16160 (_xlqdiv): Likewise.
16161 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
16162
7e4bd541
GK
16163 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
16164
47069ecb
RH
161652004-01-09 Richard Henderson <rth@redhat.com>
16166
16167 * recog.c (constrain_operands): Validate mem operands.
16168
9813058e
JW
161692004-01-09 James E Wilson <wilson@specifixinc.com>
16170
16171 * gcc.c (init_spec): Remove -lunwind from shared case.
16172 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
16173
b0fd7d27
SE
161742004-01-09 Steve Ellcey <sje@cup.hp.com>
16175
16176 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
16177 * configure: Regenerate
16178
3897f229
JM
161792004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
16180
16181 PR c/11234
16182 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
16183 between function and object pointers.
16184 (digest_init): When comparing a pointer to function type to the
16185 target type, only apply TREE_TYPE once to the pointer to function
16186 type.
16187 * except.c (for_each_eh_label_1): Treat data as a pointer to a
16188 function pointer rather than casting it to a function pointer.
16189 (for_each_eh_label): Update caller.
16190 * recog.h (struct insn_data): Use a struct or union for output.
16191 * genoutput.c (output_insn_data): Update.
16192 * final.c (get_insn_template): Update.
16193
0fab64a3
MM
161942004-01-09 Mark Mitchell <mark@codesourcery.com>
16195
16196 * expr.h (expand_expr): Make it a macro, not a function.
16197 (expand_expr_real): New function.
16198 * expr.c (store_expr): Adjust logic for deciding whether or not to
16199 copy the value returned by expand_expr.
16200 (expand_expr): Rename to ...
16201 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
16202 calls to language hooks.
16203 * c-common.h (c_expand_expr): Adjust prototype.
16204 * c-common.c (c_expand_expr): Add alt_rtl parameter.
16205 * langhooks-def.h (lhd_expand_expr): Change prototype.
16206 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
16207 * langhooks.h (lang_hooks): Change type of expand_expr.
16208 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
16209 (last_expr_alt_rtl): Likewise.
16210 (expand_expr_stmt_value): Set last_expr_alt_rtl.
16211 (clear_last_expr): Clear it.
16212 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
16213 (expand_end_bindings): Save and restor last_expr_alt_rtl.
16214 * tree.def (RTL_EXPR): Give it an additional operand.
16215 * tree.h (RTL_EXPR_ALT_RTL): New macro.
9813058e 16216
df68f43b
KI
162172004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
16218
16219 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
900a35c8 16220 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
df68f43b 16221
58ebda9c
KH
162222004-01-09 Kazu Hirata <kazu@cs.umass.edu>
16223
16224 PR target/13380.
16225 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
16226 or (ne:SI (reg:CC 17) (const_int 0)).
16227 Be specific about modes wherever possible.
16228
81ad38a6
KH
162292004-01-09 Kazu Hirata <kazu@cs.umass.edu>
16230
16231 * config/m32r/m32r.c (m32r_expand_block_move): Call
16232 gen_movestrsi_internal with two more arguments.
16233 (m32r_output_block_move): Adjust operand numbers.
16234 Properly update the source and destination pointers.
16235 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
16236 'r+'. Change the set detinations to match_operand.
16237
b816f339
KH
162382004-01-09 Kazu Hirata <kazu@cs.umass.edu>
16239
16240 * final.c (FIRST_INSN_ADDRESS): Remove.
16241 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
16242 * system.h (FIRST_INSN_ADDRESS): Poison.
16243 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
16244 * config/m32r/m32r-protos.h: Remove the prototype for
16245 m32r_first_insn_address.
16246 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
16247 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
16248 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
16249
de99511b
B
162502004-01-09 J. Brobecker <brobecker@gnat.com>
16251
16252 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
16253 we just created.
16254 (is_ada_subrange_type): DIEs for enumeration subtypes should be
16255 emitted as subrange types too.
16256 (subrange_type_die): Add handling of enumeration subtypes.
16257
90e4e4c5
RH
162582004-01-08 Richard Henderson <rth@redhat.com>
16259
16260 PR opt/12441
16261 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
9813058e
JW
16262 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
16263 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
16264 (ix86_address_cost): Be prepared for SUBREGed registers.
16265 (legitimate_address_p): Accept SUBREGed registers.
90e4e4c5 16266
a6a5e4c9
KC
162672004-01-08 Kelley Cook <kcook@gcc.gnu.org>
16268
16269 * Makefile.in: Rename configure.in to configure.ac
16270 * doc/sourcebuild.texi: Likewise.
16271 * configure: Regenerate.
16272 * config.in: Regenerate.
16273
588f75d0
SH
162742004-01-08 Stuart Hastings <stuart@apple.com>
16275
16276 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
16277
6242fcd8
JH
162782004-01-08 Jan Hubicka <jh@suse.cz>
16279
16280 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
16281
a29077da
GK
162822004-01-08 Geoffrey Keating <geoffk@apple.com>
16283
ecb62ae7
GK
16284 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
16285 (UNSPEC_FIX_TRUNC_TF): New constant.
16286 (movtf_internal): Make splitter active only when insn is active.
16287 (extenddftf2): Rewrite to properly load zero into low part.
16288 (extenddftf2_internal): New.
16289 (extendsftf2): Rewrite.
16290 (truncdftf2): Correct length.
16291 (floatditf2): Delete.
16292 (fix_trunc_helper): New.
16293 (fix_trunctfdi2): Use fix_trunc_helper.
16294 (fix_trunctfsi2): Likewise.fix_trunc
16295 (fix_trunctfsi2_internal): New.
16296
a29077da
GK
16297 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
16298 addresses are legitimate on Darwin even when flag_pic.
16299 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
16300 non-offsettable addresses for loads of TFmode constants.
16301
cb1f9d03
KI
163022004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
16303
16304 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
16305 variables in the appropriate bss section.
16306
7ddb6568
AM
163072004-01-09 Alan Modra <amodra@bigpond.net.au>
16308
16309 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
16310 target_flags has MASK_POWERPC64 when -m64.
16311 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
16312 to 620, 630, power3, power4 and rs64a entries.
16313 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
16314
effdb493
RS
163152004-01-08 Richard Sandiford <rsandifo@redhat.com>
16316
16317 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
16318 floating-point constants.
16319
fbfd77b8
JB
163202004-01-08 J. Brobecker <brobecker@gnat.com>
16321
16322 * dwarf2out.c (subrange_type_die): Add context_die parameter.
16323 Create the subrange_type DIE using the given context DIE.
16324 (modified_type_die): Update call to subrange_type_die.
16325
163262004-01-08 Zack Weinberg <zack@codesourcery.com>
7ce27103
ZW
16327
16328 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
16329 Add multiple-include guard.
16330
ce1f50b2
HP
163312004-01-08 Hartmut Penner <hpenner@de.ibm.com>
16332
7ce27103
ZW
16333 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
16334 all vector constant loadable by vsplt*.
ce1f50b2
HP
16335 (output_vec_const_move): Likewise.
16336
bca63328
JM
163372004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
16338
16339 PR c/6024
16340 * c-typeck.c (comptypes): Only treat enumerated types in the same
16341 translation unit as compatible with each other when they are the
16342 same type.
16343 * doc/extend.texi: Update.
16344
85b58ca5
JM
163452004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
16346
16347 PR c/12165
16348 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
16349 array type from the array element type.
16350
93c9d1ba
AM
163512004-01-07 Alan Modra <amodra@bigpond.net.au>
16352
16353 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
16354 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
16355 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
16356 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
16357 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
16358
deae8de6
EC
163592004-01-06 Eric Christopher <echristo@redhat.com>
16360
16361 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
16362 (DWARF2_DEBUGGING_INFO): Define.
16363 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
16364 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
16365 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
16366 for irix as.
16367 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
16368 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
16369 * config/mips/iris5gas.h: Ditto.
16370 (DBX_DEBUGGING_INFO): Remove.
16371 (DWARF2_DEBUGGING_INFO): Ditto.
16372 (MIPS_DEBUGGING_INFO): Ditto.
16373 (PREFERRED_DEBUGGING_TYPE): Ditto.
16374 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
16375 (PREFERRED_DEBUGGING_TYPE): Ditto.
16376 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
16377 * config/mips/elf64.h: Ditto.
16378
fed2b316
JH
163792004-01-06 Jan Hubicka <jh@suse.cz>
16380
16381 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
16382 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
16383
64d961b8
GK
163842004-01-06 Geoffrey Keating <geoffk@apple.com>
16385
084f5a35
GK
16386 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
16387 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
16388 * config/rs6000/darwin-ldouble.c: New.
deae8de6 16389
550d1387
GK
16390 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
16391 for constants.
16392 (constant_subword): Delete.
16393 * rtl.h (constant_subword): Delete prototype.
16394 (immed_double_const): Is not in varasm.c.
16395 * simplify-rtx.c (simplify_immed_subreg): New.
16396 (simplify_subreg): Use simplify_immed_subreg.
16397
0c90aa3c
GK
16398 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
16399 than trying to generate RTL directly.
16400 (fix_trunctfsi2): Use expand_fix rather than trying to generate
16401 RTL directly.
16402
64d961b8
GK
16403 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
16404
72b38561
DE
164052004-01-06 David Edelsohn <edelsohn@gnu.org>
16406
16407 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
16408 function into a separate macro.
16409 (read_only_data_section): Add void argument.
16410 (private_data_section): Same.
16411 (read_only_private_data_section): Same.
16412 (toc_section): Same.
16413
9a609388
JH
164142004-01-06 Jan Hubicka <jh@suse.cz>
16415
0aaae060
JH
16416 * invoke.texi: Remove typo in last change.
16417
9a609388
JH
16418 PR target/10301
16419 * config.gcc: Accept opteron and athlon-64 as variants
16420 of k8.
16421 * i386.c (override_options): Likewise.
16422 * invoke.texi (i386 -mtune): Expand documentation.
16423
5d3cc252
KH
164242004-01-06 Kazu Hirata <kazu@cs.umass.edu>
16425
16426 * alias.c: Fix comment typos.
16427 * builtins.c: Likewise.
16428 * cfg.c: Likewise.
16429 * df.c: Likewise.
16430 * dominance.c: Likewise.
16431 * dwarf2out.c: Likewise.
16432 * emit-rtl.c: Likewise.
16433 * expr.c: Likewise.
16434 * final.c: Likewise.
16435 * fold-const.c: Likewise.
16436 * gcse.c: Likewise.
16437 * genattrtab.c: Likewise.
16438 * genrecog.c: Likewise.
16439 * gensupport.c: Likewise.
16440 * ggc-zone.c: Likewise.
16441 * integrate.c: Likewise.
16442 * local-alloc.c: Likewise.
16443 * loop.c: Likewise.
16444 * recog.c: Likewise.
16445 * regmove.c: Likewise.
16446 * reg-stack.c: Likewise.
16447 * reorg.c: Likewise.
16448 * rtlanal.c: Likewise.
16449 * rtl.h: Likewise.
16450 * sched-ebb.c: Likewise.
16451 * simplify-rtx.c: Likewise.
16452 * toplev.c: Likewise.
16453 * varasm.c: Likewise.
16454
95ea367d
KH
164552004-01-06 Kazu Hirata <kazu@cs.umass.edu>
16456
16457 * doc/install.texi: Fix typos.
16458 * doc/invoke.texi: Likewise.
16459 * doc/md.texi: Likewise.
16460
f26ef713
KI
164612004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
16462
16463 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
16464
bcf17554
JH
164652004-01-06 Jan Hubicka <jh@suse.cz>
16466
16467 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
16468 (function_arg_advance): Do not pass aggregates in SSE; deal handling
16469 of MMX_REGPARM.
16470 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
16471 add MMX_REGPARM.
16472 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
16473 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
16474 (MMX_REGPARM_MAX): Similarly for -mmmx.
16475
24746a42
KH
164762004-01-05 Kazu Hirata <kazu@cs.umass.edu>
16477
16478 * config/sh/linux.h: Fix comment formatting.
16479 * config/sh/netbsd-elf.h: Likewise.
16480 * config/sh/sh.c: Likewise.
16481 * config/sh/sh.h: Likewise.
16482 * config/sh/vxworks.h: Likewise.
16483
f7e7e318
KH
164842004-01-05 Kazu Hirata <kazu@cs.umass.edu>
16485
16486 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
16487 * toplev.c (output_file_directive): Don't use
16488 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
16489
80a08664
SB
164902004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl>
16491
16492 * toplev.c: Fix broken checkin of 2003-12-30.
16493
02fef853 164942004-01-05 Daniel Berlin <dberlin@dberlin.org>
deae8de6 16495
02fef853
DB
16496 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
16497 (USING_MMAP): We don't support non-mmap.
16498 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
16499 large objects.
16500 (struct page_entry): Remove bytes_free.
16501 (struct page_table_chain): Remove.
16502 (struct globals): Remove page_table member.
16503 (loookup_page_table_entry): Function deleted.
16504 (set_page_table_entry): Ditto.
16505 (ggc_allocated_p): No longer need page table lookups.
16506 (ggc_marked_p): Ditto.
16507 (alloc_small_page): Don't care about bytes_free anymore.
16508 (alloc_large_page): Round up size.
16509 (ggc_alloc_zone_1): Mark large objects as such, and calculate
deae8de6 16510 their size the new way.
02fef853
DB
16511 Remove page table lookups and setting.
16512 (ggc_get_size): Calculate large object size the new way.
16513 (sweep_pages): Redo to account for fact that we no longer have
16514 bytes_free.
16515 (ggc_collect): No longer need to reincrement bytes_free.
16516 (ggc_pch_alloc_object): Handle new large objects properly.
16517 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
16518
60b799fd
KH
165192004-01-05 Kazu Hirata <kazu@cs.umass.edu>
16520
16521 * doc/invoke.texi: Remove a page break.
16522
908c8c7e
KH
165232004-01-05 Kazu Hirata <kazu@cs.umass.edu>
16524
16525 * config/avr/avr.c (avr_output_function_prologue): Remove an
16526 extra pair of curly braces.
16527
8596d0a1
KH
165282004-01-05 Kazu Hirata <kazu@cs.umass.edu>
16529
16530 * config/mn10300/mn10300.c: Fix comment formatting.
16531 * config/mn10300/mn10300.h: Likewise.
16532
1e2d4dc1
RK
165332004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16534
16535 * tree.h: Update documentation on nothrow_flag.
16536 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
16537 types.
16538
b6e69d94
KH
165392004-01-05 Kazu Hirata <kazu@cs.umass.edu>
16540
16541 * doc/invoke.texi: Remove traces of dead ports.
16542
1cf959cb
RS
165432004-01-05 Richard Sandiford <rsandifo@redhat.com>
16544
16545 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
16546 option.
16547
f6149877
RS
165482004-01-05 Richard Sandiford <rsandifo@redhat.com>
16549
16550 PR target/12945
16551 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
b56c0023 16552 counter labels.
f6149877
RS
16553 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
16554 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
16555 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
16556 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
16557 (mips_symbol_insns): Don't trust the local/global classification.
16558 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
16559 (override_options): Make -mabicalls -fno-unit-at-a-time imply
16560 -mno-explicit-relocs.
16561 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
16562 between local and global symbols.
16563
a6008bd8
RS
165642004-01-05 Richard Sandiford <rsandifo@redhat.com>
16565
16566 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
16567 (mips_preferred_reload_class): Declare.
16568 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
16569 (EXTRA_CONSTRAINT): Update accordingly.
16570 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
16571 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
16572 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
16573 mips_dangerous_for_la25_p.
16574 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
16575 if mips_dangerous_for_la25_p.
16576
d7b3c085
BI
165772004-01-05 Bernardo Innocenti <bernie@develer.com>
16578
16579 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
deae8de6 16580 warning.
d7b3c085 16581
ca9bc441
NN
165822004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
16583
16584 * configure.ac: Use AC_PROG_CPP_WERROR.
16585 * configure: Regenerate.
16586
016d7f3e
ZW
165872004-01-04 Zack Weinberg <zack@codesourcery.com>
16588
16589 * .cvsignore: Add autom4te.cache.
16590
5a4b3afd
RS
165912004-01-04 Richard Sandiford <rsandifo@redhat.com>
16592
16593 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
16594 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
16595 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
16596 then architecture options, then ABI options. General rewording.
16597
928a5ba9
JM
165982004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
16599
16600 PR c/3414
16601 * doc/extend.texi: Clarify definition of malloc attribute.
16602
dc0bfe6a
JH
166032004-01-04 Jan Hubicka <jh@suse.cz>
16604
16605 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
16606 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
16607 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
16608 (cgraph_inline_p): Add extra argument reason.
16609 * cgraphunit.c: Minor formating fixes.
16610 cgraph_first_inlined_callee): New functions.
16611 (record_call_1): Record builtins too.
16612 (cgraph_analyze_function): Update inline_failed messages.
16613 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
16614 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
16615 (cgraph_check_inline_limits): Likewise; Add argument reason.
16616 (cgraph_set_inline_failed): New static function.
16617 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
16618 reasons.
16619 (cgraph_inline_p): Add new argument reason.
16620 * tree-inline.c (expand_call_inline): Update warning.
16621
ba479fd2
NN
166222004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
16623
914c5af7
NN
16624 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
16625 with modern equivalents.
16626 * configure: Regenerate.
16627
016d7f3e
ZW
16628 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
16629 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
16630 * configure: Regenerate.
78c9cb99 16631
d44f1a00
NN
16632 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
16633
ba479fd2
NN
16634 * configure.in: Rename to configure.ac.
16635 * configure.ac: Renamed from configure.in; make minimum necessary
16636 changes for autoconf 2.5x.
16637 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
16638 * configure: Regenerate with autoconf 2.57.
16639
031a26c5
KH
166402004-01-03 Kazu Hirata <kazu@cs.umass.edu>
16641
16642 * config/mips/linux.h: Fix comment formatting.
16643 * config/mips/mips.c: Likewise.
16644 * config/mips/mips.h: Likewise.
16645 * config/mips/mips.md: Likewise.
16646 * config/mips/netbsd.h: Likewise.
16647 * config/mips/windiss.h: Likewise.
16648
b87cfcfb
RH
166492004-01-02 Richard Henderson <rth@redhat.com>
16650
16651 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
16652 for sse and 387; add suppression for mmx.
16653
36579663
AP
166542004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
16655
9d85830f
AP
16656 * loop.c (loop_optimize): Free all loops_info's mems.
16657
016d7f3e 16658 * c-typeck.c (finish_init): Free spelling_base before
36579663 16659 setting it again.
016d7f3e 16660
36579663
AP
16661 * cfgloop.c (flow_loops_find): Always free the sbitmap
16662 headers.
16663
16664 * predict.c (estimate_probability): Free bbs after being
16665 done with it.
16666
3864b6fe
KH
166672004-01-02 Kazu Hirata <kazu@cs.umass.edu>
16668
16669 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
16670 const_8bit_operand and call_address_operand.
16671
8b6bd5d7
JH
166722004-01-02 Jan Hubicka <jh@suse.cz>
16673
16674 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
16675 when there is nothing to inline but warnings are requested.
16676 (cgraph_decide_inlining): Fix memory leak.
16677
9b9bd3b2
JH
166782004-01-02 Jan Hubicka <jh@suse.cz>
16679
16680 * expr.c (store_constructor): Fix pasto in previous patch.
16681
43f3a59d
KH
166822004-01-02 Kazu Hirata <kazu@cs.umass.edu>
16683
16684 * config/i386/cygming.h: Fix comment formatting.
16685 * config/i386/djgpp.h: Likewise.
16686 * config/i386/gthr-win32.c: Likewise.
16687 * config/i386/i386-interix.h: Likewise.
16688 * config/i386/i386.c: Likewise.
16689 * config/i386/i386.h: Likewise.
16690 * config/i386/openbsd.h: Likewise.
16691 * config/i386/winnt.c: Likewise.
16692 * config/i386/xm-mingw32.h: Likewise.
16693
daef8bbd
JM
166942004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
16695
16696 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
16697 copyright and last modification dates.
16698
7e081a0c
AJ
166992004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
16700
16701 * doc/install.texi (Specific): Mention x86_64.
16702
ac3f5df7
HPN
167032004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
16704
16705 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
16706 Call force_operand on plus_constant result.
16707
997404de
JH
167082004-01-01 Jan Hubicka <jh@suse.cz>
16709
16710 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
16711 * expr.c (store_constructor): Use vec_init pattern.
16712 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
16713 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
16714 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
16715 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
16716 New patterns.
16717 (sse2_unpc?pd): Fix pattern.
16718 (sse2_movlpd): Kill.
16719 (sse2_movsd): Deal with movlpd too.
16720 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
16721 (ix86_expand_vector_init): New.
16722 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
16723 * md.texi (vec_set, vec_extract): Document
16724
b684a3df
JH
167252003-12-31 Jan Hubicka <jh@suse.cz>
16726
16727 PR opt/13473
16728 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
16729 ASM input operands
16730
16731 PR opt/12617
16732 * toplev.c (dump_file_index): Reorder ce3 and bbro.
16733 (dump_file): Likewise.
16734 (rest_of_compilation): Likewise.
16735
16736 PR debug/13367
16737 * cgraph.c (cgraph_function_possibly_inlined): Even with
16738 flag_really_no_inline we inline always_inline functions.
16739 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
16740 for non-always_inline functions when there is flag_really_no_inline.
16741 (cgraph_decide_inlining): Limit work done when not inlining.
16742 (cgraph_decide_inlining_incrementally): Likewise.
16743 (cgraph_optimize_function): Check whether something got inlined.
16744 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
16745 extern inline functions when not inlining.
16746
16747 * opts.c (decode_options): Disable crossjumping at -O1
16748 * invoke.texi (-O1): Document change.
a55f4481 16749
cd14f58c 16750See ChangeLog.10 for earlier changes.
This page took 1.979425 seconds and 5 git commands to generate.