]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR target/15178 (Solaris 9/x86 fails linking after stage 3)
[gcc.git] / gcc / ChangeLog
CommitLineData
25178498
JJ
12004-06-14 Jakub Jelinek <jakub@redhat.com>
2
3 PR target/15178
4 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
5
fc9c8ce1
PB
62004-06-14 Paul Brook <paul@codesourcery.com>
7
8 * dwarf2out.c (output_call_frame_info): Support dwarf3 cie entries.
9
50431bc4
ZD
102004-06-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11
12 * Makefile.in (FLAGS_H): New.
13 (flags.h): Replace by FLAGS_H.
14 * c.opt: Document Var, VarExists, Init and Report attributes.
15 * common.opt: Fill the values of the attributes.
16 * diagnostic.c (flag_fatal_errors): Do not define.
17 * except.c (flag_non_call_exceptions): Do not define.
18 * flags.h: Include options.h. Remove declarations conflicting with
19 the automatically defined ones.
20 * opts.c: Remove automatically defined variables.
21 (handle_option): Perform default initialization.
22 (common_handle_option): Do not handle options covered by the
23 default initialization.
24 * opts.h (struct cl_option): Add flag_var, has_set_value and set_value
25 fields.
26 (CL_REPORT): New.
27 * opts.sh: Generate variable declarations, handle CL_REPORT.
28 * toplev.c: Remove automatically defined variables.
29 (f_options): Removed.
30 (print_switch_values): Use cl_options instead of f_options.
31 * toplev.h (version_flag): Declaration removed.
32
1c2cdd56
ILT
332004-06-14 Ian Lance Taylor <ian@wasabisystems.com>
34
715f8bb8
ILT
35 * config/sparc/sparc.h: Correct comment about availability of
36 little endian option.
37
1c2cdd56
ILT
38 * config.gcc: Remove sparc64-*-aout*.
39 * config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove.
40 * config/sparc/sp64-aout.h: Remove.
41 * config/sparc/aout.h: Remove.
42
63694b5e
UW
432004-06-14 Ulrich Weigand <uweigand@de.ibm.com>
44
45 * config/s390/s390.c: Include "tree-gimple.h".
46 (s390_gimplify_va_arg): New function.
47 (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
48 (s390_va_arg): Remove.
49 * config/s390/s390-protos.h (s390_va_arg): Remove.
50 * config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort ().
51
623a66fa
R
522004-06-14 J"orn Rennecke <joern.rennecke@superh.com>
53
54 * basic-block.h (could_fall_through): Declare.
55 * cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR.
56 Fail if the source already has a fallthrough edge to the exit
57 block pointer.
58 (could_fall_through): New function.
59 * cfgbuild.c (make_edges): Check if we already have a fallthrough
60 edge to the exit block pointer.
61 * cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is
62 not called before reload has completed.
63 Handle special case of first block having a fall-through exit edge.
64 (cfg_layout_finalize): Don't call it before reload or if we have
65 rtl epilogues.
66 (fixup_reorder_chain): A fall through to the exit block does not
67 require the block to come last. Add sanity checks.
68 * cfgrtl.c (rtl_split_edge): Add special handling of fall through
69 edges to the exit block.
70 * function.c (cfglayout.h): #include.
71 (thread_prologue_and_epilogue_insns): If we have neither return nor
72 epilogue, but a fall through to the exit block from mid-function,
73 force a non-fall-through exit.
74 * Makefile.in (function.o): Depend on CFGLAYOUT_H.
75
93ae5495
AM
762004-06-14 Alan Modra <amodra@bigpond.net.au>
77
78 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
79 for power5 and rs64a. Correct condition for default. Correct power3,
80 620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries. Add -many.
81
6e72d1e9
SB
822004-06-13 Steven Bosscher <stevenb@suse.de>
83
84 * gcse.c (hash_scan_set, hash_scan_insn, mark_set, mark_oprs_set):
85 Revert previous change, don't use CALL_P.
86
e5da415c
JM
872004-06-13 Jason Merrill <jason@redhat.com>
88
89 * tree.h: Move std_gimplify_va_arg_expr protoype here.
90 * tree-gimple.h: From here.
91
ce25943a
DB
922004-06-13 Daniel Berlin <dberlin@dberlin.org>
93
94 Fix PR tree-optimization/15979
95 Fix PR tree-optimization/15981
96 * tree-ssa-pre.c (insert_aux): Fix faulty logic so that we don't
97 try to insert values undefined along some path.
98
3bce843e
DB
992004-06-13 Daniel Berlin <dberlin@dberlin.org>
100
101 * tree-ssa-pre.c (add_to_value): is_gimple_min_invariant things
102 are available everywhere too.
103
a40de696
AP
1042004-06-13 Andrew Pinski <pinskia@physics.uc.edu>
105
106 * fold-const.c (fold_checksum_tree <case 't'>): Only
107 look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
108 Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
109 EXPR is an INTEGERAL_TYPE or a scalar float type.
110
a18f61f8
DN
1112004-06-13 Diego Novillo <dnovillo@redhat.com>
112
113 * tree-sra.c (tree_sra): Update documentation.
114
132da1a5
JM
1152004-06-13 Joseph S. Myers <jsm@polyomino.org.uk>
116
117 * c-typeck.c (comptypes, tagged_types_tu_compatible_p,
118 function_types_compatible_p, type_lists_compatible_p): Remove
119 flags parameter.
120 * c-tree.h (comptypes): Likewise.
121 (COMPARE_STRICT): Remove.
122 * c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All
123 callers changed.
124
118a3a8b
EC
1252004-06-13 Eric Christopher <echristo@redhat.com>
126
127 * c-decl.c (diagnose_mismatched_decls): Improve error message.
128 Remove unused code.
129 * c-typeck.c (comptypes): Add location in standard we're checking.
130
9f680e79
KK
1312004-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
132
133 * config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with
134 version 3.3.4.
135
965703ed
RS
1362004-06-12 Roger Sayle <roger@eyesopen.com>
137
138 * expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally
139 index by machine mode.
140 (init_expmed): Initialize shift_cost, shiftadd_cost and shiftsub_cost
141 tables inside the loop over machine modes.
142 (synth_mult, expand_mult_highpart_optab, expand_mult_highpart,
143 expand_divmod): Index shift*_cost by the appropriate machine mode.
144
3839e36a
EC
1452004-06-12 Eric Christopher <echristo@redhat.com>
146
147 * config/s390/s390.h: Rename TARGET_TPF to TARGET_TPF_PROFILING.
148 * config/s390/s390.md: Ditto.
149 * config/s390/s390.c: Ditto.
150 (s390_frame_info): Conditionalize frame and setup info on
151 TARGET_TPF_PROFILING.
152 (s390_arg_frame_offset): Ditto.
153
08039bd8
RS
1542004-06-12 Roger Sayle <roger@eyesopen.com>
155
156 * fold-const.c (omit_two_operands): New function.
157 * tree.h (omit_two_operands): Prototype here.
158 * builtins.c (fold_builtin_unordered_cmp): New function to lower
159 C99 unordered comparison builtins to the appropriate tree nodes.
160 (fold_builtin_1): Use fold_builtin_unordered_cmp to lower
161 BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
162 BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER. Manually lower
163 BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node.
164 (simplify_builtin_memcmp, simplify_builtin_strncmp,
165 simplify_builtin_strncat, simplify_builtin_strspn): Use the new
166 omit_two_operands function to build the required COMPOUND_EXPRs.
167
7b1b4aed
SB
1682004-06-12 Steven Bosscher <stevenb@suse.de>,
169 Andreas Jaeger <aj@suse.de>
170
171 * gcse.c (record_set_info): Use predicates like REG_P.
172 (mems_conflict_for_gcse_p): Likewise.
173 (load_killed_in_block_p): Likewise.
174 (hash_expr_1): Likewise.
175 (insert_set_in_table): Likewise.
176 (gcse_constant_p): Likewise.
177 (hash_scan_set): Likewise.
178 (hash_scan_insn): Likewise.
179 (canon_list_insert): Likewise.
180 (record_last_mem_set_info): Likewise.
181 (record_last_set_info): Likewise.
182 (compute_hash_table_work): Likewise.
183 (mark_set): Likewise.
184 (mark_clobber): Likewise.
185 (mark_oprs_set): Likewise.
186 (compute_transp): Likewise.
187 (find_avail_set): Likewise.
188 (cprop_insn): Likewise.
189 (do_local_cprop): Likewise.
190 (cprop): Likewise.
191 (find_implicit_sets): Likewise.
192 (find_bypass_set): Likewise.
193 (bypass_conditional_jumps): Likewise.
194 (insert_insn_end_bb): Likewise.
195 (pre_insert_copy_insn): Likewise.
196 (compute_transpout): Likewise.
197 (next_ls_expr): Likewise.
198 (invalidate_any_buried_refs): Likewise.
199 (compute_ld_motion_mems): Likewise.
200 (reg_set_info): Likewise.
201 (reg_clear_last_set): Likewise.
202 (find_moveable_store): Likewise.
203 (compute_store_table): Likewise.
204 (find_loads): Likewise.
205 (store_killed_in_insn): Likewise.
206 (insert_insn_start_bb): Likewise.
207 (reg_set_between_after_reload_p): Likewise.
208 (reg_used_between_after_reload_p): Likewise.
209 (is_jump_table_basic_block): Likewise.
210 (gcse_after_reload): Likewise.
211 (hash_scan_set_after_reload): Likewise.
212 (compute_hash_table_after_reload): Likewise.
213
3d27dbd0
SB
2142004-06-12 Steven Bosscher <stevenb@suse.de>
215
216 * rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
217 (INSN_P): Don't look at the rtx code class, just explicitly
218 check for one of the tree RTX_INSN codes.
219
019c8e80
ZW
2202004-06-11 Zack Weinberg <zack@codesourcery.com>
221
222 * c-typeck.c (default_function_array_conversion): Use
223 build_pointer_type not TYPE_POINTER_TO.
224
2fac9c01
ZW
2252004-06-11 Zack Weinberg <zack@codesourcery.com>
226
227 * configure.ac: Don't invoke ACX_HEADER_STDBOOL.
228 * configure, config.in: Regenerate.
229 * system.h: Unconditionally define bool as unsigned char,
230 BOOL_BITFIELD as unsigned int.
231 * domwalk.h: Use BOOL_BITFIELD.
232
9ade2479
AJ
2332004-06-12 Andreas Jaeger <aj@suse.de>
234
235 * libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
236 * libgcc-darwin.ver: Likewise.
237
b605eb59
PJ
2382004-06-12 Peter Jakubek <peter@laseranimation.com>
239
240 * reload.c (find_reloads): Force reload for pseudo registers on big
241 endian machines.
242
7e6eb623
DB
2432004-06-11 Steven Bosscher <stevenb@suse.de>
244
245 * tree-ssa-dce.c (mark_control_dependent_edges_necessary):
246 Don't try to mark anything control dependent on the entry or
247 exit blocks.
248
2492004-06-11 Daniel Berlin <dberlin@dberlin.org>
9ade2479 250
7e6eb623
DB
251 Fix Bug 15899
252 Fix Bug 15460
253 * tree.h (SSA_NAME_VALUE): New macro.
254 (struct tree_ssa_name): Add value_handle member.
255 * tree-ssa-pre.c: Replaced.
256 * tree-flow.h (tree_ann_type): Add CST_ANN, EXPR_ANN.
257 (struct cst_ann_d): New.
258 (struct expr_ann_d): New.
259 (union tree_ann_d): Add cst_ann, expr_ann.
260 * tree-dfa.c (create_cst_ann): New function.
261 (create_expr_ann): Ditto.
262 * tree-flow-inline.h (cst_ann): New function.
263 (expr_ann): Ditto.
264 (get_cst_ann): Ditto.
265 (get_expr_ann): Ditto..
266
9839edf1
JDA
2672004-06-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
268
e2ddd6ca
JDA
269 * pa.c (pa_hpux_init_libfunc): Add support for unord_optab.
270 * pa/quadlib.c (enum qfcmp_magic): Define magic values for call to
271 _U_Qfcmp library function.
272 (_U_Qfltgt, _U_Qfunle, _U_Qfunlt, _U_Qfunge, _U_Qfungt, _U_Qfuneq,
273 _U_Qfunord, _U_Qford): Add more TFmode builtin compare functions.
274
9839edf1
JDA
275 * pa.c (legitimize_pic_address): Use UNSPEC_DLTIND14R to identify
276 unspec used for loading address from DLT.
277 * pa.md: Define constants for the uses of UNSPEC and UNSPEC_VOLATILE.
278 Change all users of UNSPEC and UNSPEC_VOLATILE to use new constants.
279 Don't use short code sequence when loading the address of a nonlocal
280 label.
281 (nonlocal_goto): New expander.
282 (indirect_goto): New jump pattern for nonlocal gotos.
283 (short_jump): Remove extra whitespace.
284 (builtin_longjmp): Clobber memory and hard frame pointer. Restore
285 frame pointer via virtual_stack_vars_rtx when we have a nonlocal goto
286 pattern.
287
41c64ac0
RS
2882004-06-11 Roger Sayle <roger@eyesopen.com>
289
290 * expmed.c (synth_mult): Add an additional MODE argument for the
291 machine mode of the multiplication. Update recursive calls. Use
292 mode instead of word_mode for determining operation costs.
293 (choose_mult_variant): Update calls to synth_mult with "mode".
294
9098a3ec
RH
2952004-06-11 Richard Henderson <rth@redhat.com>
296
297 * tree-ssa-operands.c (get_stmt_operands): Clear makes_aliased_loads
298 and makes_aliased_stores.
299
55c45226
AP
3002004-06-11 Andrew Pinski <pinskia@physics.uc.edu>
301
302 * doc/install.text (--enable-shared): Fix typo.
303
65da5a20
RH
3042004-06-11 Richard Henderson <rth@redhat.com>
305
306 * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Remove post_p
307 argument. Use internal post for call to gimplify_expr. Tidy
308 rounded type size computation.
309 (alpha_gimplify_va_arg): Use get_formal_tmp_var and
310 get_initialized_tmp_var.
311
07659e97
AP
3122004-06-11 Andrew Pinski <pinskia@physics.uc.edu>
313
65da5a20
RH
314 * doc/install.texi (--enable-shared): Update libobjc's shared library
315 status. Remove reference to libf2c.
07659e97 316
67c605a5
JM
3172004-06-11 Jason Merrill <jason@redhat.com>
318
319 * config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
320 * config/i386/i386.c (ix86_va_arg): Remove.
321 * config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
322 * config/rs6000/rs6000.c (rs6000_va_arg): Remove.
323 * config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
324 * config/alpha/alpha.c (alpha_va_arg): Remove.
325 * config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
326 * config/sparc/sparc.c (sparc_va_arg): Remove.
327
328 * tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
329 assignment might throw.
330 * tree-eh.c (tree_could_throw_p): Support non-call exceptions in
331 expressions.
332
e6ff425c
R
3332004-06-11 J"orn Rennecke <joern.rennecke@superh.com>
334
67fc0c0f 335 PR 15886:
e6ff425c
R
336 * sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
337
ccfca4ae
JM
3382004-06-11 Joseph S. Myers <jsm@polyomino.org.uk>
339
340 * doc/install.texi (Prerequisites): Update documentation of
341 required versions of autoconf and automake. Remove mention of
342 libf2c.
343
5f393b25
JM
3442004-06-11 Jason Merrill <jason@redhat.com>
345
346 * config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
347 (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
348
5801c467
JQ
3492004-06-11 Jerry Quinn <jlquinn@optonline.net>
350
351 * typeclass.h: Add GPL plus exception license. Add include
352 guard.
353
3bcb4e37
JM
3542004-06-10 Jason Merrill <jason@redhat.com>
355
356 * gimplify.c (gimplify_modify_expr): Don't force a temporary
357 of an aggregate_value_p type.
358
3100d647
JL
3592004-06-10 Jeff Law <law@redhat.com>
360
361 * fold-const.c (fold_inf_compare): Avoid creating non-gimple
362 code when we are in gimple form.
363
95a3742c
DN
3642004-06-10 Diego Novillo <dnovillo@redhat.com>
365
366 * Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H.
367 * tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare.
368 (highest_ssa_version): Remove.
369 * tree-outof-ssa.c (new_temp_expr_table): Replace
370 highest_ssa_version with num_ssa_names.
371 (dump_replaceable_exprs): Likewise.
372 (rewrite_vars_out_of_ssa): Likewise.
373 * tree-ssa-ccp.c (initialize): Likewise
374 * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
375 * tree-ssa-dce.c (tree_dce_init): Likewise.
376 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
377 * tree-ssa-live.c (create_ssa_var_map): Likewise.
378 (dump_var_map): Likewise.
379 * tree-ssa.c (verify_ssa): Likewise.
380 (kill_redundant_phi_nodes): Likewise.
381 Do not build a local array of SSA_NAMEs. Use the ssa_names table.
382 * tree-ssanames.c: Include tree-flow.h
383 (ssa_names): New varray.
384 (init_ssa_names): Initialize ssa_names.
385 Reserve the first slot of the ssa_names table.
386 (make_ssa_name): Push the newly created SSA_NAME into ssa_names.
387 Assign version numbers using num_ssa_names.
388
a72967cd
JM
3892004-06-10 Joseph S. Myers <jsm@polyomino.org.uk>
390
391 * doc/sourcebuild.texi (Front End): Add details of more
392 installation documentation required.
393
a32b97a2
BB
3942004-06-10 Brian Booth <bbooth@redhat.com>
395
396 * doc/tree-ssa.texi: Remove references to VDEF and add descriptions
397 of V_MAY_DEF and V_MUST_DEF.
398 * tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename
399 num_vdefs to num_v_may_defs.
400 (compute_immediate_uses_for_stmt): Rename occurences of vdef
401 to v_may_def.
402 (redirect_immediate_uses): Ditto.
403 (dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs.
404 (collect_dfa_stats_r): Rename occurences of vdef to v_may_def.
405 Also add code to sum up the number of v_must_defs.
406 (vdefs_disappeared_p): Replace with...
407 (v_may_defs_disappeared_p): This.
408 (v_must_defs_disappeared_p): New function.
409 (mark_new_vars_to_rename): Rename occurences of vdef to v_may_def.
410 Also add code to mark new variables found in V_MUST_DEFs for
411 renameing.
412 * tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace
413 vdef_ops to v_may_def_ops.
414 (get_vdef_ops): Replace with...
415 (get_v_may_def_ops): This.
416 * tree-flow-inline.h (get_vdef_ops): Replace with...
417 (get_v_may_def_ops): This.
418 (get_v_must_def_ops): New function.
419 (get_vdef_result_ptr): Replace with...
420 (get_v_may_def_result_ptr): This.
421 (get_vdef_op_ptr): Ditto with...
422 (get_v_may_def_op_ptr); This.
423 (get_v_must_def_op_ptr): New function.
424 * tree-into-ssa.c (mark_def_sites): Rename occurences of vdef
425 to v_may_def. Also add code to mark statements with
426 V_MUST_DEFs as definition sites.
9ade2479 427 (rewrite_stmt): Rename occurences of vdef to v_may_def. Also
a32b97a2
BB
428 add code to register new V_MUST_DEFs made by the statement.
429 * tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments.
9ade2479 430 (check_replaceable): Rename occurences of vdef to v_may_def. Also
a32b97a2
BB
431 add check for V_MUST_DEFs.
432 (find_replaceable_in_bb): Ditto.
433 * tree-pretty-print.c (dump_vops): Rename occurences of vdef
434 to v_may_def. Also add code to dump V_MUST_DEFs.
435 * tree-sra.c (mark_all_vdefs): Replace with...
436 (mark_all_v_may_defs): This.
437 (mark_all_v_must_defs): New function.
438 (create_scalar_copies): Replace call to mark_all_vdefs with
439 calls to mark_all_v_may_defs and mark_all_v_must_defs.
9ade2479 440 (scalarize_structures): Rename occurences of vdef to v_may_def.
a32b97a2
BB
441 Also add a check for V_MUST_DEFs.
442 (scalarize_modify_expr): Rename occurences of vdef to v_may_def.
443 * tree-ssa-alias.c (global_var): Update comment.
444 (compute_may_aliases): Ditto.
445 (compute_points_to_and_addr_escape): Rename occurences of vdef
9ade2479 446 to v_may_def. Also add code to mark variables in V_MUST_DEF
a32b97a2
BB
447 operands as being written to.
448 (group_aliases): Update comment.
449 (maybe_create_global_var): Ditto.
450 * tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def.
451 Also add a check for V_MUST_DEFs on GIMPLE registers.
452 (replace_immediate_uses): Rename occurences of vdef to v_may_def.
453 * tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef
9ade2479 454 to v_may_def. Also add code to mark all V_MUST_DEF operands
a32b97a2
BB
455 VARYING.
456 (initialize): Ditto.
457 (set_rhs): Rename occurences of vdef to v_may_def. Also add
458 code to update SSA_NAMEs in V_MUST_DEFs.
459 * tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef
460 to v_may_def.
9ade2479 461 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename
a32b97a2
BB
462 occurences of vdef to v_may_def. Also add code to mark statements
463 with V_MUST_DEFs as necessary.
464 (propagate_necessity): Rename occurences of vdef to v_may_def.
9ade2479 465 * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename
a32b97a2
BB
466 occurences of vdef to v_may_def. Also add code to mark operands
467 in V_MUST_DEFs for renaming.
468 (eliminate_redundant_computations): Rename occurences of vdef
469 to v_may_def.
470 (record_equivalences_from_stmt): Rename occurences of vdef
471 to v_may_def. Also add code to record VUSEs for V_MUST_DEFs.
472 (optimize_stmt): Remove unnesessary variable vdefs. Update
473 comment.
474 (register_definitions_for_stmt): Rename occurences of vdef
475 to v_may_def. Also add code to register definitions made with
476 V_MUST_DEFs.
477 * tree-ssa-dse.c (fix_stmt_vdefs): Replace with...
478 (fix_stmt_v_may_defs): This.
479 (fix_phi_uses): Rename occurences of vdef to v_may_def.
480 (dse_optimize_stmt): Ditto.
481 * tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef
482 to v_may_def. Also add code to mark V_MUST_DEF operands as being
483 used in virtual operators.
9ade2479 484 * tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of
a32b97a2
BB
485 vdef to v_may_def. Also add code to mark V_MUST_DEF operands for
486 renaming.
9ade2479 487 * tree-ssa-operands.c (opf_kill_def): New flag for killing
a32b97a2
BB
488 definitions.
489 (build_vdefs): Renamed to...
490 (build_v_may_defs): This.
491 (build_v_must_defs): New variable.
492 (voperands_d): Add v_must_def_ops and replace vdef_ops with
493 v_may_def_ops.
494 (append_vdef): Replace with...
495 (append_v_may_def): This.
496 (append_v_must_def): New function.
497 (NUM_FREE): Increment for V_MUST_DEF
498 (optype_freelist): Increment its size for V_MUST_DEF
499 (allocate_vdef_optype): Replace with...
500 (allocate_v_may_def_optype): This.
501 (allocate_v_must_def_optype): New function.
502 (free_vdefs): Replace with...
503 (free_v_may_defs): This.
504 (free_v_must_defs): New function.
505 (remove_vdefs): Replace with...
506 (remove_v_may_defs): This.
507 (remove_v_must_defs): New function.
508 (init_ssa_operands): Rename occurences of vdef to v_may_def. Also
509 add code to initialize build_v_must_defs.
510 (finalize_ssa_vdefs): Replace with...
511 (finalize_ssa_v_may_defs): This.
512 (finalize_ssa_vuses): Rename occurences of vdef to v_may_def.
513 (finalize_ssa_v_must_defs): New function.
514 (finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs
515 with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs.
516 (verify_start_operands): Rename occurences of vdef to v_may_def.
517 Also add check for build_v_must_defs.
518 (get_stmt_operands): Rename occurences of vdef to v_may_def.
519 Also add code to handle V_MUST_DEFs and to use opf_kill_def for
520 killing definitions.
521 (get_expr_operands): Update comment and use opf_kill_def for
522 killing definitions.
523 (add_stmt_operand): Replace code that appends VDEFs with code
524 that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs
525 otherwise.
526 (add_call_clobber_ops): Update comments.
527 * tree-ssa-operands.h (vdef_optype_d): Replace with...
528 (v_may_def_optype_d): This.
529 (v_must_def_optype_d): New structure.
530 (VDEF_OPS): Replace with...
531 (V_MAY_DEF_OPS): This.
532 (STMT_VDEF_OPS): Same with...
533 (STMT_V_MAY_DEF_OPS): This.
534 (NUM_VDEFS): And...
535 (NUM_V_MAY_DEFS): This.
536 (VDEF_RESULT_PTR): As well as...
537 (V_MAY_DEF_RESULT_PTR): This.
538 (VDEF_RESULT): Same goes for...
539 (V_MAY_DEF_RESULT): This.
540 (VDEF_OP_PTR): And...
541 (V_MAY_DEF_OP_PTR): This.
542 (VDEF_OP): And...
543 (V_MAY_DEF_OP): This.
544 (V_MUST_DEF_OPS): New macro.
545 (STMT_V_MUST_DEF_OPS): Ditto.
546 (NUM_V_MUST_DEFS): Ditto.
547 (V_MUST_DEF_OP_PTR): Ditto.
548 (V_MUST_DEF_OP): Ditto.
549 (remove_vdefs): Replace signature with...
550 (remove_v_may_defs): This.
551 (remove_v_must_defs): New function signature.
552 * tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs
553 with calls to remove_v_may_defs and remove_v_must_defs.
554 (process_left_occs_and_kills): Rename occurences of vdef to v_may_def.
555 Also add code that marks left occurences of operands in V_MUST_DEFs.
9ade2479 556 * tree-tailcall.c (find_tail_calls): Rename occurences of vdef
a32b97a2
BB
557 to v_may_def. Also add check for V_MUST_DEFs.
558 (eliminate_tail_call):Rename occurences of vdef to v_may_def.
559
d57f1617
VM
5602004-06-10 Vladimir Makarov <vmakarov@redhat.com>
561
562 PR target/15653
563 * haifa-sched.c (schedule_block): Finish cycle after issuing asm
564 insn.
565
322afd16
VR
5662004-06-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
567
568 PR web/15263
569 * doc/install.texi: Remove superfluous linebreak.
570
aa6c7c3a
RS
5712004-06-10 Roger Sayle <roger@eyesopen.com>
572
573 * builtins.c (expand_builtin): Fall back to library function call for
574 conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl.
575 (fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR,
576 BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to
577 IMAGPART_EXPR respectively.
578
078c8b08
R
5792004-06-10 J"orn Rennecke <joern.rennecke@superh.com>
580
581 * sh.c (dump_table): New argument start. Changed caller.
582 (fixup_mova): New function.
583 (find_barrier): Use it.
584 (sh_reorg): Likewise. Check for CODE_FOR_casesi_worker_2.
585 If the label a mova refers to is above the mova itself, change
586 the mova into a load.
587 * sh.md (*casesi_worker): Rename to:
588 (casesi_worker_1).
589 (casesi_worker_2): New insn.
590
23a60a04
JM
5912004-06-10 Jason Merrill <jason@redhat.com>
592
9ade2479 593 * target.h (struct gcc_target): Change gimplify_va_arg_expr
23a60a04
JM
594 hook signature.
595 * tree-gimple.h: Adjust.
596 * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
597 * config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
598 Use fold_convert.
599 * config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
600 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
601 Use COMPLEX_EXPR for complex numbers. Use fold_convert.
602 * builtins.c (std_gimplify_va_arg_expr): Adjust. Use fold_convert.
603 (gimplify_va_arg_expr): Return GS_ERROR in error case.
604 Gimplify valist rather than calling stabilize_va_list.
605
9bf7acfc
ZD
6062004-06-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
607
608 * Makefile.in (df.o): Remove fibheap dependency.
609 * df.h: Do not include sbitmap.h.
610 (struct ref): New field "data".
611 (DF_REF_DATA): New accessor macro.
612 (struct df): Field "dom" removed.
613 (df_analyze_subcfg): New function.
614 (transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
615 (transfer_function): ... new type.
616 (iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
617 (iterative_dataflow): ... new function.
618 (enum set_representation, struct dataflow): New.
619 * df.c: Do not include fibheap.h.
620
621 (df_reg_def_chain_clean, df_reg_use_chain_clean,
622 (df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
623 prune_to_subcfg, df_bb_modify): New functions.
624 (df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
625 df_refs_update, df_reg_table_realloc, df_ref_create,
626 df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
627 df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
628 df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
9ade2479 629
9bf7acfc
ZD
630 (dataflow_set_a_op_b, dataflow_set_copy): New functions.
631 (df_rd_transfer_function, df_ru_transfer_function,
632 df_lr_transfer_function): Type of bitmaps changed to void *.
633 (hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
634 (hybrid_search): ... new function.
635 (iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
636 (iterative_dataflow): ... new function. Avoid use of fibheaps for
637 a worklist. Do not process basic blocks unnecessarily.
638
9655d83b
RS
6392004-06-10 Roger Sayle <roger@eyesopen.com>
640
641 * fold-const.c (fold_abs_const): Make extern.
642 * tree.h (fold_abs_const): Prototype here.
643 * builtins.c (fold_builtin_fabs): New function to transform
644 fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
645 (fold_builtin_abs): New function to transform abs, labs, llabs
646 and imaxabs builtins into ABS_EXPR tree nodes.
647 (expand_builtin): Fall back to a function call for abs, labs,
648 llabs and imaxabs builtins that survive constant folding.
649 (fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
650 FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.
651
897105a1
JJ
6522004-06-10 Jakub Jelinek <jakub@redhat.com>
653
654 * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
655 leaf function without unwind info at RP 0.
656
498c0f27
JJ
6572004-06-10 Jakub Jelinek <jakub@redhat.com>
658
659 PR c++/14791
660 * tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
661 (fileptr_type_node): Define.
662 * tree.c (build_common_tree_nodes_2): Initialize
663 fileptr_type_node to ptr_type_node.
664 * c-common.c (c_common_nodes_and_builtins): For C++, make
665 fileptr_type_node a distinct type copy.
666 * builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
667 BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
668 BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
669 BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
670 (BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
671 BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
672 BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
673 * builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
674 BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
675 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
676 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
677 the above *FILEPTR* types instead of *PTR*.
678
fce66145
DB
6792004-06-09 Daniel Berlin <dberlin@dberlin.org>
680
9ade2479 681 * tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores
fce66145
DB
682 match.
683
a653e758
RS
6842004-06-09 Roger Sayle <roger@eyesopen.com>
685
686 * fold-const.c (fold_not_const): New function.
687 (fold) <ABS_EXPR>: Don't bother testing wins.
688 (fold) <BIT_NOT_EXPR>: Call fold_not_const.
689 (nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise.
690
e66e7856 6912004-06-09 Richard Henderson <rth@redhat.com>
9ade2479 692
498c0f27
JJ
693 PR middle-end/15228
694 * function.c (assign_parms): Always set_mem_align with the computed
695 FUNCTION_ARG_BOUNDARY. Don't clear stack_parm if !STRICT_ALIGNMENT.
e66e7856 696
4b5b9613
RH
6972004-06-09 Richard Henderson <rth@redhat.com>
698
699 PR opt/15108
700 * tree-tailcall.c (find_tail_calls): Don't check early for
701 tail_recursion failure.
702
313679b0
DN
7032004-06-09 Diego Novillo <dnovillo@redhat.com>
704
705 Move SSA_NAME annotations into tree_ssa_name.
706
707 * tree-dfa.c (create_ssa_name_ann): Remove.
708 * tree-flow-inline.h (ssa_name_ann, get_ssa_name_ann): Remove.
709 * tree-flow.h (enum tree_ann_type): Remove SSA_NAME_ANN.
710 (struct ssa_name_ann_d): Remove.
711 (union tree_ann_d): Update.
712 (ssa_name_ann_t): Remove.
713 * tree-ssa-alias.c: (get_ptr_info): New local function.
714 Replace references to ssa_name_ann_t with struct ptr_info_def.
715 * tree-ssa-operands.c (get_expr_operands): Likewise.
716 * tree.h (SSA_NAME_PTR_INFO): Define.
717 (struct ptr_info_def): Declare.
718 (struct tree_ssa_name): Add field 'ptr_info'.
719
33300a2e
DS
7202004-06-09 Danny Smith <dannysmith@users.sourceforge.net>
721
8041d6ab 722 * config/i386/winnt.c (i386_pe_output_labelref): Correct
33300a2e
DS
723 misplaced ')'.
724
8695f61e
SB
7252004-06-09 Steven Bosscher <stevenb@suse.de>
726
727 * config/i386/k6.md: Rewrite using the DFA model.
728 * config/i386/i386.c (ix86_adjust_cost): Don't increase the
729 cost of load-operation insns for the K6.
730 (ia32_use_dfa_pipeline_interface): Add TARGET_K6.
731 (ia32_multipass_dfa_lookahead): Likewise.
732
28245018
RH
7332004-06-09 Richard Henderson <rth@redhat.com>
734
735 * config/alpha/alpha.c (alpha_gimplify_va_arg_1,
736 alpha_gimplify_va_arg, TARGET_GIMPLIFY_VA_ARG_EXPR): New.
737
bb394606
RH
7382004-06-09 Richard Henderson <rth@redhat.com>
739
740 * expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE.
741
d8044160
GK
7422004-06-09 Geoffrey Keating <geoffk@apple.com>
743
744 * Makefile.in (CPPLIB_H): Put files in order of inclusion.
745 (CPP_ID_DATA_H): New.
746 (gtype-desc.o): Update dependencies.
747 (GTFILES): Use CPP_ID_DATA_H.
748
0e5b7cfa
MM
7492004-06-09 Mark Mitchell <mark@codesourcery.com>
750
751 Revert:
752 PR c++/15815
753 2004-06-07 Mark Mitchell <mark@codesourcery.com>
754 * doc/extend.texi: Deprecate #pragma interface and #pragma
755 implementation.
756
5162e02a
DM
7572004-06-09 David S. Miller <davem@nuts.davemloft.net>
758
759 * config/sparc/sparc.h (MOVE_RATIO): New definition.
760
62b857ea
RH
7612004-06-09 Richard Henderson <rth@redhat.com>
762
763 * basic-block.h (struct edge_def): Add goto_locus.
764 * tree-cfg.c (make_goto_expr_edges): Set it.
765 (disband_implicit_edges): Use it.
766 * tree-pretty-print.c (dump_implicit_edges): Print it.
767
93a9f7d6
AP
7682004-06-08 Anil Paranjpe <anilp1@kpitcummins.com>
769
770 * h8300.md (ldm_h8300s_4): Fix condition for expander.
771
cd3ce9b4
JM
7722004-06-08 Jason Merrill <jason@redhat.com>
773
774 Gimplify VA_ARG_EXPR into simpler forms.
775 * target.h: Add gimplify_va_arg_expr hook.
776 * target-def.h: Add TARGET_GIMPLIFY_VA_ARG_EXPR.
777 * fold-const.c (build_fold_addr_expr)
778 (build_fold_addr_expr_with_type): Move from gimplify.c.
779 * tree.h: Declare them.
780 * gimplify.c (gimplify_and_add): New fn.
781 (build_addr_expr, build_addr_expr_with_type): Move to fold-const.c.
782 (gimplify_array_ref_to_plus, gimplify_modify_expr)
783 (gimplify_expr): Use build_fold_*.
784 (copy_if_shared_r): Only mark VA_ARG_EXPR volatile if we
785 don't know how to gimplify it.
786 * builtins.c (std_gimplify_va_arg_expr): New fn.
787 (dummy_object): New static fn.
788 (gimplify_va_arg_expr): New fn.
789 (stabilize_va_list): Use build_fold_*.
790 * tree-gimple.h: Declare new fns.
791 * config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
792 (ix86_gimplify_va_arg): New fn.
373614fc 793 * config/ia64/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
cd3ce9b4 794 (ia64_gimplify_va_arg): New fn.
373614fc 795 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn.
cd3ce9b4 796 (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
cd3ce9b4 797 * alias.c (get_varargs_alias_set): Just return 0 for now.
9ade2479 798
cd3ce9b4
JM
799 * c-objc-common.c (c_tree_printer): Improve handling of %T.
800
e072ae27
AP
8012004-06-09 Andrew Pinski <pinskia@physics.uc.edu>
802
803 * tree-complex.c (expand_complex_comparison): Use fold_convert instead
804 of convert.
805 * tree-inline.c (setup_one_parameter): Likewise.
806 * tree-sra.c (csc_build_component_ref): Likewise.
807 * tree-ssa-ccp.c (ccp_fold): Likewise.
808 * tree-ssa-copy.c (cprop_operand): Likewise.
809 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
810 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
811
b40742a5
R
8122004-06-09 J"orn Rennecke <joern.rennecke@superh.com>
813
814 PR rtl-optimization/15521:
815 * sched-int.h (in_post_call_group_p): Change type to enum.
816 * sched-deps.c (sched_analyze_insn):
817 (sched_analyze): When in_post_call_group_p is post_call_initial,
818 don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
819 and also reset in_post_call_group_p to post_call.
820 (sched_analyze): When the previous basic block ended in a CALL_INSN,
821 initialize in_post_call_group_p as post_call_initial.
822 (init_deps): initialize in_post_call_group_p to not_post_call.
9ade2479 823
e22df315
AC
8242004-06-09 Arnaud Charlet <charlet@act-europe.fr>
825
826 PR ada/6637
827 * doc/install.texi: List ada, libada as options to --enable-shared
828
ad6717df
PB
8292004-06-09 Paolo Bonzini <bonzini@gnu.org>
830
831 * aclocal.m4 (gcc_AC_PROG_LN): Remove.
832 (gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
833 config.in entries.
834 * configure.ac: Call ACX_PROG_LN, falling back to $LN_S
835 if hard links are not available.
836 * configure: Regenerate.
837 * config.in: Regenerate.
838
74ee1642
PB
8392004-06-08 Per Bothner <per@bothner.com>
840
841 * configure.ac: New --enable-mapped-location sets USE_MAPPED_LOCATION.
842
144cbad0
RK
8432004-06-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
844
845 * toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
846 Correct formatting.
847
02760d2f
JW
8482004-06-08 James E Wilson <wilson@specifixinc.com>
849
850 PR target/15790
851 * config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.
852
908d0773
AP
8532004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
854
855 * fold-const.c (fold_convert): Treat OFFSET_TYPE like
856 POINTER_TYPE and INTEGER_TYPE.
857
d7777192
BI
8582004-06-08 Bernardo Innocenti <bernie@develer.com>
859
860 * modulo-sched.c: Compile only when INSN_SCHEDULING is
861 defined.
862
2d488668
JL
8632004-06-08 Jeff Law <law@redhat.com>
864
8695f61e
SB
865 * doc/contrib.texi: Add entries for Stefan Olsson and
866 Ola Ronnerup.
2d488668 867
73d10efa
DD
8682004-06-08 DJ Delorie <dj@redhat.com>
869
870 * toplev.c (floor_log2_wide): Replace loop with faster bit
871 operations.
872 (exact_log2_wide): Define in terms of the above.
873 * toplev.h (floor_log2): Use _builtin_clz family of builtins if
874 available.
875
3b48085e
AP
8762004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
877
878 * config/rs6000/rs6000.c (print_operand, <case 'z'>):
879 Make sure that we are in INDIRECT mode when getting the
880 stub name.
881
3d5c8546
AP
8822004-06-08 Anil Paranjpe <anilp1@kpitcummins.com>
883
884 * h8300.md (extendqisi2_h8300): Add constraints.
885 (ldm_h8300s_4_normal): Fix typo.
886
71877985
RH
8872004-06-08 Richard Henderson <rth@redhat.com>
888
8695f61e
SB
889 * gimple-low.c (struct lower_data): Replace the_return_label and
890 one_return_stmt with return_statements.
891 (lower_function_body): Process the entire list of return_statements.
9ade2479 892 (lower_return_expr): Check source value before unifying return_exprs.
8695f61e
SB
893 * gimplify.c (gimplify_return_expr): Force the use of a temporary
894 for !aggregate_value_p.
895 * tree-gimple.c: Update RETURN_EXPR grammer.
71877985 896
de101ad2
VM
8972004-06-08 Vladimir Makarov <vmakarov@redhat.com>
898
899 PR target/15598
900 * config/ia64/ia64.c (bundling): Add missed TYPE_A.
901
d599f329
ZD
9022004-06-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
903
904 PR rtl-optimization/15717
905 * config/i386/i386.c (legitimate_constant_p): Do not allow
906 x - symbol_ref.
907
0b1d52f7
AO
9082004-06-08 Alexandre Oliva <aoliva@redhat.com>
909
910 * gimplify.c (copy_if_shared_r): Revert:
911 2004-05-21 Richard Henderson <rth@redhat.com>
912 * gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.
913
58777718
RS
9142004-06-07 Roger Sayle <roger@eyesopen.com>
915
916 * expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
917 Make arrays indexed by machine mode. Rename negate_cost to neg_cost.
918 (init_expmed): Initialize these cost arrays as appropriate.
919 (store_bit_field, extract_bit_field): Correct whitespace.
920 (synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
921 expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
922 neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
923 word_mode or compute_mode as appropriate.
924
85bbb21f
EB
9252004-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
926
927 PR target/15783
928 * config/sparc/sparc.c (function_arg_union_value): Add 'mode'
929 parameter. Enumerate the registers inside the PARALLEL.
930 (function_arg): Adjust call to function_arg_union_value.
931 (function_value): Likewise.
932
933 * config/sparc/sparc.c (sparc_function_epilogue): Properly format.
934
67057c53
RS
9352004-06-07 Roger Sayle <roger@eyesopen.com>
936
937 * real.c (real_copysign): New function to implement libm's copysign.
938 * real.h (real_copysign): Prototype here.
939 * fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
940 and sqrtl can be negative, as sqrt(-0.0) = -0.0. Correct whitespace.
941 * builtins.c (fold_builtin_isascii, fold_builtin_toascii,
942 fold_builtin_isdigit): Add function prototypes.
943 (fold_builtin_copysign): New function to fold copysign, copysignf
944 and copysignl. Optimize copysign(x,x) as x. Evaluate copysign of
945 constant arguments at compile-time using real_copysign. Fold
946 copysign(X,Y) as fabs(X) if Y is always non-negative.
947 (fold_builtin_1): Correct minor whitespace/style issues. Call
948 fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.
949
f29b9db9
R
9502004-06-07 J"orn Rennecke <joern.rennecke@superh.com>
951
952 * tree.c (iterative_hash_expr): Use real_hash.
953
45b0c94c
JM
9542004-06-07 Joseph S. Myers <jsm@polyomino.org.uk>
955
956 PR c/14765
957 * c-parse.in (compstmt_primary_start): Set last_expr_type to
958 NULL_TREE.
959
3743236e
MM
9602004-06-07 Mark Mitchell <mark@codesourcery.com>
961
962 PR c++/15815
963 * doc/extend.texi: Deprecate #pragma interface and #pragma
964 implementation.
965
0b395e19
AO
9662004-06-07 Alexandre Oliva <aoliva@redhat.com>
967
968 PR middle-end/15666
969 * c-decl.c (finish_decl): Use change_decl_assembler_name for the
970 builtin decl as well.
971
bf730f15
RS
9722004-06-07 Roger Sayle <roger@eyesopen.com>
973
974 PR c/14649
975 * c-typeck.c (require_constant_value, require_constant_elements):
976 Move declarations to the top of the file.
977 (build_function_call): If we require a constant value, fold with
978 fold_initializer. If the result is a constant, and the function
979 wasn't called using __builtin_foo, issue a pedantic warning.
980 (build_unary_op): If we require a constant value, fold tree with
981 fold_initializer.
982 (build_binary_op): Use require_constant_value to determine whether
983 to call fold or fold_initializer.
984
f5a76aea
RH
9852004-06-07 Richard Henderson <rth@redhat.com>
986
987 * gimple-low.c (struct lower_data): Add the_return_label and
988 one_return_stmt.
989 (lower_function_body): Initialize and use them.
990 (lower_return_expr): New.
991 (lower_stmt): Call it.
992 * gimplify.c (gimplify_return_expr): Force the argument to be either
993 null or a result_decl.
994 * tree-gimple.c: Update gimple grammer to match.
995 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
996 coalescing of result_decls.
997
5c64c900
RH
9982004-06-07 Richard Henderson <rth@redhat.com>
999
1000 PR rtl-opt/15193
1001 * expmed.c (extract_bit_field): Fix vector_extract return.
1002
1003 * config/i386/i386.md (negv4sf2): New pattern.
1004
d5a10cf0
MM
10052004-06-07 Mark Mitchell <mark@codesourcery.com>
1006
1007 PR c++/15337
07d5edd2 1008 * c-common.c (c_sizeof_or_alignof_type): Use more detailed error
d5a10cf0
MM
1009 message.
1010
2af5538b
PB
10112004-06-06 Paolo Bonzini <bonzini@gnu.org>
1012
1013 * config.in: Regenerate.
1014
7853504d
SB
10152004-06-06 Steven Bosscher <stevenb@suse.de>
1016
1017 * tree-cfg.c (tree_verify_flow_info): Make sure that labels in
1018 SWITCH_LABELS are always sorted.
1019
e4638a72
SB
10202004-06-06 Steven Bosscher <stevenb@suse.de>
1021
1022 * hooks.c (hook_int_void_1): New generic hook.
1023 * hooks.h (hook_int_void_1): Add prototype.
1024 * config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
1025 Define to hook_int_void_1.
1026 * config/c4x/c4x.md: Replace dummies for the old pipeline model
1027 with dummies for the new one.
1028
25a1a39e
RS
10292004-06-06 Roger Sayle <roger@eyesopen.com>
1030
1031 * tree.h (lvalue_or_else): Delete function prototype.
1032 * c-typeck.c (lvalue_or_else): Make static. Add static prototype.
1033
37f40c9c
SC
10342004-06-06 Stephane Carrez <stcarrez@nerim.fr>
1035
1036 PR target/14542
1037 * config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
1038 a live change of a register after peephole replacement.
1039
10bc1b1b
JM
10402004-06-06 Joseph S. Myers <jsm@polyomino.org.uk>
1041
1042 PR c/13519
1043 * c-typeck.c (composite_type, common_pointer_type): New functions.
1044 (common_type): Split parts into composite_type and
1045 common_pointer_type. Ensure that arithmetic operations return
1046 unqualified types without attributes. Don't make composite type
1047 of signed enum and compatible integer be unsigned.
1048 (build_conditional_expr, build_binary_op): Use
1049 common_pointer_type.
1050 * c-decl.c (merge_decls): Use composite_type.
1051 * c-tree.h (composite_type): Declare.
1052
ff24b820
SC
10532004-06-06 Stephane Carrez <stcarrez@nerim.fr>
1054
1055 PR target/14457
1056 * config/m68hc11/m68hc11.c (splitable_operand): New predicate.
1057 * config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
1058 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
1059 (inhibit_libc): Must define.
1060 * config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
1061 ("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
1062 ("xorhi3"): Likewise.
1063
2ddbba80
EB
10642004-06-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1065
1066 * cgraphunit.c (cgraph_decide_inlining): Adjust dump lines in
1067 always_inline pass.
1068
0eef99c1
DM
10692004-06-05 David S. Miller <davem@nuts.davemloft.net>
1070
1071 * config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
1072 * config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
1073
1ee19633
BI
10742004-06-05 Bernardo Innocenti <bernie@develer.com>
1075
1076 * regclass.c (init_reg_sets): Check for missing registers in target
1077 initializer macros FIXED_REGISTERS and CALL_USED_REGISTERS.
1078
c6e83800
ZW
10792004-06-05 Zack Weinberg <zack@codesourcery.com>
1080
1081 * Makefile.in (MKDEPS_H): New shorthand.
1082 (c-opts.o): Update dependencies.
1083 * c-opts.c: Include mkdeps.h.
1084 (handle_deferred_opts): Use cpp_get_deps and deps_add_target,
1085 not cpp_add_dependency_target.
1086
dbeff3e5
SB
10872004-06-05 Steven Bosscher <stevenb@suse.de>
1088
1089 * config/v850/v850.c (v850_use_dfa_pipeline_interface): New.
1090 * config/v850/v850.md: Convert to DFA scheduler description.
1091
3e31938b 10922004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
bda4d063
TS
1093
1094 PR fortran/15478
1095 * doc/install.texi: Document GMP as prerequisite. Document
1096 --with-gmp and --with-gmp-dir configure options.
1097 * fortran/gfortran.texi: Remove section "Compiling and testing",
c6e83800 1098 remove TOC reference to it.
bda4d063 1099
446f52f4
GS
11002004-06-05 Graham Stott <graham.stott@btinternet.com>
1101
1102 * combine.c(simplify_shift_const): Check shift amount is a
1103 CONST_INT.
1104
90aa6719
DS
11052004-06-05 Danny Smith <dannysmith@users.sourceforge.net>
1106
446f52f4 1107 * toplev.c (init_asm_output): Add explicit 'b' to mode when
c6e83800 1108 opening asm_out_file.
446f52f4
GS
1109 * c-pch.c (c_common_write_pch): Remove unnecessary fflush before
1110 reading asm_out_file. Replace fflush after reading asm_out_file
1111 with fseek.
1112 * hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
c6e83800 1113 default and add to HOST_HOOKS_INITIALIZER.
446f52f4
GS
1114 * hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
1115 * ggc-common.c (default_gt_pch_alloc_granularity): New function.
c6e83800 1116 (gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
446f52f4
GS
1117 to set mmi.offset padding.
1118 * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
1119 $(srcdir)/config/i386/winnt.c.
1120 (i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
1121 (i[34567]86-*-uwin*): Likewise.
1122 *i[34567]86-*-interix3*): Likewise.
1123 * config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
1124 * config/i386/host-mingw32.c: New file.
1125 * config/i386/x-mingw32: Add rule for host-mingw32.o.
1126 * config/i386/winnt.c: (struct extern_list) Tag as GTY.
1127 (extern_head): Likewise.
1128 (struct export_list) Likewise.
1129 (export_head): Likewise.
1130 (i386_pe_record_external_function): Use ggc_alloc.
1131 (i386_pe_record_exported_symbol): Likewise.
1132 Include "gt-winnt.h" at end.
1133 * doc/hostconfig.texi: Document
90aa6719
DS
1134 HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.
1135
859711c5
BI
11362004-06-04 Bernardo Innocenti <bernie@develer.com>
1137
1138 * config/m68k/m68k.h: Remove comments copied over from tm.texi.
1139 Rename 68000 and 68k to m68k for consistency in comments. Remove
1140 trailing whitespace before EOLs and before TABs.
1141 (MAX_CODE_ALIGN): Remove unused macro.
1142 (CALL_USED_REGISTERS): Reformat and add comments.
1143
f4d8a9ae
FCE
11442004-06-04 Frank Ch. Eigler <fche@redhat.com>
1145
1146 * gcc.c (MFLIB_SPEC): Remove library references, to require users
1147 to enumerate -lmudflap* and dependencies when linking.
1148
14bbffa1
PB
11492004-06-04 Paolo Bonzini <bonzini@gnu.org>
1150
1151 PR target/15822
1152 * dojump.c (do_jump): Fix uninitialized variable tcode1.
1153
3a786c62
JQ
11542004-06-04 Jerry Quinn <jlquinn@optonline.net>
1155
1156 * Makefile.in (insn-conditions.o): Back out removal of reload.h.
1157 * genconditions.c (write_header): Back out removal of reload.h.
1158
2e2052b1
JH
11592004-06-04 Jan Hubicka <jh@suse.cz>
1160
1161 Re-apply hopefully fixed patch:
1162 * i386.md (UNSPECV_EH_RETURN): Kill.
1163 (eh_return): Use jump_insn.
1164 (eh_return_si, eh_return_di): Change pattern to jump instruction.
1165
9cf84a3c
JL
11662004-06-04 Jeff Law <law@redhat.com>
1167
1168 * cfgrtl.c (try_redirect_by_replacing_jump): Fix return value.
1169
f698d217
SB
11702004-06-04 Steven Bosscher <stevenb@suse.de>
1171
1172 * except.c (for_each_eh_region): New function.
1173 * except.h (for_each_eh_region): Add a prototype for it.
1174 * tree-cfg.c (update_eh_labels): New function, callback for
1175 for_each_eh_region.
1176 (label_for_bb): Make global static, unfortunately.
1177 (cleanup_dead_labels): Also update label references for
1178 exception regions.
1179
c759d454
CD
11802004-06-03 Chris Demetriou <cgd@broadcom.com>
1181
1182 * config/mips/mips.c (struct irix_section_align_entry): Fix
1183 GTY marker.
1184
3d98fa14
GK
11852004-06-03 Geoffrey Keating <geoffk@apple.com>
1186
1187 * toplev.c (check_global_declarations): Don't ask for
1188 DECL_ASSEMBLER_NAME unless the function really is declared
1189 static and not defined.
1190
0524c91d
MA
11912004-06-03 Matt Austern <austern@apple.com>
1192
1193 PR c++/15428
1194 * default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
1195 for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
1196 * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
1197 * doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
c6e83800 1198 documentation to reflect the new macro name and to clarify its
0524c91d 1199 meaning.
c6e83800 1200
f698d217 12012004-06-03 Steven Bosscher <stevenb@suse.de>
ed5947c9
SB
1202
1203 * rtl.def (VAR_LOCATION): Make RTX_EXTRA.
1204
c0d594f1
AP
12052004-06-03 Andrew Pinski <pinskia@physics.uc.edu>
1206
1207 * config/darwin.c (machopic_indirect_data_reference): Copy
1208 the SYMBOL_REF_DECL from the original RTX for the new
1209 non-lazy pointer RTX.
1210
ed5947c9 12112004-06-03 Mark G. Adams <mark.g.adams@sympatico.ca>
a757585a
MA
1212
1213 * tree.h: Remove include of version.h
1214 * c-cppbuiltin.c: Include version.h
1215 * diagnostic.c: Include version.h
1216 * dwarf2out.c: Include version.h
1217 * toplev.c: Include version.h
1218 * vmsdbgout.c: Include version.h
1219 * Makefile.in: Remove dependency on version.h from TREE_H, and
1220 add dependencies to required .o targets
1221
59587b18
JQ
12222004-06-03 Jerry Quinn <jlquinn@optonline.net>
1223
1224 * Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H,
1225 CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New.
1226 (TARGET_H): Add insn-modes.h.
1227 (tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o,
1228 loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o,
1229 loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o,
1230 loop-unroll.o, ddg.o, modulo-sched.o, predict.o,
1231 cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H.
1232 (toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o,
1233 loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o,
1234 bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with
1235 CFGLAYOUT_H.
1236 (ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o):
1237 Replace ra.h with RA_H.
1238 (resource.o, regrename.o, insn-conditions.o, insn-emit.o,
1239 insn-recog.o): Replace resource.h with RESOURCE_H.
1240 (ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
1241 sched-ebb.o, sched-vis.o, out_object_file): Replace sched-int.h
1242 with SCHED_INT_H.
1243 (web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
1244 ra-rewrite.o): Replace df.h with DF_H.
1245 (ddg.o, modulo-sched.o): Replace ddf.h with DDG_H.
1246 (tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o):
1247 Replace tree-ssa-live.h with TREE_SSA_LIVE_H.
1248 (insn-conditions.o): Remove unused reload.h.
1249 * cfglayout.h: Add include guard. Include basic-block.h.
1250 * cfgloop.h: Add include guard. Include basic-block.h, rtl.h.
1251 * ddg.h: Include sbitmap.h, basic-block.h, df.h.
1252 * df.h: Add include guard. Include bitmap.h, sbitmap.h,
1253 basic-block.h.
1254 * genconditions.c: Remove reload.h.
1255 * ra.h: Add include guard. Include bitmap.h, sbitmap.h,
1256 hard-reg-set.h, insn-modes.h.
1257 * resource.h: Add include guard. Include hard-reg-set.h.
1258 * sched-int.h: Add include guard. Include insn-attr.h,
1259 basic-block.h, rtl.h.
1260 * target.h: Add include guard. Include insn-modes.h.
1261 * tree-ssa-live.h: Include partition.h.
1262
95eec0d6
DB
12632004-06-03 Daniel Berlin <dberlin@dberlin.org>
1264 Kenneth Zadeck <zadeck@naturalbridge.com>
1265
1266 * tree-ssa-ccp.c (varying_ssa_edges): New worklist.
1267 (add_var_to_ssa_edges_worklist): Add value argument.
1268 Update callers.
1269 Use new worklist.
1270 (process_ssa_edge_worklist): New function.
c6e83800 1271 (tree_ssa_ccp): Move worklist processing core to
95eec0d6
DB
1272 process_ssa_edge_worklist, and just call that for the two worklists.
1273
12742004-06-03 Steven Bosscher <stevenb@suse.de>
6ce2bcb7
SB
1275
1276 * basic-block.c (tail_recursion_label_list): Don't declare.
1277 (CLEANUP_PRE_SIBCALL): Remove. Renumber the other CLEANUP_*
1278 accordingly.
1279 * cfgbuild.c (find_label_refs): Remove.
1280 (find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
1281 * cfgcleanup.c (tail_recursion_label_p): Remove.
1282 (merge_blocks_move): Do not check for tail recursion.
1283 (try_optimize_cfg): Likewise.
1284 (cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
1285 * cfgrtl.c (tail_recursion_label_list): Remove.
1286 * except.c (remove_unreachable_regions): Don't handle
1287 CALL_PLACEHOLDER insns.
1288 (convert_from_eh_region_ranges_1, can_throw_internal,
1289 can_throw_external): Likewise.
1290 * function.c (free_after_compilation): Don't clear
1291 x_tail_recursion_label.
1292 (fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
1293 (identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
1294 (reorder_blocks_1): Likewise.
1295 * function.h (struct function): Remove x_tail_recursion_label
1296 member. Don't define tail_recursion_label.
1297 * jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
1298 * print-rtl.c (print_rtx): Likewise.
1299 * rtl.def (CALL_PLACEHOLDER): Remove.
1300 * rtl.h (sibcall_use_t): Remove enum.
1301 (optimize_sibling_and_tail_recursive_calls,
1302 replace_call_placeholder): Remove function prototypes.
1303 * stmt.c (tail_recursion_args): Remove.
1304 (optimize_tail_recursion): Remove.
1305 (expand_return): Don't check for possible tail recursion.
1306 * tree.h (optimize_tail_recursion): Remove prototype.
1307
ce068299
JH
13082004-06-02 Jan Hubicka <jh@suse.cz>
1309
1310 * tree-cfg.c (tree_find_edge_insert_loc): Allow inserting before
1311 return_stmt.
1312
b25a8933
JM
13132004-06-02 Jason Merrill <jason@redhat.com>
1314
1315 * Makefile.in (TAGS): Don't mess with c-parse.[ch].
1316 Do include c-parse.in.
1317
3aeb3655
EC
13182004-06-02 Eric Christopher <echristo@redhat.com>
1319
1320 * c-typeck.c (common_type): Don't lose type qualifiers
1321 when creating new variants.
1322
3facc4b6
AP
13232004-06-02 Andrew Pinski <pinskia@physics.uc.edu>
1324
1325 PR tree-optimization/14042
1326 PR tree-optimization/14729
1327 PR tree-optimization/14736
03a4c969
AP
1328 * tree-ssa.c (tree_ssa_useless_type_conversion_1):
1329 Check the type which the pointer points to
3facc4b6
AP
1330 instead of the pointer types.
1331
91fa0e3d
KH
13322004-06-02 Kazu Hirata <kazu@cs.umass.edu>
1333
1334 PR tree-optimization/15738.
1335 * builtins.c (fold_builtin_strchr): Transform
1336 strrchr (s, '\0') to strchr (s, '\0').
1337
dff008b4
SB
13382004-06-02 Steven Bosscher <stevenb@suse.de>
1339
1340 * i386.c (ix86_adjust_cost): Don't increase the cost for
1341 load+operation for PROCESSOR_PENTIUMPRO, it is already
1342 modelled in the DFA description
1343
78528714
JQ
13442004-06-01 Jerry Quinn <jlquinn@optonline.net>
1345
1346 * Makefile.in (EXPR_H): Add insn-config.h, function.h,
1347 $(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
1348 (ALIAS_H, EMIT_RTL_H): New.
1349 (cselib.o): Replace EXPR_H with EMIT_RTL_H.
1350 (cfgcleanup.o): Add EMIT_RTL_H.
1351 (alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
1352 * alias.c: Replace expr.h with emit-rtl.h and alias.h.
1353 * attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
1354 * cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
1355 * expr.h: Add include guard. Include function.h, rtl.h, flags.h,
1356 tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
1357 (get_varargs_alias_set, get_frame_alias_set, record_base_value,
1358 record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
1359 (set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
1360 set_mem_size): Move to emit-rtl.h.
1361 * emit-rtl.h: New.
1362 * alias.h: New.
1363
95c73b23
EB
13642004-06-01 Eric Botcazou <ebotcazou@act-europe.fr>
1365
1366 * function.c (walk_fixup_memory_subreg): New parameter 'var'.
1367 Call fixup_memory_subreg only if the MEM is equal to 'var'.
1368 Adjust recursive calls to self.
1369 (fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg.
1370
7a3ea201
RH
13712004-06-01 Richard Henderson <rth@redhat.com>
1372 Andrew Pinski <pinskia@physics.uc.edu>
1373
1374 * c-parse.in (OFFSETOF, offsetof_member_designator): New.
1375 (primary): Handle offsetof. Add error productions for faux functions.
1376 Move component_ref objc checking to build_component_ref.
1377 (reswords): Add offsetof.
1378 (rid_to_yy): Add offsetof.
1379 * c-tree.h (build_offsetof): Declare.
1380 * c-common.h (objc_is_public): Declare.
1381 * c-typeck.c (build_component_ref): Check objc_is_public.
1382 (build_offsetof): New.
1383 * stub-objc.c (objc_is_public): New.
1384 * objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename
1385 from is_public.
1386 * ginclude/stddef.h (offsetof): Use __builtin_offsetof.
1387 * doc/extend.texi (Offsetof): Move from C++ section to C section
1388 and rewrite for __builtin_offsetof.
1389
5050d266 13902004-06-01 Peter Barada <peter@the-baradas.com>
dff008b4 1391 Peter Jakubek <peter@laseranimation.com>
5050d266
PB
1392
1393 * config/m68k/m68k.c(m68k_output_mi_thunk): For ColdFire, use %d0 as
1394 a scratch to perform an add to memory.
1395
225d221a
BI
13962004-06-01 Bernardo Innocenti <bernie@develer.com>
1397
1398 PR target/14018
1399 * config/m68k/m68k.c (m68k_align_loops_string, m68k_align_jumps_string,
1400 m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
1401 m68k_align_funcs): Remove.
1402 (override_options): Remove code to handle -malign-* options.
1403 * config/m68k/m68k.h (TARGET_OPTIONS): Remove -malign-* options.
1404 (FUNCTION_BOUNDARY, LOOP_ALIGN, LOOP_ALIGN_AFTER_BARRIER): Remove.
1405 (m68k_align_loops_string, m68k_align_jumps_string,
1406 m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
1407 m68k_align_funcs): Remove definitions.
1408
1460af95
PE
14092004-06-01 Paul Eggert <eggert@cs.ucla.edu>
1410
1411 PR target/15626
1412 * doc/install.texi (sparc-sun-solaris2*): Document messages issued
1413 by the Sun linker in conjunction with the Sun assembler.
1414 (sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
1415
225d221a 14162004-06-01 Jeff Law <law@redhat.com>
0b068ee9 1417
dff008b4
SB
1418 * stmt.c (expand_decl): Be more selective about calling
1419 mark_reg_pointer.
0b068ee9 1420
61c627ed
NP
14212004-06-01 Nicola Pero <nicola@brainstorm.co.uk>
1422
9ade2479 1423 PR objc/7993
61c627ed
NP
1424 * objc-act.c (is_private): Do not emit the 'instance variable %s
1425 is declared private' error.
1426 (is_public): Emit the error after calling is_private.
1427 (lookup_objc_ivar): If the instance variable is private, return 0
1428 - the instance variable is invisible here.
1429
d3144423
EB
14302004-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1431
1432 * doc/invoke.texi (-static-libgcc): Explicitly mention
1433 non-GNU linkers.
1434
5847e53e
BI
14352004-06-01 Bernardo Innocenti <bernie@develer.com>
1436
1437 PR target/12968
1438 * doc/invoke.texi: Document stack alignment side-effect of -mshort.
1439
ec3e6835
JM
14402004-05-31 Joseph S. Myers <jsm@polyomino.org.uk>
1441
1442 PR c/15749
1443 * c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
1444 misuses of structures with flexible array members if
1445 in_system_header.
1446
a4a90b84
EB
14472004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1448
1449 PR target/15693
1450 * config/sparc/sparc.c (compare_operand): New predicate.
1451 * config/sparc/sparc.h (PREDICATE_CODES): Add it.
1452 * config/sparc/sparc.md (cmpsi expander): Use it. If the first
1453 operand is a ZERO_EXTRACT and the second operand is not zero,
1454 force the former to a register.
1455 (cmpdi expander): Likewise.
1456
133f7a77
GK
14572004-05-31 Geoffrey Keating <geoffk@apple.com>
1458
1459 * gengtype-lex.l: Catch stray GTY markers in the files gengtype
1460 looks at.
1461 * alias.c (alias_invariant_size): Make alias_invariant_size
1462 static, fix GTY marker.
1463
09d98c72
KH
14642004-05-31 Kazu Hirata <kazu@cs.umass.edu>
1465
1466 PR tree-optimization/15743.
1467 * builtins.c (fold_builtin_1): Fold index() and rindex().
1468
1f7a8dcc
RS
14692004-05-31 Roger Sayle <roger@eyesopen.com>
1470
1471 PR middle-end/15069
1472 * fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
1473 into "X < 0" (where C is the signbit) if X's type is a full mode.
1474
1027314a
JDA
14752004-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1476
1477 * pa.md: Disable the peephole2 patterns that generate indexed
1478 floating-point stores when indexing is disabled.
1479
41fd3bac
GDR
14802004-05-31 Gabriel Dos Reis <gdr@integrable-solutions.net>
1481
1482 * c-pretty-print.c (pp_c_left_bracket): Make a function.
1483 (pp_c_right_bracket): Likewise.
1484 (pp_c_star): Likewise.
1485 (pp_c_ampersand): Define.
1486 * c-pretty-print.h (pp_c_left_bracket): Declare.
1487 (pp_c_right_bracket): Likewise.
1488 (pp_c_star): Likewise.
1489 (pp_c_ampersand): Likewise.
1490
d3157fb6
EB
14912004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1492
1493 * config/sol2.h (__enable_execute_stack): ANSIfy function
1494 definition.
1495
421563d5
DS
14962004-05-31 Danny Smith <dannysmith@users.sourceforge.net>
1497
1498 * c-incpath.c (add_path): Canonicalize paths to use '/' if
1499 HAVE_DOS_BASED_FILESYSTEM.
1500
1c052514
SB
15012004-05-31 Steven Bosscher <stevenb@suse.de>
1502
1503 * tree-ssa-dom.c (record_equivalences_from_incoming_edge):
1504 Only look at case labels if the immediate dominator is also
1505 the only predecessor. Don't look for more case labels if the
1506 first seen is a case range.
1507
e784e649
KH
15082004-05-31 Kazu Hirata <kazu@cs.umass.edu>
1509
1510 * builtins.c: Add a prototype for fold_builtin_strchr().
1511
1999435c
PB
15122004-05-31 Paolo Bonzini <bonzini@gnu.org>
1513
1514 Revert this patch:
1515 2004-05-27 Paolo Bonzini <bonzini@gnu.org>
1516
1517 * combine.c (gen_binary): Remove.
1518 (known_cond, simplify_shift_const
1519 find_split_point, combine_simplify_rtx,
1520 simplify_if_then_else, simplify_set,
1521 simplify_logical, expand_field_assignment,
1522 extract_left_shift, force_to_mode,
1523 if_then_else_cond, apply_distributive_law,
1524 simplify_and_const_int, simplify_shift_const,
1525 gen_lowpart_for_combine, simplify_comparison,
1526 reversed_comparison): Replace with
1527 simplify_gen_binary, simplify_gen_relational or
1528 distribute_and_simplify_rtx.
1529 (distribute_and_simplify_rtx): New function.
1530
97509a89
JDA
15312004-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1532
1533 * pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
1534 when generating PIC code.
1535
3c79fa86
AP
15362004-05-30 Andrew Pinski <pinskia@physics.uc.edu>
1537
1538 * c-decl.c (c_expand_body_1): Remove and fold back into ...
1539 (c_expand_body): here.
1540 (c_expand_decl): Move to ...
1541 * c-common.c (c_expand_decl): Here and remove check for nested
1542 functions.
1543 * c-common.h (c_expand_decl): Add prototype.
1544 * c-tree.h (c_expand_decl): Remove.
1545
1b0f3e79
RS
15462004-05-30 Roger Sayle <roger@eyesopen.com>
1547
1548 * fold-const.c (combine_comparisons, optimize_bit_field_compare,
1549 range_binop, fold_truthop, fold_binary_op_with_conditional_arg,
1550 fold_mathfn_compare, fold_inf_compare, fold,
1551 fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
1552 Use constant_boolean_node where appropriate. Don't bother using
1553 fold_convert on the second argument to omit_one_operand.
1554
29d64660
RS
15552004-05-30 Roger Sayle <roger@eyesopen.com>
1556
1557 * doc/c-tree.texi (Expressions): Document FLOOR_DIV_EXPR,
1558 CEIL_DIV_EXPR, ROUND_DIV_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR,
1559 ROUND_MOD_EXPR, EXACT_DIV_EXPR. Improve documentation of
1560 TRUNC_DIV_EXPR, TRUNC_MOD_EXPR and comparison operations.
1561 Add missing (but documented) tree nodes to the index.
1562
b3dd9f35
SB
15632004-05-30 Steven Bosscher <stevenb@suse.de>
1564
1565 PR tree-optimization/14819
1566 * builtins.c (fold_builtin_strchr): New.
1567 (fold_builtin_1): Handle BUILT_IN_STRCHR and BUILT_IN_STRRCHR
1568 with fold_builtin_strchr().
1569
9cf737f8
KH
15702004-05-30 Kazu Hirata <kazu@cs.umass.edu>
1571
1572 * bb-reorder.c, builtins.c, c-common.c, c-gimplify.c,
1573 c-incpath.c, cgraphunit.c, ddg.c, defaults.h, dwarf2out.c,
1574 expmed.c, flags.h, gcc.c, gensupport.c, gimplify.c, global.c,
1575 passes.c, reg-stack.c, target.h, toplev.c, tree-alias-ander.c,
1576 tree-alias-common.c, tree-cfg.c, tree-complex.c, tree-dfa.c,
1577 tree-eh.c, tree-mudflap.c, tree-mudflap.h, tree-outof-ssa.c,
1578 tree-phinodes.c, tree-pretty-print.c, tree-ssa-alias.c,
1579 tree-ssa-ccp.c, tree-ssa-live.c, tree-ssa-live.h,
1580 tree-ssa-pre.c, tree.h, value-prof.h, varasm.c: Fix comment
1581 formatting.
1582
0f1f6967
SB
15832004-05-30 Steven Bosscher <stevenb@suse.de>
1584
1585 * gimplify.c (sort_case_labels): New. Split out from...
1586 (gimplify_switch_expr): ...here. Use it.
1587 * tree-eh.c (lower_try_finally_switch): Sort the labels of
1588 the SWITCH_EXPR created here before leaving the function.
1589 * tree.c (sort_case_labels): Add prototype.
1590
d22b7e14
AP
15912004-05-30 Andrew Pinski <pinskia@physics.uc.edu>
1592
1593 * fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
1594 of BOOLEAN_TYPE.
1595
1ea7e6ad
KH
15962004-05-30 Kazu Hirata <kazu@cs.umass.edu>
1597
1598 * c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c,
1599 ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h,
1600 fold-const.c, gcc.c, gimplify.c, haifa-sched.c,
1601 modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c,
1602 tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c,
1603 tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix
1604 comment typos. Follow spelling conventions.
1605
b453c95f
GK
16062004-05-29 Geoffrey Keating <geoffk@apple.com>
1607
1608 * gengtype-yacc.y: Add NESTED_PTR token.
1609 (option): Record `nested_ptr' option.
1610 * gengtype-lex.l: Handle `nested_ptr' keyword.
1611 * gengtype.c (walk_type): Process `nested_ptr' option.
1612 * gengtype.h (struct nested_ptr_data): New.
1613 * doc/gty.texi (GTY Options): Document `nested_ptr' option.
1614 * stringpool.c (struct string_pool_data): Make 'entries' point to
1615 ht_identifier instead of tree.
1616 (gt_pch_save_stringpool): Don't adjust pointers.
1617 (gt_pch_restore_stringpool): Call ht_load.
1618
be00f578
JM
16192004-05-29 Jason Merrill <jason@redhat.com>
1620
1621 * gimplify.c (gimplify_expr): Don't build a statement list
1622 if no gimplification was necessary.
1623
ca09cd34
JM
16242004-05-29 Joseph S. Myers <jsm@polyomino.org.uk>
1625
1626 * pretty-print.c (pp_base_format_text): Support %< instead of %`
1627 and %> as well as %'.
1628 * c-format.c: Use %< and %>.
1629 (gcc_diag_char_table, gcc_cdiag_char_table,
1630 gcc_cxxdiag_char_table): Update.
1631
5305f6d7
JM
16322004-05-29 Joseph S. Myers <jsm@polyomino.org.uk>
1633
1634 * c-typeck.c (common_type): Correct comment.
1635
d1fe6168
PB
16362004-05-29 Peter Barada <peter@the-baradas.com>
1637
28bad6d1
PB
1638 * config/m68k/m68k.c (CONST_METHOD): Add MVZ, MVS.
1639 * config/m68k/m68k.c (const_method): Likewise.
1640 * config/m68k/m68k.c (const_int_cost): Likewise.
1641 * config/m68k/m68k.c (const_int_cost): Likewise.
1642 * config/m68k/m68k.c (output_move_const_into_data_reg): Likewise.
1643
16442004-05-29 Peter Barada <peter@the-baradas.com>
1645
1646 * config/m68k/m68k.h (EXTRA_CONSTRAINT): add 'U' for register offset
d1fe6168
PB
1647 addressing.
1648 * config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
1649 movsi,movhi,movqi insn patterns.
1650
f935f97b
AP
16512005-05-28 Andrew Pinski <pinskia@physics.uc.edu>
1652
27e1a8d2
AP
1653 * c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.
1654
f935f97b
AP
1655 PR target/15720
1656 * config/darwin.c (machopic_indirect_call_target): Copy
1657 the SYMBOL_REF_DECL from the original RTX for the new
1658 stub RTX.
1659
5182fafe
DD
16602004-05-28 DJ Delorie <dj@redhat.com>
1661
1662 * stor-layout.c (place_field): Revert erroneous commit.
1663
bfefd4d5
ZL
16642004-05-28 Ziemowit Laski <zlaski@apple.com>
1665
1666 * config/rs6000/altivec.h (vec_ctf, vec_vcfsx, vec_vcfux, vec_cts,
1667 vec_ctu, vec_dss, vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_ld,
1668 vec_ldl, vec_lvsl, vec_lvsr, vec_sld, vec_splat, vec_vspltw,
1669 vec_vsplth, vec_vspltb, vec_splat_s8, vec_splat_s16, vec_splat_s32,
1670 vec_splat_u8, vec_splat_u16, vec_splat_u32, vec_st, vec_stl,
1671 vec_ste): Remove type checks for integral parameters and literals
1672 from '..._args_eq' macros.
1673
e851b373
AH
16742004-05-28 Aldy Hernandez <aldyh@redhat.com>
1675
1676 * c-common.c (fname_as_string): Fix xcalloc to xmalloc.
1677
0d0bc036
AH
16782004-05-28 Aldy Hernandez <aldyh@redhat.com>
1679
1680 * testsuite/g++.dg/charset/function.cc: New.
1681
1682 * testsuite/gcc.dg/charset/function.c: New.
1683
1684 * c-decl.c (c_make_fname_decl): Free return value from
1685 fname_as_string.
1686
1687 * cp/decl.c (cp_make_fname_decl): Free return value from
1688 fname_as_string.
1689
1690 * c-common.c (fname_as_string): Translate if necessary.
1691
4bb4ae96
GK
16922004-05-28 Geoffrey Keating <geoffk@apple.com>
1693
1694 * stringpool.c: Add comments to PCH saving/restoring routines.
1695
09b01df8
AP
16962004-05-28 Andrew Pinski <pinskia@physics.uc.edu>
1697
2fec96c1
AP
1698 * c-common.c (c_estimate_num_insns_1): Kill.
1699 (c_estimate_num_insns): Kill.
1700 * c-common.h (c_estimate_num_insns): Kill.
1701
1702 * gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING
1703 when checking for _POSIX_THREAD_PRIORITY_SCHEDULING.
1704 Remove comment about not checking for
1705 _POSIX_PRIORITY_SCHEDULING.
1706 * gthr-posix.c: Likewise.
09b01df8 1707
d1a7edaf
PB
17082004-05-28 Paolo Bonzini <bonzini@gnu.org>
1709 Roger Sayle <roger@eyesopen.com>
1710
1711 PR rtl-optimization/15649
1712 Add LTGT_EXPR and improve pretty-printing of unordered
1713 comparisons.
1714 * c-common.c (c_common_truthvalue_conversion):
1715 Handle LTGT_EXPR.
1716 * c-typeck.c (build_binary_op): Likewise.
1717 * dojump.c (do_jump): Likewise.
1718 * expr.c (expand_expr_real_1, do_store_flag): Likewise.
1719 * predict.c (tree_predict_by_opcode): Likewise.
1720 * real.c (real_compare): Likewise.
1721 * tree-cfg.c (verify_expr): Likewise.
1722 * tree-inline.c (estimate_num_insns_1): Likewise.
1723 * tree-pretty-print.c (dump_generic_node): Likewise.
1724 Handle ORDERED_EXPR, UNORDERED_EXPR.
1725 (op_symbol): Print unordered comparisons differently
1726 than ordered ones.
1727 * tree.def (LTGT_EXPR): New '<' tree code.
1728 * doc/c-tree.texi (Expressions): Document floating-point
1729 comparison nodes.
1730
1731 Fold comparisons between floating point values.
1732 * fold-const.c (enum comparison_code): New, from
1733 #define'd constants. Define compcodes for unordered
1734 comparisons and for invalid transformations.
1735 (invert_tree_comparison): Add "honor_nans" parameter.
1736 (fold_truthop): Revamp to work on floating-point types too.
1737 (comparison_to_compcode): Support unordered comparisons.
1738 Use new enum comparison_code.
1739 (compcode_to_comparison): Likewise.
1740 (combine_compcodes): New function.
1741 (invert_truthvalue): Let invert_tree_comparison decide
1742 whether it is valid to fold the comparison. Fold ORDERED
1743 and UNORDERED even if flag_unsafe_math_optimizations is off,
1744 and the remaining even if flag_unsafe_math_optimizations
1745 is off but we are under -fno-trapping-math.
1746 (fold_relational_const): Integer modes do not honor NaNs.
61c627ed 1747
2966b00e
PB
17482004-05-28 Paul Brook <paul@codesourcery.com>
1749
1750 * config/arm/arm.c (arm_output_epilogue): Remove redundant code.
1751
3c7ad43e
PB
17522004-05-28 Paul Brook <paul@codesourcery.com>
1753
1754 * config/arm/arm.c (thumb_force_lr_save): New function.
1755 (arm_get_frame_offsets, thumb_unexpanded_epilogue,
1756 thumb_output_function_prologue): Use it.
1757 (thumb_expand_prologue): Set lr_save_eliminated.
1758
a97a3e73
RS
17592004-05-28 Richard Sandiford <rsandifo@redhat.com>
1760
1761 * config/mips/mips.md (extendsidi2): Tie the source and destination
1762 of the register alternative. Split it into nothing.
1763
6c2511d3
RS
17642004-05-28 Richard Sandiford <rsandifo@redhat.com>
1765
1766 * rtl.h (skip_consecutive_labels): Declare.
1767 * emit-rtl.c (skip_consecutive_labels): New function.
1768 * reorg.c (relax_delay_slots, dbr_schedule): Use it.
1769 * jump.c (follow_jumps): Say what null return values mean.
1770
4fbf3498
KK
17712004-05-28 Kaz Kojima <kkojima@gcc.gnu.org>
1772
1773 PR target/13250
1774 * config/sh/sh.md (rotlsi3): Use emit_move_insn.
1775
cc212178
KK
17762004-05-27 Kaz Kojima <kkojima@gcc.gnu.org>
1777
1778 * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
1779 libgcc-std.ver.
1780 * config/sh/libgcc-std.ver: New file.
1781
aed30657
BM
17822004-05-27 Bryce McKinlay <mckinlay@redhat.com>
1783
1784 * except.c: Revert change of 2004-05-26.
1785 * config/i386/i386.md: Revert change of 2004-05-27.
1786
13f05fd0
BM
17872004-05-27 Bryce McKinlay <mckinlay@redhat.com>
1788
1789 * configure.ac: Remove --enable-tree-browser option.
1790 Define TREEBROWSER when ac_tree_checking is defined.
1791 * configure: Rebuilt.
1792
7c50e202
OH
17932004-05-27 Olivier Hainque <hainque@act-europe.fr>
1794
1795 * expr.c (store_constructor): Restore sanity check on
1796 the size of the type before clearing.
1797
baf8706c
JH
17982004-05-27 Jan Hubicka <jh@suse.cz>
1799
1800 * cfgbuild.c (control_flow_insn_p): Notice noreturn call
1801
1999435c 18022004-05-27 Paolo Bonzini <bonzini@gnu.org>
dce1438a
PB
1803
1804 * combine.c (gen_binary): Remove.
1805 (known_cond, simplify_shift_const
1806 find_split_point, combine_simplify_rtx,
1807 simplify_if_then_else, simplify_set,
1808 simplify_logical, expand_field_assignment,
1809 extract_left_shift, force_to_mode,
1810 if_then_else_cond, apply_distributive_law,
1811 simplify_and_const_int, simplify_shift_const,
1812 gen_lowpart_for_combine, simplify_comparison,
1813 reversed_comparison): Replace with
1814 simplify_gen_binary, simplify_gen_relational or
1815 distribute_and_simplify_rtx.
1816 (distribute_and_simplify_rtx): New function.
1817 * simplify-rtx.c (simplify_binary_operation):
1818 Use nonzero_bits to simplify ANDs where we are
1819 turning off bits already known to be off in OP0.
1820
42f806e5
AM
18212004-05-27 Alan Modra <amodra@bigpond.net.au>
1822
1823 PR target/14478
1824 * config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
1825
e314a036
JZ
18262004-05-27 Josef Zlomek <zlomekj@suse.cz>
1827
1828 PR middle-end/14084
1829 * emit-rtl.c (gen_rtx_REG_offset): Adjust the offset according
1830 to size of decl.
1831
61bea3b0
AH
18322004-05-26 Aldy Hernandez <aldyh@redhat.com>
1833
1834 PR/14924
1835 * config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
1836
cdc9d803
RS
18372004-05-26 Roger Sayle <roger@eyesopen.com>
1838
1839 * tree.h: Fix comment typo.
1840
f667741c
SB
18412004-05-27 Steven Bosscher <stevenb@suse.de>
1842
1843 * gimplify.c (compare_case_labels): New function.
1844 (gimplify_switch_expr): Sort case labels, and make sure the
1845 last label in the label vector is the default case.
1846 * tree-cfg.c (group_case_labels): New function.
1847 (build_tree_cfg): Cleanup redundant labels and group case labels
1848 before creating edges.
1849 (cleanup_dead_labels): Handle GOTO_EXPRs.
1850 (find_case_label_for_value): Use a binary search to find the
1851 case label for the given value.
1852 * tree-gimple.c: Mention that labels are sorted, and that the
1853 last label must be the default.
1854
e4efa971
JH
18552004-05-27 Jan Hubicka <jh@suse.cz>
1856
1857 * cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables.
1858
dabbc722
JH
18592004-05-27 Jan Hubicka <jh@suse.cz>
1860
1861 * i386.md (UNSPECV_EH_RETURN): Kill.
1862 (eh_return): Use jump_insn.
1863 (eh_return_si, eh_return_di): Change pattern to jump instruction.
1864
43acb4c4
JH
18652004-05-26 Jan Hubicka <jh@suse.cz>
1866
1867 * cfgcleanup.c (try_forward_edges): Do not check loop structure when
1868 not loop optimizing.
43acb4c4 1869
f00d196d
JH
18702004-05-26 Jan Hubicka <jh@suse.cz>
1871
1872 * except.c (can_throw_internal): Notice RESX instructions.
1873
42048866
EB
18742004-05-26 Eric Botcazou <ebotcazou@act-europe.fr>
1875
1876 * varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
1877 of the two sizes to assemble_integer.
1878
b31ad637
PB
18792004-05-25 Paul Brook <paul@codesourcery.com>
1880
1881 * config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove
1882 pointless #ifdef.
1883
5da9128a
PB
18842004-04-25 Paolo Bonzini <bonzini@gnu.org>
1885
1886 * Makefile.in (top_builddir): Define to .
1887
08d105fa
AO
18882004-05-25 Alexandre Oliva <aoliva@redhat.com>
1889
1890 * configure.ac (gcc_cv_ld): Prefer in-tree ld over whatever the
1891 top-level detects, except when in-tree ld is being cross-built.
1892 (gcc_cv_as): Likewise for as. Use AS_FOR_TARGET otherwise, and
1893 then AS only if target is host.
1894 * configure: Rebuilt.
1895
9abe5d07
VM
18962004-05-25 Vladimir Makarov <vmakarov@redhat.com>
1897
1898 * global.c (global_alloc): Call make_accurate_live_analysis.
1899 (record_one_conflict): Remove dead code.
1900 (mark_reg_clobber): Remove ATTRIBUTE_UNUSED for parameter data.
1901 (bb_info): New structure.
1902 (BB_INFO, BB_INFO_BY_INDEX): New macros.
1903 (allocate_bb_info, free_bb_info, mark_reg_change,
1904 calculate_local_reg_bb_info, set_up_bb_rts_numbers, rpost_cmp,
1905 modify_bb_reg_pav, calculate_reg_pav,
1906 make_accurate_live_analysis): New functions.
61c627ed 1907
f411a73a
DP
19082004-05-25 Devang Patel <dpatel@apple.com>
1909
1910 * alias.c (init_alias_analysis): Use ggc_calloc instead of
1911 xrealloc.
1912 (end_alias_analysis): Use ggc_free instead fo free.
61c627ed 1913
104a4010
AP
19142004-05-25 Andrew Pinski <pinskia@physics.uc.edu>
1915
1916 PR target/15546
1917 * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Mark the DECL
1918 as needed to be outputted.
1919
d601c996
JH
19202004-05-25 Jan Hubicka <jh@suse.cz>
1921
1922 * builtins.def (__builtin_expect): Mark the function as const&nothrow.
1923
e5626198
AZ
19242004-05-25 Ayal Zaks <zaks@il.ibm.com>
1925 Mostafa Hagog <mustafa@il.ibm.com>
1926
1927 * Makefile.in (modulo-sched.o, ddg.o): New.
1928 * ddg.h, ddg.c, modulo-sched.c: New files.
1929 * cfglayout.c (duplicate_insn_chain): Remove "static" and push
1930 internals to "dupicate_insn".
1931 (duplicate_insn): New function.
1932 * cfglayout.h (duplicate_insn_chain, duplicate_insn): New
1933 declarations.
1934 * common.opt (fmodulo-sched): New flag.
1935 * df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
1936 Remove static and forward declaration.
1937 (df_find_def, df_reg_used, df_bb_regno_last_def_find): New
1938 functions.
1939 * df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
1940 df_bb_regno_last_def_find, df_find_def, df_reg_used): New
1941 declarations.
1942 * flags.h (flag_modulo_sched): New flag.
1943 * opts.c (common_handle_option): Handle modulo-sched flag.
1944 * params.def (max-sms-loop-number, sms-max-ii-factor,
1945 sms-dfa-history, sms-loop-average-count-threshold): New
1946 parameters.
1947 * params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
1948 SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
1949 parameters.
1950 * passes.c ("sms", "sms-vcg"): New dumps.
1951 (rest_of_handle_sched): Call sms_schedule.
1952 * rtl.h (sms_schedule): New declaration.
1953 * timevar.def (TV_SMS): New.
1954 * toplev.c (flag_modulo_sched): Initialize.
1955 (f_options): Handle -fmodulo-sched option.
1956 * docs/invoke.texi: Document -fmodulo-sched & -dm options.
1957 * docs/passes.texi: Document new SMS pass.
1958
2f93eea8
PB
19592004-05-25 Paolo Bonzini <bonzini@gnu.org>
1960
1961 * Makefile.in (OBJS): Add rtlhooks.o.
1962 (rtlanal.o): Depend on function.h.
1963 (cse.o): Depend on rtlhooks-def.h.
1964 (combine.o): Depend on rtlhooks-def.h.
1965 (rtlhooks.o): New rule.
1966 * combine.c: Include rtlhooks-def.h.
1967 (nonzero_bits, cached_nonzero_bits, nonzero_bits1,
1968 num_sign_bit_copies, cached_num_sign_bit_copies,
1969 num_sign_bit_copies1): Move most of the code to rtlanal.c.
1970 (reg_nonzero_bits_for_combine,
1971 reg_num_sign_bit_copies_for_combine): New functions holding
1972 the remnants of the above.
1973 (combine_rtl_hooks): New.
1974 (combine_instructions): Set rtl_hooks instead of gen_lowpart.
1975 * cse.c: Include rtlhooks-def.h.
1976 (cse_rtl_hooks): New.
1977 (cse_main): Set rtl_hooks instead of gen_lowpart.
1978 * emit-rtl.c (gen_lowpart): Remove.
1979 (gen_lowpart_general): Move to rtlhooks.c.
1980 * rtl.h (nonzero_bits, num_sign_bit_copies,
1981 struct rtl_hooks, rtl_hooks, general_rtl_hooks): New.
1982 (gen_lowpart_general): Remove.
1983 (gen_lowpart): Temporarily redefine as a macro.
1984 * rtlanal.c: Include function.h.
1985 (nonzero_bits, cached_nonzero_bits, nonzero_bits1,
1986 num_sign_bit_copies, cached_num_sign_bit_copies,
1987 num_sign_bit_copies1): New, from combine.c.
61c627ed 1988 * rtlhooks.c: New file.
789550d1 1989 * rtlhooks-def.h: New file.
2f93eea8 1990
11338cda
SS
19912004-05-25 Svein E. Seldal <Svein.Seldal@solidas.com>
1992
1993 * config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type
1994 to support 32-bit -mint8 mode.
1995
1996 * doc/invoke.texi (-mint8): Added documentation for the -mint8
61c627ed 1997 option in the AVR architecture.
11338cda 1998
cfc984b5
MS
19992004-05-24 Mike Stump <mrs@apple.com>
2000
2001 * doc/install.texi: Document that dejagnu 1.4.4 is required.
2002
a668adb2
JM
20032004-05-24 Joseph S. Myers <jsm@polyomino.org.uk>
2004
2005 * intl.h (open_quote, close_quote): New.
2006 * intl.c (open_quote, close_quote): New.
2007 (gcc_init_libintl): Set them.
2008 * pretty-print.c: Include "intl.h".
2009 (pp_base_format_text): Support 'q' format flag and %` and %'
2010 formats. Use ' instead of ` in comments.
2011 * c-format.c (gcc_diag_flag_specs, gcc_cxxdiag_flag_specs,
2012 gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table,
2013 foramt_types_orig): Describe these new formats.
2014 (decode_format_attr, check_function_format,
2015 check_format_info_main): Use these new formats.
2016 (status_warning): Use ATTRIBUTE_GCC_DIAG.
2017 * toplev.c (ATTRIBUTE_GCC_DIAG): Increase required GCC version to
2018 check these formats to 3.5.
2019
6046b0ed
RO
20202004-05-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2021
2022 * Makefile.in (CPPLIBS): Renamed to CPPLIB.
2023 (BACKEND): Reflect this.
2024 (LIBDEPS): Move CPPLIB before LIBIBERTY.
2025 (LIBS): Likewise.
2026
aef0afc4
UW
20272004-05-24 Ulrich Weigand <uweigand@de.ibm.com>
2028
2029 PR tree-optimization/14197
2030 * builtins.c: Include "tree-gimple.h"
61c627ed 2031 (readonly_data_expr): Use get_base_address. Make sure to call
aef0afc4
UW
2032 decl_readonly_section only on trees it can handle.
2033 * tree-gimple.c (get_base_address): Accept STRING_CST and
2034 CONSTRUCTOR expressions.
2035 * Makefile.in: Update dependencies.
2036
4f4e53dd
PB
20372004-05-23 Paolo Bonzini <bonzini@gnu.org>
2038
2039 Move libcpp to the toplevel.
2040 * Makefile.in: Remove references to libcpp files,
2041 use CPPLIBS instead of libcpp.a. Define SYMTAB_H
2042 and change hashtable.h to that.
2043 * aclocal.m4 (gcc_AC_HEADER_STDBOOL,
2044 gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
2045 * configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
2046 * configure: Regenerate.
2047 * config.in: Regenerate.
2048 * c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
2049 * cppcharset.c: Removed.
2050 * cpperror.c: Removed.
2051 * cppexp.c: Removed.
2052 * cppfiles.c: Removed.
2053 * cpphash.c: Removed.
2054 * cpphash.h: Removed.
2055 * cppinit.c: Removed.
2056 * cpplex.c: Removed.
2057 * cpplib.c: Removed.
2058 * cpplib.h: Removed.
2059 * cppmacro.c: Removed.
2060 * cpppch.c: Removed.
2061 * cpptrad.c: Removed.
2062 * cppucnid.h: Removed.
2063 * cppucnid.pl: Removed.
2064 * cppucnid.tab: Removed.
2065 * hashtable.c: Removed.
2066 * hashtable.h: Removed.
2067 * line-map.c: Removed.
2068 * line-map.h: Removed.
2069 * mkdeps.c: Removed.
2070 * mkdeps.h: Removed.
2071 * stringpool.h: Include symtab.h instead of hashtable.h.
2072 * tree.h: Include symtab.h instead of hashtable.h.
2073 * system.h (O_NONBLOCK, O_NOCTTY): Do not define.
2074
76391e5a
PB
20752004-05-23 Paolo Bonzini <bonzini@gnu.org>
2076
2077 * gcc.c (struct prefix_list): Add forward declaration.
2078 (do_spec_path): New function, extracted from...
2079 (do_spec_1) <'D'>: ... here. Drop support for
2080 SPACE_AFTER_L_OPTION.
2081 (do_spec_1) <'I'>: Use do_spec_path.
2082 (process_command): Do not store the 'include' suffix
2083 in include_prefixes.
2084 * system.h: Poison SPACE_AFTER_L_OPTION.
2085
8d4a2ff6
RS
20862002-05-23 Roger Sayle <roger@eyesopen.com>
2087
2088 * fold-const.c (non_lvalue): Explicitly list the tree codes that
2089 need to be wrapped by NON_LVALUE_EXPR, instead of those that don't.
2090
6972898c
JM
20912004-05-23 Joseph S. Myers <jsm@polyomino.org.uk>
2092
2093 * doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
2094 Update based on printed manual. Enable setting of offsets for
2095 FSFPRINT and move it to gcc-common.texi.
2096 * doc/gcc.texi: Update FSF printing details.
2097 * doc/gccint.texi: Remove FSF printing details.
2098
68ca1923
AP
20992004-05-23 Andrew Pinski <pinskia@physics.uc.edu>
2100
2101 * config/rs6000/t-rs6000: Remove the disabling -Werror.
2102
d6dc556b
RS
21032004-05-22 Roger Sayle <roger@eyesopen.com>
2104
2105 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
2106 expand_builtin_strrchr, expand_builtin_strpbrk,
2107 expand_builtin_mempcpy, expand_builtin_memcmp,
2108 expand_builtin_strcmp, expand_builtin_strncmp,
2109 expand_builtin_strcat, std_expand_builtin_va_start,
2110 std_expand_builtin_va_arg, expand_builtin_va_copy,
2111 expand_builtin_signbit, fold_builtin_cabs,
2112 fold_builtin_logarithm, fold_builtin_mempcpy,
2113 fold_builtin_signbit, fold_builtin_isascii,
2114 fold_builtin_toascii, fold_builtin_isdigit,
2115 fold_builtin_1, build_function_call_expr,
2116 simplify_builtin_strchr, simplify_builtin_strrchr,
2117 simplify_builtin_strpbrk, simplify_builtin_strncpy,
2118 simplify_builtin_memcmp, simplify_builtin_strcmp,
2119 simplify_builtin_strncmp, simplify_builtin_strncat,
2120 simplify_builtin_strspn, simplify_builtin_strcspn,
2121 simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls
2122 to build with calls to build2, build3 or omit_one_operand.
2123
0a0de3bf
RS
21242004-05-22 Richard Sandiford <rsandifo@redhat.com>
2125
8e657c46 2126 * config/mips/mips.c (mips_file_start): Emit a .gcc_compiled_longXX
0a0de3bf
RS
2127 section when generating EABI code.
2128
79bba51c
AP
21292004-05-22 Andrew Pinski <pinskia@physics.uc.edu>
2130
2131 PR 15546
2132 * config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>):
2133 Call mark_decl_referenced on the SYMBOL_REF_DECL.
2134
6f312d18
ZW
21352004-05-22 Andrew Pinski <pinskia@physics.uc.edu>
2136
2137 * c-common.c (c_common_truthvalue_conversion): Handle
2138 UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
2139 ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
2140 i.e. set the type to truthvalue_type_node and return.
2141
21422004-05-22 Zack Weinberg <zack@codesourcery.com>
2143
2144 * tree.h (struct tree_decl): Add possibly_inlined bit.
2145 (DECL_POSSIBLY_INLINED): New accessor macro.
2146 * cgraph.h: Remove declaration of cgraph_inline_hash.
2147 * cgraph.c: Remove definition of cgraph_inline_hash.
2148 (hash_node): Revert to hashing DECL_UID.
2149 (eq_node): Take two pointers to cgraph_node structures.
2150 Compare DECL_UIDs.
2151 (cgraph_remove_node): Pass the node directly to htab_find_slot.
2152 (cgraph_varpool_hash_node): Rename hash_varpool_node;
2153 hash on DECL_UID.
2154 (eq_cgraph_varpool_node): Rename eq_varpool_node; take two
2155 pointers to cgraph_varpool_node structures; compare DECL_UIDs.
2156 (cgraph_node): Allocate a temporary node on the stack, fill in
2157 its DECL field, and pass that to htab_find_slot.
2158 (cgraph_varpool_node): Likewise.
2159 (cgraph_function_possibly_inlined_p): If global info is ready,
2160 return the DECL_POSSIBLY_INLINED bit.
2161 * cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED
2162 instead of mucking with cgraph_inline_hash.
2163
2dec00bf
JM
21642004-05-22 Joseph S. Myers <jsm@polyomino.org.uk>
2165
2166 * doc/contrib.texi: Add g77 contributors.
2167
9fd47435
RS
21682004-05-22 Richard Sandiford <rsandifo@redhat.com>
2169
2170 * calls.c (initialize_argument_information): Forbid sibcalls if a
2171 callee-copied argument is stored in the current function's frame.
2172
0bc0f41d
EC
21732004-05-22 Eric Christopher <echristo@redhat.com>
2174
2175 * fix-header.c (read_scan_file): Update for add_path change.
2176
b02398bd
BE
21772004-05-22 Ben Elliston <bje@au.ibm.com>
2178
2179 * c.opt (Wmissing-include-dirs): New.
2180 * c-opts.c (c_common_handle_option): Pass true for user_supplied_p
2181 to add_path () for -I, but false for OPT_idirafter, OPT_iquote and
2182 OPT_isystem. Handle case OPT_Wmissing_include_dirs.
2183 * c-incpath.h (add_path): Add fourth (bool) argument.
2184 * c-incpath.c (add_env_var_paths): Pass false to add_path ().
2185 (add_standard_paths): Likewise.
2186 (remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs
2187 is used and the directory was user-supplied via -I.
2188 (add_path): Set p->user_supplied_p. Remove duplicated code by
2189 using add_cpp_dir_path ().
2190 * cpplib.h (struct cpp_options): Add warn_missing_include_dirs.
2191 (struct cpp_dir): Add user_supplied_p.
2192 * doc/invoke.texi (Warning Options): Document new option.
2193
12fea1f9
UW
21942004-05-21 Ulrich Weigand <uweigand@de.ibm.com>
2195
2196 * fold-const.c (fold_read_from_constant_string): Convert result to
2197 requested type.
2198
f0638e1d
RH
21992004-05-21 Richard Henderson <rth@redhat.com>
2200
2201 * gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
2202 (copy_if_shared_r): Don't copy decls, types, constants, BINDs.
2203 Don't mark VA_ARG_EXPRs volatile here.
2204 (gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.
2205
11ed191c
RH
22062004-05-21 Richard Henderson <rth@redhat.com>
2207
2208 * Makefile.in (tree-dump.o): Depend on tree-iterator.h.
2209 * tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.
2210
b953ebd6
RS
22112004-05-21 Roger Sayle <roger@eyesopen.com>
2212
2213 * fold-const.c (fold, fold_relational_hi_lo,
2214 nondestructive_fold_binary_to_constant,
2215 fold_read_from_constant_string): Use fold_convert instead of convert.
2216 * builtins.c (simplify_builtin, simplify_builtin_strstr,
2217 simplify_builtin_strchr, simplify_builtin_strrchr,
2218 simplify_builtin_strpbrk): Use fold_convert instead of convert.
2219
e54d0214
DN
22202004-05-21 Diego Novillo <dnovillo@redhat.com>
2221
2222 * tree-flow-inline.h (num_immediate_uses): Don't abort if DF
2223 is NULL.
2224
942e0f44
JJ
22252004-05-21 Jakub Jelinek <jakub@redhat.com>
2226
2227 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
2228 override sparc.h definition.
2229
59ce6d6b
RS
22302004-05-20 Roger Sayle <roger@eyesopen.com>
2231
2232 * tree.c (array_type_nelts, save_expr, substitute_in_expr,
2233 get_unwidened, get_narrower): Replace build with build2.
2234 * fold-const.c (negate_expr, associate_trees, size_binop,
2235 fold_convert, eval_subst, omit_one_operand, invert_truthvalue,
2236 pedantic_omit_one_operand, distribute_bit_expr,
2237 make_bit_field_ref, optimize_bit_field_compare,
2238 decode_field_reference, range_binop, make_range,
2239 build_range_check, fold_range_test, fold_truthop,
0bc0f41d 2240 optimize_minmax_comparison, extract_muldiv_1,
59ce6d6b
RS
2241 fold_binary_op_with_conditional_arg, fold_mathfn_compare,
2242 fold_inf_compare, fold_single_bit_test, fold,
2243 fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
2244 Likewise replace build with either build2 or build3.
2245
3972995b
ILT
22462004-05-20 Ian Lance Taylor <ian@wasabisystems.com>
2247
2248 * system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
2249 * calls.c (prepare_call_address): Don't test
2250 NO_RECURSIVE_FUNCTION_CSE.
2251 * config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
2252 * config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2253 * config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2254 * config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2255 * config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2256 * config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2257 * config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2258 * config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2259 * config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2260 * config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2261 * config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2262 * config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
2263 Likewise.
2264 * config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2265 * config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
2266 * doc/tm.texi (Costs): Remove documentation for
2267 NO_RECURSIVE_FUNCTION_CSE.
2268
0ef54a47
PB
22692004-05-20 Paul Brook <paul@codesourcery.com>
2270
2271 * unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
2272 * unwind-dw2.c (extract_cie_info): Ditto.
2273 (_Unwind_FrameState): Change retaddr_column to word type.
2274
f4085d4c
RS
22752004-05-20 Roger Sayle <roger@eyesopen.com>
2276
2277 PR middle-end/3074
2278 * fold-const.c (strip_compound_expr): Delete function.
2279 (count_cond): Delete function.
2280 (fold_binary_op_with_conditional_arg): Only perform transformations
2281 "a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a"
2282 when a is constant. This greatly simplifies this routine.
2283
2284 * tree.c (saved_expr_p): Delete function.
2285 * tree.h (saved_expr_p): Delete function prototype.
2286
b8850dd2
AP
22872004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
2288
2289 * common.opt (ftree-loop-optimize): Remove.
2290
4ac29b33
DJ
22912004-05-20 Daniel Jacobowitz <dan@debian.org>
2292
2293 * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET)
2294 (NM_FOR_TARGET): Use := and $(shell).
2295 (mainversion): Remove unused variable.
2296
52fe4de8
JDA
22972004-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2298
2299 * reorg.c (delete_from_delay_slot): If we have a barrier after the
2300 sequence containing the insn to be deleted, always reemit it.
2301
7e140280
RH
23022004-05-20 Richard Henderson <rth@redhat.com>
2303
2304 PR 15454
2305 * tree-nested.c (get_chain_decl): Create a PARM_DECL by hand.
2306 * function.c (expand_function_start): Expand static_chain_decl by hand.
2307 * gimplify.c (create_tmp_var_name): Export.
2308 * tree-gimple.h (create_tmp_var_name): Declare.
2309
9bf6462a
AP
23102004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
2311
2312 * rs6000.c (print_operand) <case 'z'>: Call
2313 mark_decl_referenced before assemble_name.
2314
30719c65
ZW
23152004-05-20 Zack Weinberg <zack@codesourcery.com>
2316
2317 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
2318 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
2319 (cgraph_varpool_node): Hash on the pointer to the decl, not
2320 the DECL_UID. Fixes 64-bit bootstrap failure.
2321
69260355
RE
23222004-05-20 Richard Earnshaw <rearnsha@arm.com>
2323
2324 * arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
2325 we don't earlyclobber operands used in the second insn.
2326
1ffae628
SB
23272004-05-20 Steven Bosscher <stevenb@suse.de>
2328
2329 * tree-mudflap.c: Formatting fixes.
2330
965ccc5a
R
23312004-05-20 J"orn Rennecke <joern.rennecke@superh.com>
2332
2333 * Makefile.in (GTFILES): Add $(srcdir)/reload.h.
2334 * gengtype.c (open_base_files): Include reload.h in ifiles.
2335 * reload.h (reg_equiv_memory_loc_varray): Declare.
2336 * reload1.c (reg_equiv_memory_loc_varray): New variable.
2337 (init_reload): Initialize it.
2338 (reload): Instead of freeing reg_equiv_memory_loc, 'grow'
2339 reg_equiv_memory_loc_varray to size 0.
2340 * ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
2341 growing reg_equiv_memory_loc_varray to the desired size.
2342 * passes.c (rest_of_handle_old_regalloc): Likewise.
2343 * reload.c: Amend comment on calling init_reload.
2344
4ccfc10a
NC
23452004-05-20 Nick Clifton <nickc@redhat.com>
2346
2347 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
2348 with 'TRAMP' in the body of the macro definition.
2349
6bc709c1
L
23502004-05-19 H.J. Lu <hongjiu.lu@intel.com>
2351
2352 PR target/15383
2353 * config/ia64/ia64.c (ia64_expand_compare): Don't check
2354 TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
2355 cmptf_libfunc isn't set.
2356 (ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
2357 conventions.
2358 (ia64_sysv4_init_libfuncs): New.
2359
2360 * config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
2361 ia64_sysv4_init_libfuncs.
2362
d3a7ef9a
FH
23632004-05-20 Falk Hueffner <falk@debian.org>
2364
2365 PR other/15526
2366 * libgcc2.c (__mulvsi3): Fix overflow test.
2367
e916e1d0
AP
23682004-05-19 Andrew Pinski <pinskia@physics.uc.edu>
2369
dc44e18a 2370 PR c/14171
d2032ad8
AP
2371 * reg-stack.c (nan): Rename to ...
2372 (not_a_num): Here.
2373 (reg_to_stack): Rename nan to not_a_num.
2374 (subst_stack_regs_pat): Likewise.
2375 (convert_regs_entry): Likewise.
2376 (convert_regs_1): Likewise.
2377
e916e1d0
AP
2378 * tree-cfg.c (find_case_label_for_value): Replace call to
2379 simple_cst_equal with tree_int_cst_equal.
2380
84c672b9
JL
23812004-05-19 Jeff Law <law@redhat.com>
2382
34eb8991
JL
2383 * tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
2384 If the operand is for a use, then strip away the SSA_NAME, do not
2385 strip away the SSA_NAME for a set. Never call release_ssa_name.
2386 (mark_def_sites): Appropriately pass additional argument to
2387 prepare_operand_for_rename. If a VDEF_RESULT is not an SSA_NAME,
2388 then set the VDEF_RESULT to the VDEF_OP.
2389 (set_def_block): Strip away any SSA_NAME to get to the real
2390 underlying variable.
2391
84c672b9
JL
2392 * tree-ssa-phiopt.c (value_replacement): Handle the case where
2393 the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
2394 BB directly.
2395
0aea6467
ZD
23962004-05-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2397
2398 PR c++/15463
2399 * loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on
2400 result of inverse.
2401
2402 PR rtl-optimization/15274
2403 * loop-iv.c (determine_max_iter, shorten_into_mode,
2404 iv_number_of_iterations): Handle constants correctly.
2405 * rtl.h (get_mode_bounds): Declaration changed.
2406 * stor-layout.c (get_mode_bounds): Return a constant suitable for
2407 the target mode.
2408
2409 PR rtl-optimization/14692
2410 * loop-unswitch.c (may_unswitch_on): Try folding the result.
2411 (unswitch_single_loop): Work correctly when may_unswitch_on
2412 returns a folded constant.
2413
2414 * loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
2415 * simplify-rtx.c (simplify_const_relational_operation): Optimize
2416 comparisons with mode bounds.
2417
2418 * function.c (struct temp_slot): Add new field prev.
2419 (free_after_compilation, init_temp_slots): Free new fields.
2420 (cut_slot_from_list, insert_slot_to_list,
2421 temp_slots_at_level, max_slot_level, move_slot_to_level,
2422 make_slot_available): New functions.
2423 (assign_stack_temp_for_type, combine_temp_slots,
2424 find_temp_slot_from_address, preserve_temp_slots,
2425 preserve_rtl_expr_result, free_temp_slots,
2426 free_temps_for_rtl_expr, pop_temp_slots): Work with
2427 the new structure of lists.
2428 (mark_all_temps_used): Removed.
2429 * function.h (struct function): Field x_temp_slots
2430 replaced by x_used_temp_slots and x_avail_temp_slots.
2431 (temp_slots): Replaced by ...
2432 (used_temp_slots, avail_temp_slots): New.
2433 * tree.h (mark_all_temps_used): Declaration removed.
2434
2435 * loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
2436 simplify_using_assignment): Take the expression out of
2437 the expr_list wrapper.
2438
2439 * loop-iv.c (iv_number_of_iterations): Improve clasification of
2440 infinite loops.
2441
31a52b86
RS
24422004-05-19 Roger Sayle <roger@eyesopen.com>
2443
2444 * doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
2445 costs should be based on code size when optimizing for size.
2446
d28f752b
PB
24472004-05-19 Paolo Bonzini <bonzini@gnu.org>
2448
2449 * fold-const.c: Remove non-printable character 160.
2450
d55b55aa
NC
24512004-05-19 Nick Clifton <nickc@redhat.com>
2452
34a86306
NC
2453 * doc/invoke.texi (ARM Options): Fix typo.
2454 Remove descrption of -mshort-load-bytes and
2455 -mno-short-load-bytes.
2456
d55b55aa
NC
2457 * config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
2458 missing parenthesis.
2459 * config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
2460 * config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
2461
6af8eb57
SB
24622004-05-19 Steven Bosscher <stevenb@suse.de>
2463
2464 * expr.c (store_constructor): Build loop start and end by hand
2465 instead of via loop functions from stmt.c.
2466 (expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
2467 Remove the code to expand them.
2468
2469 * stmt.c (loop_stack): Remove this and everything related.
2470 (struct nesting, enum nesting_desc): Update.
2471 (expand_fixup): Likewise.
2472 (expand_loop_start, expand_start_loop_continue_elsewhere,
2473 expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
2474 expand_end_null_loop, expand_continue_loop, expand_exit_loop,
2475 expand_exit_loop_if_false, expand_exit_loop_top_cond,
2476 expand_exit_something): Remove.
2477 * tree.h: Remove prototypes.
2478
eeab4d81
MS
24792004-05-18 Mike Stump <mrs@apple.com>
2480 Devang Patel <dpatel@apple.com>
2481
2482 * doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate
2483 if this label is for eh.
2484 * config/darwin-protos.h (darwin_emit_unwind_label): Likewise.
2485 * config/darwin.c (darwin_emit_unwind_label): Likewise.
2486 * dwarf2out.c (output_call_frame_info): Likewise.
2487 * output.h (default_emit_unwind_label): Likewise.
2488 * target.h (unwind_label): Likewise.
2489 * varasm.c (default_emit_unwind_label): Likewise.
2490
2491 * config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
2492 DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION,
2493 DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION,
2494 DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION,
2495 DEBUG_RANGES_SECTION): Define.
2496
bb9a388d
ZW
24972004-05-18 Zack Weinberg <zack@codesourcery.com>
2498
2499 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
2500 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
2501 (cgraph_varpool_node):
2502 Use DECL_UID for the key, not DECL_ASSEMBLER_NAME.
2503 (cgraph_function_possibly_inlined_p): Use the decl itself for
2504 the key, not DECL_ASSEMBLER_NAME.
2505 (change_decl_assembler_name): No need to muck with the hash tables.
2506 (cgraph_node_for_identifier, cgraph_varpool_node_for_identifier):
2507 Delete.
2508 * cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself
2509 for the key, not DECL_ASSEMBLER_NAME.
2510 * cgraph.h: Remove prototypes of deleted functions.
2511 * varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED.
2512 (mark_decl_referenced): New function.
2513 * tree.h: Prototype mark_decl_referenced.
2514 * final.c (output_addr_const) <case SYMBOL_REF>: Call
2515 mark_decl_referenced before assemble_name.
2516 * c-decl.c (finish_decl): Use mark_decl_referenced.
2517
3a3f4da9
AP
25182004-05-18 Andrew Pinski <pinskia@physics.uc.edu>
2519 Jeff Law <law@redhat.com>
2520
cc52902d
AP
2521 * tree-ssa-phiopt.c (abs_replacement): New function.
2522 (empty_block_p): New function extracted from...
2523 (candidate_bb_for_phi_optimization): Break out empty block test.
2524 (conditional_replacement): Use empty_block_p.
2525 (value_replacement): Similarly.
2526
3a3f4da9
AP
2527 * Makefile.in (tree-ssa-phiopt.o): Depends on flags.h.
2528 * tree-ssa-phiopt.c: Include flags.h.
2529 (conditional_replacement): Remove argument names from prototype.
2530 Minor formatting and comment fixes.
2531 (tree_ssa_phiopt): If conditional_replacement returns false, then
2532 call value_replacement.
2533 (value_replacement): New function.
2534
14886ab7
JL
25352004-05-18 Jeff Law <law@redhat.com>
2536
1833df5c
JL
2537 * tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted
2538 from conditional_replacement.
2539 (candidate_bb_for_phi_optimization): Similarly.
2540 (conditional_replacement): Use replace_phi_with_stmt and
2541 candidate_bb_for_phi_optimization.
2542
14886ab7
JL
2543 * tree-ssa-phiopt.c: Fix various formatting issues.
2544
70315fcd
SB
25452004-05-18 Steven Bosscher <stevenb@suse.de>
2546
2547 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
2548 s390_expand_cmpmem): Do not use expand_start_loop and
2549 expand_end_loop, instead build the loop manually.
2550
f82ddcae
AM
25512004-05-18 Alan Modra <amodra@bigpond.net.au>
2552
2553 * config/rs6000/rs6000.md (ctrsi_internal3): Delete.
2554 (ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete.
2555
dd747311
JL
25562004-05-17 Jeff Law <law@redhat.com>
2557
2558 * toplev.h (flag_delete_null_pointer_checks): Move from here to...
2559 * flags.h (flag_delete_null_pointer_checks): Here.
2560 * tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
2561 * tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
2562 (add_phi_arg, remove_phi_arg_num): Similarly.
2563 * tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
2564 property into PHI nodes.
2565 * tree-ssa-dom.c: Remove redundant inclusion of flags.h.
2566 (record_equivalences_from_phis): If all PHI arguments are known to be
2567 nonzero, then the result must be nonzero as well.
8eb14e2e
SB
2568 (cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis.
2569 (record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
dd747311
JL
2570 appropriately. Walk the USE-DEF chains and propagate nonzero property
2571 as appropriate.
2572 * tree.h (PHI_ARG_NONZERO): Define.
2573 (phi_arg_d): Add nonzero flag.
2574
b4117c30
ZW
25752004-05-17 Zack Weinberg <zack@codesourcery.com>
2576
2577 * f: Entire directory removed
2578
2579 * c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE)
2580 (CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE)
2581 (g77_integer_type_node, g77_uinteger_type_node)
2582 (g77_longint_type_node, or g77_ulongint_type_node): Delete.
2583 * c-common.c (c_common_nodes_and_builtins): Do not initialize
2584 the above set of variables.
2585
2586 * config/i386/uwin.h: No need to define WIN32_UWIN_TARGET.
2587 * doc/invoke.texi, doc/standards.texi: Remove cross-references
2588 to g77 manual.
2589
6944d9dd
SB
25902004-05-17 Steven Bosscher <stevenb@suse.de>
2591
5e806501 2592 PR tree-optimization/15438
6944d9dd
SB
2593 * tree-ssa-operands.c (get_expr_operands): Do not treat malloc
2594 attributed functions as pure or const.
2595
e1564e1d
FCE
25962004-05-17 Frank Ch. Eigler <fche@redhat.com>
2597
2598 * tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting
2599 from source code with errors.
2600
a2824db3
RM
26012004-05-17 Ranjit Mathew <rmathew@hotmail.com>
2602
2603 Enable tree browser for all front ends.
2604 * Makefile.in (cc1): Moved @TREEBROWSER@ from here...
2605 (BACKEND): ...to here.
2606
2c6b27c3
JH
26072004-05-17 Jan Hubicka <jh@suse.cz>
2608
2609 * i386.c (construct_container): Do not produce BLKmode registers.
2610 (classify_argument): Properly compute alignment of complex types.
2611
044b3892
L
26122004-05-17 H.J. Lu <hongjiu.lu@intel.com>
2613
2614 PR target/15084
2615 * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
2616 and renamed to movdi_insv_1_rex64.
2617 (insv): Support SImode for 32bit and DImode for 64bit.
2618
646ca712
RS
26192004-05-17 Richard Sandiford <rsandifo@redhat.com>
2620
2621 * config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete.
2622 (TARGET_SWITCHES): Remove debugg.
2623 * config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle
2624 TARGET_64BIT.
2625 (subdi3): Replace the define_expand with a define_insn, the latter
2626 renamed from subdi3_internal_3.
2627 (negdi2): Likewise negdi2_internal_2.
2628 (adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3})
2629 (ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns
2630 and associated define_splits.
2631 (adddi3_internal): Renamed from adddi3_internal_3.
2632 (ashldi3_internal): Likewise ashldi3_internal4.
2633 (ashrdi3_internal): Likewise ashrdi3_internal4.
2634 (lshrdi3_internal): Likewise lshrdi3_internal4.
2635
d83aba0f
RS
26362004-05-17 Richard Sandiford <rsandifo@redhat.com>
2637
2638 * optabs.c (expand_unop): Try implementing negation using subtraction
2639 from zero.
2640
15581992
JDA
26412004-05-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2642
2643 * pa.md: Fix typo from last change. Remove DFmode move to and from
2644 SAR register.
2645
2a2789d8
RE
26462004-05-16 Richard Earnshaw <rearnsha@arm.com>
2647
2648 PR target/10982
2649 * arm.md (ne_zeroextractsi): Convert to insn-and-split.
2650 (ne_zeroextractsi_shifted): New pattern.
2651 (ite_ne_zeroextractsi): New pattern.
2652 (ite_ne_zeroextractsi_shifted): New pattern.
2653
673fda6b
SB
26542004-05-15 Steven Bosscher <stevenb@suse.de>
2655
2656 * c-gimplify.c (c_genericize):
2657 Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
2658 * c-parse.in <expr_no_commas>: Likewise.
2659 <if_prefix>: Likewise.
2660 <select_or_iter_stmt>: Likewise.
2661 * expr.c (expand_var, expand_expr_real_1): Likewise.
2662 * expr.h (expand_expr): Make it a static inline function.
2663 Move prototype for expand_expr_real up before this.
2664 * fold-const.c (fold_relational_hi_lo, fold_relational_const):
2665 Likewise.
2666 * gimplify.c (gimple_boolify, gimplify_addr_expr,
2667 gimplify_asm_expr, gimplify_expr): Likewise.
2668 * tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
2669 dump_function_to_file): Likewise.
2670 * tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
2671 * tree-inline.c (remap_block, save_body, walk_tree): Likewise.
2672 * tree-into-ssa.c (dump_tree_ssa): Likewise.
2673 * tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
2674 Likewise.
2675 * tree-optimize.c (execute_one_pass): Likewise.
2676 * tree-pretty-print.c (dump_generic_bb_buff): Likewise.
2677 * tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
2678
2679 * objc/objc-act.c (objc_build_try_enter_fragment,
2680 objc_build_try_epilogue, objc_build_catch_stmt,
2681 objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
2682 with lang_hooks.foo ().
2683
e2bb53e5
RS
26842004-05-15 Roger Sayle <roger@eyesopen.com>
2685
2686 * builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so
2687 that simplify_builtin doesn't destructively modify its argument.
2688
dc491742
RE
26892004-05-15 Richard Earnshaw <reanrsha@arm.com>
2690
b4117c30 2691 * arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM
dc491742
RE
2692 implementations for ARM and Thumb.
2693 * arm/t-arm-elf (LIB1ASMFUNCS): Use them.
2694
428d4d76
TQ
26952004-05-15 Thomas Quinot <quinot@act-europe.fr>
2696
2697 * prefix.c (update_path): Replace PREFIX with KEY only
2698 when it matches a full directory name in PATH.
2699
61f0ccff
RE
27002004-05-15 Richard Earnshaw <reanrsha@arm.com>
2701
2702 * arm.h (TARGET_APCS_32): Delete.
2703 (TARGET_MMU_TRAPS): Delete.
2704 (TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__. Never
2705 define __APCS_26__.
2706 (CPP_SPEC): Remove checking of -mapcs-{26,32}.
2707 (ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
2708 (TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
2709 (prog_mode_type): Delete.
2710 (PROMOTE_MODE): Always promote unsigned for HImode.
2711 (SECONDARY_INPUT_RELOAD_CLASS): Simplify.
2712 (MASK_RETURN_ADDR): Simplify.
2713 * arm.c (arm_prgmode): Delete.
2714 (arm_override_options, arm_gen_rotated_half_load): Simplify.
2715 (print_multi_reg, output_return_instruction): Simplify.
2716 (arm_output_epilogue, arm_final_prescan_insn): Simplify.
2717 (arm_return_addr): Simplify.
2718 * arm.md (prog_mode): Delete.
2719 (conds): Simplify.
2720 (zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
2721 (rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
2722 (loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
2723 (loadhi_shiftpredec): Delete.
2724 (peephole for post-increment on HImode load): Delete.
2725 * arm/crtn.asm: (FUNC_END): Simplify.
2726 * arm/lib1funcs.asm: Remove APCS-26 return macros.
2727 * arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
b4117c30 2728 * arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
61f0ccff
RE
2729 * arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
2730 MULTILIB_DEFAULTS as required.
2731 * arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
2732 * arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
2733 variables as required.
2734 * doc/invoke.texi (ARM Options): Remove obsolete flags.
2735
11c01dcc
AM
27362004-05-15 Alan Modra <amodra@bigpond.net.au>
2737
2738 * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
2739 UNITS_PER_WORD to calculate gpr size. Re-instate code to set reg
2740 count to 8 to handle n_reg > 2.
2741
aaa67502
JM
27422004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
2743
2744 * doc/extend.texi: Update WG14 URL.
2745
827c06b6
SB
27462004-05-15 Steven Bosscher <stevenb@suse.de>
2747
2748 * basic-block.h (life_analysis, delete_noop_moves):
2749 Update prototypes.
2750 * bt-load.c (branch_target_load_optimize): Don't take the
2751 insns stream as an argument. Update the life_analysis calls.
2752 * combine.c (combine_instructions): Update delete_noop_moves
2753 calls.
2754 * flow.c (notice_stack_pointer_modification): Don't take the
2755 insns stream as an argument. Work on the flow graph.
2756 (life_analysis): Likewise.
2757 (delete_noop_moves): Likewise.
2758 * passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
2759 (rest_of_handle_life): Update life_analysis call.
2760 (rest_of_compilation): Likewise, and also update
2761 branch_target_load_optimize call.
2762 * ra.c (reg_alloc): Update life_analysis call.
2763 * reg-stack.c (reg_to_stack): Likewise. Also, don't take
2764 the insns stream as an argument.
2765 * regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
2766 call.
2767 * rtl.c (branch_target_load_optimize, reg_to_stack): Update
2768 prototypes.
2769 * value-profile.c (branch_prob): Update life_analysis call.
2770 * web.c (web_main): Work on the CFG, not on the insns stream.
2771
2772 * config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
2773 * config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
2774 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
2775
e9a75776
JM
27762004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
2777
2778 PR c/15444
2779 * c-format.c (avoid_dollar_number): New function.
2780 (check_format_info_main): Call avoid_dollar_number when operand
2781 numbers might occur but has_operand_number == 0.
2782
3053b100
RE
27832004-05-14 Richard Earnshaw <rearnsha@arm.com>
2784
2785 * arm.md (all peephole2 patterns): Use predicates that validate
2786 register classes as appropriate.
2787
b89e96ac
SB
27882004-05-14 Steven Bosscher <stevenb@suse.de>
2789
2790 PR opt/14472
2791 * tree-tailcall.c (process_assignment): Use STRIP_NOPS to
2792 ignore type conversions that do not inhibit tail calling.
2793 (find_tail_calls): Likewise.
2794
14bc8dc2
JL
27952004-05-14 Jeff Law <law@redhat.com>
2796
91cde0c3
JL
2797 * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even
2798 bother marking bypassed virtuals for out-of-ssa. Instead merge
827c06b6 2799 bypassed virtuals into vars_to_rename just before into-ssa pass.
91cde0c3 2800
14bc8dc2
JL
2801 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
2802 so that it picks up more opportunities to eliminate ABS expressions
2803 or turn them into negations.
2804
e83f4801
SB
28052004-05-14 Steven Bosscher <stevenb@suse.de>
2806
2807 * passes.c (rest_of_handle_null_pointer): Remove.
2808 (rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
2809 (rest_of_compilation): Likewise.
2810 * rtl.h (delete_null_pointer_checks): Remove prototype.
2811 * gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
2812 Remove declarations.
2813 (get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
2814 compute_kill_rd, compute_rd, alloc_avail_expr_mem,
2815 free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
2816 expr_reaches_here_p, computing_insn, def_reaches_here_p,
2817 can_disregard_other_sets, handle_avail_expr, classic_gcse,
2818 one_classic_gcse_pass, invalidate_nonnull_info,
2819 delete_null_pointer_checks_1, delete_null_pointer_checks,
2820 expr_reached_here_p_work): Remove.
2821 (gcse_main): Do not perform classic GCSE when optimizing for size.
2822 (alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
2823 are never used.
2824
571325db
AP
28252004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
2826
2827 PR optimization/14466
2828 * tree-complex.c (make_temp): Remove.
2829 (gimplify_val): Replace make_temp with make_rename_temp
2830 and add NULL as the second argument.
2831 (expand_complex_div_wide): Likewise.
2832 * tree-dfa.c (make_rename_temp): New function.
2833 * tree-flow.h (make_rename_temp): Declare.
2834 * tree-sra.c (make_temp): Remove.
2835 (lookup_scalar): Replace make_temp with make_rename_temp.
2836 (create_scalar_copies): Likewise.
2837 * tree-ssa-phiopt.c (conditional_replacement): When we
2838 get non gimple create a temporary variable to hold the
2839 casted expression.
2840
13c1cd82
PB
28412004-05-14 Paul Brook <paul@codesourcery.com>
2842
2843 * stor-layout.c (update_alignment_for_field): Use
2844 targetm.align_anon_bitfield.
2845 * target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
2846 (TARGET_INITIALIZER): Use it.
2847 * target.h (struct gcc_target): Add align_anon_bitfield.
2848 * config/arm/arm.c (arm_align_anon_bitfield): New function.
2849 (TARGET_ALIGN_ANON_BITFIELD): Define.
2850 * doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
2851
90afe2c9
ZW
28522004-05-13 Zack Weinberg <zack@codesourcery.com>
2853
2854 * tree.def (documentation): Remove mention of class 'b'.
2855 (BLOCK): Now in class 'x'.
2856 * c-common.c (verify_tree): Remove case 'b'.
2857 * c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
2858 * calls.c (calls_function_1): Control cannot get past the switch
2859 when exp is a BLOCK.
2860 * print-tree.c (print_node): Move code for class 'b' to the class
2861 'c'/'x' switch, as case BLOCK.
2862 * tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
2863 (unsafe_for_reeval, substitute_placeholder_in_expr)
2864 (stabilize_reference_1): Remove case 'b'.
2865 * tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
2866 of something being 'b' to tests for TREE_CODE of something being
2867 BLOCK.
2868 * tree-ssa-operands.c (get_expr_operands): Likewise.
2869
eadf906f
DN
28702004-05-13 Diego Novillo <dnovillo@redhat.com>
2871
2872 * tree-gimple.c: Rename from tree-simple.c.
2873 * tree-gimple.h: Rename from tree-simple.h.
2874 * c-gimplify.c: Rename from c-simplify.c
2875 * Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
2876 langhooks.c, tree-alias-ander.c, tree-alias-common.c,
2877 tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
2878 tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
2879 tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
2880 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
2881 tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
2882 Update.
2883
fc55c95e
RM
28842004-05-14 Ranjit Mathew <rmathew@hotmail.com>
2885
2886 * doc/sourcebuild.texi: Mention libbanshee and libmudflap.
2887
2b648957
AP
28882004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
2889
6b9bee8e
AP
2890 * tree-ssa.c (delete_tree_ssa): XFREE
2891 bitmaps allocated with BITMAP_XMALLOC.
2892
15342341
AP
2893 * tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
2894 idfs_cache at the end of the function.
2895
2896 * tree-ssa-live.c (calculate_live_on_entry): Free saw_def
623f4556
AP
2897 at the end of the function.
2898
960076d9
AP
2899 * tree-ssa-dce.c (perform_tree_ssa_dce): Free
2900 el at the end of the function.
2901
8b752086
AP
2902 * tree-into-ssa.c (insert_phi_nodes_for): XFREE
2903 bitmaps allocated with BITMAP_XMALLOC.
2904
77e23325
AP
2905 * loop-unswitch.c (unswitch_single_loop): Free bbs at
2906 the end.
2907
07a1f795
AP
2908 * final.c (shorten_branches): Free uid_shuid before
2909 reallocating it.
2910
2b648957
AP
2911 * bb-reoder.c (connect_traces): Free cold_traces at the end.
2912
91581bcc
JL
29132004-05-13 Jeff Law <law@redhat.com>
2914
02ea8d06
JL
2915 * tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
2916 variables. Simplify slightly by using USE_OP/DEF_OP instead
2917 of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
2918
6c875a31
JL
2919 * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
2920 rather than iterating through the blocks testing each bit in
2921 livein to initialize the worklist.
2922 (mark_def_sites): Remove useless checks of KILLS for virtual
2923 operands.
2924
91581bcc
JL
2925 * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
2926 new parameters for the statement and variable worklist as well
2927 as a bitmap of interesting SSA_NAMEs. Walk over the statement
2928 worklist recording interesting variables in the variable worklist
2929 and bitmap. Handle casts between integral and boolean types.
2930 (substitute_single_use_vars): Accept new parameters for the statement
2931 and variable worklist. When a substitution is made add a new
2932 entry to the statement worklist. Handle casts between integral
2933 and boolean types.
2934 (tree_ssa_forward_propagate_single_use_vars): Rework to pass
2935 worklists to children. Iterate until the statement worklist
2936 is empty.
2937
0b87eff5
AP
29382004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
2939
520f0c48
AP
2940 * tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
2941 the end of the block.
2942
f472590a
AP
2943 * tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
2944 with BITMAP_XMALLOC.
2945
d1f9044b
AP
2946 * tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
2947 with BITMAP_XMALLOC.
2948
cfa4cb00
AP
2949 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
2950 Free nonzero_vars at the end of the function.
2951
0b87eff5
AP
2952 * convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
2953 need to generate code instead of a NOP_EXPR.
2954
eb18fd8d
ILT
29552004-05-13 Ian Lance Taylor <ian@wasabisystems.com>
2956
2957 * gcc.c (default_compilers): Fill out initializers for new Fortran
2958 entries.
2959
d81d0bdd
PB
29602004-05-13 Paul Brook <paul@codesourcery.com>
2961
2962 * config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
2963
6b045785
PB
29642004-05-13 Paul Brook <paul@codesourcery.com>
2965
2966 * config/arm/arm.c (arm_default_short_enums): New function.
2967 (TARGET_DEFAULT_SHORT_ENUMS): Define.
2968
6de9cd9a
DN
29692004-05-13 Diego Novillo <dnovillo@redhat.com>
2970
2971 Merge from tree-ssa-20020619-branch.
2972
2973 * Makefile.in (reload1.o-warn): Add.
2974 (tree-alias-ander.o-warn): Add.
2975 (GMPLIBS): Define.
2976 (GMPINC): Define.
2977 (BANSHEELIB): Define.
2978 (BANSHEEINC): Define.
2979 (TREE_DUMP_H): Define.
2980 (TREE_SIMPLE_H): Define.
2981 (TREE_FLOW_H): Define.
2982 (LIBDEPS): Add BANSHEELIB.
2983 (INCLUDES): Add BANSHEEINC and GMPINC.
2984 (C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
2985 c-mudflap.o and c-pretty-print.o.
2986 (C_OBJS): Remove c-pretty-print.o.
2987 (OBJS-common): Remove sibcall.o.
2988 Add tree-cfg.o, tree-dfa.o, tree-eh.o,
2989 tree-ssa.o, tree-optimize.o, tree-simple.o,
2990 tree-alias-type.o, gimplify.o, tree-pretty-print.o,
2991 tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
2992 tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
2993 tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
2994 tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
2995 tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
2996 tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
2997 tree-tailcall.o, gimple-low.o, tree-iterator.o,
2998 tree-phinodes.o, tree-ssanames.o, tree-sra.o,
2999 tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
3000 tree-profile.o.
3001 (OBJC-archive): Add tree-nomudflap.o.
3002 (cc1): Add dependency on @TREEBROWSER@.
3003 (c-decl.o): Add dependency on TREE_DUMP_H.
3004 (c-dump.o): Likewise.
3005 (c-common.o): Add dependency on tree-iterator.h
3006 (c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
3007 (gtype-desc.o): Add dependency on TREE_FLOW_H.
3008 (tree.o): Add dependency on tree-iterator.h,
3009 BASIC_BLOCK_H and TREE_FLOW_H.
3010 (tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
3011 (langhooks.o): Add dependency on TREE_SIMPLE_H.
3012 (tree-alias-type.o, tree-alias-ander.o,
3013 tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
3014 tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
3015 tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
3016 tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
3017 domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
3018 tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
3019 tree-nested.o, tree-iterator.o, tree-dfa.o,
3020 tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
3021 tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
3022 gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
3023 tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
3024 tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
3025 tree-sra.o, tree-complex.o, tree-profile.o,
3026 rtl-profile.o): New rules.
3027 (function.o): Add dependency on basic-block.h
3028 (expr.o): Add dependency on tree-iterator.h.
3029 (sibcall.o): Remove.
3030 (profile.o): Depend on TREE_FLOW_H instead of TREE_H.
3031 (cfg.o): Add dependency on TIMEVAR_H.
3032 (cfghooks.o): Add dependency on TREE_FLOW_H.
3033 (reg-stack.o): Add dependency on basic-block.h.
3034 (GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
3035 c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
3036 tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
3037 tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
3038 tree-alias-type.h, tree-alias-common.h,
3039 tree-alias-type.c, tree-alias-common.c,
3040 tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
3041 rtl-profile.c and tree-nested.c.
3042 (gt-tree-alias-common.h, gt-tree-mudflap.h,
3043 gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
3044 gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
3045 gt-tree-cfg.h, gt-tree-nested.h): New rules.
3046 (TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
3047 * basic-block.h: Include predict.h
3048 (struct edge_def): Add GTY marker.
3049 Change field 'insns' to be a union of tree and rtx.
3050 (EDGE_TRUE_VALUE): Define.
3051 (EDGE_FALSE_VALUE): Define.
3052 (EDGE_EXECUTABLE): Define.
3053 (struct bb_ann_d): Forward declare.
3054 (struct basic_block_def): Add GTY marker.
3055 Remove fields head_tree and end_tree.
3056 Add fields stmt_list, rbi and tree_annotations.
3057 (struct reorder_block_def): Define.
3058 (basic_block_info): Add GTY marker.
3059 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
3060 variables instead of macros.
3061 (flow_call_edges_add): Remove declaration.
3062 (make_eh_edge): Remove declaration.
3063 (brief_dump_cfg, find_edge, tree_predicted_by_p,
3064 rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
3065 predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
3066 cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
3067 alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
3068 (try_redirect_by_replacing_jump): Modfiy return type to
3069 edge instead of bool.
3070 * bb-reorder.c (copy_bb): Call duplicate_block
3071 instead of cfg_layout_duplicate_bb.
3072 (copy_bb_p): Call can_duplicate_block_p instead of
3073 cfg_layout_can_duplicate_bb_p.
3074 * bitmap.c (bitmap_first_set_bit): Abort if word
3075 wasn't found.
3076 (bitmap_last_set_bit): Likewise.
3077 * builtin-types.def (DEF_FUNCTION_TYPE_2): Add
3078 (DEF_FUNCTION_TYPE_3): Add.
3079 * builtins.c (c_strlen): Make extern.
3080 (builtin_save_expr): New.
3081 (expand_builtin_nonlocal_goto): New.
3082 (expand_builtin_constant_p): Remove.
3083 (expand_builtin_mathfn): Call builtin_save_expr instead
3084 of save_expr.
3085 (expand_builtin_mathfn_2): Likewise.
3086 (expand_builtin_strcmp): Likewise.
3087 (expand_builtin_strncmp): Likewise.
3088 (expand_builtin_strcat): Likewise.
3089 (fold_builtin_cabs): Likewise.
3090 (expand_builtin_alloca): Don't trigger if -fmudflap is
3091 given.
3092 (build_string_literal): Set TREE_INVARIANT on new node.
3093 (expand_builtin_profile_fun): New.
3094 (round_trampoline_addr): New.
3095 (expand_builtin_init_trampoline): New.
3096 (expand_builtin_adjust_trampoline): New.
3097 (expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
3098 <BUILT_IN_CONSTANT_P>: Return const0_rtx;
3099 <BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
3100 BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
3101 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
3102 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
3103 Handle.
3104 (fold_builtin_expect): New.
3105 (fold_builtin_isascii): Don't return non-constant results
3106 in GIMPLE form.
3107 (fold_builtin_isdigit): Likewise.
3108 (fold_builtin_1): New.
3109 (fold_builtin): Call it.
3110 (build_function_call_expr): Update call to build a new
3111 CALL_EXPR.
3112 (purge_builtin_constant_p): Remove.
3113 (simplify_builtin, simplify_builtin_memcmp,
3114 simplify_builtin_strcmp, simplify_builtin_strncmp,
3115 simplify_builtin_strpbrk, simplify_builtin_strstr,
3116 simplify_builtin_strchr, simplify_builtin_strrchr,
3117 simplify_builtin_strcat, simplify_builtin_strncat,
3118 simplify_builtin_strspn, simplify_builtin_strcspn,
3119 simplify_builtin_next_arg, simplify_builtin_va_start,
3120 simplify_builtin_sprintf): New.
3121 * builtins.def (BUILT_IN_STACK_ALLOC,
3122 BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
3123 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
3124 BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
3125 BUILT_IN_PROFILE_FUNC_EXIT): Define.
3126 * c-common.c: Include tree-iterator.h and hashtab.h.
3127 (lang_statement_code_p): Declare.
3128 (lang_gimplify_stmt): Declare.
3129 (fix_string_type): Set TREE_INVARIANT for value.
3130 (pointer_int_sum): Rely on build to set TREE_CONSTANT.
3131 (c_type_hash): New.
3132 (c_common_get_alias_set): Handle multiple type nodes
3133 referring to "the same" type, currently for C90 only.
3134 (c_add_case_label): Use create_artificial_label.
3135 (finish_label_address_expr): Don't set TREE_CONSTANT on
3136 result.
3137 (c_expand_expr): Don't handle STMT_EXPR.
3138 (handle_alias_attribute): Marke aliased variables to be
3139 TREE_STATIC.
3140 (handle_nonnull_attribute): Initialize arg_num.
3141 (check_function_nonnull): Likewise.
3142 (c_walk_subtrees): New.
3143 (c_estimate_num_insns_1): Don't handle
3144 EXPR_WITH_FILE_LOCATION nor FILE_STMT.
3145 (c_decl_uninit_1): Remove.
3146 (c_decl_uninit): Remove.
3147 (c_warn_unused_result): New.
3148 * c-common.def (ASM_STMT): Change number of operands
3149 to 4.
3150 (FILE_STMT): Remove.
3151 * c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
3152 Remove.
3153 (lang_gimplify_stmt): Add.
3154 (expand_stmt): Remove.
3155 (ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
3156 ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
3157 ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
3158 FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
3159 ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
3160 (genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
3161 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
3162 genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
3163 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
3164 genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
3165 genrtl_compound_stmt, genrtl_asm_stmt,
3166 genrtl_cleanup_stmt, c_decl_uninit): Remove.
3167 (c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
3168 c_tree_chain_matters_p, c_warn_unused_result,
3169 c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
3170 Declare.
3171 * c-convert.c (convert): Make convert work when
3172 converting to compatible types across translation unit.
3173 * c-decl.c: Include langhooks.h, tree-mudflap.h,
3174 tree-simple.h, diagnostic.h and tree-dump.h
3175 (merge_decls): Initialize oldtype to NULL.
3176 (finish_decl): Use DECL_HARD_REGISTER instead of
3177 DECL_C_HARD_REGISTER.
3178 (check_bitfield_type_and_width): Check for null
3179 lang_type_specific when check the precision of an enum.
3180 (grokdeclarator): Immediately layout an ARRAY_TYPE used
3181 in a pointer-to-array declarator.
3182 (finish_struct): Clear allocated struct lang_type.
3183 (finish_enum): Set enum_min and enum_max. Set
3184 TYPE_MIN/MAX_VALUE to the limits of the compatible type,
3185 not to the enumerators.
3186 (set_decl_nonlocal): New.
3187 (store_parm_decls): Use it via walk_tree.
3188 (c_finalize): New.
3189 (finish_function): When !targetm.have_ctors_dtors,
3190 record static constructors and destructors here...
3191 (c_expand_body_1): ... not here.
3192 (c_expand_decl): Rename from c_expand_decl_stmt.
3193 Handle all C-specific expansion semantics.
3194 * c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
3195 STMT_LINENO.
3196 * c-format.c (handle_format_arg_attribute): Initialize
3197 format_num.
3198 * c-lang.c: Include tree-inline.h
3199 (LANG_HOOKS_EXPAND_DECL,
3200 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
3201 LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
3202 LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
3203 LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
3204 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
3205 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
3206 (c_types_compatible_p): New.
3207 * c-mudflap.c: New file.
3208 * c-objc-common.c: Include tree-mudflap.h
3209 (start_cdtor, finish_cdtor): Collapse
3210 together into
3211 (build_cdtor): ...here. Update to construct a complete tree
3212 for the function. No need to call push_scope, pop_scope, or
3213 clear_last_expr, or set current_function_cannot_inline.
3214 (c_missing_noreturn_ok_p): Change prototype to return
3215 bool.
3216 (c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
3217 * c-opts.c (c_common_handle_option): Move handling of -fdump- to
3218 opts.c.
3219 (c_common_post_options): Don't ever use rtl inlining.
3220 * c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
3221 * c-pragma.c (handle_pragma_redefine_extname): Define
3222 always.
3223 (init_pragma): Activate #pragma redefine_extname for mudflap.
3224 * c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
3225 (pp_c_initializer): Accept any type CONSTRUCTOR.
3226 (pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
3227 COMPLEX_TYPE.
3228 (decl_name_str): New local function.
3229 (pp_c_direct_declarator): Call it.
3230 (pp_c_primary_expression): Call it.
3231 (pp_c_id_expression): Call it.
3232 (pp_c_statement): Call it.
3233 (print_c_tree): Create new pp object.
3234 * c-pretty-print.h (pp_c_tree_decl_identifier,
3235 print_c_tree): Declare.
3236 * c-semantics.c: Include langhooks.h
3237 (lang_expand_stmt, lang_expand_decl_stmt,
3238 find_reachable_label_1, find_reachable_label,
3239 expand_unreachable_if_stmt, expand_unreachable_stmt,
3240 genrtl_do_stmt_1): Remove.
3241 (begin_stmt_tree): Don't check for changed filename.
3242 Call annotate_with_locus.
3243 (finish_stmt_tree): Don't set line for end of function.
3244 (build_stmt): Don't check type nodes for
3245 side effects.
3246 (build_stmt): Set TREE_SIDE_EFFECTS.
3247 Set EXPR_LOCUS instead of STMT_LINENO.
3248 (lang_expand_stmt, lang_expand_decl_stmt,
3249 expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
3250 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
3251 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
3252 genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
3253 genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
3254 genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
3255 genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
3256 find_reachable_label_1, expand_unreachable_if_stmt,
3257 expand_unreachable_stmt): Remove.
3258 (prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
3259 * c-simplify.c: New file.
3260 * c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
3261 (struct lang_type): Add fields enum_min and enum_max.
3262 (c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
3263 (c_expand_decl, c_missing_noreturn_ok_p,
3264 c_types_compatible_p): Declare.
3265 * c-typeck.c (tagged_types_tu_compatible_p): Allow for
3266 compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
3267 (default_function_array_conversion): Rely on build to
3268 set TREE_CONSTANT.
3269 (parser_build_binary_op, pointer_diff): Likewise.
3270 (build_unary_op, build_binary_op): Likewise.
3271 (build_array_ref):
3272 (build_external_ref): Set TREE_INVARIANT.
3273 (build_c_cast, pop_init_level): Likewise.
3274 (process_init_element): Use ASM_VOLATILE_P.
3275 (build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
3276 (c_finish_case): Call c_do_switch_warnings.
3277 * c.opt (fdump-): Remove.
3278 * calls.c (try_to_integrate): Remove.
3279 (prepare_call_address): Replace fndecl arg with a
3280 precomputed static chain value.
3281 (emit_call_1): New argument for full call expr.
3282 (flags_from_decl_or_type): Call special_function_p.
3283 (initialize_argument_information): Add argument
3284 may_tailcall.
3285 (purge_reg_equiv_notes): New.
3286 (expand_call): Do not try to expand calls inline.
3287 (fixup_tail_calls): New.
3288 * cfg.c: Include timevar.h and ggc.h.
3289 (bb_pool, edge_pool): Remove.
3290 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
3291 (entry_exit_blocks): Remove.
3292 (rbi_pool): Declare.
3293 (init_flow): Do not create pools.
3294 Allocate entry/exit block.
3295 (free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
3296 (alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
3297 (unlink_block): Clear b->prev_bb and b->next_bb.
3298 (compact_blocks): Clear all slots of BASIC_BLOCK array.
3299 (dump_flow_info): Work on trees too.
3300 (dump_cfg_bb_info): New.
3301 (brief_dump_cfg): New.
3302 * cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
3303 (find_edge): New.
3304 * cfgbuild.c (rtl_make_eh_edge): Rename from
3305 make_eh_edge. Update all users.
3306 (find_basic_blocks): Don't call VARRAY_FREE on
3307 basic_block_info.
3308 * cfgcleanup.c (outgoing_edges_match): Initialize newpos1
3309 and newpos2.
3310 (delete_unreachable_blocks): Return changed status.
3311 (merge_seq_blocks): New.
3312 * cfghooks.c: Include tree-flow.h
3313 (tree_register_cfg_hooks, ir_type): New.
3314 (redirect_edge_and_branch): Change return type to edge.
3315 (predict_edge, predicted_by_p, can_duplicate_block_p,
3316 duplicate_block, block_ends_with_call_p,
3317 block_ends_with_condjump_p, flow_call_edges_add): New.
3318 * cfghooks.h (redirect_edge_and_branch): Change return
3319 type to edge.
3320 (predict_edge, predicted_by_p, can_duplicate_block_p,
3321 duplicate_block, block_ends_with_call_p,
3322 block_ends_with_condjump_p, flow_call_edges_add): Declare.
3323 (redirect_edge_and_branch): Change return type to edge.
3324 (struct cfg_hooks): Add fields block_ends_with_call_p,
3325 block_ends_with_condjump_p, flow_call_edges_add,
3326 predict_edge, predicted_by_p, can_duplicate_block_p and
3327 duplicate_block.
3328 (tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
3329 * cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
3330 (fixup_reorder_chain): Use initialize_bb_rbi.
3331 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
3332 (cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
3333 (can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
3334 (insn_locators_initialize): Use new info about blocks.
3335 * cfglayout.h (typedef struct reorder_block_def): Moved to
3336 basic_block.h.
3337 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
3338 removed.
3339 * cfgloop.c: Include tree.h and tree-flow.h.
3340 * cfgloop.h (create_loop_notes): Declare.
3341 * cfgloopmanip.c (create_loop_notes): New.
3342 * cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
3343 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
3344 and duplicate_block fields.
3345 (create_basic_block_structure): Don't look at
3346 RTX_INTEGRATED_P.
3347 (rtl_block_ends_with_call_p): New.
3348 (rtl_block_ends_with_condjump_p): New.
3349 (need_fake_edge_p): Moved from cfganal.c.
3350 (rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
3351 (rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
3352 rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
3353 (cfg_layout_rtl_cfg_hooks): Ditto.
3354 * cgraph.c (cgraph_mark_reachable_node): Don't force nested
3355 functions to be reachable.
3356 * cgraphunit.c (decide_is_function_needed):
3357 * cgraphunit.c (decide_is_function_needed): Nested functions of extern
3358 inline functions don't need to be output.
3359 (cgraph_assemble_pending_functions): Don't do anything
3360 special for nested functions.
3361 (cgraph_mark_functions_to_output): Likewise.
3362 (cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
3363 (cgraph_analyze_function): Use estimate_num_insns.
3364 (cgraph_mark_functions_to_output): Likewise.
3365 (cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
3366 (cgraph_expand_function): Allow functions to not be
3367 emitted.
3368 (cgraph_remove_unreachable_nodes):
3369 (cgraph_recursive_inlining_p): Simplify.
3370 (lookup_recursive_calls,
3371 cgraph_decide_recursive_inlining): New.
3372 (cgraph_decide_inlining_*): Update calls of
3373 cgraph_mark_inline.
3374 * combine.c (get_pos_from_mask): Always set *plen.
3375 * common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
3376 ftree-based-profiling, ftree-ccp, ftree-ch,
3377 ftree-combine-temps, ftree-copyrename, ftree-dce,
3378 ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
3379 ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
3380 ftree-lrs): Add.
3381 * config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
3382 Undefine.
3383 * configure.ac: Add --enable-tree-browser option.
3384 Add --with-libbanshee option.
3385 Add GMPLIBS and GMPINC.
3386 * configure: Regenerate.
3387 * coverage.c (tree_ctr_tables): New.
3388 (coverage_counter_alloc): Use it.
3389 (build_ctr_info_value): Ditto.
3390 (coverage_counter_ref): Ditto. Rename to rtl_coverage_counter_ref.
3391 (tree_coverage_counter_ref): New.
3392 * coverage.h (coverage_counter_ref): Remove declaration.
3393 (rtl_coverage_counter_ref): Declare.
3394 (tree_coverage_counter_ref): Declare.
3395 * cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
3396 (eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
3397 * cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
3398 (struct cse_basic_block_data): Rename enum values to not
3399 conflict with profile.h; update all uses.
3400 * dbxout.c (dbxout_symbol_location): Don't mention integrate.c
3401 in comments.
3402 * defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
3403 * diagnostic.h (debug_output_buffer, dump_generic_node,
3404 print_generic_stmt, print_generic_stmt_indented,
3405 print_generic_expr, print_generic_decl,
3406 debug_generic_expr, debug_generic_stmt, debug_c_tree):
3407 Declare.
3408 * dominance.c: Cache immediate dominators.
3409 * domwalk.c: New file.
3410 * domwalk.h: New file.
3411 * dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
3412 (gen_subprogram_die): Generate a DIE for a named
3413 return value.
3414 (loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
3415 (add_location_or_const_value_attribute): Likewise.
3416 (add_bound_info): Likewise.
3417 (gen_decl_die): Likewise.
3418 * emit-rtl.c (maybe_set_first_label_num): New.
3419 (copy_most_rtx): Don't copy the integrated flag.
3420 Copy the new return_val flag.
3421 * et-forest.c (MAX_NODES): Define.
3422 (record_path_before_1): Abort if len is greater than
3423 MAX_NODES.
3424 * except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
3425 gen_eh_region_catch, gen_eh_region_allowed,
3426 gen_eh_region_must_not_throw, get_eh_region_number,
3427 get_eh_region_may_contain_throw, get_eh_region_tree_label,
3428 set_eh_region_tree_label, expand_resx_expr): New.
3429 (expand_eh_region_start, expand_start_catch): Use them.
3430 (expand_end_catch): Tidy.
3431 (note_eh_region_may_contain_throw): Take region argument.
3432 (note_current_region_may_contain_throw): New.
3433 (get_exception_filter): Export.
3434 (collect_eh_region_array): Export.
3435 (remove_unreachable_regions): Check ERT_TRY based on reachability
3436 of catches, not reachability of continue_label. Never remove
3437 ERT_MUST_NOT_THROW regions.
3438 (collect_rtl_labels_from_trees): New.
3439 (convert_from_eh_region_ranges): Use it.
3440 (connect_post_landing_pads): Handle dying cleanups.
3441 (struct reachable_info): Add callback data.
3442 (add_reachable_handler): Invoke the callback.
3443 (foreach_reachable_handler): New.
3444 (reachable_handlers): Use it.
3445 (arh_to_landing_pad, arh_to_label): New.
3446 (can_throw_internal_1): Split out from can_throw_internal.
3447 (can_throw_external_1): Similarly.
3448 * except.h: Update.
3449 * explow.c (emit_stack_save): Remove savearea mode check.
3450 (update_nonlocal_goto_save_area): New.
3451 (allocate_dynamic_stack_space): Use it.
3452 (probe_stack_range): Never emit loop notes.
3453 * expmed.c (extract_fixed_bit_field): Always propagate the
3454 target for the shift if it is a REG.
3455 * expr.c: Include tree-iterator.h
3456 (is_zeros_p): Remove.
3457 (categorize_ctor_elements_1, categorize_ctor_elements): New.
3458 (count_type_elements): New.
3459 (mostly_zeros_p): Use them.
3460 (expr_wfl_stack): Remove.
3461 (convert_move): Do nothing if to and from are the same.
3462 (emit_block_move_via_loop): Don't emit LOOP notes.
3463 (emit_move_insn): Don't handle CONSTANT_P_RTX.
3464 (emit_move_insn_1): Don't generate inline warnings.
3465 (expand_vars, expand_var): Split from ...
3466 (expand_expr_1): ... here.
3467 (expand_expr_real, expand_expr_real_1): Use new macros
3468 EXPR_LOCATION and EXPR_HAS_LOCATION.
3469 * expr.h (simplify_builtin_fputs,
3470 simplify_builtin_strcpy, simplify_builtin_strncpy,
3471 expand_var, fixup_tail_calls,
3472 update_nonlocal_goto_save_area): Declare.
3473 (lookup_static_chain, expand_inline_function,
3474 mark_seen_cases): Remove.
3475 (prepare_call_address): Change type of 2nd argument to
3476 rtx.
3477 * final.c (profile_function): Update static chain test.
3478 (final): Don't look at RTX_INTEGRATED_P.
3479 * flags.h (flag_mudflap, flag_mudflap_threads,
3480 flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
3481 flag_tree_dce, flag_tree_combine_temps,
3482 flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
3483 flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
3484 flag_tree_points_to): Declare.
3485 (enum pta_type): Declare.
3486 * flow.c (lang_missing_noreturn_ok_p): Remove.
3487 (check_function_return_warnings): Remove.
3488 (update_life_info): Update comments.
3489 (free_basic_block_vars): Don't call VARRAY_FREE for
3490 basic_block_info.
3491 (regno_uninitialized): Remove.
3492 * fold-const.c (int_const_binop): Make extern.
3493 (non_lvalue): Rely on build to set TREE_CONSTANT.
3494 (operand_equal_p): Replace only_const argument with
3495 flags. Allow pure functions if OEP_PURE_SAME.
3496 (fold): Use OEP_ONLY_CONST.
3497 (invert_truthvalue) <NOP_EXPR> Break if argument is of
3498 boolean type.
3499 (fold_relational_hi_lo,
3500 nondestructive_fold_binary_to_constant,
3501 nondestructive_fold_unary_to_constant,
3502 fold_read_from_constant_string): New.
3503 * function.c (struct function): Remove calls_constant_p.
3504 (current_function_calls_constant_p): Remove.
3505 (inline_function_decl): Remove.
3506 (put_var_into_stack): Don't use it.
3507 (fix_lexical_addr): Likewise.
3508 (inline_function_decl): Remove extern declaration.
3509 (TRAMPOLINE_ALIGNMENT): Move to defaults.h.
3510 (trampolines_created): Move to varasm.c.
3511 (free_after_compilation): Update for removed fields.
3512 (allocate_struct_function): Likewise.
3513 (delete_handlers, lookup_static_chain): Remove.
3514 (fix_lexical_addr): Don't consider non-local variable refs.
3515 (trampoline_address): Remove.
3516 (round_trampoline_addr): Move to builtins.c.
3517 (adjust_trampoline_addr): Remove.
3518 (expand_function_start): Update for changes to static chain
3519 and nonlocal goto handling.
3520 (initial_trampoline): Move to varasm.c.
3521 (expand_function_end): Don't build trampolines or kill
3522 unreferenced nonlocal goto labels.
3523 (free_after_compilation): Don't set it.
3524 (expand_function_end): Likewise.
3525 (setjmp_vars_warning): Rename from
3526 uninitialized_vars_warning, remove uninitialized vars warning.
3527 (uninitialized_vars_warning): Remove old comment
3528 and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
3529 and do not call the langhook.
3530 (expand_function_start, expand_function_end): Don't do
3531 function instrumentation here.
3532 (clear_block_marks): Rename from reorder_blocks_0, export.
3533 (blocks_nreverse): Export.
3534 (uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
3535 of rtl.
3536 (reset_block_changes, record_block_change, finalize_block_changes,
3537 check_block_change, free_block_changes): New functions.
3538 (assign_parms): Setting of current_function_stdarg
3539 moved ...
3540 (allocate_struct_function): ... here.
3541 * function.h (struct function): Remove x_nonlocal_labels,
3542 x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
3543 x_context_display, x_trampoline_list, needs_context.
3544 Add static_chain_decl, nonlocal_goto_save_area.
3545 (struct function): Remove x_clobber_return_insn.
3546 Add tail_call_emit field, last_label_uid,
3547 unexpanded_var_list, dont_emit_block_notes,
3548 ib_boundaries_block, function_end_locus and saved_tree/saved_args.
3549 (clear_block_marks): Declare.
3550 * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
3551 (mfwrap_spec, mflib_spec): Declare.
3552 (cpp_unique_options, cc1_options): Ditto.
3553 (default_compilers): Add .F and .f90.
3554 (static_specs): Add mfwrap and mflib.
3555 * gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
3556 CONSTANT_RTX_P.
3557 (reg_used_on_edge, reg_killed_on_edge, bypass_block):
3558 Update to match insns field in struct edge_def.
3559 * gdbinit.in (pgs, pge): Define.
3560 * genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
3561 instead of the integrated flag.
3562 * gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
3563 * gengtype-yacc.y (bitfieldlen): Add empty action.
3564 (struct_fields): Accept unnamed bitfields.
3565 (bitfieldlen): Split from ...
3566 (bitfieldopt): ... here.
3567 * gengtype.c (ifiles): Add tree-alias-type.h and
3568 tree-flow.h.
3569 * genrecog.c (validate_pattern): Do not handle
3570 CONSTANT_P_RTX.
3571 * gimple-low.c: New file.
3572 * gimplify.c: New file.
3573 * haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
3574 (restore_line_notes): Do not set RTX_INTEGRATED_P.
3575 * ifcvt.c (dead_or_predicable): Initialize local variable
3576 'earliest'.
3577 * input.h (expr_wfl_stack): Remove.
3578 * integrate.c (INTEGRATE_THRESHOLD): Remove.
3579 (setup_initial_hard_reg_value_integration): Likewise.
3580 (initialize_for_inline): Likewise.
3581 (note_modified_parmregs): Likewise.
3582 (integrate_parm_decls): Likewise.
3583 (process_reg_param): Likewise.
3584 (save_parm_insns): Likewise.
3585 (copy_insn_list): Likewise.
3586 (copy_insn_notes): Likewise.
3587 (compare_blocks): Likewise.
3588 (find_block): Likewise.
3589 (inlining): Likewise.
3590 (function_cannot_inline_p): Likewise.
3591 (parmdecl_map): Likewise.
3592 (in_nonparam_insns): Likewise.
3593 (save_for_inline): Likewise.
3594 (FIXED_BASE_PLUS): Likewise.
3595 (expand_inline_function): Likewise.
3596 (copy_rtx_and_substitute): Don't look at map->integrating,
3597 map->inline_target, and inlining, since we are never copying
3598 for integrating.
3599 Don't abort on RTX_INTEGRATED_P.
3600 (old_fun): Remove.
3601 (output_inline_function): Remove.
3602 * integrate.h (struct inline_map): Remove fields integrating,
3603 block_map, leaf_reg_map, inline_target, and local_return_label.
3604 * jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
3605 copy_loop_headers, never_reached_warning): Removed.
3606 (any_uncondjump_p): Reject nonlocal goto.
3607 * langhooks-def.h (lhd_types_compatible_p,
3608 lhd_expand_decl, lhd_gimplify_expr): Declare.
3609 (LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
3610 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
3611 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
3612 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
3613 LANG_HOOKS_GIMPLIFY_EXPR,
3614 LANG_HOOKS_GIMPLE_BEFORE_INLINING,
3615 LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
3616 LANG_HOOKS_GIMPLIFY_EXPR,
3617 LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
3618 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
3619 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
3620 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
3621 LANG_HOOKS_RTL_EXPAND_INITIALIZER,
3622 LANG_HOOKS_DECL_UNINIT,
3623 LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
3624 * langhooks.c: Include tree-simple.h.
3625 (lhd_expand_decl): New.
3626 (lhd_types_compatible_p): New.
3627 (lhd_decl_uninit): Remove.
3628 (lhd_gimplify_expr): New.
3629 * langhooks.h (struct lang_hooks_for_rtl_expansion):
3630 Remove.
3631 (struct lang_hooks_for_functions): Add field
3632 missing_noreturn_ok_p.
3633 (struct lang_hooks): Add field expand_decl,
3634 types_compatible_p, gimplify_expr and
3635 gimple_before_inlining.
3636 Remove fields decl_uninit and rtl_expand
3637 * opts.c (decode_options): Set flag_tree_ccp,
3638 flag_tree_dce, flag_tree_dom, flag_tree_dse,
3639 flag_tree_pre, flag_tree_ter,
3640 flag_tree_live_range_split, flag_tree_sra,
3641 flag_tree_copyrename and flag_tree_ch at -O1 and higher.
3642 (common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
3643 OPT_fmudflapth, OPT_fmudflapir,
3644 OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
3645 OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
3646 OPT_ftree_dominator_opts, OPT_ftree_copyrename,
3647 OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
3648 OPT_ftree_points_to_ and OPT_ftree_pre.
3649 * output.h (regno_uninitialized, find_basic_blocks,
3650 cleanup_cfg, delete_unreachable_blocks,
3651 check_function_return_warnings): Remove.
3652 * params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
3653 PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
3654 PARAM_MAX_INLINE_RECURSIVE_DEPTH,
3655 PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
3656 PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
3657 * params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
3658 Define.
3659 * passes.c (rest_of_decl_compilation):
3660 (rest_of_handle_sibling_calls): Remove.
3661 (rest_of_handle_inlining): Remove.
3662 (rest_of_handle_gcse): Do not run
3663 purge_builtin_constant_p.
3664 (rest_of_compilation): Update.
3665 Do not call copy_loop_headers.
3666 Do rtl-based profiling only when
3667 !flag_tree_based_profiling. Register rtl-based profiling
3668 hooks.
3669 * predict.c: Include tree-flow.h, ggc.h, tree-dump.h
3670 (predicted_by_p): Rename to ...
3671 (rtl_predicted_by_p): .. this one; make global
3672 (tree_predicted_by_p): New.
3673 (dump_prediction): Add FILE argument.
3674 (predict_edge): Rename to ...
3675 (rtl_predict_edge): .. this one.
3676 (tree_predict_edge): New.
3677 (combine_predictions_for_insn): Update calls of predict_edge.
3678 (predict_loops): Break out from ...
3679 (estimate_probability): ... here; update comments; move updating
3680 of unknown probabilities from ...
3681 (estimate_bb_frequencies): ... here.
3682 (combine_predictions_for_bb): New.
3683 (tree_predict_by_opcode): New.
3684 (tree_estimate_probability): New.
3685 * predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
3686 PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
3687 * predict.h: Add include guard.
3688 (predict_edge, predict_edge_def): Move prototypes to basic_block.h
3689 * pretty-print.c (pp_write_text_to_stream): Make extern.
3690 * pretty-print.h (pp_write_text_to_stream): Declare.
3691 * print-rtl.c (print_rtx): Don't print the integrated flag.
3692 Print the return_val flag.
3693 * print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
3694 of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
3695 Remove support for EXPR_WITH_FILE_LOCATION nodes.
3696 (print_node): Print TREE_INVARIANT and TREE_VISITED.
3697 * profile.c: Include cfghooks.h, tree-flow.h.
3698 (profile_hooks): New.
3699 (profile_dump_file): New.
3700 (instrument_edges): Use hooks instead of RTL-specific code.
3701 (instrument_values): Ditto.
3702 (get_exec_counts): Ditto.
3703 (compute_branch_probabilities): Ditto.
3704 (compute_value_histograms): Ditto.
3705 (branch_prob): Ditto.
3706 (find_spanning_tree): Ditto.
3707 (end_branch_prob): Ditto.
3708 (gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
3709 (gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
3710 (gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
3711 (gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
3712 (tree_register_profile_hooks): New.
3713 (rtl_register_profile_hooks): New.
3714 * ra-rewrite.c (rewrite_program): Clear variable info.
3715 * recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
3716 * regs.h: Add include guards.
3717 * reload.c (decompose): Clear val using memset.
3718 * rtl.def (CONSTANT_P_RTX): Remove.
3719 * rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
3720 (copy_loop_headers): Remove.
3721 (struct rtx_def): Replace the integrated flag with the
3722 return_val flag.
3723 (maybe_set_first_label_num): Declare.
3724 (init_branch_prob): Move declaration to value-prof.h.
3725 (end_branch_prob): Ditto.
3726 (branch_prob): Ditto.
3727 (never_reached_warning): Don't declare it.
3728 * rtlanal.c (get_related_value): Initialize get_jump_table_offset
3729 (hoist_insn_to_edge): Update to match field insns in
3730 struct edge_def.
3731 * sbitmap.c (sbitmap_realloc): New.
3732 * sbitmap.h (sbitmap_realloc): Declare.
3733 * sibcall.c: Remove file.
3734 * simplify-rtx.c (simplify_rtx): Do not handle
3735 CONSTANT_P_RTX.
3736 * stmt.c (parse_output_constraint): Don't warn for read-write
90afe2c9 3737 memory operand.
6de9cd9a
DN
3738 (tail_recursion_args): Use types_compatible_p langhook.
3739 (force_label_rtx): Don't look at inline_function_decl.
3740 (label_rtx): Set LABEL_PRESERVE_P appropriately.
3741 (expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
3742 (declare_nonlocal_label): Remove.
3743 (expand_goto): Don't handle nonlocal gotos.
3744 (expand_nl_handler_label): Remove.
3745 (expand_nl_goto_receivers): Remove.
3746 (expand_end_bindings): Don't expand_nl_goto_receivers. Use
3747 update_nonlocal_goto_save_area.
3748 (expand_expr_stmt_value): Check TREE_NO_WARNING.
3749 (warn_if_unused_value): Likewise.
3750 (expand_start_loop, expand_loop_continue_here,
3751 expand_end_loop): Don't create loop notes.
3752 (all_cases_count, BITARRAY_TEST, BITARRAY_SET,
3753 mark_seen_cases, check_for_full_enumeration_handling): Remove.
3754 (expand_end_case_type): Don't do warn_switch handling.
3755 (pushcase, pushcase_range) Update add_case_node calls.
3756 (add_case_node): Add dont_expand_label argument.
3757 (same_case_target_p): Don't search rtl.
3758 (expand_start_bindings_and_block, expand_end_bindings):
3759 Don't emit block notes when dont_emit_block_notes.
3760 (using_eh_for_cleanups_p): Export.
3761 (expand_return): Allow any typed rhs.
3762 (expand_stack_alloc): New.
3763 (expand_stack_save, expand_stack_restore): New.
3764 (containing_blocks_have_cleanups_or_stack_level): New
3765 function.
3766 (asm_op_is_mem_input): New fn.
3767 (expand_asm_expr): New fn.
3768 (warn_if_unused_value): Check operand 0 of SAVE_EXPR
3769 nodes.
3770 * stor-layout.c (layout_type): Just return if type is
3771 error_mark_node.
3772 (update_alignment_for_field): Export.
3773 (variable_size): We don't care about global_bindings_p if
3774 the frontend doesn't want a list of the expressions.
3775 * system.h: Poison INTEGRATE_THRESHOLD.
3776 * timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
3777 TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
3778 TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
3779 TV_TREE_SSA_OTHER, TV_TREE_OPS,
3780 TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
3781 TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
3782 TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
3783 TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
3784 TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
3785 TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
3786 TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
3787 TV_CONTROL_DEPENDENCES): Define.
3788 * toplev.c: Include tree-alias-common.h
3789 (current_file_decl, flag_mudflap, flag_mudflap_threads,
3790 flag_mudflap_ignore_reads, flag_tree_based_profiling,
3791 flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
3792 flag_tree_dce, flag_tree_ch, flag_tree_sra,
3793 flag_tree_combine_temps, flag_tree_ter,
3794 flag_tree_live_range_split, flag_tree_dom,
3795 flag_tree_copyrename, flag_tree_dse): Declare.
3796 (f_options): Add tree-based-profiling, tree-gvn,
3797 tree-pre, tree-ccp, tree-dce,
3798 tree-dominator-opts, tree-copyrename, tree-dse,
3799 tree-combine-temps, tree-ter, tree-lrs and tree-ch.
3800 (wrapup_global_declarations): Don't output nested inlined functions.
3801 (general_init): Call init_tree_optimization_passes.
3802 (process_options): Sorry for -ftree-based-profiling plus
3803 -ftest-coverage or -fprofile-values.
3804 * toplev.h (init_tree_optimization_passes,
3805 flag_tree_based_profiling): Declare.
3806 * tracer.c (tail_duplicate): Use cfghooks for bb duplication.
3807 * tree-alias-ander.c: New file.
3808 * tree-alias-ander.h: New file.
3809 * tree-alias-common.c: New file.
3810 * tree-alias-common.h: New file.
3811 * tree-alias-type.c: New file.
3812 * tree-alias-type.h: New file.
3813 * tree-browser.c: New file.
3814 * tree-browser.def: New file.
3815 * tree-cfg.c: New file.
3816 * tree-complex.c: New file.
3817 * tree-dfa.c: New file.
3818 * tree-dump.c (dump_enable_all): New.
3819 (dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
3820 (dump_node): Remove const from field suffix and swtch.
3821 (dump_files): Add null entry, .generic, .nested, .vcg,
3822 .xml and a match-all entry.
3823 (extra_dump_files, extra_dump_files_in_use,
3824 extra_dump_files_alloced): Declare
3825 (dump_option_value_info): Add raw, details, stats,
3826 blocks, vops, lineno, uid and all.
3827 (dump_register): New.
3828 (get_dump_file_info): New.
3829 (dump_begin): Call it.
3830 Do nothing for TDI_none.
3831 (dump_begin): Include phase number in dump filename.
3832 (dump_enable_all): New.
3833 (dump_switch_p_1): Split out from dump_switch_p.
3834 (dump_switch_p): Handle extra_dump_files.
3835 Start our scan at TDI_none + 1.
3836 If -fdump-tree-all was given, call dump_enable_all.
3837 * tree-dump.h: Include splay-tree.h.
3838 (dump_function, dump_function_to_file, dump_register):
3839 Declare.
3840 * tree-eh.c: New file.
3841 * tree-flow-inline.h: New file.
3842 * tree-flow.h: New file.
3843 * tree-inline.c: Re-write to handle inlining on GIMPLE.
3844 * tree-inline.h (walk_tree,
3845 walk_tree_without_duplicates): Move to tree.h.
3846 (estimate_num_insns): Declare.
3847 * tree-into-ssa.c: New file.
3848 * tree-iterator.c: New file.
3849 * tree-iterator.h: New file.
3850 * tree-mudflap.c: New file.
3851 * tree-mudflap.h: New file.
3852 * tree-nested.c: New file.
3853 * tree-nomudflap.c: New file.
3854 * tree-nrv.c: New file.
3855 * tree-optimize.c (dump_flags, vars_to_rename,
3856 in_gimple_form, all_passes, pass_gimple,
3857 pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
3858 (execute_gimple, execute_rebuild_bind,
3859 gate_all_optimizations, execute_del_cfg,
3860 register_one_dump_file, register_dump_files, dup_pass_1,
3861 init_tree_optimization_passes, execute_todo,
3862 execute_one_pass, execute_pass_list): New.
3863 (clear_decl_rtl): Remove.
3864 (tree_rest_of_compilation): Update to use tree
3865 optimizers.
3866 * tree-outof-ssa.c: New file.
3867 * tree-pass.h: New file.
3868 * tree-phinodes.c: New file.
3869 * tree-pretty-print.c: New file.
3870 * tree-profile.c: New file.
3871 * tree-simple.c: New file.
3872 * tree-simple.h: New file.
3873 * tree-sra.c: New file.
3874 * tree-ssa-alias.c: New file.
3875 * tree-ssa-ccp.c: New file.
3876 * tree-ssa-copy.c: New file.
3877 * tree-ssa-copyrename.c: New file.
3878 * tree-ssa-dce.c: New file.
3879 * tree-ssa-dom.c: New file.
3880 * tree-ssa-dse.c: New file.
3881 * tree-ssa-forwprop.c: New file.
3882 * tree-ssa-live.c: New file.
3883 * tree-ssa-live.h: New file.
3884 * tree-ssa-loop.c: New file.
3885 * tree-ssa-operands.c: New file.
3886 * tree-ssa-operands.h: New file.
3887 * tree-ssa-phiopt.c: New file.
3888 * tree-ssa-pre.c: New file.
3889 * tree-ssa.c: New file.
3890 * tree-ssanames.c: New file.
3891 * tree-tailcall.c: New file.
3892 * tree.c: Include tree-iterator.h, basic-block.h and
3893 tree-flow.h.
3894 (tree_node_kind): Add phi_nodes and ssa names.
3895 (tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
3896 EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
3897 (make_node_stat): Handle PHI_NODE and SSA_NAME.
3898 <'c'> Set TREE_INVARIANT.
3899 (copy_node_stat): Abort if trying to copy a
3900 STATEMENT_LIST.
3901 Clear TREE_VISITED.
3902 Clear annotation field.
3903 (build_constructor): Copy TREE_INVARIANT from vals.
3904 Don't clear TREE_CONSTANT.
3905 (expr_first, expr_last, expr_length): Remove.
3906 (staticp): Pass unknown component references to the language.
3907 (save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
3908 (skip_simple_arithmetic): Likewise.
3909 (stabilize_reference_1): Likewise.
3910 (tree_node_structure): Handle PHI_NODE, EPHI_NODE,
3911 EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
3912 STATEMENT_LIST.
3913 (lhd_unsave_expr_now): Remove.
3914 (unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
3915 (recompute_tree_invarant_for_addr_expr): New.
3916 (build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
3917 Call recompute_tree_invarant_for_addr_expr.
3918 Set TREE_INVARIANT accordingly.
3919 (build2_stat): Don't handle CALL_EXPR.
3920 (build3_stat): Don't call build2_stat for CALL_EXPRs.
3921 (build_expr_wfl): Remove.
3922 (annotate_with_file_line, annotate_with_locus): New.
3923 (simple_cst_equal): Call simple_cst_list_equal to compare
3924 CONSTRUCTOR_ELTS pointers.
3925 (iterative_hash_expr): Don't hash types associated
3926 with conversions. Instead hash on the signedness of the
3927 toplevel object and the operand of the conversion.
3928 (dump_tree_statistics): Call ssanames_print_statistics
3929 and phinodes_print_statistics.
3930 (ephi_node_elt_check_failed, phi_node_elt_check_failed,
3931 add_var_to_bind_expr, build_empty_stmt, is_essa_node,
3932 needs_to_live_in_memory): New.
3933 (initializer_zerop): Handle VECTOR_CST. Don't check
3934 AGGREGATE_TYPE_P for CONSTRUCTOR.
3935 * tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
3936 SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
3937 PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
3938 (GOTO_SUBROUTINE_EXPR): Change type to 's'.
3939 (CALL_EXPR): Add another operand.
3940 (EXPR_WITH_FILE_LOCATION): Remove.
3941 (SWITCH_EXPR): Add another operand.
3942 * tree.h: Update various comments.
3943 (union tree_ann_d): Forward declare.
3944 (struct tree_common): Add fields nowarning_flag,
3945 invariant_flag and visited.
3946 (EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
3947 PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
3948 EPHI_NODE_ELT_CHECK, TREE_BLOCK,
3949 STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
3950 TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
3951 IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
3952 EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
3953 EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
3954 CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
3955 BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
3956 ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
3957 ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
3958 COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
3959 CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
3960 EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
3961 SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
3962 SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
3963 PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
3964 PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
3965 EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
3966 EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
3967 EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
3968 EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
3969 EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
3970 EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
3971 EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
3972 EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
3973 EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
3974 EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
3975 TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
3976 DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
3977 DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
3978 STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
3979 TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
3980 TDF_UID,): Define.
3981 (TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
3982 EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
3983 EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
3984 EXPR_WFL_SET_LINECOL): Remove.
3985 (phi_node_elt_check_failed, ephi_node_elt_check_failed,
3986 make_phi_node, init_phinodes, fini_phinodes,
3987 release_phi_node, phinodes_print_statistics,
3988 init_ssanames, fini_ssanames, make_ssa_name,
3989 release_ssa_name, ssanames_print_statistics,
3990 annotate_with_file_line, build_empty_stmt,
3991 annotate_with_locus, expr_only, categorize_ctor_elements,
3992 count_type_elements, add_var_to_bind_expr, is_essa_node,
3993 expand_stack_alloc, expand_stack_save,
3994 expand_stack_restore, add_case_node, operand_equal_p,
3995 nondestructive_fold_unary_to_constant,
3996 nondestructive_fold_binary_to_constant,
3997 fold_read_from_constant_string, int_const_binop,
3998 strip_float_extensions, simplify_builtin, c_strlen,
3999 recompute_tree_invarant_for_addr_expr,
4000 needs_to_live_in_memory, make_vector,
4001 setjmp_vars_warning, update_alignment_for_field,
4002 expand_asm_expr, asm_op_is_mem_input,
4003 containing_blocks_have_cleanups_or_stack_level,
4004 create_artificial_label, gimplify_function_tree,
4005 get_name, unshare_expr, walk_tree,
4006 walk_tree_without_duplicates, in_gimple_form): Declare.
4007 (struct tree_exp): Add fields locus and block.
4008 (struct tree_ssa_name, struct edge_def, struct
4009 tree_phi_node, struct tree_eref_common, struct
4010 tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
4011 union alias_var_def, struct tree_statement_list_node,
4012 struct tree_statement_list, enum operand_equal_flag): Declare.
4013 (enum tree_node_structure_enum): Add TS_SSA_NAME,
4014 TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
4015 TS_STATEMENT_LIST.
4016 (union tree_node): Add fields ssa_name, phi, eref, ephi,
4017 euse and stmt_list.
4018 (function_cannot_inline_p, uninitialized_vars_warning,
4019 save_for_inline, output_inline_function, all_cases_count,
4020 check_for_full_enumeration_handling,
4021 declare_nonlocal_label): Remove.
4022 (enum tree_dump_index): Add TDI_none, TDI_tu,
4023 TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
4024 * unroll.c (unroll_loop): Don't clear map->inline_target.
4025 * unwind-sjlj.c (uw_install_context): Make a proper static inline
4026 function.
4027 * value-prof.c (value_prof_hooks): New.
4028 (find_values_to_profile): Rename to rtl_find_values_to_profile.
4029 Move rtl-specific bits in from branch_prob.
4030 (value_profile_transformations): Rename to
4031 rtl_value_profile_transformations.
4032 (struct value_prof_hooks): New.
4033 (rtl_value_prof_hooks): New.
4034 (rtl_register_value_prof_hooks): New.
4035 (tree_find_values_to_profile): New stub.
4036 (tree_value_profile_transformations): New stub.
4037 (tree_value_prof_hooks): New stub.
4038 (tree_register_value_prof_hooks): New stub.
4039 (find_values_to_profile): New.
4040 (value_profile_transformations): New.
4041 * value-prof.h: Add multiple inclusion guard.
4042 (struct histogram_value): Change rtx fields to void *.
4043 (rtl_register_value_prof_hooks): New declaration.
4044 (tree_register_value_prof_hooks): New declaration.
4045 (find_values_to_profile): New declaration.
4046 (free_profiled_values): New declaration.
4047 (value_profile_transformations): New declaration.
4048 (struct profile_hooks): New declaration.
4049 (init_branch_prob): Declaration moved from rtl.h.
4050 (branch_prob): Declaration moved from rtl.h.
4051 (end_branch_prob): Declaration mooved from rtl.h.
4052 (tree_register_profile_hooks): New declaration.
4053 (rtl_register_profile_hooks): New declaration.
4054 (tree_profile_hooks): New declaration.
4055 (rtl_profile_hooks): New declaration.
4056 * varasm.c: Include tree-mudflap.h.
4057 (TRAMPOLINE_ALIGNMENT): Remove.
4058 (make_decl_rtl): Call mudflap_enqueue_decl.
4059 (assemble_static_space):
4060 (assemble_trampoline_template): Set and return
4061 TRAMPOLINE_ALIGNMENT.
4062 * varray.c (element): Add GENERIC_PTR_NOGC entry.
4063 Add entry for 'tree *'.
4064 Add entry for struct edge_def *.
4065 (varray_copy): New.
4066 * varray.h (enum varray_data_enum): Add
4067 VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
4068 VARRAY_DATA_TREE_PTR.
4069 (union varray_data_tag): Corresponding changes.
4070 (VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
4071 VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
4072 VARRAY_EDGE, VARRAY_TREE_PTR,
4073 VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
4074 VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
4075 VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
4076
4077 * config/*/*: Various updates for changed macros, tree
4078 codes, etc. Check ChangeLog.tree-ssa.
4079
4080 * doc/cfg.texi: New file.
4081 * doc/tree-ssa.texi: New file.
4082 * doc/c-tree.texi: Document new codes.
4083 * doc/gccint.texi: Include new files.
4084 * doc/install.texi: Document new features.
4085 * doc/invoke.texi: Document new switches.
4086 * doc/passes.texi: Document new passes.
4087 * doc/rtl.texi: Update changed RTL codes.
4088 * doc/sourcebuild.texi: Update build instructions.
4089 * doc/standards.texi: Document Fortran changes.
4090 * doc/tm.texi: Update.
4091
5eaad481
PB
40922004-05-12 Paolo Bonzini <bonzini@gnu.org>
4093
4094 Replace several arrays with a struct of arrays.
90afe2c9
ZW
4095 * combine.c (struct reg_stat): New.
4096 (init_reg_last_arrays): Renamed to...
4097 (init_reg_last): ...this. Callers adjusted.
4098 (reg_stat): New.
4099 (combine_instructions): Allocate it and use it.
4100 (reg_last_death, reg_last_set, reg_last_set_value,
4101 reg_last_set_label, reg_last_set_table_tick,
4102 reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
4103 reg_last_set_mode, reg_last_set_nonzero_bits,
4104 reg_last_set_sign_bit_copies): Replace throughout
4105 with items of reg_stat.
5eaad481 4106
e51f9159
KK
41072004-05-11 Kaz Kojima <kkojima@gcc.gnu.org>
4108
4109 PR optimization/15100
4110 * combine.c (distribute_notes): Don't create a dangling
4111 REG_LIBCALL/REG_RETVAL note.
4112
6a599451
AH
41132004-05-11 Aldy Hernandez <aldyh@redhat.com>
4114
4115 * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
4116
4117 * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
4118 negv2si2.
4119
425a2bde
AH
41202004-05-11 Aldy Hernandez <aldyh@redhat.com>
4121
4122 * doc/md.texi (Standard Names): Fix typo in vec_init description.
4123
bed7b8f1
GK
41242004-05-11 Geoffrey Keating <geoffk@apple.com>
4125
4126 * doc/gty.texi (GTY Options): Clarify example.
4127
7958a2a6
FJ
41282004-05-11 Fariborz Jahanian <fjahanian@apple.com>
4129
4130 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
4131 Add const qualifier to altivec vector type if one is needed.
4132
32770746
PB
41332004-05-11 Paul Brook <paul@codesourcery.com>
4134
4135 * flags.h (flag_short_enums): Update comment.
4136 * opts.c (decode_options): Set flag_short_enums to 2.
4137 * toplev.c (flag_short_enums): Update comment.
4138 (process_options): Call default_short_enums target hook.
4139
78f59f3e
AP
41402004-05-11 Andrew Pinski <pinskia@gcc.gnu.org>
4141
4142 PR target/14063
4143 * config/rs6000/altivec.md (altivec_dssall):
4144 Change to unspec_volatile.
4145 (altivec_dss): Likewise.
4146
39302b6a
AH
41472004-05-10 Aldy Hernandez <aldyh@redhat.com>
4148
4149 * config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
4150 vnor.
4151 ("one_cmplv8hi2"): Same.
4152 ("one_cmplv4si2"): Same.
4153
726d4cb7
KK
41542004-05-10 Kaz Kojima <kkojima@gcc.gnu.org>
4155
4156 PR target/15130
4157 * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
4158 * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
4159 into account. Compute the correct number of general registers
4160 for the return value. Generate a special push/pop sequence when
4161 failing to get a temporary register for non SHmedia epilogue.
4162 (sh_expand_epilogue): Add an argument to show whether it's for
4163 sibcall or not. Set the 3rd argument of output_stack_adjust to
4164 -1 if needed.
4165 (sh_need_epilogue): Call sh_expand_epilogue with 0.
4166 * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
4167 with 1.
4168 (epilogue): Call sh_expand_epilogue with 0.
4169
0c196bf9
AP
41702004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
4171
4172 * gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
4173 goto a cleanup label. After the cleanup, free the allocated memory.
4174
16cfa3dc
ZL
41752004-05-10 Ziemowit Laski <zlaski@apple.com>
4176
4177 * config/rs6000/altivec.h (vec_sld): Add overloads for
4178 argument/return types of 'vector bool int', 'vector bool short'
4179 and 'vector bool char'.
4180
3358cae0
ZW
41812004-05-10 Zack Weinberg <zack@codesourcery.com>
4182
4183 * c-decl.c (store_parm_decls_newstyle): Correct test for a
4184 nested function.
4185
62d45923
RS
41862004-05-10 Richard Sandiford <rsandifo@redhat.com>
4187
4188 * read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
4189 treating missing ones as "".
4190 * config/mips/mips.md: Remove constraints from match_operands and
4191 match_scratches if they appear in define_expands (except reload*),
4192 define_peephole2s, define_splits or attribute specifications.
4193 * config/mips/7000.md, config/mips/sb1.md: Remove match_operand
4194 constraint strings.
4195
b2d04ecf
AM
41962004-05-10 Alan Modra <amodra@bigpond.net.au>
4197
4198 * config/rs6000/rs6000.c (function_arg_boundary): Always align
4199 AltiVec vectors.
4200 (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
4201 vectors by refererence. Align the same for TARGET_64BIT to a 16
4202 byte boundary. Remove useless code. Add function comment.
4203 (function_arg): Similarly. Move gpr rs6000_mixed_function_arg
4204 call to where it belongs.
4205 (function_arg_partial_nregs): Return true for all TARGET_32BIT
4206 -mabi=no-altivec AltiVec vectors. Fix debug output.
4207 (rs6000_va_arg): Adjust for AltiVec change.
4208
b6685939
PB
42092004-05-10 Paul Brook <paul@codesourcery.com>
4210
4211 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
4212 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
4213 (TARGET_DOUBLEWORD_ALIGN): Use it.
4214 (WCHAR_TYPE): Define.
4215 (WCHAR_SIZE_TYPE): Define.
4216 (SIZE_TYPE): Define.
4217
4ed78545
AM
42182004-05-10 Alan Modra <amodra@bigpond.net.au>
4219
4220 * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
4221 when size is 8 bytes.
4222 (function_arg_advance): Account for stack space used by AltiVec
3358cae0 4223 args when -mabi=altivec. Simplify alignment calculations. For
4ed78545
AM
4224 ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
4225 (function_arg): Similarly.
4226 (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
4227 not AltiVec ABI.
4228 (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
4229 Correct alignment, and align before testing reg count. Remove
4230 TREE_THIS_VOLATILE from reg. Don't emit unused labels.
4231 (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
4232 TARGET_FPRS here..
4233 (rs6000_function_value): .. not here before call.
4234
f350ff00
AH
42352004-05-09 Aldy Hernandez <aldyh@redhat.com>
4236
4237 * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
4238
eecec698
ZW
42392004-05-09 Zack Weinberg <zack@codesourcery.com>
4240
4241 PR 15007
4242 * c-decl.c (current_file_decl): Rename to all_translation_units,
4243 adjust comment.
4244 (pop_scope): If popping file_scope, construct a
4245 TRANSLATION_UNIT_DECL and make it the context of all the
4246 symbols in the scope.
4247 (push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
4248 (pushdecl): Clarify comment. Do not set DECL_CONTEXT of
4249 anything to current_file_decl.
4250 (pushdecl_top_level): Likewise.
4251 (store_parm_decls_newstyle): Adjust check for nested function.
4ed78545
AM
4252 (c_write_global_declarations): Update for renamed variable.
4253
2aa4498c
AH
42542004-05-09 Aldy Hernandez <aldyh@redhat.com>
4255
4256 * config/rs6000/rs6000-protos.h
4257 (rs6000_conditional_register_usage): Protoize.
4258
4259 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
4260
4261 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
4262 function.
4263
8dc2384c
RS
42642004-05-08 Roger Sayle <roger@eyesopen.com>
4265
4266 * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
4267 where op is a comparison operator and C1 and C2 are integer constants
4268 into a range check.
4269 (fold): Call fold_div_compare.
4270
ae81c844
EB
42712004-05-08 Eric Botcazou <ebotcazou@libertysurf.fr>
4272
4273 * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
4274 problems with earlier versions of the GNU compiler.
4275
0d1fbc8c
AH
42762004-05-07 Aldy Hernandez <aldyh@redhat.com>
4277
4278 * config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
4279 Declare.
4280
4281 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
4282 (rs6000_hard_regno_mode_ok): New.
4283 (rs6000_init_hard_regno_mode_ok): New.
4284 (rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
4285
4286 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
4287 result.
4288
f95d9272
ZL
42892004-05-07 Ziemowit Laski <zlaski@apple.com>
4290
4291 * config/rs6000/altivec.h (vector, pixel, bool): Do not
4292 define as macros #ifdef __APPLE_ALTIVEC__.
4293
42942004-05-07 Fariborz Jahanian <fjahanian@apple.com>
4295
36a454e1
FJ
4296 * config/rs6000/rs6000.c (rs6000_mixed_function_arg):
4297 Generate appropriate parallels for vector arguments
4298 passed to vararg functions. (function_arg): make the call
4299 to rs6000_mixed_function_arg for vector args as needed.
eecec698 4300
f7dbd289
RS
43012004-05-07 Richard Sandiford <rsandifo@redhat.com>
4302
4303 * config/mips/mips.c (mips_va_arg): Fix calculation of osize for
4304 EABI_FLOAT_VARARGS_P.
4305
5c8a81d5
RS
43062004-05-07 Richard Sandiford <rsandifo@redhat.com>
4307
4308 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
4309 * config/mips/mips.c (override_options): Disable branch likely
4310 instructions if TUNE_MIPS5500.
4311
9045f39a
RS
43122004-05-07 Richard Sandiford <rsandifo@redhat.com>
4313
4314 * config/mips/mips.c (override_options): Allow the hi and lo registers
4315 to store any integral mode, not just MODE_INTs.
4316
bc21b3f3
PB
43172004-05-07 Paul Brook <paul@codesourcery.com>
4318
4319 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
4320 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
4321 (TARGET_DOUBLEWORD_ALIGN): Use it.
4322 (WCHAR_TYPE): Define.
4323 (WCHAR_SIZE_TYPE): Define.
4324 (SIZE_TYPE): Define.
4325
2484cc35
UB
43262004-05-07 Uros Bizjak <uros@kss-loka.si>
4327
4328 * config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
4329 testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
4330
7600f094
AP
43312004-05-07 Andrew Pinski <pinskia@physics.uc.edu>
4332
4333 * loop-doloop.c (doloop_valid_p): Make sure that body
4334 gets freed.
4335
bfb23806
EB
43362004-05-07 Eric Botcazou <ebotcazou@act-europe.fr>
4337
4338 * config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
4339 declaration.
4340 * config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
4341 (sparc_skip_caller_unimp): New global variable.
4342 (sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
4343 Use it instead of SKIP_CALLERS_UNIMP_P.
4344 * config/sparc/sparc.md (call expander): Add sanity check.
4345 (call_address_struct_value_sp32): Re-sync with expander.
4346 (call_symbolic_struct_value_sp32): Likewise.
4347 (return peepholes): Use 'sparc_skip_caller_unimp' instead
4348 of custom predicate.
4349
92ff0c41
EB
43502004-05-07 Eric Botcazou <ebotcazou@libertysurf.fr>
4351
4352 PR c++/14962
4353 * c-pragma.c (handle_pragma_redefine_extname): Only change
4354 the assembler name of FUNCTION_DECLs and VAR_DECLs.
4355
c2fcfa4f
UB
43562004-05-07 Uros Bizjak <uros@kss-loka.si>
4357
4358 * optabs.h (enum optab_index): Add new OTI_log1p.
4359 (log1p_optab): Define corresponding macro.
4360 * optabs.c (init_optabs): Initialize log1p_optab.
4361 * genopinit.c (optabs): Implement log1p_optab using log1p?f2
4362 patterns.
4363 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
4364 using log1p_optab.
4365 (expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
4366 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
4367
4368 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
4369
4370 * config/i386/i386.c (ix86_emit_i387_log1p): New function.
4371 * config/i386/i386-protos.h (ix86_emit_i387_log1p):
4372 Prototype here.
4373 * config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
4374 x87's fyl2xp1 instruction.
4375 (*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
4376 (fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
4377 (log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
4378 log1p and log1pl built-ins as inline x87 intrinsics.
4379
4d980568
LR
43802004-05-07 Loren James Rittle <ljrittle@acm.org>
4381
3c4392aa 4382 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
4d980568
LR
4383 * config/arm/freebsd.h: Likewise.
4384 * config/ia64/freebsd.h: Likewise.
4385 * config/sparc/freebsd.h: Likewise.
4386
afce2847
HPN
43872004-05-07 Hans-Peter Nilsson <hp@axis.com>
4388
4389 PR optimization/15296
4390 * reorg.c (fill_simple_delay_slots): Use next_real_insn when
4391 getting last consecutive label at a branch.
4392 (relax_delay_slots): Similar, near top of loop.
4393
9acf97b6
JDA
43942004-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4395
4396 PR target/15202
4397 * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
4398 register to general register.
4399
19fb36e3
AM
44002004-05-07 Alan Modra <amodra@bigpond.net.au>
4401
4402 * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
4403 TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
4404 * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
4405 (STACK_BOUNDARY): Delete.
4406
db643b91 44072004-05-06 Stuart Hastings <stuart@apple.com>
2484cc35 4408
db643b91
SH
4409 * gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
4410 mistakenly clobbered by 1.423.
19fb36e3 4411
dc884a86
RS
44122004-05-06 Richard Sandiford <rsandifo@redhat.com>
4413
4414 * doc/invoke.texi: Document -mvr4130-align.
4415 * config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
4416 (TUNE_MIPS4120, TUNE_MIPS4130): New macros.
4417 (TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
4418 (TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
4419 * config/mips/mips.md: Include sched-int.h.
4420 (USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
4421 (mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
4422 (override_options): Enable -mvr4130-align at -O3 and above.
4423 (mips_sim_insn): New variable.
4424 (mips_sim): New structure.
4425 (mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
4426 (mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
4427 (mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
4428 (mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
4429 (vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
4430 (mips_reorg): Call vr4130_align_insns.
4431 (vr4130_last_insn): New variable.
4432 (vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
4433 (vr4130_swap_insns_p, vr4130_reorder): New functions.
4434 (mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
4435 (mips_issue_rate): Return 2 for PROCESSOR_R4130.
4436 (mips_use_dfa_pipeline_interface): Return true for the same.
4437 * config/mips/4130.md: New file.
4438 * config/mips/mips.md: Include it. Add a peephole2 to convert
4439 "mult;mflo" into "mtlo;macc".
4440 (*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
4441 target of maccs.
4442 (*msac_using_macc): New pattern.
4443
615ccdd3
RS
44442004-05-06 Richard Sandiford <rsandifo@redhat.com>
4445
4446 * config/mips/5500.md (ir_vr55_store): Set latency to 0.
4447 (ir_vr55_hilo): Split into...
4448 (ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
4449 (ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
4450 (ir_vr55_imul_di): Change latency to 9. Reserve vr55_mac for 4 cycles.
4451 Add various multiplication bypasses.
4452 * config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
4453 multiplication.
4454
152e3565
UB
44552004-05-06 Uros Bizjak <uros@kss-loka.si>
4456
4457 * config/i386/i386.md (*fscalexf4): Correct insn "mode"
4458 attribute to "XF".
4459
5ae27cfa
UB
44602004-05-05 Uros Bizjak <uros@kss-loka.si>
4461
4462 * optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
152e3565 4463 (fmod_optab, drem_optab): Define corresponding macros.
5ae27cfa
UB
4464 * optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
4465 * genopinit.c (optabs): Implement fmod_optab and drem_optab
4466 using fmod?f3 and drem?f3 patterns.
4467 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
4468 using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
4469 (expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
4470 BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
4471 flag_unsafe_math_optimizations is set.
4472
4473 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
4474 UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
4475
4476 * config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
4477 * config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
4478 Prototype here.
4479 * config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
4480 UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
4481 fprem and fprem1 instructions.
4482 (*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
4483 Rename insn definition to x86_fnstsw_1.
4484 (fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
4485 x87 instructions.
4486 (fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
4487 and fmodl built-ins as inline x87 intrinsics.
4488 (dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
4489 and dreml built-ins as inline x87 intrinsics.
4490
cf9c6ca5
RS
44912004-05-05 Roger Sayle <roger@eyesopen.com>
4492
4493 * reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
4494
32dd2dc9
ILT
44952004-05-05 Ian Lance Taylor <ian@wasabisystems.com>
4496
4497 PR driver/9822
4498 * doc/invoke.texi (Spec Files): Remove documentation of %c.
4499
4a6f766d
CD
45002004-05-05 Chris Demetriou <cgd@broadcom.com>
4501
4502 * config/mips/mips.md: Update the msub define_split for new mflo/mfhi
4503 representation.
4504
fdd695fd
PB
45052004-05-06 Paul Brook <paul@codesourcery.com>
4506
4507 * config/arm/arm-protots.h (vfp_mem_operand): Rename ...
4508 (arm_coproc_mem_operand): ... To this.
4509 * config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
4510 (arm_legitimate_index_p): Ditto.
4511 (vfp_mem_operand): Rename ...
4512 (arm_coproc_mem_operand): ... To this. Handle writeback modes.
4513 (vfp_secondary_reload_class): Use it.
4514 (output_move_double): Use doubleword load/store instructions.
4515 (arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
4516 * config/arm/arm.h (TARGET_LDRD): Define.
4517 (EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
4518 * config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands.
4519 New splitter for invalid doubleword loads.
4520 * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
4521 * config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
4522 * doc/md.texi: Document Uy constraint.
4523
59af0b6a
JH
45242004-05-05 Jan Hubicka <jh@suse.cz>
4525
4526 PR opt/14980
4527 * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
4528 inline clones.
4529
9953b5e1
L
45302004-05-05 H.J. Lu <hongjiu.lu@intel.com>
4531
4532 PR target/15290
4533 * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
4534 instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
4535
e3c287c9
MS
45362004-05-05 Mike Stump <mrs@apple.com>
4537
4538 * config/darwin-c.c (add_framework): Copy the directory name as it
4539 can be freed later. Also, ensure we always allocate enough room
4540 for the cached framework information.
4541 (find_subframework_header): Keep track of the directory where the
4542 subframework header was found.
4543 (framework_construct_pathname): Speed up by not trying to re-add a
4544 framework.
4545 * cppfiles.c (search_path_exhausted): Arrange for the missing
4546 header callback to be able to set the directory where the header
4547 was found.
4548 (cpp_get_dir): Add.
4549 * cpplib.h (missing_header_cb): Add a parameter.
4550 (cpp_get_dir): Add.
4551
45522004-05-03 Mike Stump <mrs@apple.com>
4bed3787
MS
4553
4554 * doc/invoke.texi (Directory Options): Document -iquote.
4555 * doc/cpp.texi: Likewise.
4556 * doc/cppopts.texi: Likewise.
4557 * c-opts.c (c_common_missing_argument): Add -iquote processing.
4558 (c_common_handle_option): Likewise.
4559 * c.opt (iquote): Add.
4560 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
4561 * c-incpath.c (merge_include_chains): Update comment to use -iquote.
4562
4563 * c-opts.c (case OPT_I): Deprecate -I- support.
4564 * doc/invoke.texi: Likewise.
4565 * doc/cpp.texi: Likewise.
4566 * doc/cppopts.texi: Likewise.
4567
bb8a619e
SB
45682004-05-05 Steven Bosscher <stevenb@suse.de>
4569
4570 * basic-block.h (free_basic_block_vars): Update prototype.
4571 * flow.c (free_basic_block_vars): Remove the keep_head_end_p
4572 argument.
4573 (life_analysis): Update call.
4574 * ifcvt.c (if_convert): Likewise.
4575 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
4576 * passes.c (rest_of_handle_final): Likewise.
4577 (rest_of_compilation): Likewise.
4578 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
4579
4580 * emit-rtl.c (next_real_insn): Use INSN_P.
4581 (prev_real_insn): Likewise.
4582
2e592dce
EC
45832004-05-05 Eric Christopher <echristo@redhat.com>
4584
4585 * config/mips/mips.md: Update the madd define_split for new mflo/mfhi
4586 representation.
4587
7c62e993
PB
45882004-05-05 Paolo Bonzini <bonzini@gnu.org>
4589
4590 * config/rs6000/rs6000.c (build_opaque_vector_type):
4591 New function.
4592 (rs6000_init_builtins): Use it.
4593
87fac4e3
BG
45942004-05-04 Bernard Giroud <bgiroud2@free.fr>
4595
4596 * gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
4597 (func_table): Change type from char ** to vms_func_ref.
4598 (write_rtnbeg): Update to reflect func_table change. Use
4599 fde->funcdef_number instead of rtnnum in output.
4600 (write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
4601
cc27e657
PB
46022004-05-04 Paolo Bonzini <bonzini@gnu.org>
4603 Richard Henderson <rth@redhat.com>
4604
4605 PR target/14899
4606
4607 * c-common.c (vector_types_convertible_p): New function.
4608 * c-typeck.c (comptypes): Recurse on vector types.
4609 (convert_for_assignment): Use vector_types_convertible_p.
4610 (digest_init): Use vector_types_convertible_p to check
4611 validness of constant vector initializers; otherwise treat
4612 them as scalars.
4613 * tree.c (make_or_reuse_type): New.
4614 (build_common_tree_nodes): Use it.
4615 * cp/call.c (standard_conversion): Likewise.
4616 * cp/typeck.c (comptypes): Recurse on vector types.
4617 (convert_for_assignment): Use vector_types_convertible_p.
cc27e657 4618
6fc8a30a
CD
46192004-05-04 Chris Demetriou <cgd@broadcom.com>
4620
4621 * config/mips/mips.c (override_options): Default to no
4622 generation of branch-likely operations when tuning for
4623 CPUs where they tend to have a negative performance impact
4624 (e.g., SB-1).
4625
6c89c39a
RK
46262004-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4627
4628 * expr.c (store_constructor_field): Don't call store_constructor
4629 if bitsize is not a multiple of a byte.
4630
b5ba341f
RS
46312004-05-04 Richard Sandiford <rsandifo@redhat.com>
4632
4633 * reload1.c (inherit_piecemeal_p): New function.
4634 (emit_reload_insns): When reloading a group of hard registers, use
4635 inherit_piecemeal_p to decide whether the values of individual hard
4636 registers can be inherited.
4637
c6c8779b
L
46382004-05-04 H.J. Lu <hongjiu.lu@intel.com>
4639
4640 * config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
4641 * config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
4642 * config/t-linux (LIB2ADDEHDEP): Likewise.
4643
82c732f9
PB
46442004-05-04 Paul Brook <paul@codesourcery.com>
4645
4646 * config/arm/crti.asm: Push an even number of registers.
4647 * config/arm/crtn.asm: And restore them. Load via sp.
4648
92e838e2
PB
46492004-05-04 Paolo Bonzini <bonzini@gnu.org>
4650
4651 * ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
4652 Collect overhead information.
4653 (ggc_alloc_stat): New name of ggc_alloc. Add MEM_STAT_DECL
4654 parameter and pass it through.
4655 (ggc_alloc_typed_stat): New name of ggc_alloc_typed. Add
4656 MEM_STAT_DECL parameter and pass it through.
4657 (ggc_alloc_zone_stat): New name of ggc_alloc_zone. Add
4658 MEM_STAT_DECL parameter and pass it through.
4659
d8ecbcdb
AH
46602004-05-03 Aldy Hernandez <aldyh@redhat.com>
4661
4662 * config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
4663
4664 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
4665
4666 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
4667 rs6000_hard_regno_nregs.
4668
2f7e5a0d
EC
46692004-05-03 Eric Christopher <echristo@redhat.com>
4670
4671 * config/s390/s390.c (s390_emit_prologue): Call unspec tpf
4672 prologue insn instead of setting up call.
4673 (s390_emit_epilogue): Ditto.
4674 * config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
4675 (define_constants): Add numbers for above patterns.
4676
38899e29
EC
46772004-05-03 Eric Christopher <echristo@redhat.com>
4678
4679 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
4680 * config/s390/s390.c (s390_conditional_register_usage): ...here.
4681 * config/s390/s390-protos.h: Prototype.
4682
97d62313
JB
46832004-05-03 Joe Buck <jbuck@welsh-buck.org>
4684
4685 * cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
4686 assignment.
4687
03a53989
EC
46882004-05-03 Eric Christopher <echristo@redhat.com>
4689
4690 * config/mips/mips.md: Fix branch length attribute definition.
4691
318fec6d
AH
46922004-05-03 Aldy Hernandez <aldyh@redhat.com>
4693
4694 * config.gcc: Remove --enable-altivec support.
4695
4696 * config/rs6000/altivec-defs.h: Remove.
4697
553cba65
RO
46982004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4699
4700 * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
4701 * fixinc/fixincl.x: Regenerate.
4702
6adcf89d
UB
47032004-05-03 Uros Bizjak <uros@kss-loka.si>
4704
4705 * config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
4706 definition.
4707 (log?f2, log10?f2, log2?f2): Reimplement expanders with
4708 float_truncate insn.
4709 (*fxtractsf3, *fxtractdf3): Remove insn definition.
4710 (logb?f2): Reimplement expanders with float_truncate insn.
4711
834eb1f0
GS
47122004-05-03 Graham Stott <graham.stott@btinternet.com>
4713
4714 PR 14718
4715 * dwarf2out.c (dwarf2out_imported_module_or_decl): Use
4716 force_type_die for CONST_DECL.
4717
bb8a619e
SB
47182004-05-03 Eric Botcazou <ebotcazou@libertysurf.fr>
4719 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
178af0f3
EB
4720
4721 * config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
4722 tm-dwarf2.h to tm_file.
4723 (sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
4724 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
4725 (ASM_DEBUG_SPEC): Delete.
4726
7a8e07c7
UB
47272004-05-03 Uros Bizjak <uros@kss-loka.si>
4728
4729 * optabs.h (enum optab_index): Add new OTI_expm1.
4730 (expm1_optab): Define corresponding macro.
4731 * optabs.c (init_optabs): Initialize expm1_optab.
4732 * genopinit.c (optabs): Implement expm1_optab using expm1?f2
4733 patterns.
4734 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
4735 using expm1_optab.
4736 (expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
4737 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
4738
4739 * config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
4740 to implement expm1, expm1f and expm1l built-ins as inline x87
4741 intrinsics.
4742
5f2b9599
AO
47432004-05-02 Alexandre Oliva <aoliva@redhat.com>
4744
4745 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
4746 * config/frv/frv.md (*return_true, *return_false): New patterns.
4747
1e5b67ff
KH
47482004-05-02 Kazu Hirata <kazu@cs.umass.edu>
4749
4750 * rtl.h (PHI_NODE_P): Remove.
4751
cfa29a4c
EB
47522004-05-02 Eric Botcazou <ebotcazou@act-europe.fr>
4753
4754 PR middle-end/14988
4755 * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
4756 when passed -2 as 'align'.
4757 (put_var_into_stack): Use 'bool' as the type for the three local
4758 predicates. Adjust calls to put_reg_into_stack.
4759 When passed a CONCAT, instruct put_reg_into_stack to use
4760 a consecutive stack slot for the second part.
4761 (put_reg_into_stack): Remove 'promoted_mode' parameter, add
4762 'consecutive_p' parameter. Turn the three predicates into 'bool'
4763 parameters. Retrieve the register mode from 'reg'.
4764 When consecutive_p is true, instruct assign_stack_local_1 to use
4765 BITS_PER_UNIT alignment.
4766 (put_addressof_into_stack): Use 'bool' as the type for the two
4767 local predicates. Adjust call to put_reg_into_stack.
4768
fc627530
KG
47692004-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4770
4771 * fold-const.c (fold_convert_const, fold): Add missing
4772 FIX_ROUND_EXPR case.
4773
afbe7e61
AO
47742004-05-02 Alexandre Oliva <aoliva@redhat.com>
4775
9850f34a
AO
4776 * configure.ac (FLEX, BISON): Only use tools from the build tree
4777 if build equals host.
4778 * configure: Rebuilt.
4779
764678d1
AO
4780 * config/frv/frv-protos.h (frv_expand_epilogue,
4781 frv_expand_fdpic_call): Add bool argument.
4782 * config/frv/frv.c (frv_function_ok_for_sibcall): New.
4783 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
4784 (frv_expand_epilogue): Use new argument to decide whether to emit
4785 return instruction or copy the return address to LR.
4786 (frv_expand_fdpic_call): Inline PLT entry when emitting direct
4787 sibcalls.
4788 (sibcall_operand): New.
4789 * config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
4790 PLUS nor LABEL_REF. Add sibcall_operand.
4791 * config/frv/frv.md (call, call_value): Pass false to
4792 frv_expand_fdpic_call.
4793 (call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
4794 (sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
4795 sibcall_value_internal, sibcall_value_fdpicdi): New.
4796 (return_unsigned_true, return_unsigned_false): New.
4797 (epilogue): Adjust call to frv_expand_epilogue.
4798 (sibcall_epilogue): New.
4799
afbe7e61
AO
4800 * config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
4801 (CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
4802 before redefining them.
4803
ca3df643
KG
48042004-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4805
4806 * builtins.c (fold_fixed_mathfn): New function.
4807 (fold_builtin_lround, fold_builtin): Use it.
4808
f2c0cb15
JJ
48092004-05-01 Jakub Jelinek <jakub@redhat.com>
4810
4811 * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
4812 also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
4813
ea2637eb
KH
48142004-05-01 Kazu Hirata <kazu@cs.umass.edu>
4815
4816 * config/cris/cris.h: Revert my "fix comment typos" patch.
4817
d0cb84e9
RS
48182004-05-01 Richard Sandiford <rsandifo@redhat.com>
4819
6c3db3ab 4820 * config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
d0cb84e9 4821
ebade076
FH
48222004-05-01 Falk Hueffner <falk@debian.org>
4823
4824 * config/alpha/alpha.md (builtin_insbl, builtin_inswl,
4825 builtin_insll): Disallow 0 as first input operand.
4826
0962c33d
FH
48272004-05-01 Falk Hueffner <falk@debian.org>
4828
4829 * config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
4830
e2655d15 48312004-05-01 Ulrich Weigand <uweigand@de.ibm.com>
03a53989 4832
e2655d15 4833 PR middle-end/15054
03a53989 4834 * expr.c (expand_expr_real): Do not call preserve_temp_slots
e2655d15
UW
4835 on a TARGET_EXPR temp.
4836 * function.c (assign_stack_temp_for_type): Set 'keep' flag for
4837 TARGET_EXPR temp slots.
4838
77306e3e
PB
48392004-05-01 Paolo Bonzini <bonzini@gnu.org>
4840
4841 * simplify-rtx.c (simplify_ternary_operation): When
4842 converting an IF_THEN_ELSE to a relational op, return
4843 correct mode.
4844
3bf05748
KG
48452004-04-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4846
4847 * builtins.c (fold_builtin_round): Fix comment typo.
4848 (fold_builtin_lround): New function.
4849 (fold_builtin): Use it.
4850
c0873231
AP
48512004-04-20 Andrew Pinski <pinskia@physics.uc.edu>
4852
4853 PR target/11608
4854 * config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
4855 more like the one in config/dbxelf.h.
4856
5c5214a9
ZW
48572004-04-30 Zack Weinberg <zack@codesourcery.com>
4858
4859 * tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
4860 and adjust definition accordingly.
4861 (TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
4862 (TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
4863 * expr.c (store_constructor): Do not access TYPE_DOMAIN of a
4864 VECTOR_TYPE.
4865
67214984
JM
48662004-04-30 Jason Merrill <jason@redhat.com>
4867
4868 PR c++/14587
4869 * config/i386/winnt.c (associated_type): Look for attributes on
4870 the TYPE_MAIN_VARIANT of *this.
4871 * attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
4872 apply the attributes to the variants.
4873
b73f075a
PB
48742004-04-30 Paul Brook <paul@codesourcery.com>
4875
4876 * config.gcc: Simplify arm --with-{cpu,tune} test.
4877 * config/arm/arm-cores.def: Document whitespace restrictions.
4878
5076da17
RO
48792004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4880
4881 PR other/1963
4882 * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
4883
8a897bf9 48842004-04-30 Brian Ford <ford@vss.fsi.com>
bb8a619e
SB
4885 DJ Delorie <dj@redhat.com>
4886
4887 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
4888 (DWARF2_DEBUGGING_INFO): Define to enable.
4889 (DBX_REGISTER_NUMBER): Define to use the svr4 register map for
4890 DWARF2.
4891 * configure.ac (Target-specific assembler checks)
4892 <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
4893 relocs.
4894 * configure: Regenerate.
4895 * config.in: Likewise.
4896
4897 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
4898 (ASM_OUPUT_DWARF_OFFSET): Define.
8a897bf9 4899
ed9676cf
AK
49002004-04-29 Andreas Krebbel <krebbel1@de.ibm.com>
4901
4902 * config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
4903 (s390_emit_call): New function prototype added.
4904 (s390_tls_get_offset): Function removed.
4905 * config/s390/s390.c (s390_function_ok_for_sibcall,
4906 s390_call_saved_register_used_p): New functions.
4907 (TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
4908 (s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
4909 (s390_emit_tls_call_insn): New function.
4910 (legitimize_tls_address): Call s390_emit_tls_call_insn instead of
4911 emit_call_insn.
4912 (s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
5c5214a9 4913 (s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
ed9676cf 4914 added.
5c5214a9 4915 * config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
ed9676cf
AK
4916 register number used to hold the target address for sibcalls.
4917 * config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
4918 New expanders.
5c5214a9 4919 ("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
ed9676cf 4920 "*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
5c5214a9 4921 ("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
ed9676cf
AK
4922 Expanders removed.
4923 ("call", "call_value"): Call s390_emit_call to emit the call patterns.
5c5214a9 4924 ("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
ed9676cf
AK
4925 "*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
4926 ("epilogue"): Changed the call to s390_emit_epilogue to use the
4927 new parameter.
4928
1ae58c30
KH
49292004-04-30 Kazu Hirata <kazu@cs.umass.edu>
4930
4931 * bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
4932 cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
4933 reg-stack.c, varasm.c, config/alpha/ev4.md,
4934 config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
4935 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
4936 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
4937 config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
4938 config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
4939 config/ia64/itanium2.md, config/ip2k/ip2k.c,
4940 config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
4941 config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
4942 comment typos.
4943
78011587
PB
49442004-04-30 Paul Brook <paul@codesourcery.com>
4945
2d84a437 4946 * config.gcc: Default ep9312 to hard-float.
78011587
PB
4947 * config/arm/arm-cores.def: Add ARCH field.
4948 * config/arm/arm.c (FL_FOR_ARCH*): Define.
4949 (arm_arch_cirrus): New variable.
4950 (all_cores): Set and use arch.
4951 (all_architectures): Ditto.
4952 (arm_arch_name): New variable.
4953 (arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
4954 Set and use arm_arch_cirrus.
4955 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
4956 (enum processor_type): Update ARM_CORE define.
4957 (enum target_cpus): Add. Replaces TARGET_CPU_* defines.
4958 (CPP_SPEC): Remove %(cpp_cpu_arch).
4959 (CPP_ARCH_DEFAULT_SPEC): Remove.
4960 (CPP_CPU_ARCH_SPEC): Remove.
4961 (EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
4962 (FPUTYPE_DEFAULT): Don't define here.
4963
e344dbf3
R
49642004-04-30 J"orn Rennecke <joern.rennecke@superh.com>
4965
4966 * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
4967 updates too.
4968
65a939f7
PB
49692004-04-30 Paul Brook <paul@codesourcery.com>
4970
4971 * arm.c (arm_needs_doubleword_align): Use mode alignment.
4972
0bf87ea5
PB
49732004-04-30 Paolo Bonzini <bonzini@gnu.org>
4974
4975 * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
4976 vec_sububs.
4977 [__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
4978 duplicates.
4979
a6bf61c7
UB
49802004-04-30 Uros Bizjak <uros@kss-loka.si>
4981
65a939f7
PB
4982 * config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
4983 atan2?f3 expanders.
a6bf61c7 4984
150e407a
NC
49852004-04-29 Nick Clifton <nickc@redhat.com>
4986
4987 Bug 14093
4988 * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
4989 * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
4990 Delete static from definition.
4991 * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
4992
6862f97f
UB
49932004-04-30 Uros Bizjak <uros@kss-loka.si>
4994
65a939f7
PB
4995 * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
4996 UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
4997 <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
4998 <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
6862f97f 4999
c65a01af
RG
50002004-04-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
5001
5002 * commom.opt (Wfatal-errors): Add it.
5003 * diagnostic.c (flag_fatal_errors): Define it.
5004 (diagnostic_action_after_output): Check for flag_fatal_errors.
5005 * flags.h (flag_fatal_errors): Declare it.
5006 * opts.c (common_handle_option): Add OPT_Wfatal_errors.
5007 * doc/invoke.texi (Warning Options): Document -Wfatal-errors.
5008
d1c6a401
JZ
50092004-04-30 Josef Zlomek <zlomekj@suse.cz>
5010
5011 * gcse.c (remove_reachable_equiv_notes): Delete notes also in
5012 blocks which have kill flag set.
5013
99c012a8
BE
50142004-04-29 Ben Elliston <bje@au.ibm.com>
5015
5016 * configure.ac (--with-as): Abort if user-supplied assembler
5017 cannot be executed.
5018 (--with-ld): Likewise for the linker.
5019 * configure: Regenerate.
5020
d2be4368
KG
50212004-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5022
5023 * convert.c (convert_to_integer): Ensure `long_integer_type_node'
5024 isn't NULL before using it.
5025
15a6f2c3
RS
50262004-04-29 Richard Sandiford <rsandifo@redhat.com>
5027
5028 PR target/15189
5029 * config/mips/mips.md (load_df_low): Use default length.
5030 (load_df_high, store_df_high): Likewise.
5031
effa5d5d
KH
50322004-04-29 Kazu Hirata <kazu@cs.umass.edu>
5033
5034 * config/mips/mips.md, config/mips/sb1.md,
5035 config/rs6000/rs6000.c: Fix comment typos.
5036
2b8a92de
KH
50372004-04-29 Kazu Hirata <kazu@cs.umass.edu>
5038
5039 * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
5040 Fix comment typos.
5041
8fd58397
DR
50422004-04-29 Douglas B Rupp <rupp@gnat.com>
5043
5044 * gcc.c (DELETE_IF_ORDINARY): New macro default definition.
5045 (delete_if_ordinary): Use above macro.
5046 * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
5047 Update copyright.
5048 * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
5049
56141a6a
RE
50502004-04-29 Richard Earnshaw <rearnsha@arm.com>
5051
5052 * c-decl.c (get_parm_info): Use the correct tag keywords when
5053 warning about type declarations in prototypes.
5054
2682e19f
PB
50552004-04-29 Paul Brook <paul@codesourcery.com>
5056
5057 * config.gcc: Pull list of cores from arm-cores.def.
5058
c6fb08ad
PB
50592004-04-29 Paolo Bonzini <bonzini@gnu.org>
5060
5061 * combine.c (combine_simplify_rtx): Adjust call to use
5062 simplify_relational_operation. Do not use SELECT_CC_MODE
5063 when a comparison already has a MODE_CC mode.
0bf87ea5
PB
5064
50652004-04-29 Paolo Bonzini <bonzini@gnu.org>
5066
c6fb08ad
PB
5067 (simplify_set): simplify_relational_operation may now
5068 return another relational expression.
5069 * cse.c (fold_rtx): simplify_relational_operation now
5070 takes of computing the comparison mode.
5071 * dojump.c (compare_from_rtx): Use simplify_relational_operation,
5072 remove dead code.
5073 (do_compare_rtx_and_jump): Likewise.
5074 * integrate.c (subst_constants): simplify_relational_operation
5075 may now return another relational expression.
5076 * simplify-rtx.c (simplify_gen_relational): Move most code to
5077 the new simplify_relational_operation and
5078 simplify_relational_operation_1 functions.
5079 (simplify_relational_operation): Rewritten.
5080 (simplify_relational_operation_1): New function.
5081 (simplify_ternary_operation): simplify_relational_operation
5082 may now return another relational expression.
5c5214a9 5083 (simplify_rtx): Remove unnecessary temp variable.
c6fb08ad 5084
f964bd29
UB
50852004-04-29 Uros Bizjak <uros@kss-loka.si>
5086
2682e19f
PB
5087 * reg-stack.c (swap_to_top): New function.
5088 (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
5089 swap_to_top().
5090 (subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
5c5214a9 5091 (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
2682e19f 5092 UNSPEC_FSCALE_EXP.
f964bd29 5093
2682e19f
PB
5094 * config/i386/i386.md (UNSPEC_FSCALE): Remove.
5095 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
5096 (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
5097 x87's fscale insn.
5098 (*fscalexf4: Define new insn pattern to implement x87 fscale insn.
5099 (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
5100 patterns.
f964bd29 5101
cb83302c
SB
51022004-04-28 Serge Belyshev <1319@bot.ru>
5103
5104 PR 14944
5105 * coverage.c (read_counts_file): Fix usage of warning () call.
5106 * pretty-print.c (pp_base_format_text): Fix typo in the comment.
5107
5ad7ae7f
BE
51082004-04-28 Ben Elliston <bje@au.ibm.com>
5109
5110 * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
5111 options with "-" in the option index.
5112 (SPARC Options): Likewise.
5113 (M32R/D Options): Likewise.
5114
332d782c
KG
51152004-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5116
5117 * convert.c (convert_to_integer): Convert (long)round -> lround,
5118 etc.
5119
90f81f99
AP
51202004-04-28 Andrew Pinski <pinskia@physics.uc.edu>
5121
5122 * config/rs6000/rs6000.c (registers_ok_for_quad_peep):
5123 Return false if we do not have fp register.
5124 (addrs_ok_for_quad_peep): Rename to ...
5125 (mems_ok_for_quad_peep): this.
5126 Add check for volatile memory.
5127 * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
5128 Rename to ...
5129 (mems_ok_for_quad_peep): this.
5130 * config/rs6000/rs6000.md: Change peephole's for lfq/stq
5131 to peephole2's.
5132 (lfq_power2): New instruction.
5133 (stfq_power2): Likewise.
5134
902edd36
JH
51352004-04-28 Jan Hubicka <jh@suse.cz>
5136
5137 PR c/15004
5138 * function.c (do_warn_unused_parameter): Break out form ...
5139 (expand_function_end): ... here; warn only when not using cgraphunit.
5140 * function.h (do_warn_unused_parameter): Declare.
5141 * cgraphunit.c: Include function.h.
5142 (cgraph_finalize_function): Do unused parameter warning.
5143 * Makefile.in (cgraphunit.o): Depend on function.h
5144
a89f5df3
JM
51452004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
5146
5147 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
5148 calling install-info on $(DESTDIR)$(infodir)/dir already being
5149 present.
5150
40f0b3ee
PB
51512004-04-28 Paul Brook <paul@codesourcery.com>
5152
5153 * dwarf2out.c (mem_loc_descriptor): Handle shifts.
5154
c2e2375e
UW
51552004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
5156
5c5214a9 5157 * gcse.c (find_moveable_store): Do not accept store insns with
c2e2375e
UW
5158 REG_EH_REGION note.
5159
9e1622ed
PB
51602004-04-28 Paul Brook <paul@codesourcery.com>
5161
5162 * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
5163 * function.c (assign_temp): Ditto.
5164 * system.h (PROMOTE_FOR_CALL_ONLY): Poison.
5165
e0d4a859
PB
51662004-04-28 Paul Brook <paul@codesourcery.com>
5167
5168 * config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
5169
83532fb7
JZ
51702004-04-28 Josef Zlomek <zlomekj@suse.cz>
5171
5172 * var-tracking.c (variable_different_p): Add a parameter
5173 compare_current_location, compare current location of variable parts
5174 if it is true.
5175 (dataflow_set_different_1): Pass compare_current_location == false.
5176 (dataflow_set_different_2): Pass compare_current_location == false.
5177 (emit_notes_for_differences_1): Pass compare_current_location == true.
5178
cfa29496
UW
51792004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
5180
5181 * config/s390/s390.md ("casesi"): Mark jump table access as
5182 non-trapping and unchanging.
5183
23959f19
JDA
51842004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5185
5186 PR debug/14829
5187 * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
5188 callers.
5189 (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
5190 number for indexing hard_regno_nregs array.
5c5214a9 5191
2f70eed1
GK
51922004-04-27 Geoffrey Keating <geoffk@apple.com>
5193
5194 * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
5195 * config/darwin-crt2.c: Only have contents on __ppc__.
5196
f1dfe704
BW
51972004-04-27 Bob Wilson <bob.wilson@acm.org>
5198
5199 * config/xtensa/xtensa.c (call_insn_operand): Check
5200 SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
5201 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
5202 * config/xtensa/xtensa.md (call, call_value): Likewise.
5203
80408cac
WY
52042004-04-27 Wu Yongwei <adah@sh163.net>
5205
5206 * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
5207 (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
5208 (__gthread_mutex_init_function): Replace CreateMutex with
5209 initialization of custom mutex using CreateSemaphore.
5210 (__gthread_mutex_lock): Use InterlockedIncrement.
5211 (__gthread_mutex_trylock): Use InterlockedCompareExchange.
5212 (__gthread_mutex_unlock): Use InterlockedDecrement and
5213 ReleaseSemaphore to unlock
5214 * config/i386/gthr-win32.c (__gthread_mutex_init_function,
5215 __gthread_mutex_lock, __gthread_mutex_trylock,
5216 __gthread_mutex_unlock): Adjust to match inline versions in
5217 gthr-win32.h.
5218
70301b45
PB
52192004-04-27 Paul Brook <paul@codesourcery.com>
5220
5221 * config/arm/arm.c (arm_promote_prototypes): New function.
5222 (TARGET_PROMOTE_PROTOTYPES): Use it.
5223
4b763d77
PB
52242004-04-27 Paul Brook <paul@codesourcery.com>
5225
5226 * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
5227
7053a0e2
BG
52282004-04-26 Bernard Giroud <bgiroud@free.fr>
5229
5230 * config/alpha.c (alpha_end_function): For OpenVMS gas,
5231 correctly output .pdesc directive before .end.
5232
6d7870d1
JW
52332004-04-26 James E Wilson <wilson@specifixinc.com>
5234
5235 Bug 14927
5236 * config/ia64/ia64.md (movxf): New local op0. Handle case where
5237 operands[0] is a SUBREG. Handle case where operands[1] is a GR reg.
5238
7dd7fb88
ZW
52392004-04-26 Zack Weinberg <zack@codesourcery.com>
5240
5241 * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
5242 * config/pa/pa-hpux10.h: Likewise.
5243 * config/pa/pa-hpux11.h: Likewise.
5244
488061c8
GK
52452004-04-26 Geoffrey Keating <geoffk@apple.com>
5246
5247 * doc/invoke.texi (Overall Options): Document default for -o
5248 for PCH files.
5249
2b92e7f5
RK
52502004-04-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5251
5252 * builtins.c (expand_builtin_update_setjmp_buf): New function.
5253 (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
5254 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
5255
3657dc3e
PB
52562004-04-26 Paul Brook <paul@codesourcery.com>
5257
5258 * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
5259
778ebdd9
PB
52602004-04-26 Paul Brook <paul@codesourcery.com>
5261
5262 * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
5263
7c95f621
RS
52642004-04-25 Roger Sayle <roger@eyesopen.com>
5265
5266 * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
5267 fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and
5268 X % -1 as 0.
5269
29c246a7
HPN
52702004-04-26 Hans-Peter Nilsson <hp@bitrange.com>
5271
5272 PR bootstrap/15141
5273 * except.c (connect_post_landing_pads): Delete insns after the
5274 barrier when generating a unwind_resume_libfunc call.
5275
95df09f0
RK
52762004-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5277
5278 PR/c++ 15119
5279 * tree.c (substitute_placeholder_in_expr, case 4): New case,
5280 for TARGET_EXPR.
5281
52822004-04-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
060c5f00
ZD
5283
5284 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
5285 __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
5286 inhibit_libc is defined.
5287
39ba1719
RS
52882004-04-25 Richard Sandiford <rsandifo@redhat.com>
5289
5290 * config/mips/mips-protos.h (mips_linked_macc_p): Declare.
5291 * config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
5292 * config/mips/mips.c (TARGET_SCHED_REORDER): Define.
5293 (TARGET_SCHED_VARIABLE_ISSUE): Define.
5294 (mips_adjust_cost): Move later in file, next to other sched hooks.
5295 (mips_macc_chains_last_hilo): New variable.
5296 (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
5297 (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
5298 * config/mips/mips.md (may_clobber_hilo): New attribute.
5299
d3535e80
RS
53002004-04-24 Roger Sayle <roger@eyesopen.com>
5301 Bruce Korb <bkorb@gnu.org>
5302
5303 * fixinc/inclhack.def (aix_syswait_2): New fix.
5304 * fixinc/fixincl.x: Regenerate.
5305 * fixinc/tests/base/sys/wait.h: Update for new test.
5306
44688022
AM
53072004-04-24 Alan Modra <amodra@bigpond.net.au>
5308
5309 PR target/14960
5310 * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
5311 to non_fixed_size, and leave out fixed_size from the sum.
5312 (generate_set_vrsave): Correct clobbers.
5313 (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
5314 (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
5315 (rs6000_libcall_value): Likewise.
5316 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
5317 (FUNCTION_ARG_REGNO_P): Likewise.
5318
77278891
UW
53192004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
5320
5321 * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
5322 is a CONST_INT.
5323 (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
5324 with NARROW_OP1 instead of OP1.
5325
170f9e63
UW
53262004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
5327
5328 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
5329 and __s390x__ hosts.
5330
d1c38823
ZD
53312004-03-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5332
5333 * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
5334 _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
5335 * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
5336 BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
5337 BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
5338 * builtins.c (expand_builtin_fork_or_exec): New.
5339 (expand_builtin): Call it.
5340 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
5341 BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
5342 * c-common.c (PID_TYPE): New macro.
5343 (c_common_nodes_and_builtins): Initialize pid_type_node.
5344 * calls.c (special_function_p): Do not handle fork and exec.
5345 (expand_call): Do not handle ECF_FORK_OR_EXEC.
5346 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
5347 __gcov_execv, __gcov_execvp, __gcov_execve): Declare.
5348 * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
5349 __gcov_execv, __gcov_execvp, __gcov_execve): New.
5350 * tree.h (enum tree_index): Add TI_PID_TYPE.
5351 (pid_type_node): New macro.
5352 (ECF_FORK_OR_EXEC): Removed.
5353
1548580c
EB
53542004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr>
5355
5356 PR optimization/13985
5357 * cfgloopmanip.c (fix_loop_placements): New prototype.
5358 Call fix_bb_placements on the preheader of loops that have
5359 been reparented.
5360 (remove_path): Adjust call to fix_loop_placements.
5361
9b2d02a0
AP
53622004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
5363
5364 * config/darwin7.h: New file.
5365 * config.gcc (*-*-darwin*): Add darwin7.h if the
5366 version is greater than 6.
5367 * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
5368 (MATH_LIBRARY): Wrap in ifdefs.
5369
01d4c813
DJ
53702004-04-23 Daniel Jacobowitz <drow@mvista.com>
5371
5372 * config/arm/arm.c (arm_output_epilogue): Reverse the order of
5373 loading iWMMXt registers with a frame pointer. Use post-increment
5374 without a frame pointer.
5375 (arm_expand_prologue): Reverse the order of saving iWMMXt registers.
5376
7797ff53
PB
53772004-04-23 Paolo Bonzini <bonzini@gnu.org>
5378
5379 * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
5380 mode" rather than "-funit-at-a-time" since -O2 enables it
5381 without requiring -f* options. Refer to -fprofile-generate and
5382 -fprofile-use correctly. Move -funit-at-a-time among options
5383 enabled by -O. Add information about unit-at-a-time caveats.
5384
500bee0a
PB
53852004-04-22 Per Bothner <per@bothner.com>
5386
5387 * line-map.h (struct line_maps): New field highest_line.
5388 (linemap_position_for_column): Make non-inline function.
5389 (LINEMAP_POSITION_FOR_COLUMN): New macro.
5390 * line-map.c (linemap_init): Clear highest_line field.
5391 (linemap_add): Set highest_line field.
5392 (linemap_line_start): Minor optimization - use highest_line field.
5393 Reduce maximum column hint to 10000. Update highest_line field.
5394 (linemap_position_for_column): Moved from line-map.h. Optimize a bit.
5395 * cpphash.h (struct cpp_reader): Remove line field - instead use
5396 line_table->highest_line.
5397 (saved_line): Remove unused field.
5398 (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
5399 Use line_table's highest_line field instead of cpp_reader's line.
5400 * cpplib.c (start_directive): Likewise use highest_line field.
5401 (do_line, do_linemarker): Likewise just use newest map.
5402 (_cpp_do_file_change): Don't need to set cpp_reader's line field.
5403 * cpperror.c (cpp_error): Likewise use highest_line field.
5404 * cppfiles.c (open_file_failed: Likewise.
5405 (cpp_make_system_header): Likewise use newest map and highest_line.
5406 * cppinit.c (cpp_create_reader): Don't initialize removed field.
5407 * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
5408 skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
5409 _cpp_lex_direct): Likewise use highest_line.
5410 (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
5411 * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
5412 and use newest map.
5413 * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
5414 * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
5415 (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
5416
8efcd34f
AM
54172004-04-23 Alan Modra <amodra@bigpond.net.au>
5418
9344fdb9 5419 PR bootstrap/14992
8efcd34f
AM
5420 * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
5421 * config/linux.h (USE_LD_AS_NEEDED): Define.
5422 * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
5423 * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
5424 * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
5425 * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
5426 * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
5427 * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
5428 * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
5429
3092d0fc
PB
54302004-04-22 Per Bothner <per@bothner.com>
5431
5432 * cppinit.c (cpp_read_main_file): Return NULL rather than false.
5433 Fixes PR preprocessor/15067.
5434
e203404e
AS
54352004-04-23 Andreas Schwab <schwab@suse.de>
5436
5437 * config/ia64/ia64intrin.h: Add intermediate cast to void * to
5438 avoid aliasing warning.
5439
bade3a00 54402004-04-22 Jan Hubicka <jh@suse.cz>
bdabb153 5441 Mostafa Hagog <mustafa@il.ibm.com>
bade3a00
JH
5442
5443 * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
5444 * cfgloopanal.c (expected_loop_iterations): Change the return value
5445
fb5d4a68
JJ
54462004-04-22 Jakub Jelinek <jakub@redhat.com>
5447
5448 * cselib.h (struct elt_loc_list): Remove canon_loc field.
5449 * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
5450 (cselib_invalidate_mem): Remove all canon_loc and canon_x
5451 traces.
5452
b10e5b3a
JZ
54532004-04-22 Josef Zlomek <zlomekj@suse.cz>
5454
5455 Revert
5456 2004-04-20 Josef Zlomek <zlomekj@suse.cz>
5457
5458 * var-tracking.c (variable_part_different_p): Variable parts
5459 differ when the most recent locations differ.
5460
827555ea
RS
54612004-04-22 Richard Sandiford <rsandifo@redhat.com>
5462
5463 * doc/invoke.texi: Remove the MIPS -membedded-pic option.
5464 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
5465 (embedded_pic_offset): Delete.
5466 * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other
5467 MASK_* constants.
5468 (TARGET_EMBEDDED_PIC): Delete.
5469 (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
5470 (ASM_SPEC): Remove -membedded-pic.
5471 (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
5472 (ASM_OUTPUT_CASE_LABEL): Likewise.
5473 * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
5474 * config/mips/windiss.h (ASM_SPEC): Likewise.
5475 * config/mips/mips.c (struct machine_function): Remove
5476 embedded_pic_fnaddr_rtx.
5477 (TARGET_ENCODE_SECTION_INFO): Remove override.
5478 (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
5479 (override_options): Remove -membedded-pic handling.
5480 (print_operand): Remove handling of '%S'.
5481 (mips_select_section: Remove -membedded-pic handling.
5482 (mips_encode_section_info): Delete.
5483 (mips_output_conditional_branch): Remove mention of -membedded-pic.
5484 * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
5485 -membedded-pic handling.
5486 (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
5487
00ca716b
AM
54882004-04-22 Alan Modra <amodra@bigpond.net.au>
5489
5490 * var-tracking.c (frame_base_decl): Remove useless GTY.
5491
e4463bf1
AH
54922004-04-21 Aldy Hernandez <aldyh@redhat.com>
5493
5494 * config/rs6000/rs6000.c (rs6000_override_options): Error when
5495 user wants altivec and e500 instructions.
5496
e24e0aa7
L
54972004-04-21 H.J. Lu <hongjiu.lu@intel.com>
5498
5499 PR target/14813
5500 * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
5501 in .init_array section to ...
5502 * config/ia64/crtbegin.asm: Here.
5503
5504 * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
5505 and hidden if HAVE_INITFINI_ARRAY is defined.
5506
cb7761f5
JW
55072004-04-21 James E Wilson <wilson@specifixinc.com>
5508
50d32cf6
JW
5509 * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
5510 * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
5511 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
5512 (fp_register_operand, lo_operand): New.
5513 (mips_rtx_costs): Add TUNE_SB1 support.
5514 (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support.
5515 (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
5516 (mips_multipass_dfa_lookahead): New.
5517 * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
5518 TUNE_SB1): New.
5519 (TARGET_SWITCHES): Add -mfp-exceptions support.
5520 (TARGET_FP_EXCEPTIONS_DEFAULT): New.
5521 (BRANCH_COST): Fix whitespace.
5522 * config/mips/mips.md: Include sb1.md.
5523 * config/mips/sb1.md: New file.
5524 * doc/invoke.texi: Document -mfp-exceptions.
5525
cb7761f5
JW
5526 * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix
5527 comment.
5528 * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
5529 (fixincl.o-warn): Delete.
5530
a031e781
AP
55312004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
5532
5533 * config/rs6000/rs6000 (print_operand) ['z']:
5534 Change ifdef of TARGET_MACHO to if TARGET_MACHO.
5535
06a6469a
DJ
55362004-04-21 Daniel Jacobowitz <drow@mvista.com>
5537
5538 * config.gcc: Support --with-arch=iwmmxt for ARM.
5539
665acd1e
RK
55402004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5541
5542 * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
5543 in two more places; remove unneeded force_reg
5544
f9da97f0
AP
55452004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
5546
5547 * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
5548 for TARGET_MACHO.
5549 (print_operand): For TARGET_MACHO check to see if we need a stub
5550 and output one if we need it.
de3c6d93
AP
5551
5552 PR debug/15033
5553 * dwarf2out.c (rtl_for_decl_location): Check for NULL
5554 rtl.
5555
75293ad6
JW
55562004-04-20 James E Wilson <wilson@specifixinc.com>
5557
5558 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
5559 (vall_value_gp): Likewise.
5560
8b495402 55612004-04-20 DJ Delorie <dj@redhat.com>
7dd7fb88 5562
8b495402
DD
5563 * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
5564 variables stored in word registers, then in memory.
5565
77a705e4
EC
55662004-04-20 Eric Christopher <echristo@redhat.com>
5567
5568 * cp/parser.c (cp_parser_declaration): Move translate
5569 up before tokens are lexed.
5570
c56122d8
UB
55712004-04-20 Uros Bizjak <uros@kss-loka.si>
5572
5573 * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
5574 (asin_optab, acos_optab): Define corresponding macros.
5575 * optabs.c (init_optabs): Initialize asin_optab and acos_optab.
5576 * genopinit.c (optabs): Implement asin_optab and acos_optab
5577 using asin?f2 and acos?f2 patterns.
5578 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
5579 using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
5580 (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
5581 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
5582
5583 * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
5584 acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
5585 acos, acosf and acosl built-ins as inline x87 intrinsics.
5586
386d3a16
PB
55872004-04-20 Paul Brook <paul@codesourcery.com>
5588
5589 * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
5590
7aebacee
PB
55912004-04-20 Paul Brook <paul@codesourcery.com>
5592
5593 * config/arm/arm.c (arm_expand_prologue): Fix size calculation.
5594
a7b1dc36
PB
55952004-04-20 Paolo Bonzini <bonzini@gnu.org>
5596
5597 Revert part of 2004-04-17 change that moved -frename-registers
5598 to -O1. -frename-registers is buggy.
5599
5600 * toplev.c (flag_rename_registers): Initialize to 0.
5601 * doc/invoke.texi (Optimize options): Move -frename-registers
5602 to "Not triggered by any -O level" section. Adjust commentary
5603 accordingly.
77a705e4 5604
1548580c 56052004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
57bef48e
AP
5606
5607 * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
5608
169304de
RS
56092004-04-20 Richard Sandiford <rsandifo@redhat.com>
5610
5611 * config/mips/mips.c (mips_legitimize_move): Generate special patterns
5612 for mflo and mfhi instructions.
5613 (mips_output_move): Remove mflo and mfhi handling.
5614 * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
5615 (*mulsidi3_64bit): Update for new mfhi/mflo representation.
5616 Likewise various define_peephole2s.
5617 (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
5618 alternatives.
5619 (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
5620 (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
5621 (mfhilo_di, mfhilo_si): New patterns.
5622
c6ca23fb
JZ
56232004-04-20 Josef Zlomek <zlomekj@suse.cz>
5624
5625 * function.c (assign_parms): Force
5626 MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
5627
6f615a28
JZ
56282004-04-20 Josef Zlomek <zlomekj@suse.cz>
5629
5630 * var-tracking.c (variable_part_different_p): Variable parts differ
5631 when the most recent locations differ.
5632
a1bac22c
JW
56332004-04-19 James E Wilson <wilson@specifixinc.com>
5634
5635 * rtl.h (reg_set_last): Delete declaration.
5636 * rtlanal.c (reg_set_last): Delete.
5637
e419fe91
RS
56382004-04-19 Roger Sayle <roger@eyesopen.com>
5639
5640 * fold-const.c (fold_convert): Make function extern/public.
5641 * tree.h (fold_convert): Prototype here.
5642 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
5643 expand_builtin_strrchr, expand_builtin_strpbrk,
5644 expand_builtin_mempcpy, expand_builtin_bcopy,
5645 expand_builtin_bzero, expand_builtin_memcmp,
5646 expand_builtin_strcmp, expand_builtin_strncmp,
5647 stabilize_va_list, expand_builtin_sprintf,
5648 fold_trunc_transparent_mathfn, fold_builtin_logarithm,
5649 fold_builtin_exponent, fold_builtin_mempcpy,
5650 fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
5651 fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
5652 fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
5653
423c1189
AH
56542004-04-19 Aldy Hernandez <aldyh@redhat.com>
5655
7dd7fb88
ZW
5656 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
5657 (move_from_CR_gt_bit): New.
5658 (cceq_ior_compare): Name previously unnamed pattern. Disable for
5659 E500.
5660 (cceq_rev_compare): Name previously unnamed pattern. Allow for
5661 E500.
5662
5663 * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
5664 (tstsfeq_gpr): Same.
5665 (cmpsfgt_gpr): Same.
5666 (tstsfgt_gpr): Same.
5667 (cmpsflt_gpr): Same.
5668 (tstsflt_gpr): Same.
5669 (e500_cceq_ior_compare): New.
5670 (e500_flip_gt_bit): New.
5671
5672 * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
5673 (print_operand): Add 'c' and 'D'.
5674 (rs6000_generate_compare): Rewrite to generate correct rtl.
5675 (rs6000_emit_sCOND): Handle E500.
5676 (output_cbranch): Adjust for changes in rs6000_generate_compare.
5677 (output_e500_flip_gt_bit): New.
5678
5679 * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
5680 Protoize.
423c1189 5681
d2beeae7
EC
56822004-04-19 Eric Christopher <echristo@redhat.com>
5683
5684 * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
5685
06e7f299
DE
56862004-04-19 David Edelsohn <edelsohn@gnu.org>
5687
5688 * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
5689 fix information.
d2beeae7 5690
8df5a2b4
RO
56912004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5692
5693 * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
5694 download URL.
5695
9ca75f15
DJ
56962004-04-19 Daniel Jacobowitz <drow@mvista.com>
5697
5698 * stor-layout.c (layout_decl): Check DECL_PACKED before calling
5699 ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
5700
4b493aa5
AP
57012004-04-19 Andrew PInski <pinskia@physics.uc.edu>
5702
66a5d24b
AP
5703 * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
5704 (fold_builtin): Update caller to match.
5705
4b493aa5
AP
5706 PR bootstrap/15009
5707 * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
5708
5709 PR bootstrap/14999
5710 * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
5711
3d8f2528
RK
57122004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5713
a3d71605
RK
5714 * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
5715
3d8f2528
RK
5716 * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
5717 (expand_mult_highpart_optab): Likewise.
5718 (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
5719
6f6c1f6d
PB
57202004-04-19 Paul Brook <paul@codesourcery.com>
5721
5722 * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
5723 floatunssisf2, floatunssidf2): New patterns.
5724
fea77ed9
MM
57252004-04-18 Mark Mitchell <mark@codesourcery.com>
5726
33adcb6c
MM
5727 PR other/14918
5728 * doc/invoke.texi (-fprofile-generate): Document requirement to
5729 use -fprofile-generate when linking.
5730
fea77ed9
MM
5731 * doc/extend.texi (Strong Using): Warn users against using this
5732 feature.
5733
76cbf5bf
RS
57342004-04-18 Richard Sandiford <rsandifo@redhat.com>
5735
5736 * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
5737 * config/mips/mips.h (mips_entry, mips_string_length): Delete.
5738 (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
5739 * config/mips/mips.c (struct mips16_constant): Renamed from struct
5740 constant. Propogate change throughout file.
5741 (struct machine_function): Remove insns_len.
5742 (mips_string_length, mips16_strings, string_constants): Delete.
5743 (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
5744 when generating mips16 code. Remove special mips16 treatment of
5745 string constants.
5746 (mips_symbolic_constant_p): Allow mips16 constant pool accesses
5747 to have the form LABEL+CONSTANT.
5748 (mips_symbolic_address_p): Fix comment.
5749 (m16_usym8_4, m16_usym5_4): Delete.
5750 (mips_output_function_epilogue): Remove mips16 string handling.
5751 (mips_output_mi_thunk): Call mips16_lay_out_constants.
5752 (mips_select_section, mips_encode_section_info): Remove mips16
5753 string handling.
5754 (struct mips16_constant_pool): New.
5755 (add_constant): Take a mips16_constant_pool structure. Keep pool
5756 sorted into order of ascending mode size. Keep track of the highest
5757 possible start address, taking padding and the masking of the base PC
5758 value into account.
5759 (dump_constants_1): New function, split out from dump_constants.
5760 Handle vector constants. Use gen_consttable_{int,float} rather than
5761 separate functions for each mode.
5762 (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
5763 rather than separate functions for each alignment.
5764 (mips_find_symbol): Delete.
5765 (mips16_insn_length): New function, split out from
5766 mips16_lay_out_constants.
5767 (mips16_rewrite_pool_refs): New function.
5768 (mips16_lay_out_constants): Rework. Remove string handling.
5769 Always create an inline constant pool.
5770 * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
5771 (UNSPEC_ALIGN): New constants.
5772 (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
5773 (UNSPEC_ALIGN_[248]): Delete.
5774 (consttable_int, consttable_float, align): New patterns.
5775 (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
5776
8d33585c
AH
57772004-04-17 Aldy Hernandez <aldyh@redhat.com>
5778
5779 * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
5780 __unn_args_eq.
5781
03e007d7
AM
57822004-04-17 Alan Modra <amodra@bigpond.net.au>
5783
5784 PR target/14715
5785 * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
5786 with STARTING_FRAME_OFFSET.
5787
3bd06df7
RS
57882004-04-17 Richard Sandiford <rsandifo@redhat.com>
5789
5790 * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
5791 * config/mips/mips.c (macc_msac_operand): New function.
5792 * config/mips/mips.md (*msac): Move after *macc.
5793 (*msac2): New. Generalize macc-related peepholes so that they apply
5794 to msac too.
5795
38d396e5
PB
57962004-04-17 Paolo Bonzini <bonzini@gnu.org>
5797
5798 * opts.c (decode_options): Do not enable flag_rename_registers
5799 and flag_web at -O3.
5800 * toplev.c (flag_rename_registers): Initialize
5801 flag_rename_registers and flag_web to
5802 AUTODETECT_FLAG_VAR_TRACKING.
5803 (default_debug_hooks): New global.
5804 (process_options): Initialize default_debug_hooks. Warn if
5805 -fvar-tracking specified but not supported by the current
5806 debug format. Do not run var tracking at -O0 or if not
5807 supported by the current debug format, even if
5808 -fvar-tracking was given. If -fno-rename-registers
5809 is not specified, always run register renaming if var
5810 tracking is supported by the default debugging information
5811 format for the target, and we are at -O1 or higher; similarly
5812 for -fweb, but only at -O2 or higher.
5813 * doc/invoke.texi (Optimize Options): Document this.
5814
82e923f6
RS
58152004-04-17 Richard Sandiford <rsandifo@redhat.com>
5816
5817 * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
5818 * configure: Regenerate.
5819
f645e2bd
RS
58202004-04-17 Richard Sandiford <rsandifo@redhat.com>
5821
5822 * gcc.c (used_arg): Check whether an option has been removed.
5823
04db08db
RO
58242004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5825
5826 * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
5827 debugging on Solaris 7 and up.
5828
7e270317
RO
58292004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5830
5831 * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
5832 IRIX 5 port.
5833 Remove -save-temps workaround, handled automatically.
5834 Require GNU binutils 2.15 for debugging.
5835 Remove SGI make warnings since GNU make is now required.
5836 (Specific, mips-sgi-irix6): Some markup fixes.
5837 Describe MIPSpro C problems and workarounds.
5838 Mention working O32 ABI support.
5839 Recommend GNU as 2.15 for O32 with debugging.
5840 Remove description of fixed structure pass/return bug.
5841
2d49ce67
DD
58422004-04-16 DJ Delorie <dj@redhat.com>
5843
5844 * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
5845 TYPE_FIELDS.
5846 (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
5847
41067a2f
JDA
58482004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5849
e6b75edc
JDA
5850 * pa.md: Remove unnecessary declarations for asm_out_file.
5851
7945b276
JDA
5852 * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
5853 SAR register. Fix comment.
5854 (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
5855 (%cr11).
5856
41067a2f
JDA
5857 * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
5858
c805f22e
NC
58592004-04-16 Nick Clifton <nickc@redhat.com>
5860
5861 * config/arm/arm.c (arm_override_options): Revert previous patch.
5862 * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
5863 be safely built.
5864
8a897efe
KI
58652004-04-16 Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com>
5866
5867 * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
5868 bug.
5869 (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
5870 TARGET_DEFAULT): Changed. Ditto.
5871 (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
5872 TARGET_ENDIAN_DEFAULT): Added. Ditto.
5873 * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
5874 (TARGET_ENDIAN_DEFAULT): Added.
5875
b069dd3f
KG
58762004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5877
5878 * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
5879 ATTR_CONST_NOTHROW_LIST.
5880
df28deda
KG
58812004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5882
5883 PR/middle-end 14915
5884 * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
5885 BITS_BIG_ENDIAN.
5886
c87fbb0a
PH
58872004-04-15 Pat Haugen <pthaugen@us.ibm.com>
5888
5889 * ra-debug.c (ra_print_rtx): Add break's to case legs.
5890
ea7b98d0
JW
58912004-04-14 James E Wilson <wilson@specifixinc.com>
5892
5893 * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
5894
69f9a345
NN
58952004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
5896
5897 * libada-mk.in: New file.
5898 * configure.ac: Create libada-mk from libada-mk.in.
5899 * configure: Regenerate.
5900
88b28a31
UB
59012004-04-14 Uros Bizjak <uros@kss-loka.si>
5902
5903 * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
5904 (logb_optab, ilogb_optab): Define corresponding macros.
5905 * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
5906 * genopinit.c (optabs): Implement logb_optab and ilogb_optab
5907 using logb?f2 and ilogb?i2 patterns.
5908 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
5909 using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
5910 (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
5911 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
5912
5913 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
5914 and UNSPEC_XTRACT_EXP.
5915
5916 * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
5917 patterns to implement fxtract x87 instruction.
5918 (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
5919 logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
5920 intrinsics.
5921 (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
5922 x87's fxtract insn.
5923
ec6e4092
EC
59242004-04-14 Eric Christopher <echristo@redhat.com>
5925
5926 * config/mips/t-elf: Enable multilibs by default.
5927
ef482a86
AT
59282004-04-14 Andreas Tobler <a.tobler@schweiz.ch>
5929
5930 * bb-reorder.c (fix_crossing_conditional_branches): Adjust the
5931 previous fix to check HAVE_return at runtime too.
5932
cd2b7af0
NC
59332004-04-14 Nick Clifton <nickc@redhat.com>
5934
5935 * config/arm/arm.c (arm_override_options): If the user has not
5936 specified an ABI, then default to AAPCS for the iWMMXt processor.
5937 * config/arm/t-xscale-elf: Remove redundant multilib specifications.
5938 * config/arm/t-xscale-coff: Likewise.
5939
61218d19
KG
59402004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5941
5942 * builtins.c (fold_builtin_isdigit): New.
5943 (fold_builtin): Handle BUILT_IN_ISDIGIT.
5944 * defaults.h: Add TARGET_DIGIT0 and sort.
5945 * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
5946
a69934e0
KG
59472004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5948
5949 * builtins.c (fold_builtin_cabs, fold_builtin): Use
5950 `mathfn_built_in' to determine the new builtin.
5951 * fold-const.c (fold): Likewise.
5952
74b9f2d5
RS
59532004-04-14 Richard Sandiford <rsandifo@redhat.com>
5954
5955 * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
5956 * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
5957 (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
5958 (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
5959 (ASM_SPEC): Update accordingly.
5960 * config/mips/mips.c: Update after above renaming.
5961 * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
5962 * config/mips/vr4120-div.S: Renamed from vr4122-div.S.
5963
540554f4
JW
59642004-04-13 James E Wilson <wilson@specifixinc.com>
5965
5966 * c-opt.c (c_common_post_options): If this_input_filename is NULL,
5967 increment errorcount and return false instead of true.
5968
a072d43b
UB
59692004-04-13 Uros Bizjak <uros@kss-loka.si>:
5970
5971 * optabs.c (expand_twoval_unop): Reorder function arguments.
5972 * builtins.c (expand_builtin_mathfn_3): Update calls to
5973 expand_twoval_unop.
5974
5975 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
5976 and UNSPEC_TAN_TAN. Add missing comment.
5977
5978 * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
5979 patterns to implement fptan x87 instruction.
5980 (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
5981 and tanl built-ins as inline x87 intrinsics. Define corresponding
5982 peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
5983 (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
5984 x87's fptan insn.
5985
b50b729d
RH
59862004-03-13 Richard Henderson <rth@redhat.com>
5987
5988 * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
5989 for LABEL_REFs.
5990
3a4bdd05
RH
5991 * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
5992 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
5993 * doc/invoke.texi: Update to match.
5994
73ad3de5
RH
5995 * varasm.c (unlikely_text_section): Use assemble_align instead of
5996 ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately
5997 correct alignment argument.
5998
9532c14f
UW
59992004-04-13 Ulrich Weigand <uweigand@de.ibm.com>
6000
6001 * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
6002 after setting reg_last_reload_reg for optional output reloads.
6003
3d3947a9
FJ
60042004-04-12 Fariborz Jahanian <fjahanian@apple.com>
6005
6006 * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
6007 Definition of these two macros are corrected by adding
6008 matchine right paren.
6009
f778cbf0
JL
60102004-04-12 Jonathan Larmour <jifl@eCosCentric.com>
6011
6012 * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
6013
5ea9cb6e
RS
60142004-04-12 Roger Sayle <roger@eyesopen.com>
6015
6016 * config/i386/i386.c (output_387_reg_move): New function.
6017 * config/i386/i386-protos.h (output_387_reg_move): Prototype here.
6018 * config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
6019 *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
6020 *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
6021 truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
6022
1c9766da
RK
60232004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6024
6025 * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
6026 TYPE_DECL.
6027 * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
6028 * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
6029 * stor-layout.c (variable_size): Don't check for MINUS_EXPR.
6030 Use skip_simple_arithmetic to find SAVE_EXPR.
6031 (force_type_save_exprs, force_type_save_exprs_1): New functions.
6032 * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
6033 Properly chain multiple pointers.
6034 (copy_tree_r): Copy a TYPE_DECL.
6035 * tree.c (variably_modified_type_p): Add some missing tests and
6036 make some other minor changes.
6037 * tree.h (force_type_save_exprs): New declaration.
6038
1e9b78b0
RS
60392004-04-12 Roger Sayle <roger@eyesopen.com>
6040
6041 * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
6042 Remove fall throughs. Convert 0/x and 0%x into x&0 when x has
6043 side-effects. Don't convert x/1.0 into x if we honor signaling NaNs.
6044 Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert
6045 x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize
6046 x%-1 into 0 (or x&0 if x has side-effects).
6047
fef98bf2
AH
60482004-04-11 Aldy Hernandez <aldyh@redhat.com>
6049
6050 * config/rs6000/rs6000.md: Document why a pattern is not
6051 available.
6052
6053 * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
6054 of floats on the E500.
6055 (branch_positive_comparison_operator): Do not allow NE even on the
6056 E500.
6057
642af3be
AH
60582004-04-11 Aldy Hernandez <aldyh@redhat.com>
6059
6060 * config/rs6000/rs6000.c (rs6000_assemble_integer): Change
6061 in_text_unlikely_section to in_unlikely_text_section.
6062
b3e65ebb
RS
60632004-04-11 Roger Sayle <roger@eyesopen.com>
6064
6065 * fold-const.c (fold_binary_op_with_conditional_arg): Tweak
6066 calling convention to allow a NULL_TREE to be returned. Factor
6067 sanity checks from callers, return NULL_TREE when appropriate.
6068 (fold): Handle COMPOUND_EXPR operands of binary expressions
6069 before COND_EXPR operands. Use reorder_operands_p(a,b) to check
6070 whether a op (b,c) can be rewritten as (b, a op c). Simplify
6071 calls to fold_binary_op_with_conditional_arg.
6072
19d33948
KG
60732004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6074
6075 * config/mips/iris5.h (current_section_flags): Add
6076 in_unlikely_executed_text and default case.
6077
cf22ce3c
AT
60782004-04-11 Andreas Tobler <a.tobler@schweiz.ch>
6079
6080 * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
6081 failure on solaris. Place ifdef HAVE_return around gen_ret call.
6082 * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
6083 HAVE_return and place it around the place where it is needed.
6084
34982294
AP
60852004-04-11 Andrew Pinski <pinskia@physics.uc.edu>
6086
6087 * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
6088 ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
6089 and NORMAL_TEXT_SECTION_NAME.
6090 (unlikely_text_section): Check targetm.have_named_sections
6091 instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
6092 instead of SECTION_FORMAT_STRING.
6093 * config/mips/iris5.h (current_section_name): Add
6094 in_unlikely_executed_text case and move the abort into the switch.
6095 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
6096 (NORMAL_TEXT_SECTION_NAME): Remove.
6097 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
6098 (SECTION_FORMAT_STRING): Remove.
6099 * defaults.h (SECTION_FORMAT_STRING): Remove.
6100 * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
6101 (SECTION_FORMAT_STRING): Remove.
6102
c7e1876b
JM
61032004-04-10 Joseph S. Myers <jsm@polyomino.org.uk>
6104
6105 * c-typeck.c (common_type): Prefer long long to long when same
6106 precision.
6107
7c3ac422
ZW
61082004-04-09 Zack Weinberg <zack@codesourcery.com>
6109
6110 PR 14887
6111 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
6112 mode argument.
6113 * config/ia64/ia64.c (ia64_hpux_file_end): Check
6114 TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
6115
0b24db88
RS
61162004-04-09 Roger Sayle <roger@eyesopen.com>
6117
6118 * simplify-rtx.c (mode_signbit_p): New function to check whether
6119 an RTX is an immediate constant that represents the most significant
6120 bit of a given machine mode.
6121 (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
6122 C is the sign bit.
6123 (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
6124 when C2 is the sign bit.
6125 (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
6126 is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
6127 sign bit.
6128
ce58118c
KG
61292004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6130
6131 * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
6132 TYPE_MODE.
6133
c29726e2
AP
61342004-04-09 Andrew Pinski <pinskia@physics.uc.edu>
6135
6136 * c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
6137 of TREE_READONLY for types.
6138
750054a2
CT
61392004-04-09 Caroline Tice <ctice@apple.com>
6140
7c3ac422 6141 * basic-block.h (struct edge_def): Add new field, crossing_edge.
750054a2
CT
6142 (struct basic_block_def): Add new field, partition.
6143 (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
6144 definitions.
7c3ac422 6145 (partition_hot_cold_basic_blocks): Add extern function
750054a2 6146 declaration.
7c3ac422 6147 * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
750054a2
CT
6148 include statements.
6149 (N_ROUNDS): Increase the maximum number of rounds by 1.
6150 (branch_threshold): Add array value for new round.
6151 (exec_threshold): Add array value for new round.
6152 (push_to_next_round_p): New function.
6153 (add_unlikely_executed_notes): New function.
6154 (find_rarely_executed_basic_blocks_and_crossing_edges): New function.
6155 (mark_bb_for_unlikely_executed_section): New function.
6156 (add_labels_and_missing_jumps): New function.
6157 (add_reg_crossing_jump_notes): New function.
6158 (fix_up_fall_thru_edges): New function.
6159 (find_jump_block): New function.
6160 (fix_crossing_conditional_branches): New function.
6161 (fix_crossing_unconditional_branches): New function.
6162 (fix_edges_for_rarely_executed_code): New function.
6163 (partition_hot_cold_basic_blocks): New function.
6164 (find_traces): Add an extra round for partitioning hot/cold
6165 basic blocks.
6166 (find_traces_1_round): Add a parameter. Modify to push all cold blocks,
6167 and only cold blocks, into the last (extra) round of collecting traces.
7c3ac422 6168 (better_edge_p): Add a parameter. Modify to favor non-crossing edges
750054a2 6169 over crossing edges.
7c3ac422 6170 (bb_to_key): Add code to correctly identify cold blocks when
750054a2
CT
6171 doing partitioning.
6172 (connect_traces): Modify to connect all the non-cold traces first, then
6173 go back and connect up all the cold traces.
6174 (reorder_basic_blocks): Add call to add_unlikely_executed_notes.
6175 * cfg.c (entry_exit_blocks): Add initialization for partition field in
6176 entry and exit blocks.
7c3ac422 6177 * cfgbuild.c (make_edges): Update current_function_has_computed_jump
750054a2
CT
6178 if we are doing hot/cold partitioning.
6179 * cfgcleanup.c (cfglayout.h): Add new include statement.
7c3ac422 6180 (try_simplify_condjump): Modify to not attempt on blocks with jumps
750054a2
CT
6181 that cross section boundaries.
6182 (try_forward_edges): Likewise.
6183 (merge_blocks_move_predecessor_nojumps): Likewise.
6184 (merge_blocks_move_successor_nojumps): Likewise.
6185 (merge_blocks_move): Likewise.
6186 (try_crossjump_to_edge): Modify to not attempt after we have done
6187 the block partitioning.
6188 (try_crossjump_bb): Modify to not attempt on blocks with jumps that
6189 cross section boundaries.
6190 (try_optimize_cfg): Likewise.
6191 * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
6192 jumps that cross section boundaries.
7c3ac422 6193 * cfglayout.c (flags.h): Add new include statement.
750054a2 6194 (update_unlikely_executed_notes): New function.
7c3ac422
ZW
6195 (fixup_reorder_chain): Add code so when a new jumping basic block is
6196 added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
750054a2
CT
6197 updated appropriately.
6198 (duplicate_insn_chain): Add code to duplicate the new NOTE insn
6199 introduced by this optimization.
7c3ac422
ZW
6200 * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
6201 extern function declaration.
750054a2
CT
6202 * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
6203 list of notes that can be deleted.
6204 (create_basic_block_structure): Add initialization for partition field.
6205 (rtl_can_merge_blocks): Modify to test blocks for jumps that cross
6206 section boundaries.
6207 (try_redirect_by_replacing_jump): Modify to not attempt on jumps that
6208 cross section boundaries.
6209 (commit_one_edge_insertion): Add code so newly created basic block
7c3ac422 6210 ends up in correct (hot or cold) section. Modify to disallow
750054a2
CT
6211 insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
6212 (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
6213 crosses section boundaries.
6214 (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
6215 cross section boundaries.
6216 (force_nonfallthru_and_redirect): Modify to make sure new basic block
6217 ends up in correct section, with correct notes attached.
7c3ac422
ZW
6218 * common.opt (freorder-blocks-and-partition): Add new flag for this
6219 optimization.
6220 * dbxout.c (dbx_function_end): Add code to make sure scope labels at
6221 the end of functions are written into the correct (hot or cold)
6222 section.
750054a2
CT
6223 (dbx_source_file): Add code so writing debug file information
6224 doesn't incorrectly change sections.
7c3ac422 6225 * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
750054a2 6226 in partitioning hot/cold basic blocks into separate sections.
7c3ac422 6227 (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
750054a2
CT
6228 section partitioning.
6229 (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
6230 conditional branches can span all of memory.
6231 (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
6232 unconditional branches can span all of memory.
7c3ac422
ZW
6233 * final.c (scan_ahead_for_unlikely_executed_note): New function.
6234 (final_scan_insn): Add code to check for NOTE instruction indicating
6235 whether basic block belongs in hot or cold section, and to make sure
6236 the current basic block is being written to the appropriate section.
6237 Also added code to ensure that jump table basic blocks end up in the
6238 correct section.
6239 * flags.h (flag_reorder_blocks_and_partition): New flag.
750054a2
CT
6240 * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
6241 one of the branches has a jump that crosses between sections.
6242 (find_if_case_2): Likewise.
7c3ac422 6243 (ifcvt): Modify to not attempt to mark loop exit edges after
750054a2 6244 hot/cold partitioning has occurred.
7c3ac422
ZW
6245 * opts.c (decode_options): Code to handle new flag,
6246 flag_reorder_blocks_and_partition; also to turn it off if
750054a2 6247 flag_exceptions is on.
7c3ac422
ZW
6248 (common_handle_option): Code to handle new flag,
6249 flag_reorder_blocks_and_partition.
6250 * output.h (unlikely_text_section): New extern function declaration.
750054a2 6251 (in_unlikely_text_section): New extern function declaration.
7c3ac422
ZW
6252 * passes.c (rest_of_handle_stack_regs): Add
6253 flag_reorder_blocks_and_partition as an 'or' condition for calling
750054a2 6254 reorder_basic_blocks.
7c3ac422 6255 (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
750054a2
CT
6256 as an 'or' condition for calling reorder_basic_blocks.
6257 (rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
7c3ac422
ZW
6258 * print-rtl.c (print_rtx): Add code for handling new note,
6259 NOTE_INSN_UNLIKELY_EXECUTED_CODE
6260 * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
750054a2
CT
6261 (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
6262 cross between section boundaries.
7c3ac422
ZW
6263 * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
6264 indicating the basic block containing it belongs in the cold section.
750054a2
CT
6265 (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
6266 between hot and cold sections.
7c3ac422
ZW
6267 * toplev.c (flag_reorder_blocks_and_partition): Add code to
6268 initialize this flag, and to tie it to the command-line option
6269 freorder-blocks-and-partition.
6270 * varasm.c (cfglayout.h): Add new include statement.
6271 (unlikely_section_label_printed): New global variable, used for
6272 determining when to output section name labels for cold sections.
750054a2
CT
6273 (in_section): Add in_unlikely_executed_text to enum data structure.
6274 (text_section): Modify code to use SECTION_FORMAT_STRING and
6275 NORMAL_TEXT_SECTION_NAME macros.
6276 (unlikely_text_section): New function.
6277 (in_unlikely_text_section): New function.
7c3ac422
ZW
6278 (function_section): Add code to make sure beginning of function is
6279 written into correct section (hot or cold).
6280 (assemble_start_function): Add code to make sure stuff is written to
6281 the correct section.
6282 (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
6283 to an if statement that was checking 'in_text_section'.
6284 (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
6285 condition to an if statement that was checking 'in_text_section'.
6286 (default_section_type_flags_1): Add check: if in cold section
6287 flags = SECTION_CODE.
750054a2
CT
6288 * config/darwin.c (darwin_asm_named_section): Modify to use
6289 SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
7c3ac422 6290 * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
750054a2
CT
6291 specifically for the i386.
6292 (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
7c3ac422 6293 * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
750054a2
CT
6294 text string to something more informative.
6295 (NORMAL_TEXT_SECTION_NAME): Add new definition.
6296 (SECTION_FORMAT_STRING): Add new definition.
7c3ac422
ZW
6297 * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
6298 '!in_unlikely_text_section' as an 'and' condition to an if statement
6299 that was already checking '!in_text_section'.
6300 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
6301 UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
6302 sure these are properly defined for linux on ppc.
6303 * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
6304 for this new flag.
750054a2
CT
6305 * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
6306 reg_note.
7c3ac422
ZW
6307 * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
6308 HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
750054a2
CT
6309 these new macros.
6310
88673361
RS
63112004-04-08 Roger Sayle <roger@eyesopen.com>
6312
6313 * function.c (gen_mem_addressof): When changing the RTX from a REG
6314 to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
6315
82a6a758
RS
63162004-04-08 Roger Sayle <roger@eyesopen.com>
6317
6318 PR target/14888
6319 * config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
6320 truncxfdf2_noop): Provide dummy "fmov" implementations.
6321
febc5365
ILT
63222004-04-08 Ian Lance Taylor <ian@wasabisystems.com>
6323
2a782c52
ILT
6324 * gcc.c (default_compilers): Add missing initializers.
6325
febc5365
ILT
6326 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
6327 Return 1 if file was successfully mapped.
6328
f07e9f0f
GK
63292004-04-08 Geoffrey Keating <geoffk@apple.com>
6330
54e109ed
GK
6331 PR pch/13419
6332 PR pch/14137
6333 Radar #: 3315288
6334 * doc/invoke.texi (Precompiled Headers): Suggest -o
6335 to put an output file in a particular place. Be more detailed
6336 about which options affect PCH validity and which options
6337 might not work.
6338 * c-pch.c (pch_matching): New.
6339 (MATCH_SIZE): New.
6340 (struct c_pch_validity): New field 'match'.
6341 (pch_init): Handle pch_matching.
6342 (c_common_valid_pch): Check pch_matching.
6343
f07e9f0f
GK
6344 * explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
6345
f7b6f250
MM
63462004-04-08 Mark Mitchell <mark@codesourcery.com>
6347
6348 * doc/invoke.texi (Precompiled Headers): Warn about known
6349 problems.
6350
4a77e08c
DS
63512004-04-08 Danny Smith <dannysmith@users.sourceforge.net>
6352
6353 PR c++/14808
6354 * defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
6355 to 1 if ASM_OUTPUT_DEF is defined.
6356 * doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
6357 * config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
6358 Set to non-zero iff not a one_only decl.
6359
cc81dde8
PB
63602004-04-08 Paul Brook <paul@codesourcery.com>
6361
6362 * arm.h (CLASS_LIKELY_SPILLED_P): Define.
6363
d4453b7a
PB
63642004-04-08 Paul Brook <paul@codesourcery.com>
6365
6366 * explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
6367 PROMOTE_FOR_CALL_ONLY.
6368 * config/arm/arm-protos.h (arm_function_value): Declare.
6369 * config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
6370 (TARGET_PROMOTE_PROTOTYPES): Return false.
6371 (arm_function_value): New function.
6372 * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
6373 (FUNCTION_VALUE): Call arm_function_value.
6374 * config/cris/cris.h (PROMOTE_MODE): Rename ...
6375 (PROMOTE_FUNCTION_MODE): ... to this.
6376 (PROMOTE_FOR_CALL_ONLY): Remove.
6377 * config/mmix/mmix.h: Likewise.
6378 * config/s390/s390.h: Likewise.
6379 * config/sparc/sparc.h: Likewise.
6380 * config/sparc/sparc.c: Update comments about PROMOTE_MODE.
6381 * doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
6382 (TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
6383 (PROMOTE_FOR_CALL_ONLY): Remove.
6384
c00e272e
JS
63852004-04-08 Joel Sherrill <joel@oarcorp.com>
6386
6387 PR ada/14538
6388 * ada/5rosinte.adb: Remove fake mprotect() body.
6389 * ada/5rosinte.ads: Add SA_SIGINFO.
6390 * ada/5rtpopsp.adb: Rewrite to use new interface.
6391 * ada/init.c: Reorder so the simple single OS conditional __rtems__
6392 is tested before more complex ones which mix UNIX and embedded
6393 systems in the conditional.
6394
4afae4b9
JS
63952004-04-08 Joel Sherrill <joel@oarcorp.com>
6396
6397 PR ada/14665
6398 * ada/osint.adb (Find_Program_Name): Rework to properly handle
6399 filenames which end in .exe or have versioning suffixes like VMS.
6400
bfbdca0b
AP
64012004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
6402
467f3af0 6403 PR target/10129
bfbdca0b
AP
6404 * config/darwin.c (darwin_encode_section_info): When the decl has
6405 a DECL_INITIAL, it is only defined also when it is not a common.
6406
df0785d6
KG
64072004-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6408
6409 * builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
6410 (fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
6411
2897f1d4
L
64122004-04-07 H.J. Lu <hongjiu.lu@intel.com>
6413
6414 * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
6415 global register variables.
6416
6ed6a1b9
JM
64172004-04-07 Joseph S. Myers <jsm@polyomino.org.uk>
6418
6419 * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
6420 rpc_xdr_lvalue_cast_b): New fixes.
6421 * fixinc/fixincl.x: Regenerate.
6422 * fixinc/tests/base/rpc/xdr.h: Add new tests.
6423
fc091c8e
DE
64242004-04-07 David Edelsohn <edelsohn@gnu.org>
6425
6426 * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
6427 to power4 and power5 entries.
6428
7876228d
GK
64292004-04-06 Geoffrey Keating <geoffk@apple.com>
6430
6431 * c-common.h (pending_lang_change): Mark for PCH.
6432
b21292d0
CT
64332004-04-07 Caroline Tice <ctice@apple.com>
6434
6435 * gcc.c (main): Move 'break' in main loops (on an error)
6436 to wait until error processing has occurred.
7c3ac422 6437
615be2cf
NN
64382004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
6439
6440 * config.gcc: Stop changing enable_threads midstream.
6441 Replace uses of enable_threads_flag with enable_threads.
6442 * configure.ac: Replace uses of enable_threads_flag with
6443 enable_threads. Improve autoconf quotation in one place.
6444 * configure: Regenerate.
6445
6c7cf1f0
UB
64462004-04-06 Uros Bizjak <uros@kss-loka.si>
6447
6448 * builtins.c: Implement support for sincos function.
6449 (expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
6450 BUILT_IN_COS{,F,L}.
6451 (expand_builtin_mathfn_3): New function.
6452 (expand_builtin): Expand BUILT_IN_SIN{,F,L} and
6453 BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
6454 flag_unsafe_math_optimization is set.
6455
6456 * optabs.h (enum optab_index): Add new OTI_sincos.
6457 (sincos_optab): Define corresponding macro.
6458
6459 * optabs.c (init_optabs): Initialize sincos_optab.
6460 (expand_twoval_unop): New function.
6461
6462 * genopinit.c (optabs): Implement sincos_optab using sincos?f3
6463 patterns.
6464
6465 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
6466 and UNSPEC_SINCOS_SIN.
6467
6468 * config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
6469 sincosxf3): New patterns to implement sincos, sincosf and sincosl
6470 built-ins as inline x87 intrinsics. Define splits for
6471 sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
6472 cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
6473 sincos patterns.
6474 (sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
6475 (cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
6476
a072d43b
UB
6477 (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
6478 x87's fsincos insn.
6c7cf1f0 6479
23bd1514
DP
64802004-04-06 Devang Patel <dpatel@apple.com>
6481
6482 PR 14467
6483 * config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
7c3ac422 6484
c5124497
JDA
64852004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6486
6487 * doc/install.texi: Update HP-UX 11 installation procedure.
6488
485d61a7
PB
64892004-04-06 Paul Brook <paul@codesourcery.com>
6490
6491 * doc/sourcebuild.texi: Remove obsolete contraint on testcases.
6492
13ecc9e0
KK
64932004-04-05 Kaz Kojima <kkojima@gcc.gnu.org>
6494
6495 * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
6496 when the TLS address is generated by a function call.
6497 * config/sh/sh.md (tls_global_dynamic): Use a call expression.
6498 (tls_local_dynamic): Likewise.
6499
e0e4ac7f
AP
65002004-04-05 Andrew Pinski <pinskia@physics.uc.edu>
6501
6502 * tree.c (reconstruct_complex_type): Use TYPE_READONLY
6503 and TYPE_VOLATILE.
6504
0855eab7
CT
65052004-04-05 Caroline Tice <ctice@apple.com>
6506
485d61a7 6507 * gcc.c (combine_flag): New global variable, for new driver option.
0855eab7
CT
6508 (struct compiler): Add two new fields, to be used when
6509 combining multiple input files in a single pass (IMA).
7c3ac422
ZW
6510 (default_compilers): Add values for the new fields to all
6511 compiler entries. Modify the "@c" compiler entry for doing IMA
0855eab7
CT
6512 properly with "-save-temps" and the "combine" flag.
6513 (option_map): Add new driver option, "--combine", to tell driver
6514 to pass multiple input files to compiler at one time.
6515 (have_o_argbuf_index): New global variable.
6516 (store_arg): Modify to assign value to have_o_argbuf_index.
6517 (struct infile): Add three new fields, to help with IMA.
6518 (display_help): Add help for new "combine" option.
6519 (process_command): Remove local variable have_o; add code to check
6520 for new "combine" option; remove assignment to combine_inputs.
6521 (do_spec_1): Modify to deal with IMA better.
6522 (main): Make variable 'lang_n_infiles' local to entire function
7c3ac422
ZW
6523 rather than to a single block. Use flag combine_flag to
6524 determine whether to do IMA or not; Modify loop initializing
0855eab7
CT
6525 infiles to deal properly with linker files.
6526 Add code for doing preprocessing in presence of
6527 IMA with "-save-temps" flag. Modify "main" loop to handle
6528 multiple input files, in multiple languages, with or without
6529 preprocessing, gracefully.
6530 * toplev.c (set_src_pwd): Modify to not complain if attempting to
6531 re-set it to same directory it's previously been set to (avoid
7c3ac422 6532 irritating, meaningless warning messages when doing IMA with
0855eab7
CT
6533 save-temps).
6534 * doc/invoke.texi: Add "-combine" to list of Overall Options;
6535 remove documentation about IMA that is no longer accurate; Add
6536 documentation explaining what "-combine" does.
6537 * ada/lang-specs.h: Add initialization values for new fields in
6538 "struct compiler".
6539 * cp/lang-specs.h: Likewise.
6540 * f/lang-specs.h: Likewise.
6541 * java/lang-specs.h: Likewise.
6542 * objc/lang-specs.h: Likewise.
6543 * treelang/lang-specs.h: Likewise.
6544
26be75db
DE
65452004-04-05 David Edelsohn
6546
6547 * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
6548 symbol handling.
6549
fda935a2 65502004-04-05 Jakub Jelinek <jakub@redhat.com>
26be75db 6551 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
fda935a2
JJ
6552
6553 PR optimization/13424 (hppa), bootstrap/14462, c/14828
6554 * pa.md: Use replace_equiv_address to retain the attributes of the
6555 memory operands used in the split and peephole2 patterns for optimizing
6556 the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
6557
4f976745
RK
65582004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6559
6560 * c-decl.c (build_compound_literal): Use TYPE_READONLY.
6561 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
6562 * objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
6563 * c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
6564 PARM_DECL.
6565 * calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
6566 for a type.
6567 * print-tree.c (print_node): Properly handle side-effects, readonly,
6568 and constant flags.
6569 * tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
6570 and TREE_CONSTANT if not a type.
6571 * tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
6572 (IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
6573 (NON_TYPE_CHECK): New macro.
6574 (TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
6575
5ffc4730
EB
65762004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr>
6577
6578 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
6579 to DWARF2_DEBUG unconditionally.
6580 (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
6581
c38f02df
ILT
65822004-04-04 Ian Lance Taylor <ian@wasabisystems.com>
6583 Nathanael Nerode <neroden@gcc.gnu.org>
6584
6585 PR target/14548
6586 * config.host: Set the shell variable host_can_use_collect2.
6587 Set it to yes by default, and to no for alpha*-dec-*vms*,
6588 i[34567]86-*-mingw32*, and powerpc-*-beos*.
6589 * configure.ac: Set and substitute the shell variable collect2.
6590 Give an error if use_collect2 is yes and host_can_use_collect2 is
6591 no.
6592 * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all
6593 uses. Initialize to @collect2@.
6594 (STAGESTUFF): Remove $(USE_COLLECT2).
6595 * config/alpha/x-vms (USE_COLLECT2): Don't set.
6596 * config/i386/t-mingw32 (USE_COLLECT2): Likewise.
6597 * config/rs6000/t-beos (USE_COLLECT2): Likewise.
6598 * config/pa/t-pa64: Remove commented out USE_COLLECT2.
6599 * configure: Regenerate.
6600
9d317251
RS
66012004-04-04 Roger Sayle <roger@eyesopen.com>
6602
6603 * simplify-rtx.c (simplify_binary_operation): Constant fold
6604 DIV, MOD, UDIV and UMOD using div_and_round_double.
6605
64480988
MM
66062004-04-04 Mark Mitchell <mark@codesourcery.com>
6607
6608 PR c++/14804
6609 * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
6610 RECORD_TYPEs.
6611
aaf3c6d9
MM
66122004-04-04 Mark Mitchell <mark@codesourcery.com>
6613
6614 * doc/invoke.texi (-mabi=o64): Create link to O64 ABI
6615 documentation.
cd3f11a6 6616
d8b7ec41
RS
66172004-04-04 Roger Sayle <roger@eyesopen.com>
6618
6619 * cse.c (cse_insn): Correct usage of simplify_replace_rtx when
6620 updating the REG_EQUAL note on an insn's libcall_insn.
6621
4012b7db
RS
66222004-04-04 Roger Sayle <roger@eyesopen.com>
6623
6624 * df.h: Tidy up whitespace in the definitions of the DF_ flags.
6625
2f63a457
RS
66262004-04-03 Roger Sayle <roger@eyesopen.com>
6627
6628 * fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
6629 with reorder_operands_p.
6630
ef1140a9
JH
66312004-04-03 Jan Hubicka <jh@suse.cz>
6632
6633 * md.texi (vec_set, vec_extract, vec_init): Document.
6634
f736cb3e
GL
66352004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
6636
6637 * opts.c (decode_options): Do function inlining with very small
6638 max-inline-insns-* parameters when optimizing for size.
6639
89c43c0a
VM
66402004-04-02 Vladimir Makarov <vmakarov@redhat.com>
6641
6642 * config/i386/i386.h (TARGET_NOCONA): New macro.
6643 (TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
6644 (processor_type): Add PROCESSOR_NOCONA.
7c3ac422 6645
89c43c0a
VM
6646 * config/i386/i386.md (cpu): Add nocona to the attribute values.
6647
6648 * config/i386/i386.c (nocona_cost): New variable.
6649 (m_NOCONA): New macro.
6650 (x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
6651 x86_branch_hints, x86_use_sahf, x86_single_stringop,
6652 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
6653 x86_integer_DFmode_moves, x86_partial_reg_dependency,
6654 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
6655 x86_decompose_lea, x86_arch_always_fancy_math_387,
6656 x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
6657 x86_ext_80387_constants, x86_four_jump_limit):
6658 (override_options): Add nocona_cost to processor_target_table.
6659 Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
6660 (incdec_operand): Prevent inc/dec generation for Nocona too.
6661 (ix86_issue_rate): Add PROCESSOR_NOCONA.
7c3ac422 6662
cd798543
AP
66632004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
6664
6665 * rtlanal.c (find_reg_note): Manually
6666 unswitch the loop.
6667
a406f566
MM
66682004-04-01 Mark Mitchell <mark@codesourcery.com>
6669
6670 * genemit.c (gen_split): Change prototype of generated code.
6671 * genrecog.c (write_action): Adjust prototype for and calls to
6672 gen_split_*.
6673 * gensupport.c (struct queue_elem): Add split field.
6674 (queue_pattern): Return a value. Clear the split field.
6675 (process_rtx): Maintain an association between an insn and the
6676 split generated from it for a define_insn_and_split.
6677 (process_one_cond_exec): Generate a new split for a
6678 define_insn_and_split.
6679 * config/arm/arm-protos.h (arm_split_constant): Add insn
6680 parameter.
6681 (emit_constant_insn): New function.
6682 (arm_gen_constant): Use it.
6683 * config/arm/arm.md: Adjust calls to arm_split_constant.
6684
18c6ada9
JH
66852004-04-02 Jan Hubicka <jh@suse.cz>
6686
6687 * cgraph.c: Add overall comment.
6688 (cgraph_inline_hash): New global variable.
6689 (cgraph_create_node): Break out from ...
6690 (cgraph_node): ... here.
6691 (cgraph_edge): New function.
6692 (cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
6693 (cgraph_remove_edge): Accept edge, intead of source and destination.
6694 (cgraph_redirect_edge_callee): New.
6695 (cgraph_remove_node): Update all new datastructures.
6696 (cgraph_record_call, cgraph_remove_call): Kill.
6697 (dump_cgraph_node): Break out from ... ; dump new datastructures.
6698 (dump_cgraph): ... here.
6699 (cgraph_function_possibly_inlined_p): Use new hashtable.
6700 (cgraph_clone_edge, cgraph_clone_node): New.
6701 * cgraph.h: Include hashtab.h
6702 (struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
6703 fields, add inlined_to pointer.
6704 (cgraph_node): Add pointer to next_clone.
6705 (cgraph_remove_edge, cgraph_create_edge): Update prototype.
6706 (cgraph_remove_call, cgraph_record_call): Kill.
6707 (cgraph_inline_hash): Declare.
6708 (dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
6709 cgraph_redirect_edge_callee): Declare.
6710 (cgraph_create_edges, cgraph_inline_p): Update prorotype.
6711 (cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
6712 cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
6713 * cgraphunit.c: Add overall comment.
6714 (cgraph_optimize_function): Kill.
6715 (cgraph_assemble_pending_functions): Do not assemble inline clones.
6716 (cgraph_finalize_function): Update call of cgraph_remove_node
6717 (record_call_1): Record call sites.
6718 (cgraph_create_edges): Accept node instead of decl argument.
6719 (error_found): New static variable.
6720 (verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
6721 (cgraph_analyze_function): Update for new datastructures.
6722 (cgraph_finalize_compilation_unit): Plug memory leak.
6723 (cgraph_optimize_function): Kill.
6724 (cgraph_expand_function): Do not use cgraph_optimize_function.
6725 (INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
6726 cgraph_inlined_callees): Kill.
6727 (cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
6728 clones.
6729 (estimate_growth): Simplify.
6730 (cgraph_clone_inlined_nodes): New function.
6731 (cgraph_mark_inline_edge): Re-implement.
6732 (cgraph_mark_inline): Likewise.
6733 (cgraph_check_inline_limits): Simplify.
6734 (cgraph_recursive_inlining_p): New.
6735 (update_callee_keys): Break out from ...
6736 (cgraph_decide_inlining_of_small_functions): ... here; simplify.
6737 (cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
6738 Likewise.
6739 (cgraph_expand_all_functions): Remove inline clones from the ordered
6740 list.
6741 (cgraph_preserve_function_body_p): New predicate.
6742 (cgraph_optimize): Verify cgraph.
6743 * function.h (struct function): Add fields saved_tree/saved_args.
6744 * timevar.def (TV_CGRAPH_VERIFY): Use verifier.
6745 * toplev.c (rest_of_compilation): Do not free cfun.
6746 * tree-inline.c: Include function.h
6747 (struct inline_data): Add saving_p field; replace decl/current_decl by
6748 node/current_node.
6749 (insert_decl_map): New function.
6750 (copy_body_r): Handle saving; update cgraph datastructure.
6751 (copy_body): Handle recursive inlining.
6752 (initialize_inlined_parameters): Likewise.
6753 (expand_call_inline): Propagate node attributes; update cgraph.
6754 (optimize_inline_calls): Verify that datastructure still match.
6755 (save_body): New function.
6756 * tree-inline.h (save_body): New.
6757 * tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
6758 * langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
6759 * langhooks.c (lang_hooks): Add update_decl_after_saving.
6760
717415ad
SB
67612004-04-01 Serge Belyshev <1319@bot.ru>
6762
7c3ac422
ZW
6763 PR target/14702
6764 * config/i386/i386.md: fix source operand constraints in
6765 mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
717415ad 6766
af5bdf6a
WH
67672004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl>
6768
6769 * fold-const.c (folda): Preserve types of comparisons.
6770
54fdc910
RH
67712004-04-01 Richard Henderson <rth@redhat.com>
6772
6773 * toplev.c (backend_init): Move init_optimization_passes call ...
6774 (lang_dependent_init): ... here.
6775
765f1bf9
AM
67762004-04-01 Alan Modra <amodra@bigpond.net.au>
6777 Jakub Jelinek <jakub@redhat.com>
6778
6779 * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
6780 -lgcc --as-needed -lgcc_s --no-as-needed by default.
6781 * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
6782 * configure: Rebuilt.
6783 * config.in: Rebuilt.
6784 * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
6785 (stage2-start, stage3-start, stage4-start): Likewise.
6786 (stageprofile-start, stagefeedback-start): Likewise.
6787
45dcc026
JJ
67882004-04-01 Jakub Jelinek <jakub@redhat.com>
6789
6790 * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
6791 * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
6792 * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
6793 * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
6794 (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
6795 * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
6796 with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
6797 * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
6798 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
6799 * config/sparc/t-linux: Removed.
6800
0b612185
JJ
68012004-04-01 Jakub Jelinek <jakub@redhat.com>
6802
6803 PR c++/14755
6804 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
6805 "bitfld++ == const" to "++bitfld == const + incr" transformations.
6806
a150de29
RK
68072004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6808
6809 * expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
6810 * stor-layout.c (layout_decl): Likewise.
6811 * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
6812 * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
6813 * print-tree.c (print_node): Handle various used of unsigned_flag.
6814 * tree.def (BIT_FIELD_REF): Update comment.
6815 * tree.h (TREE_UNSIGNED): Deleted.
6816 (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
6817
8df83eae
RK
68182004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6819
6820 * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
6821 Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
6822 * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
6823 * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
6824 * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
6825 * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
6826 * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
6827 * config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
6828 * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
6829 * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
6830 REAL_TYPE, not INTEGER_TYPE.
6831 (layout_type, case VECTOR_TYPE): Simplify code.
6832 * tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
6833 * tree.h: Update comments.
6834 (STRIP_NOPS): Use TYPE_UNSIGNED.
6835 (TYPE_UNSIGNED): New macro.
6836 (TYPE_TRAP_SIGNED): Remove now redundant check.
6837 (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
6838
8465edcc
RK
68392004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6840
6841 * function.c (put_var_into_stack): Properly set orig_reg for indirect.
6842
68432004-03-31 Andrew Pinski <pinskia@physics.uc.edu>
efdc5d91
AP
6844
6845 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
6846 Add darwin-fpsave.asm, darwin-vecsave.asm,
6847 and darwin-world.asm.
6848 (TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
6849 as the asm files contain altivec instructions.
6850 * config/rs6000/darwin-fpsave.asm: New file.
6851 * config/rs6000/darwin-vecsave.asm: New file.
6852 * config/rs6000/darwin-world.asm: New file.
6853
5fece182
ZW
68542004-03-31 Zack Weinberg <zack@codesourcery.com>
6855
6856 * gengtype-yacc.y (option, stringseq): Add missing
6857 terminating semicolon.
6858
b150f4f3
DE
68592004-03-30 David Edelsohn <edelsohn@gnu.org>
6860
6861 * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
6862 tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
6863 tls_dtprel_ha_32, tls_dtprel_ha_64,
6864 tls_dtprel_lo_32, tls_dtprel_lo_64,
6865 tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
6866 tls_tprel_ha_32, tls_tprel_ha_64,
6867 tls_tprel_lo_32, tls_tprel_lo_64,
6868 tls_got_tprel_32, tls_got_tprel_64,
6869 tls_tls_32, tls_tls_64): Replace register_operand with
6870 gpc_reg_operand.
6871
68722004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
6873
6874 * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
6875 *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
6876 *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
6877 *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
6878 *ctrdi_internal6): Replace register_operand with
6879 nonimmediate_operand.
6880
0af5da7f
FJ
68812004-03-29 Fariborz Jahanian <fjahanian@apple.com>
6882
5fece182
ZW
6883 * fold-const.c (fold): Reassociate multiply expression
6884 with an adjacent non-multiply expression to use
6885 architecture's multiply-add instruction.
0af5da7f 6886
1431042e
ZW
68872004-03-30 Zack Weinberg <zack@codesourcery.com>
6888
6889 * gengtype.c (create_option): New function.
6890 * gengtype.h: Prototype it.
6891 * gengtype-yacc.y (stringseq): New rule.
6892 (option): Use create_option. Add new bare ID production. Use
6893 stringseq, not STRING directly.
6894
6895 * alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
6896 * dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
6897 * varray.h, config/alpha/alpha.c:
6898 Use new shorter form of GTY markers.
6899
6900 * doc/gty.texi: Rewrite.
6901
9ffab06b
AP
69022004-03-30 Andrew Pinski <pinskia@physics.uc.edu>
6903
6904 * config/darwin.c (machopic_function_base_name):
6905 Remove current_name and getting the name of the
6906 current function.
6907
a2246edc
NC
69082004-03-30 Nick Clifton <nickc@redhat.com>
6909
6910 * config/arm/arm.md (thumb_jump): Reduce the backward branch
6911 range, and increase the forward branch range, to allow for
6912 the fact that the PC will be off by 4.
6913
547799a7
AM
69142004-03-30 Alan Modra <amodra@bigpond.net.au>
6915
6916 * .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
6917
452a7d36
HP
69182004-03-30 Hartmut Penner <hpenner@de.ibm.com>
6919
1431042e
ZW
6920 * config/rs6000/rs6000.c (output_vec_const_move):
6921 Find all cases of EASY_VECTOR_15_ADD_SELF.
6922 (easy_vector_constant_add_self): Accept
6923 all vector constant loadable by vsplt* and vadd*.
452a7d36
HP
6924 (easy_vector_same): Use easy_vector_splat_const.
6925 (easy_vector_const): Use easy_vector_splat_const.
1431042e 6926 (easy_vector_splat_const): New function.
452a7d36 6927 (gen_easy_vector_constant_add_self): New function.
1431042e 6928
452a7d36
HP
6929 * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
6930 New prototype.
6931
1431042e 6932 * config/rs6000/altivec.md (movv4si splitter): Change to
452a7d36
HP
6933 emit move insn with halfed vector constant.
6934 (*movv8hi splitter): Likewise.
6935 (*movv16qi splitter): Likewise.
1431042e 6936
708d2456
HP
69372004-03-30 Hartmut Penner <hpenner@de.ibm.com>
6938
1431042e
ZW
6939 PR 11591
6940 * config/rs6000/rs6000.c (rs6000_legitimate_address):
708d2456
HP
6941 Allow any offset to argument pointer in no-strict case.
6942
6868bb1c
JH
69432004-03-30 Jan Hubicka <jh@suse.cz>
6944
6945 * toplev.c (backend_init): Add missing call to inint_optimization_passes.
6946 * passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
6947 dump file in non-unit-at-a-time mode.
6948
43537bf6
HPN
69492004-03-29 Hans-Peter Nilsson <hp@axis.com>
6950
6951 * config/cris/cris.h: Correct #ifdef to test for
6952 HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
6953 HAVE_AS_MUL_BUG_ABORT_OPTION.
6954
97955d55
RK
69552004-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6956
6957 * function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
6958 the address inside the old RTL.
6959
18d5f982
ZW
69602004-03-28 Zack Weinberg <zack@codesourcery.com>
6961
6962 * c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
6963 (struct c_binding, struct c_scope): Add chain_next
6964 attributes to GTY markers.
6965 (struct lang_identifier, struct lang_tree_node): Define
6966 here...
6967 * c-tree.h: ... not here. No longer need to declare struct
6968 c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
6969 * c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
6970 to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
6971
6972 PR 14734, 11944
6973 * c-decl.c (get_parm_info): If error_mark_node is encountered
6974 in the bindings chain, unbind and discard it; don't abort.
6975
e20f3dd1 69762004-03-28 Olga Golovonevsky <olga@il.ibm.com>
18d5f982 6977 Dorit Naishlos <dorit@il.ibm.com>
e20f3dd1 6978
18d5f982
ZW
6979 * config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
6980 one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
e20f3dd1 6981
d5ebbf58
SC
69822004-03-28 Stephane Carrez <stcarrez@nerim.fr>
6983
6984 * config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
6985
6986 * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
6987 (m68hc11_attribute_table): New attribute "page0" to mark a global
6988 variable as being allocated from within page0 section.
6989 (m68hc11_encode_label): New function.
6990 (m68hc11_strip_name_encoding): New function.
6991 (m68hc11_page0_symbol_p): New function.
6992 (m68hc11_indirect_p): Accept global variables marked in page0.
6993 (m68hc11_encode_section_info): Lookup "page0" attribute.
6994
6995 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
6996 represents access to page0 variables.
6997
6998 * config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
6999 ("*logicalsi3_silshl16_zext"): Likewise.
7000 ("*ashldi3_const32"): Likewise.
7001 (peephole2 ashift): Likewise.
7002
5baeaac0
JM
70032004-03-28 Joseph S. Myers <jsm@polyomino.org.uk>
7004
7005 * c-tree.h (C_DECL_REGISTER): New.
7006 * c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
7007 finish_decl, grokdeclarator, get_parm_info), c-typeck.c
7008 (build_array_ref, c_mark_addressable): Set and use it.
7009 * c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
7010 Allow structures with volatile fields to be declared register.
7011 Don't check TREE_ADDRESSABLE before warning about taking address
7012 of register.
7013 * c-decl.c (finish_decl): Don't allow structures with volatile
7014 fields to be placed in named register.
7015 * doc/trouble.texi: Remove reference to structures with volatile
7016 fields in registers.
7017
84c1fa24
UW
70182004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
7019
7020 * function.c (thread_prologue_and_epilogue): Move
7021 NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
7022 before the epilogue.
7023
053ee101
UW
70242004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
7025
7026 * expr.c (store_constructor): Use gen_int_mode to correctly
7027 sign-extend CONST_INT value.
7028
ca4944e1
KG
70292004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7030
7031 * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
7032 * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
7033 * doc/extend.texi: Likewise.
7034
eb1a2c88
DN
70352004-03-26 Diego Novillo <dnovillo@redhat.com>
7036
7037 * c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
7038 with TYPE_ORIG_SIZE_TYPE.
7039
eabe2b29 70402004-03-25 Aldy Hernandez <aldyh@redhat.com>
18d5f982
ZW
7041
7042 PR 14219
7043 * c-typeck.c (build_binary_op): Do not allow comparisons of
7044 vectors.
eabe2b29 7045
9e1395f1
JM
70462004-03-26 James A. Morrison <ja2morri@uwaterloo.ca>
7047
7048 * config.gcc: Remove sparc-tti-*.
7049 * config/sparc/pbd.h: Delete.
7050
7051 * config/sparc/sol2.h: Remove note about Sun OS 4.x.
7052 * config/sparc/aout.h: Likewise.
7053
7054 * config/sparc/sparc.h: Remove if 0'd code.
7055 * config/sparc/sparc.md (call): Remove if 0'd code.
7056 (call_value): Likewise.
7057 (nonlocal_goto): Likewise.
7058 (unimp_insn): Delete.
7059
22e63bd3
RS
70602004-03-25 Roger Sayle <roger@eyesopen.com>
7061
7062 * fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
7063 BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
7064
0066ef9c
RH
70652004-03-25 Richard Henderson <rth@redhat.com>
7066
7067 PR 11527
18d5f982
ZW
7068 * c-typeck.c (pop_init_level): Emit pending init elements earlier
7069 rather than later.
0066ef9c 7070
3a048383
KG
70712004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7072
7073 * builtins.c (fold_builtin): Fix error in last change.
7074
0d63bf21
RS
70752004-03-25 Richard Sandiford <rsandifo@redhat.com>
7076
7077 * config/mips/mips.h: Formatting fix.
7078
740e5b6f
KG
70792004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7080
7081 * builtins.def: Add ctype builtins.
7082 * doc/extend.texi: Likewise.
7083
e19f6bde
KG
70842004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7085
7086 * builtins.c (fold_builtin): Add new builtin optimizations for
7087 sqrt and/or cbrt.
7088 * fold-const.c (fold): Likewise.
7089
ec507f2d
DE
70902004-03-25 David Edelsohn <edelsohn@gnu.org>
7091
7092 * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
7093 (rs6000_sched_groups): New variable.
7094 (processor_target_table): Add power5.
7095 (rs6000_override_options): Set rs6000_sched_insert_nops,
7096 rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
7097 from rs6000_sched_groups.
7098 (output_cbranch): Use rs6000_always_hint.
7099 (rs6000_variable_issue): Use rs6000_sched_groups.
7100 (rs6000_adjust_cost): Add CPU_POWER5.
7101 (is_microcoded_insn): Use rs6000_sched_groups.
7102 (is_dispatch_slot_restricted): Use rs6000_sched_groups.
7103 Return 2 for POWER5 cracked instructions.
7104 (is_cracked_insn): Use rs6000_sched_groups.
7105 (is_branch_slot_insn): Use rs6000_sched_groups.
7106 (rs6000_issue_rate): Add CPU_POWER5.
7107 (rs6000_sched_finish): Use rs6000_sched_groups.
7108 (rs6000_rtx_costs): Add PROCESSOR_POWER5.
7109 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
7110 (DEFAULT_SCHED_COSTLY_DEP): Delete.
7111 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
7112 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
7113 * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
7114 * config/rs6000/power5.md: New file.
7115 * doc/invoke.texi: Add power5 option.
7116
666c27b9
KH
71172004-03-25 Kazu Hirata <kazu@cs.umass.edu>
7118
7119 * cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
7120 config/arm/arm.c, objc/objc-act.c: Fix comment typos.
7121 * doc/invoke.texi: Fix a typo.
7122
43a21dfc
KH
71232004-03-25 Kazu Hirata <kazu@cs.umass.edu>
7124
7125 PR optimization/9707.
7126 * stmt.c (emit_case_nodes): Emit equality comparisons instead
7127 of recursing if both children are single-valued cases with no
7128 children.
7129
9728c9d1
PB
71302004-03-25 Paul Brook <paul@codesourcery.com>
7131
7132 * config/arm/arm.c (vfp_print_multi): Remove.
7133 (arm_output_fldmx): New function.
7134 (vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
7135 (arm_expand_prologue): Update to match.
7136 (arm_get_vfp_saved_size): New Function.
7137 (arm_get_frame_offsets): Use it.
7138 (arm_output_epilogue): Use new functions.
7139
bb1acb3e
RH
71402004-03-24 Richard Henderson <rth@redhat.com>
7141
7142 * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
7143 (reg_known_value, reg_known_value_size): Likewise; make static.
7144 (reg_known_equiv_p): Make static.
7145 (clear_reg_alias_info): Update for new indexing.
7146 (get_reg_known_value, set_reg_known_value): New.
7147 (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
7148 (canon_rtx): Use them.
7149 (init_alias_analysis): Likewise. Allocate reg_known_value with gc.
7150 Don't play queer offsetting games with reg_known_value and
7151 reg_known_equiv_p.
7152 (end_alias_analysis): Free reg_known_value with gc.
7153 * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
7154 * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
7155 (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
7156 functions instead.
7157
ef335eb8
KH
71582004-03-24 Kazu Hirata <kazu@cs.umass.edu>
7159
7160 * dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
7161 config/i386/mmintrin.h: Update copyright.
7162
09a9c095
NN
71632004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
7164
7165 * configure.ac: Add --enable-werror-always (for top level bootstrap
7166 support).
7167 * configure: Regenerate.
7168
f75963f5
ZL
71692004-03-24 Ziemowit Laski <zlaski@apple.com>
7170
7171 * objc/objc-act.c (objc_comptypes): Treat comparisons
7172 between 'Class' and '<class> *' as explicitly invalid.
7173
8d3b3fb7
DE
71742004-03-24 David Edelsohn <edelsohn@gnu.org>
7175
827c06b6 7176 * doc/invoke.texi (-frename-registers): Add enabled at -O3.
8d3b3fb7
DE
7177 (-fprofile-values): Add enabled with profile-{generate,use}.
7178 (-fvpt): Same.
7179 (-ftracer): Add enabled with profile-use.
7180 (-funit-at-a-time): Add enabled at -O2,-O3.
7181 (-funroll-loops): Add enabled with profile-use.
7182 (-funswitch-loops): Add enabled with profile-use. Remove duplicates.
7183 (max-gcse-passes): Mention default.
7184 (max-cse-path-length): Mention default.
7185
643d3bd2
NN
71862004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
7187
7188 * Makefile.in (STRICT2_WARN): Reorder.
7189 * configure.ac: Check for -Wold-style-definition, and use it
7190 in strict1_warn if it's available.
7191 * configure: Regnerate.
7192
5848830f
PB
71932004-03-24 Paul Brook <paul@nowt.org>
7194
7195 * config.gcc <arm>: Add --with-abi=
7196 * config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
7197 thumb_far_jump_used): Remove prototypes.
7198 (arm_needs_doubleword_align): Add prototype.
7199 (thumb_compute_initial_elimination_offset): Ditto.
7200 * config/arm/arm.c (arm_get_frame_offsets): New function.
7201 (use_return_insn, output_return_instruction, arm_output_epilogue,
7202 arm_output_function_epilogue, arm_compute_initial_elimination_offset,
7203 arm_expand_prologue, thumb_expand_epilogue): Use it.
7204 (arm_abi, target_abi_name, all_arm_abis): New variables.
7205 (arm_override_options): Set them. Set structure padding for AAPCS.
7206 (arm_return_in_memory): Update ABI check.
7207 (arm_init_cumulative_args): Initialize can_split.
7208 (arm_needs_doubleword_align): New function.
7209 (arm_function_arg): Don't split args after pushing to stack. Handle
7210 doubleword/even reg alignment.
7211 (arm_va_arg): Handle all doubleword aligned args.
7212 (add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
7213 on ABI, not CPU.
7214 (arm_compute_save_reg0_reg12_mask): Fix comment.
7215 (thumb_get_frame_size, thumb_get_frame_size): Remove.
7216 (thumb_jump_far_used_p): Remove superfluous argument. Return save
7217 value for alignment.
7218 (thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
7219 to match.
7220 (thumb_compute_initial_elimination_offset): New function.
7221 (thumb_expand_prologue): Use arm_get_frame_offsets. Remove
7222 unneccessary rounding.
7223 * config/arm/arm.h (target_abi_name): Declare.
7224 (ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
7225 arm_abi_type, ARM_DEFAULT_ABI): Define.
7226 (ARM_FLAG_ATPCS): Remove.
7227 (TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
7228 (BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
7229 (ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
7230 TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
7231 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
7232 Contitionalize on ABI, not CPU.
7233 (struct arm_stack_offsets): Define.
7234 (struct machine_function): Add stack_offsets. Remove frame_size.
7235 (FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
7236 pushed.
7237 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
7238 doubleword alignment.
7239 (THUMB_INITIAL_ELIMINATION_OFFSET,
7240 ARM_INITIAL_ELIMINATION_OFFSET): Remove.
7241 (INITIAL_ELIMINATION_OFFSET): Call functions directly.
7242 * config/arm/arm.md (align_8): Enable for all targets.
7243 * config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
7244 (ARM_DEFAULT_ABI): Define.
7245 * doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
7246 -mstructure-size-boundary.
7247
b5472e1d
NN
72482004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
7249
7250 * configure.ac: Check for -Wno-variadic-macros; don't use
7251 -pedantic (in stage 1 or a simple 'make all') unless it's available,
7252 and if it's available, use it. Also, clean up check for
7253 -Wno-long-long.
7254 * configure: Regenerate.
7255
c1077e1e
RS
72562004-03-24 Richard Sandiford <rsandifo@redhat.com>
7257
7258 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
7259 * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
7260 (MULTILIB_DEFAULTS): Use it.
7261 (MIPS_CPU_STRING_DEFAULT): Remove.
7262 (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
7263 (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
7264 EABI64 -mlong32 the default ABI. Enforce the default architecture.
7265 * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
398a9492 7266 march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
c1077e1e
RS
7267 (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
7268 (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
7269 accordingly.
7270
c235ddf2
DD
72712004-03-24 DJ Delorie <dj@redhat.com>
7272 Richard Sandiford <rsandifo@redhat.com>
7273
7274 * config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
7275 (TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
7276 (ASM_SPEC): Pass down -mfix-vr4122-bugs.
7277 * config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
7278 in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
7279 (mips_init_libfuncs): Use special functions for divsi3 and modsi3
7280 if TARGET_FIX_VR4122.
7281 * config/mips/mips.md (define_attr length): Account for nops inserted
7282 after macc and dmult when using -mfix-vr4122-bugs.
7283 (umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
7284 * config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
7285 LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S.
7286 * config/mips/vr4122-div.S: New file.
7287 * doc/invoke.texi: Document -mfix-vr4122-bugs.
7288
cf768d70
RS
72892004-03-24 Richard Sandiford <rsandifo@redhat.com>
7290
7291 * config/mips/mips.h (PROCESSOR_R4130): New processor_type.
7292 (TARGET_MIPS4130): New macro.
7293 (ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
7294 * config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
7295 (override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
7296 with PROCESSOR_R4130.
7297 * config/mips/mips.md (define_attr cpu): Add r4130.
7298 * doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
7299
5ef1a99d
MR
73002004-03-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7301 Richard Sandiford <rsandifo@redhat.com>
7302
7303 * doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
7304
ae87624f
AO
73052004-03-24 Alexandre Oliva <aoliva@redhat.com>
7306
7307 PR preprocessor/14438
7308 * cpplib.c (do_pragma): Remove line_change call after pragma
7309 handler.
7310
d63851eb
ILT
73112004-03-23 Ian Lance Taylor <ian@wasabisystems.com>
7312
7313 * doc/extend.texi (ARM Built-in Functions): Replace with correct
7314 declarations.
7315
0c5faf29
RS
73162004-03-23 Roger Sayle <roger@eyesopen.com>
7317
7318 * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
7319 if flag_unsafe_math_optimizations.
7320 * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
7321 and TARGET_80387 expand using truncdfsf2_noop pattern.
7322 (truncxfsf2): Likewise using truncxfsf2_noop.
7323 (truncxfdf2): Likewise using truncxfdf2_noop.
7324 (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
7325
f18eca82
ZL
73262004-03-23 Ziemowit Laski <zlaski@apple.com>
7327
7328 * hooks.c (hook_constcharptr_tree_null): New hook.
7329 * hooks.h (hook_constcharptr_tree_null): New prototype.
7330 * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
7331 * target.h (mangle_fundamental_type): New target hook.
7332 * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
7333 target hook at rs6000_mangle_fundamental_type.
7334 (rs6000_mangle_fundamental_type): New function.
7335 * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
7336
f75fbaf7
ZW
73372004-03-23 Zack Weinberg <zack@codesourcery.com>
7338
1b1d85bd 7339 PR 12267, 12391, 12560, 13129, 14114, 14133
f75fbaf7
ZW
7340 * c-tree.h: Forward declare struct c_binding. Declare
7341 c_override_bindings_to_false. Update prototypes.
7342 (struct lang_identifier): Update comments. Change fields to be
7343 struct c_binding *.
7344 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
7345 (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
7346 (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
7347 (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
7348 * c-common.h: Update prototypes.
7349 * c-decl.c (struct c_scope): Update commentary. Remove names,
7350 names_last, parms, parms_last, tags, and shadowed fields. Add
7351 bindings and depth fields.
7352 (scope_freelist): Move to more appropriate location.
7353 (c_print_identifier): Update for changes to struct lang_identifier.
7354 (objc_mark_locals_volatile): Update for new bindings structures.
7355 (global_bindings_p): Honor c_override_global_bindings_to_false.
7356 (pushlevel): Rename to push_scope; take no arguments; use the
7357 scope_freelist; initialize scope->depth and check for overflow.
7358 (poplevel): Rename to pop_scope; totally rewritten for new bindings
7359 structures.
7360 (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
7361 C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
7362 Improve some commentary. Adjust handling of forward parm decls.
7363 (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
7364 Preserve C_DECL_IN_EXTERNAL_SCOPE.
7365 (warn_if_shadowing): Correct indentation. Improve diagnostics.
7366 (pushdecl): Remove unnecessary assertion. Short-circuit anonymous
7367 decls. Rewrite for new bindings structures. Improve commentary.
7368 Eliminate the copy_node call.
7369 (implicit_decl_warning): Use the "diag" idiom (as seen in
7370 locate_old_decl) to reduce code duplication; call locate_old_decl
7371 if appropriate. Relocate to remove need for forward declaration.
7372 (implicitly_declare): Adjust for new bindings structures. Kludge
7373 around Objective-C not-really-builtin functions.
7374 (undeclared_variable): Improve diagnostics. If current_function_decl
7375 is nonnull but current_function_scope is null, use current_scope.
7376 Use bind.
7377 (lookup_tag): Adjust for new bindings structures. Kludge around
7378 Objective-C's tag declarations that wind up in the external scope.
7379 (lookup_name): Adjust for new bindings structures. Kludge around
7380 c-common.c's pseudo-typedefs that wind up in the external scope.
7381 (lookup_name_current_level): Rename lookup_name_in_scope; take a
7382 second argument indicating the scope to examine; rewrite for
7383 new bindings structures.
7384 (c_init_decl_processing): Adjust for renamed functions. Do not
7385 initialize current_file_decl, first_builtin_decl, last_builtin_decl.
7386 First scope pushed is the external scope, not the global scope.
7387 (builtin_function): Use bind, not pushdecl. Adjust other bits
7388 for new data structures. Keep track of builtins that should be
7389 made visible automatically.
7390 (start_decl): Adjust diagnostics. Remove unnecessary call to
7391 expand_decl.
7392 (grokparms): Return 0 if arg_types is error_mark_node.
7393 (get_parm_info): Rename "void_at_end" argument to "ellipsis", with
7394 reversed sense. Rewrite for new bindings structures. Do not
7395 leave any decls in the scope, to prevent pop_scope from doing
7396 contradictory things with them.
7397 (finish_struct, finish_enum): Remove redundant diagnostics.
7398 (build_enumerator): Don't cascade diagnostics for error_mark_node.
7399 Mark location where -pedantic changes the meaning of the program.
7400 (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
7401 parameter decls into the function's scope structure using bind.
7402 Warn here about function definitions in the wrong style.
7403 Adjust diagnostics.
7404 (store_parm_decls): Correct the determination of whether a
7405 function was defined with a prototype.
7406 (c_write_global_declarations): Operate on all file decls and on
7407 the external scope. Split body of the loop to...
7408 (c_write_global_declarations_1): ... this new function, to avoid
7409 code duplication.
7410 (truly_local_externals, first_builtin_decl, last_builtin_decl)
7411 (make_scope, pop_scope, in_parm_level_p, set_block)
7412 (any_external_decl, record_external_decl, bind_label, getdecls)
7413 (link_hash_hash, link_hash_eq, merge_translation_unit_decls)
7414 (c_reset_state): Delete.
7415 (visible_builtins, c_override_global_bindings_to_false)
7416 (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
7417 (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
7418 (external_scope, binding_freelist, bind, free_binding_and_advance)
7419 (push_file_scope, pop_file_scope): New.
7420 (pushtag, pushdecl_top_level, lookup_label, declare_label)
7421 (define_label, c_make_fname_decl, finish_decl)
7422 (mark_forward_parm_decls, build_compound_literal)
7423 (grokdeclarator, start_function, check_for_loop_decls)
7424 (identifier_global_value, record_builtin_type): Minor adjustments
7425 for new bindings structures. Improve diagnostics and commentary.
7426 * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
7427 pushlevel/poplevel respectively.
7428 (c_objc_common_finish_file): Don't call merge_translation_unit_decls.
7429 * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
7430 Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
7431 correct loop over multiple translation units; call fatal_error if
7432 requested to compile more than one file at once. (This disables
7433 IMA temporarily - an up-front error being preferable to a crash.)
7434 * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
7435 (all actions): Adjust calls to pushlevel/poplevel.
7436 (parsing_iso_function_signature): Delete.
7437 (extdef_1): Fold into extdef.
7438 (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
7439 warn here about function definitions in the wrong style.
7440 (after_tyle_declarator, parm_declarator_starttypename)
7441 (parm_declarator_nostarttypename, notype_declarator): Remove
7442 commented-out productions.
7443 (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
7444 an empty TREE_LIST node. Adjust calls to get_parm_info.
7445 (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
7446 to suppress -Wold-style-definition after this error.
7447 (c_parse_file): Don't clear the binding stack or call
7448 finish_fname_decls here. Correct comment.
7449 * c-typeck.c (same_translation_unit_p): Export.
7450 (common_type): Use c_override_global_bindings_to_false, not
7451 pushlevel/poplevel/declare_parm_level.
7452 * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
7453 LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
7454 and LANG_HOOKS_GETDECLS with do-nothing stubs.
7455 * objc/objc-lang.c: Likewise.
7456 * objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
7457 get_parm_info.
7458 (OBJC_VOID_AT_END): Delete; replace all uses
7459 with void_list_node.
7460 (generate_forward_declaration_to_string_table): Delete.
7461 * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
7462
7463 * coverage.c (create_coverage): Don't pushdecl anything.
7464 * langhooks.c (lhd_clear_binding_stack): Call
7465 lang_hooks.decls.poplevel, not poplevel.
7466 * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
7467 circular list rather than going into an infinite loop.
7468
0c0ab0f1
OH
74692004-03-23 Olivier Hainque <hainque@act-europe.fr>
7470
f75fbaf7
ZW
7471 * optabs.c (expand_binop): When synthesizing double word rotates
7472 from single word shifts, use a new register target if the provided
7473 target is not a REG already.
0c0ab0f1 7474
22421b79
RK
74752004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7476
7477 * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
7478 * c-common.c (handle_mode_attribute): Add extra arg to
7479 build_pointer_type_for_mode and build_reference_type_for_mode.
7480 * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
7481 for INTEGER_CST.
7482 * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
7483 Chain pointers via TYPE_NEXT_PTR_TO.
7484 (build_reference_type_for_mode): Similarly.
7485 (build_type_no_quals): Add extra arg to build_pointer_type_for_mode
7486 and build_reference_type_for_mode.
7487 (tree_check4_failed): New function.
7488 * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
7489 (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
7490 (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
7491 Add check.
7492
b1500d00
RS
74932004-03-23 Roger Sayle <roger@eyesopen.com>
7494
7495 * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
7496 A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
7497 when both A and B are nonnegative.
7498 (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
7499 nonzero.
7500
73b91357
KH
75012004-03-23 Kazu Hirata <kazu@cs.umass.edu>
7502
7503 * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
7504 VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
7505
bb3a37ac
RS
75062004-03-23 Kazu Hirata <kazu@cs.umass.edu>
7507
7508 PR optimization/14669
7509 * fold-const.c (fold): Only unwiden integer comparisons for equality
7510 and inequality operators, or when the signedness doesn't change.
7511
f2c79f80
JJ
75122004-03-23 Jakub Jelinek <jakub@redhat.com>
7513
7514 * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
7515 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
7516 * config/sparc/t-linux: New file.
7517
1707bafa
RS
75182004-03-23 Richard Sandiford <rsandifo@redhat.com>
7519
7520 * gcse.c (can_assign_to_reg_p): New function, split out from...
7521 (want_to_gcse_p): ...here.
7522 (compute_ld_motion_mems): Use can_assign_to_reg_p to validate
7523 the rhs of a store.
7524
63185fab
DN
75252004-03-22 Diego Novillo <dnovillo@redhat.com>
7526
7527 * c-typeck.c (same_translation_unit_p): Fix pasto.
7528
f72c6b56
DE
75292004-03-22 David Edelsohn <edelsohn@gnu.org>
7530
7531 * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
7532 (PARAM_MAX_SCHED_REGION_INSNS): New.
7533 * sched-rgn.c: Include params.h
7534 (MAX_RGN_BLOCKS): Delete.
7535 (MAX_RGN_INSNS): Delete.
7536 (too_large): Return bool. Convert to PARAM_VALUE.
0483ab6e 7537 * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
f72c6b56
DE
7538 * doc/invoke.texi (param): Document max-sched-region-blocks and
7539 max-sched-region-insns.
7540
d6672e91
JB
75412004-03-22 Joel Brobecker <brobecker@gnat.com>
7542
7543 * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
7544 for base types.
7545
886de2d4
JB
75462004-03-22 Joel Brobecker <brobecker@gnat.com>
7547
7548 * dwarf2out.c (is_subrange_type): Minor code rework. No behavior
7549 change.
7550
d915eec0
JJ
75512004-03-22 Jakub Jelinek <jakub@redhat.com>
7552
7553 PR c/14069
7554 * c-decl.c (finish_struct): Change type of incorrect flexible array
7555 field into error_mark_node.
7556
aa6d25c9
AP
75572004-03-22 Andrew Pinski <pinskia@physics.uc.edu>
7558
19a03303 7559 PR target/14580
aa6d25c9
AP
7560 * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
7561 who are not local for Darwin PIC.
7562
ead61c1d
UW
75632004-03-22 Ulrich Weigand <uweigand@de.ibm.com>
7564
7565 * regrename.c (regrename_optimize): Set regs_ever_live for all
7566 registers introduced as replacement.
7567
1bbd65cd
EB
75682004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr>
7569
7570 PR middle-end/14470
7571 * expr.c (mark_queue): New function.
7572 (emit_insns_enqueued_after_mark): New function replacing
7573 emit_queue. Clear the body of emitted queued insns.
7574 (emit_queue): Call emit_insns_enqueued_after_mark.
7575 (store_expr): Mark the increment queue on entry. Emit
7576 only the incrementations queued when expanding the source.
7577
6dd297da
NN
75782004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
7579
7580 * configure.ac: Allow --disable-coverage-flags (for the future benefit
7581 of top level bootstrap, and consistency). Reindent.
7582 * configure: Regenerate.
7583
400e39e3
KH
75842004-03-21 Kazu Hirata <kazu@cs.umass.edu>
7585
7586 * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
7587 ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
7588 unnecessary casts.
7589
bd8ec6a7
DS
75902004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
7591
7592 PR target/14291
7593 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
7594 __MINGW32__.
7595
bd446804
UW
75962004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
7597
7598 * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
7599 to nonimmediate_operand.
7600 ("*doloop_di"): Likewise.
7601
1e92bbb9
AO
76022004-03-21 Alexandre Oliva <aoliva@redhat.com>
7603
7604 * real.h (struct real_value): Use the same type for all
7605 bitfields. Rename exp to uexp.
7606 (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
7607 Adjust all uses of exp...
7608 * builtins.c: ... here, ...
7609 * emit-rtl.c: ... here, and ...
7610 * real.c: ... and here.
7611
b9b44fb9
GDR
76122004-03-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
7613
7614 * pretty-print.c (pp_base_maybe_space): New function.
7615 * pretty-print.h (pp_base_maybe_space): Declare.
7616 (pp_maybe_space): New macro.
7617
1c7b1b7e
UW
76182004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
7619
7620 * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
7621
f258e38b
UW
76222004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
7623
7624 * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
7625 of using register multiplication cost.
7626 (expand_mult): Adapt choose_mult_variant call.
7627 (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
7628 of MODE; pass appropriate cost bound. Adjust result when
7629 performing signed multiplication by a negative constant.
7630 Don't use intermediate modes larger than word_mode.
7631
6fce44af
RK
76322004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7633
7634 * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
7635 * emit-rtl.c (component_ref_for_mem_expr): Likewise.
7636 (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
7637 * explow.c (expr_size): Likewise.
7638 * expr.h (placeholder_list, find_placeholder): Deleted.
7639 * expr.c (store_constructor): Likewise.
7640 (get_inner_reference): Likewise. Also don't call find_placeholder.
7641 (placeholder_list, find_placeholder): Deleted.
7642 (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
7643 (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
7644 (highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
7645 * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
7646 * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
7647 Likewise.
7648 * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
7649 (extract_muldiv, case WITH_RECORD_EXPR): Likewise.
7650 * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
7651 (contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
7652 Clean up by using first_rtl_op.
7653 (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
7654 (substitute_placeholder_in_expr): New function.
7655 * tree.def (WITH_RECORD_EXPR): Deleted.
7656 * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
7657 (substitute_placeholder_in_expr): New.
7658
0f005f33
AP
76592004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
7660
7661 * dojump.c (prefer_and_bit_test): Fix which part of
7662 the and_test is replaced.
7663
f80352b8
JM
76642004-03-21 Joseph S. Myers <jsm@polyomino.org.uk>
7665
7666 * frontends.texi: Add missing line.
7667
6ad79f18 76682004-03-21 Zack Weinberg <zack@codesourcery.com>
f75fbaf7
ZW
7669 Chris Devers <cdevers@pobox.com>
7670 Joseph S. Myers <jsm@polyomino.org.uk>
6ad79f18
JM
7671
7672 * doc/frontends.texi: Rewrite.
7673 * doc/gcc.texi: Update last modification date.
7674
eabd7d31
JZ
76752004-03-21 Josef Zlomek <zlomekj@suse.cz>
7676
7677 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
7678 message before redirecting the edge.
7679
f8ad8d7c
ZD
76802004-03-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7681
7682 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
7683 flag.
7684 * explow.c (force_not_mem): Set REG_POINTER flag according to
7685 MEM_POINTER one.
7686 * rtl.h (MEM_POINTER): New macro.
7687 (struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
7688 for MEM_POINTER.
7689
8cce3d04
RS
76902004-03-20 Roger Sayle <roger@eyesopen.com>
7691
7692 PR target/13889
7693 * cse.c (fold_rtx): Avoid substituting constants into unary
687c3ea5 7694 conversion operations.
8cce3d04 7695
05fe5c67
KH
76962004-03-20 Kazu Hirata <kazu@cs.umass.edu>
7697
7698 * fold-const.c (fold): Replace "expr" with "t".
7699
dea984dc
ILT
77002004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
7701
7702 PR c/12373
7703 * c-typeck.c (tagged_types_tu_compatible_p): Don't use
7704 DECL_ORIGINAL_TYPE if there isn't one.
7705
079f946d
KH
77062004-03-20 Kazu Hirata <kazu@cs.umass.edu>
7707
7708 * fold-const.c (fold): Replace "final_type" with "type".
7709 Remove variable "final_type".
7710
8d3784af
KH
77112004-03-20 Kazu Hirata <kazu@cs.umass.edu>
7712
7713 * fold-const.c (fold): Constify "type".
7714 Replace "TREE_TYPE (t)" with "type".
7715
245f1bfa
KH
77162004-03-20 Kazu Hirata <kazu@cs.umass.edu>
7717
7718 * bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
7719 dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
7720 via (*targetm.foo) () with targetm.foo ().
7721
802f6d4b
JM
77222004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
7723
7724 PR other/14630
7725 * doc/install.texi: Add info directory category and entry.
7726
ea993805
KH
77272004-03-20 Kazu Hirata <kazu@cs.umass.edu>
7728
7729 * fold-const.c (fold): Replace "t" with "tem" where it is used
7730 as a temporary variable. Remove "orig_t" and all of its uses.
7731
8e7b3a43
KH
77322004-03-20 Kazu Hirata <kazu@cs.umass.edu>
7733
7734 * fold-const.c (fold): Remove variable "invert".
7735 Move the handling of relational expressions that can be folded
7736 to a constant ...
7737 (fold_relational_const): ... here.
7738 (tree_expr_nonzero_p): New.
7739
b1c2d04a
JM
77402004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
7741
7742 PR c/14635
7743 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
7744 DEF_GCC_BUILTIN.
7745
dbf833ee
RS
77462004-03-20 Richard Sandiford <rsandifo@redhat.com>
7747
7748 * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
7749 (GTFILES): Add $(srcdir)/dojump.h.
7750 (gt-dojump.h): New dependency.
7751 * dojump.c (and_reg, and_test, shift_test): New static variables.
7752 (prefer_and_bit_test): New function.
7753 (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
7754
d1a6adeb
KH
77552004-03-20 Kazu Hirata <kazu@cs.umass.edu>
7756
7757 * c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
7758 expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
7759 reorg.c, tree.h: Fix comment typos.
7760
5fd9b178
KH
77612004-03-19 Kazu Hirata <kazu@cs.umass.edu>
7762
7763 * alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
7764 c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
7765 cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
7766 haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
7767 sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
7768 vmsdbgout.c: Replace calls via (*targetm.foo) () with
7769 targetm.foo ().
7770
86e7df90
ZL
77712004-03-19 Ziemowit Laski <zlaski@apple.com>
7772
7773 * config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
7774 vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
7775 always_inline attribute.
7776 * config/rs6000/rs6000.c (altivec_expand_dst_builtin):
7777 Treat expansion as completed even if literal argument is
7778 invalid (so that other expansions are not tried in vain).
7779
147d77b6
KH
77802004-03-19 Kazu Hirata <kazu@cs.umass.edu>
7781
7782 * loop-doloop.c (add_test): Replace GEN_INT (0) with
7783 const0_rtx.
7784
73c4ab99
KH
77852004-03-19 Kazu Hirata <kazu@cs.umass.edu>
7786
7787 * fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
7788 ...
7789 (fold_abs_const): ... here.
7790
a6002f8d
RK
77912004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7792
7793 * tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
7794
829bde68
DC
77952004-03-19 Denis Chertykov <denisc@overta.ru>
7796
d0aa5f10 7797 PR target/11520
829bde68
DC
7798 * config/avr/avr.md ("call_insn"): Handle explicit integer
7799 specially.
7800 (call_value_insn): Likewise.
7801
9d2a492d
RK
78022004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7803
7804 * tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
7805
33d13fac
KH
78062004-03-19 Kazu Hirata <kazu@cs.umass.edu>
7807
7808 * fold-const.c (negate_expr): Move the handling of constants
7809 ...
7810 (fold_negate_const): ... here.
7811
7548281d
RK
78122004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7813
7814 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
7815 * langhooks.h (struct lang_hooks_for_types): New field hash_types.
7816 * tree.c (debug_no_type_hash): Deleted.
7817 (type_hash_canon): Abort if passed a variant.
7818 Check lang_hooks.types.hash_types.
7819 (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
7820 (build_array_type): Remove unnecessary allocation of pointer type.
7821 (build_complex_type): Properly qualify resulting type.
7822
7e463bda
PB
78232004-03-19 Paolo Bonzini <bonzini@gnu.org>
7824
7825 * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
7826
8efc8980
RS
78272004-03-19 Richard Sandiford <rsandifo@redhat.com>
7828
7829 * expmed.c (choose_mult_variant, expand_mult_const): New, split from...
7830 (expand_mult): ...here.
7831 (extract_high_half): New, split out from expand_mult_highpart.
7832 (expand_highpart_optab): Likewise. Don't clobber target prematurely.
7833 (expand_highpart): Evaluate the cost of a shift/add sequence,
7834 then see if any of the specialized optabs are cheaper.
7835
ff3fcb8a
ILT
78362004-03-18 Ian Lance Taylor <ian@wasabisystems.com>
7837
7838 * mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
7839
1fb7e3af
KG
78402004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7841
7842 * convert.c (convert_to_real): Add more math builtins.
7843
b3810360
KG
78442004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7845
7846 * convert.c (convert_to_real): Reformat using switch stmt.
7847
9d363a56
MM
78482004-03-18 Mark Mitchell <mark@codesourcery.com>
7849
7850 * c-common.c (pointer_int_sum): Do not complain about using
7851 pointers to pointers-to-members.
7852
c3690d79
KH
78532004-03-18 Kazu Hirata <kazu@cs.umass.edu>
7854
7855 * system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
7856 have moved to the target hooks structure".
7857
c3840092
JW
78582004-03-18 James E Wilson <wilson@specifixinc.com>
7859
7860 * config/mips/mips.md (type): Split move into arith and fmove. Split
7861 hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses.
7862 * config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
7863 Likewise.
7864 * config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
7865 Likewise.
7866 * config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
7867 rm7_fp_quick): Likewise.
7868 * config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
7869 rm9k_fquick): Likewise.
7870 * config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
7871 Likewise.
7872 (ir_sr70_icmp): Delete.
7873
eb34af89 78742004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
f75fbaf7 7875
eb34af89
RK
7876 * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
7877 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
7878 (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
7879 (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
7880 (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
7881 Protect with proper check.
7882 (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
7883 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
7884 * tree.c (type_hash_eq): Rewrite to access proper fields for each type.
7885 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
7886 * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
7887 * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
7888 not TYPE_FIELDS.
d3b6a5fb 7889 * stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
eb34af89 7890
2171cb85
MH
78912004-03-18 Mostafa Hagog <mustafa@il.ibm.com>
7892
7893 * gcse.c (eliminate_partially_redundant_loads): Reject change if
7894 dest is set between beginning and current insn.
7895
4ada538b
MM
78962004-03-18 Mark Mitchell <mark@codesourcery.com>
7897
7898 * c-decl.c (grokdeclarator): Do not complain about redeclaring
7899 visible "static" identifiers "extern" in a local scope.
7900 * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
7901 post-increments/decrements.
7902
79e9ebdc
BW
79032004-03-18 Bob Wilson <bob.wilson@acm.org>
7904
7905 * config/xtensa/xtensa.c (current_function_arg_words): Delete.
7906 (xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
7907 (xtensa_va_start): Remove assignment to current_function_arg_words.
7908
5da6f168
RS
79092004-03-18 Richard Sandiford <rsandifo@redhat.com>
7910
7911 * alias.c (record_set): Detect the case where a register is assigned
7912 a new value that has the same base term as the old one.
7913
689ba89d
ZD
79142004-03-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7915
7916 * doloop.c: Removed.
7917 * loop-doloop.c: New file.
7918 * Makefile.in (doloop.o): Remove.
7919 (loop-doloop.o): New.
7920 * cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
7921 * cfgloopanal.c (get_loop_level): New function.
7922 * loop-iv.c (iv_number_of_iterations): Handle case when loop
7923 is leaved immediatelly.
7924 * loop.c (strength_reduce): Do not call doloop optimization.
7925 * loop.h (LOOP_BCT): Removed.
7926 * passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
7927 (rest_of_handle_loop2): Call doloop_optimize_loops.
7928 (rest_of_compilation): Test for optimizations moved to
7929 rest_of_handle_loop2.
7930
327e5343
FJ
79312004-03-17 Fariborz Jahanian <fjahanian@apple.com>
7932
f75fbaf7
ZW
7933 * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
7934 for mixed mode.
7935 (rs6000_emit_prologue): Ditto.
7936 (rs6000_emit_epilogue): Ditto.
7937 * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
7938 macro for mixed mode.
327e5343 7939
214ee4a2
JH
79402004-03-18 Jan Hubicka <jh@suse.cz>
7941
7942 * predict.c (propagate_freq): Compute correctly frequency of
7943 EXIT_BLOCK.
7944
33521f7d
EC
79452004-03-17 Eric Christopher <echristo@redhat.com>
7946
7947 * builtins.c (apply_args_size): Use reg_raw_mode.
7948 (apply_result_size): Ditto.
7949
d3daf7bb
RC
79502004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7951
7952 PR target/14620
7953 * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
7954
bb6df272
JJ
79552004-03-17 Jakub Jelinek <jakub@redhat.com>
7956
7957 * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
7958 32-bit builds when defaulting to 32-bit.
7959
7eca0767
JH
79602004-03-17 Jan Hubicka <jh@suse.cz>
7961
7962 * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
7963 array.
7964
3a3ae5e5
JW
79652004-03-17 James E Wilson <wilson@specifixinc.com>
7966
7967 * config/mips/mips.md (zero_extendsidi2): Add length attribute.
7968 (hazard_nop): Change type to nop.
7969 (type): Split arith into arith, shift, slt, clz. Delete darith.
7970 Fix all uses. Change arith to multi if more than one insn emitted.
7971 * config/mips/5400.md (ir_vr54_arith): Likewise.
7972 * config/mips/5500.md (ir_vr55_arith): Likewise.
7973 * config/mips/7000.md (rm7_int_other): Likewise.
7974 * config/mips/9000.md (rm9k_int): Likewise.
7975 * config/mips/sr71k.md (ir_sr70_arith): Likewise.
7976
6582c808
JB
79772004-03-17 Joel Brobecker <brobecker@gnat.com>
7978
7979 * dwarf2out.c (subrange_type_die): Define new variable "subtype"
7980 to hold the subtype tree instead of recomputing it several times.
7981
7ae4afcb
KH
79822004-03-17 Kazu Hirata <kazu@cs.umass.edu>
7983
7984 * config/mn10300/mn10300.c (notice_update_cc): Don't handle
7985 CC_INVERT.
7986 * config/mn10300/mn10300.md (cc): Remove "invert".
7987
b57051b2
KG
79882004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7989
d093738d
KG
7990 * builtins.c (integer_valued_real_p): Add builtin rint.
7991 (fold_builtin): Likewise.
7992 * convert.c (convert_to_real): Likewise.
7993
b57051b2
KG
7994 * convert.c (convert_to_real): Fix typos in `long double'
7995 builtins.
7996
88020bd8
MM
79972004-03-16 Mark Mitchell <mark@codesourcery.com>
7998
7999 PR c++/14481
8000 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
8001 generated COMPOUND_EXPRs.
8002
bf3864fe
RC
80032004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8004
8005 * config/h8300/t-rtems (h8300-*-rtems*): New.
8006
bc4c01b7
EC
80072004-03-16 Eric Christopher <echristo@redhat.com>
8008
8009 * doc/cppopts.texi(fwide-exec-charset): Fix typo.
8010
3c5cb3e4
KH
80112004-03-16 Kazu Hirata <kazu@cs.umass.edu>
8012
8013 * config/i386/i386-protos.h: Add a prototype for
8014 ix86_reverse_condition.
8015 * config/i386/i386.c (ix86_reverse_condition): New.
8016 * config/i386/i386.h (REVERSE_CONDITION): Use
8017 ix86_reverse_condition.
8018 * config/i386/i386.md: Use ix86_reverse_condition instead of
8019 REVERSE_CONDITION.
8020
fd5580cb
B
80212004-03-16 J. Brobecker <brobecker@gnat.com>
8022
8023 * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
8024
78fab00f
NN
80252004-03-16 Nathanael Nerode <neroden@gcc.gnu.org>
8026
8027 PR bootstrap/12974
8028 * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
8029
4a5eab38
PB
80302004-03-16 Paolo Bonzini <bonzini@gnu.org>
8031
8032 * c-common.c (c_common_type_for_mode): Build vector types on
8033 demand.
8034 (handle_mode_attribute): Deprecate using the mode attribute
8035 to create vector types. Fix indentation.
8036 (vector_type_node_list): Remove.
8037 (handle_vector_size_attribute): Create vector types on demand.
8038 Strip a NON_LVALUE_EXPR from the attribute if there is one.
8039 * c-typeck.c (comptypes): Make vector types compatible if they
8040 have the same underlying mode.
8041 (convert_for_assignment): Use comptypes to convert between
8042 vector types.
8043 * tree.c (build_common_tree_nodes_2): Do not create vector types.
8044 * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
8045 vector types.
8046 * tree.h: Remove vector types.
8047 * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
8048 * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
8049 (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
8050 V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
8051 * doc/extend.texi (Vector Types): Document how to use the
8052 vector_size attribute to create vectors, rather than mode.
8053
8054 * config/arm/mmintrin.h: Use vector_size attribute, not mode.
8055 * config/i386/emmintrin.h: Likewise.
8056 * config/i386/mmintrin.h: Likewise.
8057 * config/i386/xmmintrin.h: Likewise.
8058 * config/sh/ushmedia.h: Likewise.
8059
b862b3b3
KH
80602004-03-16 Kazu Hirata <kazu@cs.umass.edu>
8061
8062 * config/freebsd-spec.h, config/arc/arc-protos.h,
8063 config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
8064 config/arm/linux-gas.h, config/arm/semi.h,
8065 config/cris/cris-protos.h, config/i386/xm-djgpp.h,
8066 config/ia64/freebsd.h, config/mips/7000.md,
8067 config/mips/9000.md, config/ns32k/ns32k-protos.h,
8068 config/sparc/pbd.h: Update copyright.
8069
314733e2
RC
80702004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8071
8072 PR target/14577
8073 * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
8074
6621d78e
PB
80752004-03-16 Paolo Bonzini <bonzini@gnu.org>
8076
8077 * combine.c (combine_simplify_rtx): Remove the "last"
8078 parameter and its documentation. Adjust recursive calls.
8079 (simplify_logical): Always perform the only simplification
8080 controlled by "last", if the simplified expression is
8081 actually different.
8082 (try_combine): Do not pass the "last" parameter to
8083 combine_simplify_rtx.
8084
4e7edcca
RS
80852004-03-16 Richard Sandiford <rsandifo@redhat.com>
8086
8087 PR target/14599
8088 * config/mips/mips.md (UNSPEC_GP): New constant.
8089 * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
8090 an UNSPEC instead of (reg $gp).
8091 (mips16_gp_pseudo_reg): Change accordingly.
8092 (print_operand): Print $gp directly when handling CONST_GP_P.
8093
80942004-03-16 Richard Zidlicky <rz@linux-m68k.org>
3704aae9
RZ
8095
8096 * config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
8097 * longlong.h: Make code 68060 clean when compiling for m68060.
8098
4e7edcca 80992004-03-16 Richard Zidlicky <rz@linux-m68k.org>
8ac658b6
RZ
8100
8101 * config/m68k/m68k.md: Fix constraints for bitfield instructions.
8102 * doc/md.texi: Clarify description of "i" constraint.
8103
1a478672
JW
81042004-03-15 James E Wilson <wilson@specifixinc.com>
8105
8106 * config/mips/mips.md (type): Split load into load, fpload, fpidxload.
8107 Split store into store, fpstore, fpidxstore. Fix all uses.
8108 * config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
8109 Likewise.
8110 * config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
8111 * config/mips/7000.md (rm7_ld, rm7_st): Likewise.
8112 * config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
8113 * config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
8114 ir_sr70_fstore): Likewise.
8115
0977ab3a
RH
81162004-03-15 Richard Henderson <rth@redhat.com>
8117
8118 PR middle-end/14535
8119 * except.c (collect_one_action_chain): Record action for cleanup
8120 outer of exception spec.
8121
4e4083ad
ILT
81222004-03-15 Ian Lance Taylor <ian@wasabisystems.com>
8123
8124 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
8125 Fix the check for abort and only do the mmap if we can.
8126
ed38d6fe
EB
81272004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
8128
8129 * config/sparc/sparc.h: Rework comments about the code model
8130 in 64-bit environment and the mode 'Pmode'.
8131 * doc/invoke.texi (SPARC options): Rework description of the
8132 different code models supported in 64-bit environment.
8133
1f8551b2
KH
81342004-03-15 Kazu Hirata <kazu@cs.umass.edu>
8135
8136 * defaults.h (REVERSIBLE_CC_MODE): Define.
8137 * jump.c (reversed_comparison_code_parts): Don't check if
8138 REVERSIBLE_CC_MODE is defined.
8139
ca2b05ba
KH
81402004-03-15 Kazu Hirata <kazu@cs.umass.edu>
8141
8142 * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
8143 et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
8144 hosthooks.h, params.h, ra-colorize.c, web.c,
8145 config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
8146 config/avr/avr-protos.h, config/avr/avr.md,
8147 config/fr30/fr30-protos.h, config/fr30/fr30.md,
8148 config/h8300/fixunssfsi.c, config/i386/darwin.h,
8149 config/i386/freebsd.h, config/i386/freebsd64.h,
8150 config/ia64/hpux.h, config/ia64/unwind-ia64.c,
8151 config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
8152 config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
8153 config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
8154 config/pa/pa64-regs.h, config/rs6000/aix41.h,
8155 config/rs6000/aix43.h, config/rs6000/host-darwin.c,
8156 config/sparc/aout.h, config/sparc/freebsd.h,
8157 config/sparc/litecoff.h, config/vax/vax-protos.h,
8158 doc/hostconfig.texi, doc/include/gcc-common.texi: Update
8159 copyright.
8160
983e6484
PB
81612004-03-15 Paul Brook <paul@codesourcery.com>
8162
8163 * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
8164
5c3c69f4
GDR
81652004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
8166
8167 * c-pretty-print.c (pp_c_semicolon): Fix formatting.
8168 (pp_c_cv_qualifier): Document.
8169 (pp_c_space_for_pointer_operator): Likewise.
8170 (pp_c_integer_constant): Likewise.
8171 (pp_c_identifier): Likewise.
8172 (pp_c_init_declarator): Don't print function body.
8173
2dd76960
JM
81742004-03-14 Joseph S. Myers <jsm@polyomino.org.uk>
8175
8176 * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
8177 doc/install.texi, doc/invoke.texi, doc/makefile.texi,
8178 doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
8179 "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
8180 wording and grammar.
8181
ae2bcd98
RS
81822004-03-14 Roger Sayle <roger@eyesopen.com>
8183
8184 * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
8185 with lang_hooks.foo ().
8186 * builtins.c (expand_builtin_va_arg): Likewise.
8187 * c-common.c (fname_as_string, c_common_truthvalue_conversion,
8188 c_common_type_for_mode, c_common_nodes_and_builtins,
8189 handle_mode_attribute, handle_vector_size_attribute): Likewise.
8190 * c-convert.c (convert): Likewise.
8191 * c-format.c (check_format_types): Likewise.
8192 * c-objc-common.c (c_tree_printer): Likewise.
8193 * c-typeck.c (build_unary_op, build_conditional_expr,
8194 build_binary_op): Likewise.
8195 * calls.c (try_to_integrate, expand_call,
8196 emit_library_call_value_1): Likewise.
8197 * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
8198 Likewise.
8199 * cgraphunit.c (record_call_1, cgraph_analyze_function,
8200 cgraph_expand_function): Likewise.
8201 * convert.c (convert_to_pointer, convert_to_integer): Likewise.
8202 * coverage.c (build_fn_info_type, build_ctr_info_type,
8203 build_gcov_info, create_coverage): Likewise.
8204 * dbxout.c (dbxout_init): Likewise.
8205 * diagnostic.c (diagnostic_report_current_function): Likewise.
8206 * dojump.c (do_jump): Likewise.
8207 * dwarf2out.c (dwarf2_name): Likewise.
8208 * except.c (init_eh): Likewise.
8209 * explow.c (expr_size, int_expr_size): Likewise.
8210 * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
8211 Likewise.
8212 * expr.c (store_expr, store_constructor, safe_from_p,
8213 expand_expr_real, do_store_flag, try_casesi): Likewise.
8214 * function.c (push_function_context_to, pop_function_context_from,
8215 free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
8216 put_var_into_stack, allocate_struct_function, current_function_name):
8217 Likewise.
8218 * integrate.c (copy_decl_for_inlining, expand_inline_function):
8219 Likewise.
8220 * langhooks.c (lhd_clear_binding_stack, write_global_declarations,
8221 lhd_print_error_function): Likewise.
8222 * opts.c (handle_option, decode_options): Likewise.
8223 * passes.c (open_dump_file): Likewise.
8224 * print-tree.c (print_node): Likewise.
8225 * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
8226 expand_decl_cleanup, emit_case_nodes): Likewise.
8227 * stor-layout.c (variable_size): Likewise.
8228 * toplev.c (announce_function, wrapup_global_declarations,
8229 check_global_declarations, compile_file, default_tree_printer,
8230 process_options, lang_dependent_init, finalize): Likewise.
8231 * tree-dump.c (dequeue_and_dump): Likewise.
8232 * tree-inline.c (remap_decl, remap_block, copy_body_r,
8233 initialize_inlined_parameters, declare_return_variable,
8234 inlinable_function_p, expand_call_inline, optimize_inline_calls,
8235 walk_tree, copy_tree_r): Likewise.
8236 * tree-optimize.c (tree_rest_of_compilation): Likewise.
8237 * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
8238 unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
8239 variably_modified_type_p, dump_tree_statistics): Likewise.
8240 * varasm.c (assemble_variable, compare_constant, copy_constant,
8241 force_const_mem, compute_reloc_for_constant, output_constant,
8242 output_addressed_constants, initializer_constant_valid_p): Likewise.
8243
89acbae0
KC
82442004-03-14 Kelley Cook <kcook@gcc.gnu.org>
8245
8246 * doc/install.texi: Make autoconf 2.13 the exception, not the rule.
8247
d01b30dc
AT
82482004-03-14 Andreas Tobler <a.tobler@schweiz.ch>
8249
8250 * doc/install.texi: Reflect autoconf and automake version for
8251 libffi. Update autoconf version to 2.59.
8252
5785c7de
RS
82532004-03-13 Roger Sayle <roger@eyesopen.com>
8254
8255 * fold-const.c (negate_expr, operand_equal_for_comparison_p,
8256 optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
8257 make_range, build_range_check, fold_range_test, unextend,
8258 constant_boolean_node, fold_binary_op_with_conditional_arg,
8259 fold_truthop, fold_mathfn_compare, fold_inf_compare,
8260 fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
8261 with lang_hooks.foo ().
8262
edc62122
RE
82632004-03-14 Richard Earnshaw <rearnsha@arm.com>
8264
8265 * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
8266
7db956db
DH
82672004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
8268
8269 * doc/install.texi: Note status of -fnew-ra.
8270
e6d55fd7
EB
82712004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
8272
8273 PR middle-end/14470
8274 * expr.c (store_expr): Call emit_queue before generating the move
8275 from the temporary to the original target. Protect the temporary
8276 from emit_queue.
8277
cfbab41c
JJ
82782004-03-13 Jakub Jelinek <jakub@redhat.com>
8279
8280 PR target/14533
8281 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
8282 other than UNSPEC_GOTOFF.
8283
1e1ab407
RE
82842004-03-13 Richard Earnshaw <rearnsha@arm.com>
8285
8286 * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through
8287 to arm_legitimate_index_p. Update all callers with SET as default
8288 value.
8289 (arm_legitimate_index_p): New argument, OUTER. Restrict the index
8290 range if OUTER is a sign-extend operation on QImode. Correctly
8291 reject shift operations on sign-extended QImode addresses.
8292 (bad_signed_byte_operand): Delete.
8293 (arm_extendqisi_mem_op): New function.
8294 * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with...
8295 (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address
8296 constraints.
8297 (CONSTRAINT_LEN): New.
8298 (EXTRA_CONSTRAINT): Delete. Replace with...
8299 (EXTRA_CONSTRAINT_STR): ... this.
8300 (PREDICATE_CODES): Remove bad_signed_byte_operand.
8301 * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length
8302 is now always default.
8303 (define_splits for bad sign-extend loads): Delete.
8304 (arm_extendqisi, arm_extendqisi_v5): Likewise.
8305 * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
8306 Rework 'U' constraint to 'Uv'.
8307 * arm-protos.h: Remove bad_signed_byte_operand. Add
8308 arm_extendqisi_mem_op.
8309 * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
8310 Add Uq constraint.
8311
c53bdcf5
AM
83122004-03-13 Alan Modra <amodra@bigpond.net.au>
8313
fa78dbea
AM
8314 * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
8315 with targetm version.
8316
c53bdcf5
AM
8317 PR target/14567
8318 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
8319 (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
8320 * config/rs6000/rs6000.c (rs6000_arg_size): New function.
8321 Update all users of RS6000_ARG_SIZE.
8322 (function_arg_advance): Count fregno using mode size.
8323 (function_arg): Handle long double split over regs and memory.
8324 (function_arg_partial_nregs): Likewise.
8325 (rs6000_va_arg): Repackage complex args.
8326
992ab122
DF
83272004-03-13 Dean Ferreyra <dferreyra@igc.org>
8328
8329 PR target/14047
8330 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
8331 (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
8332 * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
8333
c973d557
JJ
83342004-03-12 Jakub Jelinek <jakub@redhat.com>
8335
8336 * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
8337 prototype.
8338 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
8339 * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
8340
4319ac92
AP
83412003-03-12 Andrew Pinski <apinski@apple.com>
8342
8343 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
8344 Use ret instead of result. Use addr instead of base.
8345
bb674cef
DE
83462004-03-12 David Edelsohn <edelsohn@gnu.org>
8347
8348 * doc/install.texi (*-ibm-aix*): Document assembler and achiver
8349 fixes required by libstdc++ and update installation instructions
8350 for libstdc++.a.
8351
b1f123c7
DS
83522004-03-12 Danny Smith <dannysmith@users.sourceforge.net>
8353
8354 * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
8355 leading '@' on fastcall symbols before stripping suffix.
8356
67962db5
RS
83572004-03-12 Roger Sayle <roger@eyesopen.com>
8358
8359 * combine.c (unmentioned_reg_p): New function to check whether an
8360 expression is a "specialization" of another, i.e. that there are
8361 no registers or memory references mentioned in the first that don't
8362 appear in the second.
8363 (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
8364 (combine_instructions): Also try combining instructions using the
8365 REG_EQUAL note from a preceding log-linked instruction.
8366
8937b6a2
RS
83672004-03-12 Roger Sayle <roger@eyesopen.com>
8368
8369 * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
8370
4746cf84
MA
83712004-03-12 Matt Austern <austern@apple.com>
8372
8373 * target.h (struct gcc_target): New target hook, unwind_label.
8374 * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
8375 * output.h (default_emit_unwind_label): New function.
8376 * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
8377 (TARGET_USES_WEAK_UNWIND_INFO): New target macro.
8378 (TARGET_SUPPORTS_HIDDEN): New target macro.
8379 * dwarf2out.c (struct dw_fde_struct): Add field for function decl
8380 that corresponds to this FDE.
8381 (FRAME_BEGIN_LABEL): Allow target to override default label.
8382 (output_call_frame_info): If FDEs are linknonce, then use extra
c53bdcf5 8383 indirection for FDE encoding, output a label for each FDE, and
4746cf84
MA
8384 output an empty label for each function without an FDE.
8385 (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
8386 * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
8387 decls with DECL_ONE_ONLY set, if that macro is defined.
8388 (make_decl_one_only): Don't use DECL_COMMON if we're compiling
8389 for a SUPPORTS_ONE_ONLY target.
8390 * config/darwin-protos.h (darwin_unique_section): Declare.
8391 (darwin_asm_named_section): Likewise.
8392 (darwin_section_type_flags): Likewise.
8393 (darwin_non_lazy_pcrel): Likewise.
8394 (darwin_emit_unwind_label): Likewise.
8395 (darwin_make_decl_one_only): Likewise.
8396 * config/darwin.c (machopic_finish): Get rid of tweak that
8397 eliminate stubs for symbols that are defined.
8398 (darwin_encode_section_info): Don't treat weak functions as defined.
8399 (darwin_make_decl_one_only): Define.
8400 (darwin_asm_named_section): Likewise.
8401 (darwin_section_type_flags): Likewise.
8402 (darwin_unique_section): Likewise.
8403 (darwin_emit_unwind_label): Likewise.
8404 (darwin_non_lazy_pcrel): Likewise.
8405 (darwin_asm_output_dwarf_delta): Difference between two labels is
8406 local only if both labels are local.
8407 * config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
8408 (ASM_MAKE_LABEL_LINKONCE): Likewise.
8409 (TARGET_SUPPORTS_HIDDEN): Likewise.
8410 (TARGET_USES_WEAK_UNWIND_INFO): Likewise.
8411 (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
8412 (FRAME_BEGIN_LABEL): Likewise.
8413 (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
8414 (ASM_DECLARE_FUNCTION_NAME): Likewise.
8415 (darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
8416 (TARGET_ASM_UNIQUE_SECTION): Define.
8417 (EH_FRAME_SECTION_NAME): Define.
8418 (EH_FRAME_SECTION_ATTR): Likewise.
8419 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
8420 (TARGET_ASM_NAMED_SECTION): Likewise.
8421 (TARGET_SECTION_TYPE_FLAGS): Likewise.
8422 * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
8423 TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
8424 TARGET_ASM_EMIT_UNWIND_LABEL.
bc4c01b7 8425
fd0c8c8d
KG
84262004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8427
8428 * builtins.c (expand_builtin_mathfn): Add pow10* to the
8429 existing exp10* case.
8430 (expand_builtin): Likewise.
8431
ca0b6e3b
EB
84322004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
8433
8434 * doc/tm.texi (registers) <Values in Registers>: Add
8435 entry for REGMODE_NATURAL_SIZE.
8436
42ba5130
RH
84372004-03-12 Richard Henderson <rth@redhat.com>
8438
8439 PR target/14547
8440 * target.h (struct gcc_target): Move calls substructure before
8441 booleans. Add split_complex_arg.
8442 * function.c (assign_parms, split_complex_args): Use it.
c53bdcf5
AM
8443 * calls.c (expand_call): Likewise.
8444 (split_complex_values): Likewise. Check for splittable types
8445 before allocating memory.
8446 (split_complex_types): Likewise.
42ba5130
RH
8447 * system.h (SPLIT_COMPLEX_ARGS): Poison.
8448 * expr.h (SPLIT_COMPLEX_ARGS): Remove.
8449 * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
8450 * config/alpha/alpha.c (alpha_split_complex_arg): New.
8451 (TARGET_SPLIT_COMPLEX_ARG): New.
8452 * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
8453 * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
8454 (rs6000_override_options): Zap it for non-AIX.
8455 (rs6000_function_value): Use targetm.calls.split_complex_arg.
8456 * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
8457 * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
8458 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
8459 * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
8460 SPLIT_COMPLEX_ARGS entry.
8461
75959f0a
RH
84622004-03-11 Richard Henderson <rth@redhat.com>
8463
8464 * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
8465 (alpha_lookup_xfloating_lib_func): Use them, return rtx.
8466 (alpha_emit_xfloating_arith): Update to match.
8467 (alpha_emit_xfloating_compare): Likewise.
8468 (alpha_emit_xfloating_cvt): Likewise.
8469 (alpha_emit_xfloating_libcall): Take already built symbol,
8470 mark call const.
8471 * config/alpha/alpha.md (extendsftf2, extenddftf2): Take
8472 op1 in a register.
8473
e5e10fb4
RH
84742004-03-11 Richard Henderson <rth@redhat.com>
8475
8476 PR target/14539
8477 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
8478
55cf9d62
RH
8479 * simplify-rtx.c (simplify_relational_operation): Fix typo.
8480
9caad63a
RH
84812004-03-11 Richard Henderson <rth@redhat.com>
8482
8483 PR middle-end/14477
8484 * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
8485
03ca1672
UW
84862004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
8487
8488 PR target/14262
8489 * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
8490 defined, pass small BLKmode values in registers in the low-order part.
8491
bbe708a3
UW
84922004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
8493
8494 * combine.c (if_then_else_cond): Check for NULL return value of
8495 simplify_gen_subreg.
8496
0e808055
RS
84972004-03-11 Richard Sandiford <rsandifo@redhat.com>
8498
8499 PR target/14496
8500 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
8501 TARGET_SINGLE_FLOAT.
8502
1f7aa7cd
SE
85032004-03-11 Steve Ellcey <sje@cup.hp.com>
8504
8505 * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
8506 * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
8507 * config/ia64/ia64.c (ia64_init_libfuncs): New.
8508 (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
8509
239a625e
RS
85102004-03-11 Roger Sayle <roger@eyesopen.com>
8511
8512 * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
8513 -((int)X>>C) where C is an integer constant one bit less than the
8514 size of X into (unsigned)X>>C. Similarly for unsigned->signed.
8515 (negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
8516
8517 * simplify-rtx.c (simplify_unary_operation): Also implement the
8518 above transformations at the RTL level.
8519
40131a38
AM
85202004-03-11 Alan Modra <amodra@bigpond.net.au>
8521
8522 * real.c (encode_ibm_extended): Do round low word.
8523
df8e2ad0
BE
85242004-03-11 Ben Elliston <bje@wasabisystems.com>
8525
8526 * config/arm/arm.md (is_xscale): Comment this attribute and move
8527 it a bit further up in the file, closer to related attributes.
8528
d1704a35
EB
85292004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr>
8530
8531 * config/host-solaris.c (sol_gt_pch_use_address): Add
8532 missing terminating marker to comment.
8533
fc31c7ca
RS
85342004-03-11 Richard Sandiford <rsandifo@redhat.com>
8535
8536 * config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
8537 (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
8538 (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
8539 (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
8540 move_operand as source predicate in all cases.
8541 (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
8542 Test reg_or_0_operand. Use move_operand as source predicate.
8543 (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
8544 (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
8545 (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
8546 (movhi, movqi, movsf, movdf): Use mips_legitimize_move.
8547 (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
8548 Use move_operand as source predicate. Remove 'K' constraint.
8549 (*movqi_internal): Likewise movqi_internal.
8550 (*movsf_hardfloat): Renamed from movsf_internal1. Test
8551 reg_or_0_operand. Use move_operand as source predicate.
8552 (*movsf_softfloat): Likewise movsf_internal2.
8553 (*movdf_hardfloat_64bit): Likewise movsf_internal1a.
8554 (*movdf_hardfloat_32bit): Likewise movsf_internal1b.
8555 (*movdf_softfloat): Likewise movdf_internal2.
8556 * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
8557 for DImode if !TARGET_64BIT.
8558 (mips_legitimize_move): Simplify accordingly.
8559
81f2eadb
JZ
85602004-03-11 Josef Zlomek <zlomekj@suse.cz>
8561
8562 PR/14362
8563 * var-tracking.c (struct variable_def): Added field refcount.
8564 (variable_htab_free): Decrease the refcount and delete variable
8565 only if there are no more references.
8566 (unshare_variable): New function.
8567 (vars_copy_1): Increase refcount instead of copying the variable.
8568 (variable_union): Share the variables where possible, unshare
8569 the variables if needed.
8570 (variable_different_p): Return false if var1 and var2 are
8571 the same structure.
8572 (variable_was_changed): Init the refcount of new variable.
8573 (set_frame_base_location): Unshare variable if needed.
8574 (set_variable_part): Init the refcount of new variable.
8575 Unshare the variables if needed.
c53bdcf5 8576 (delete_variable_part): Unshare the variables if needed.
81f2eadb
JZ
8577 (emit_notes_for_differences_1): Init the refcount of new variable.
8578 (vt_add_function_parameters): Do not add function parameters to
8579 IN set of ENTRY_BLOCK_PTR because it is unused anyway.
8580 (vt_initialize): Do not add frame_base_decl to IN set of
8581 ENTRY_BLOCK_PTR because it is unused anyway.
8582
11599d14
JZ
85832004-03-11 Josef Zlomek <zlomekj@suse.cz>
8584
8585 * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
8586 (vars_copy): Likewise.
8587 (variable_union): Likewise.
8588 (set_variable_part): Likewise.
8589 (delete_variable_part): Likewise.
8590
71cc389b
KH
85912004-03-11 Kazu Hirata <kazu@cs.umass.edu>
8592
8593 * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
8594 ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
8595 config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
8596 config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
8597 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
8598 config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
8599 config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
8600 config/pdp11/pdp11.h, config/rs6000/rs6000.c,
8601 config/stormy16/stormy16.c: Fix comment typos and formatting.
8602
f3c9f174
NN
86032004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
8604
8605 * configure: Regenerate, since I forgot to while committing Paolo's
8606 changes.
8607
e4c9c075
PB
86082004-03-08 Paolo Bonzini <bonzini@gnu.org>
8609
8610 PR ada/14131
8611 Move language detection to the top level.
8612 * configure.ac: Remove code to detect languages,
8613 it now lives exclusively in the top level.
8614 * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
8615 top level, renamed to ACX_PROG_GNAT.
8616
4d0c31e6
RH
86172004-03-10 Richard Henderson <rth@redhat.com>
8618
8619 * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
8620 extra arguments.
8621 * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
8622 and host_xmake_file fragments.
8623 * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
8624 (gt_pch_restore): Similarly for gt_pch_use_address.
8625 (default_gt_pch_get_address): New.
8626 (mmap_gt_pch_get_address): Split out of gt_pch_save.
8627 (default_gt_pch_use_address): Split out of gt_pch_restore.
8628 (mmap_gt_pch_use_address): Likewise.
8629 * hooks.c (hook_voidp_size_t_null): Remove.
8630 (hook_bool_voidp_size_t_false): Remove.
8631 * hooks.h: Likewise.
8632 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
8633 default_ or mmap_ definitions.
8634 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
8635 * hosthooks.h (struct host_hooks): Update gt_pch_get_address
8636 and gt_pch_use_address.
8637 * config/host-linux.c, config/host-solaris.c: New files.
8638 * config/x-linux, config/x-solaris: New files.
bc4c01b7 8639 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
4d0c31e6
RH
8640 Update for changed definition.
8641 (darwin_rs6000_gt_pch_use_address): Likewise.
8642 * doc/hostconfig.texi: Update docs.
8643
28fca7e4
RH
86442004-03-10 Richard Henderson <rth@redhat.com>
8645
8646 PR c/14517
8647 * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
8648 except for pedantic c90 mode.
8649
8ab705be
KC
86502004-03-10 Kelley Cook <kcook@gcc.gnu.org>
8651
8652 * configure.ac: Bump AC_PREREQ to 2.59.
8653 * configure: Regenerate.
8654
a251102e
UB
86552004-03-10 Uros Bizjak <uros@kss-loka.si>
8656
8657 * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
8658 (exp10_optab, exp2_optab): Define corresponding macros.
8659 * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
8660 * genopinit.c (optabs): Implement exp10_optab and exp2_optab
8661 using exp10?f2 and exp2?f2 patterns.
8662 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
8663 using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
8664 (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
8665 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
8666
8667 * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
8668 exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
8669 exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
8670
11f01d37
AG
86712004-03-10 Anthony Green <green@redhat.com>
8672
8673 * doc/invoke.texi (ARM Options): Fix -mpfu typo.
8674
bb904c1a
DE
86752004-03-10 David Edelsohn <edelsohn@gnu.org>
8676
8677 * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
8678 (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define
8679 __LONGDOUBLE128.
8680 * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
8681 TARGET_OS_AIX_CPP_BUILTINS.
8682 * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
8683 * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
8684 * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
8685 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
8686 previous change.
8687
b45d3a36
KG
86882004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8689
8690 * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
8691
35ae04ba
DE
86922004-03-10 David Edelsohn <edelsohn@gnu.org>
8693
8694 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
8695 __LONGDOUBLE128 on AIX.
8696
ffad84cd
AH
86972004-03-10 Andrew Haley <aph@redhat.com>
8698
f7b48371 8699 PR optimization/14381
ffad84cd
AH
8700 * function.c (expand_function_end): Emit a blockage insn before
8701 the epilogue when -fnon-call-exceptions is used.
8702
8703 * except.c (expand_start_all_catch): Make comment more accurate.
8704
65cd26a6
JS
87052004-03-08 Joel Sherrill <joel@oarcorp.com>
8706
8707 PR target/14480
8708 * config/rs6000/t-rtems: Add missing file on branch.
8709
452c159e
UW
87102004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
8711
8712 * dbxout.c (dbxout_symbol_location): Do not output references
8713 to optimized-out constant pool symbols.
8714
5f1b2068
AS
87152004-03-10 Andreas Schwab <schwab@suse.de>
8716
8717 * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
8718 twon34_r.
8719
5399d643
JW
87202004-03-09 James E Wilson <wilson@specifixinc.com>
8721
8722 * alias.c (alias_sets_might_conflict_p): New.
8723 * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
8724 * common.opt (Wstrict-aliasing=): New.
8725 * flags.h (warn_strict_aliasing): Change type to int.
8726 * opts.c (warn_strict_aliasing): Change type to int.
8727 (common_handle_option): Handle OPT_Wstrict_aliasing_.
8728 * tree.h (alias_sets_might_conflict_p): Declare it.
8729 * doc/invoke.tex (-Wstrict-aliasing=2): Document it.
8730
a4e9467d
RZ
87312004-03-10 Roman Zippel <zippel@linux-m68k.org>
8732
8733 PR bootstrap/12371
8734 * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
8735 (CALL_USED_REGISTERS): Likewise.
c53bdcf5 8736 (REG_CLASS_CONTENTS): Likewise.
a4e9467d
RZ
8737 (REG_ALLOC_ORDER): New.
8738 (REGNO_REG_CLASS): Use regno_reg_class.
8739 * config/m68k/m68k.c: Add regno_reg_class array.
8740
9aec7fb4
SE
87412004-03-09 Steve Ellcey <sje@cup.hp.com>
8742
8743 * config/ia64/ia64.md (divsi3): Fix algorithm.
8744 (udivsi3): Ditto.
8745 (setf_exp_xf): Remove '*' from name.
8746 * testsuite/gcc.dg/20040309-1.c: New test.
8747
9acd4a03
ILT
87482004-03-09 Ian Lance Taylor <ian@wasabisystems.com>
8749
8750 * system.h (SUNOS4_SHARED_LIBRARIES): Poison.
8751 * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
8752 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
8753 * config/sparc/sparc.c (sparc_aout_select_section): Remove.
8754 (sparc_aout_select_rtx_section): Don't check
8755 SUNOS4_SHARED_LIBRARIES.
8756 * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
8757
a5249a21
HPN
87582004-03-10 Hans-Peter Nilsson <hp@axis.com>
8759
8760 PR other/14474
8761 * doc/md.texi (Pattern Ordering, Dependent Patterns)
8762 (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
8763 INTERNALS".
8764
e373cdb4
ZW
87652004-03-09 Zack Weinberg <zack@codesourcery.com>
8766
8767 * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
8768 (LIBGCC_SPEC): Update to match.
8769
77dbdb57
ZW
87702004-03-09 Zack Weinberg <zack@codesourcery.com>
8771
8772 * c-decl.c (last_function_parms, last_function_parm_tags)
8773 (last_function_parm_others, current_function_parms)
8774 (current_function_parm_tags, current_function_parm_others):
8775 Delete.
8776 (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
8777 New macros.
8778 (grokdeclarator): For function definitions, save the arg-info
8779 block from the declarator in DECL_ARGUMENTS.
8780 (grokparms): Do not write to last_function_parm*. Use ARG_INFO_*
8781 macros to operate on arg-info block. Can assume ARG_INFO_PARMS
8782 contains only PARM_DECLs. Improve diagnostics.
8783 (get_parm_info): Use ARG_INFO_* macros. Improve comments and
8784 diagnostics. Disable some expensive checks if not ENABLE_CHECKING.
8785 (store_parm_decls_newstyle): Take the function to operate on,
8786 and an arg-info block, as arguments; don't get anything from
8787 current_function_* globals.
8788 (store_parm_decls_oldstyle): Likewise.
8789 (store_parm_decls): Pass fndecl and its arg-info block down to
8790 store_parm_decls_newstyle/oldstyle. Send functions with empty
8791 argument lists through store_parm_decls_newstyle to reduce
8792 overhead.
8793 (pushdecl): Comment on the problems with the call to copy_node.
8794 Clear DECL_ARGUMENTS of the old node after copying it, if it
8795 is an arg-info block instead of a chain of decls.
8796 (start_function): Do not manipulate current_function_parm* or
8797 last_function_parm*.
8798
305eeaeb
RS
87992004-03-09 Roger Sayle <roger@eyesopen.com>
8800 Andrew Pinski <pinskia@physics.uc.edu>
8801
8802 * ifcvt.c (noce_try_sign_mask): New function to transform
8803 "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
8804 (noce_process_if_block): Call noce_try_sign_mask.
8805
f38f747d
AP
88062004-03-09 Andrew Pinski <apinski@apple.com>
8807
8808 * c-typeck.c (tagged_types_tu_compatible_p):
8809 Fix typo.
8810
7ce3e360
RS
88112004-03-09 Roger Sayle <roger@eyesopen.com>
8812
8813 * simplify-rtx.c (simplify_const_relational_operation): New function
8814 renamed from simplify_relational_operation.
8815 (simplify_relational_operation): Change prototype to accept an
8816 additional mode argument. Call simplify_const_relational_operation.
8817 (simplify_gen_relational): Update simplify_relational_operation call.
8818 (simplify_ternary_operation): Update simplify_relational_operation
8819 subroutine call to use simplify_const_relational_operation instead.
8820
8821 * rtl.h (simplify_const_relational_operation): Prototype here.
8822 (simplify_relational_operation): Add addtional mode argument.
8823
8824 * combine.c (combine_simplify_rtx): Update calls to
8825 simplify_relational_operation.
8826 (simplify_set): Likewise.
8827 (gen_binary): Likewise.
8828 * cse.c (fold_rtx): Likewise.
8829 * dojump.c (compare_from_rtx): Likewise.
8830 (do_compare_rtx_and_jump): Likewise.
8831 * integrate.c (subst_constants): Likewise.
8832 * unroll.c (simplify_cmp_and_jump_insns): Likewise.
8833
c0e63064
KH
88342004-03-09 Kazu Hirata <kazu@cs.umass.edu>
8835
8836 * config/m32r/m32r.md: Remove all define_peephole's.
8837
6ae08853
AM
88382004-03-09 Alan Modra <amodra@bigpond.net.au>
8839
8840 * config/rs6000/rs6000.md: Remove trailing whitespace.
8841
5340bbea
EC
88422004-03-08 Eric Christopher <echristo@redhat.com>
8843
8844 * Makefile.in (site.exp): Add libiconv variable definition.
8845
3beb1315
HPN
88462004-03-09 Hans-Peter Nilsson <hp@axis.com>
8847
8848 * configure: Regenerate for config/accross.m4 correction.
8849
c589970a
JS
88502004-03-08 Joel Sherrill <joel@oarcorp.com>
8851
8852 PR target/14480
8853 * config/rs6000/t-rtems: Add missing file on branch.
8854
e697b20f
RS
88552004-03-08 Roger Sayle <roger@eyesopen.com>
8856
8857 PR middle-end/14289
8858 * c-typeck.c (c_mark_addressable): A register variable should
8859 be considered global if its not automatic, i.e. TREE_PUBLIC,
8860 TREE_STATIC or DECL_EXTERNAL.
8861 * function.c (put_var_into_stack): Call abort when placing a
8862 hard register into the stack, if x_parm_reg_stack_loc is NULL.
8863
59f8a8be
UW
88642004-03-08 Ulrich Weigand <uweigand@de.ibm.com>
8865
8866 * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
8867 ("*extendqisi2_short_displ"): Likewise.
8868
23bd99da
KH
88692004-03-08 Kazu Hirata <kazu@cs.umass.edu>
8870
8871 * config/pdp11/pdp11.c (comparison_operator_index): Remove.
8872 (comp_operator): Likewise.
8873 * config/pdp11/pdp11-protos.h: Remove corresponding
8874 prototypes.
8875
d50a16c4
EB
88762004-03-08 Eric Botcazou <ebotcazou@act-europe.fr>
8877
8878 * expr.c (highest_pow2_factor_for_type): Rename into
8879 highest_pow2_factor_for_target. Use DECL_ALIGN instead of
8880 TYPE_ALIGN when the target is a COMPONENT_REF.
8881 (expand_assignment): Ajust call to highest_pow2_factor_for_type.
8882
957211c3
AM
88832004-03-08 Alan Modra <amodra@bigpond.net.au>
8884
b1917422
AM
8885 * config/rs6000/rs6000.c: Formatting fix.
8886 (legitimate_offset_address_p): Correct offset range check.
8887
957211c3
AM
8888 * config/rs6000/rs6000.c (rs6000_override_options): Don't override
8889 -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
8890 and MASK_STRING.
8891
97727e85 88922004-03-07 Aldy Hernandez <aldyh@redhat.com>
5340bbea 8893
77dbdb57
ZW
8894 * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
8895 for little endian.
8896 ("ashrdi3_no_power"): Disable for little endian.
97727e85
AH
8897 (ashrdi3): Same.
8898
280e63ec
KG
88992004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8900
8901 * fold-const.c (tree_expr_nonnegative_p): Reformat checks for
8902 builtins.
8903
86da66b5
HPN
89042004-03-08 Hans-Peter Nilsson <hp@axis.com>
8905
8906 PR target/14471
8907 * configure.ac (Target-specific assembler checks) <cris-*-*>: New
8908 case, checking for -no-mul-bug-abort option.
8909 * configure, config.in: Regenerate.
8910 * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
8911 and -mno-mul-bug-workaround.
8912 * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
8913 ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
8914 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
8915 Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
8916 * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
8917 sure mulu.d is not last on cache-line.
8918 * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
8919 into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
8920 (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
8921 (TARGET_SWITCHES): New options -mmul-bug-workaround and
8922 -mno-mul-bug-workaround.
8923 (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
8924 (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
8925 * config/cris/cris.c (cris_operand_extend_operator): Clarify
8926 relation to MULT in head comment.
8927 (cris_op_str): Abort for MULT.
8928 (cris_print_operand) <case '!'>: New case.
8929
e7ee3914
AM
89302004-03-08 Alan Modra <amodra@bigpond.net.au>
8931
8932 PR debug/11983
8933 * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
8934 dw_val_class_vec. Replace use throughout file.
8935 (dw_float_const): Delete.
8936 (dw_vec_const): New.
8937 (dw_val_struct_union): Rename val_float to val_vec. Replace use
8938 throughout file.
8939 (add_AT_vec): Rename from add_AT_float. Add elt_size param.
8940 (same_dw_val_p): Adjust vec comparison. Use memcmp.
8941 (size_of_die): Adjust dw_val_class_vec sizing.
8942 (output_die): Output dw_val_class_vec.
8943 (insert_int, extract_int, insert_float): New functions.
8944 (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
8945 Handle CONST_VECTOR.
8946 (add_location_or_const_value_attribute): Handle CONST_VECTOR.
5cc73f91
AH
8947
89482004-03-07 Aldy Hernandez <aldyh@redhat.com>
8949
8950 * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
8951 AltiVec abi cannot co-exist.
8952
8953 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
8954
a61bf177
JH
89552004-03-07 Jan Hubicka <jh@suse.cz>
8956
8957 * except.c (emit_to_new_bb_before): Break fallthru edges.
8958
17c60946
SC
89592004-03-07 Stephane Carrez <stcarrez@nerim.fr>
8960
8961 * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
8962 ("*lshrsi3"): Also accept an immediate for 68HC12.
8963 ("*ashrsi3_const"): Likewise.
8964 ("*ashrsi3"): Likewise.
8965 ("*ashlsi3_const"): Likewise.
8966 ("*ashlsi3"): Likewise.
8967 ("cmphi_1_hc12"): Compare two hard register by pushing them and
8968 comparing with a pop; don't use a split for that.
8969 ("cmphi split"): Disable compare split for 68HC12.
8970
8971 * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
8972 the status operands if they have side effects.
8973
3e759eda
KH
89742004-03-07 Kazu Hirata <kazu@cs.umass.edu>
8975
8976 * defaults.h (LEGITIMIZE_ADDRESS): Provide a default
8977 definition.
8978 * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
8979 config/h8300/h8300.h, config/ia64/ia64.h,
8980 config/mcore/mcore.h, config/mmix/mmix.h,
8981 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
8982 config/stormy16/stormy16.h, config/v850/v850.h,
8983 config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
8984 * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
8985 definition.
8986
cd2f1c7a
RS
89872004-03-07 Roger Sayle <roger@eyesopen.com>
8988
8989 * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
8990 <XOR_EXPR>: Fold x ^ x as zero.
8991 <AND_EXPR>: Fold x & x as x.
8992
350f4ea8
RS
89932004-03-07 Roger Sayle <roger@eyesopen.com>
8994
8995 * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
8996 "foo++ == const" into "++foo == const+incr".
8997
91455597
RS
89982004-03-07 Richard Sandiford <rsandifo@redhat.com>
8999
9000 * config/mips/mips.c (mips_in_small_data_p): Return false if
9001 TARGET_ABICALLS.
9002
a75ea627
SC
90032004-03-06 Stephane Carrez <stcarrez@nerim.fr>
9004
9005 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
9006 the stack register.
9007 (expand_prologue): Don't make an interrupt or a trap handler a far
9008 symbol.
9009 (m68hc11_initial_elimination_offset): Likewise.
9010
7179b6db
RH
90112004-03-06 Richard Henderson <rth@redhat.com>
9012
9013 * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
9014
eff3c926
KH
90152004-03-06 Kazu Hirata <kazu@cs.umass.edu>
9016
9017 * config/ns32k/ns32k-protos.h: Add a prototype for
9018 ns32k_notice_update_cc.
9019 * config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
9020 * config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
9021 ns32k_notice_update_cc.
9022
22ea6b4f
UW
90232004-03-06 Ulrich Weigand <uweigand@de.ibm.com>
9024
9025 * config/s390/s390.md ("load_multiple", "*load_multiple_di",
9026 "*load_multiple_si"): Allow only if reload_completed.
9027 ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
9028 Likewise.
9029
af0ec113
KH
90302004-03-06 Kazu Hirata <kazu@cs.umass.edu>
9031
9032 * config/vax/vax-protos.h: Add a prototype for
9033 vax_notice_update_cc.
9034 * config/vax/vax.c (vax_notice_update_cc): New.
9035 * config/vax/vax.h (NOTICE_UPDATE_CC): Call
9036 vax_notice_update_cc.
9037
aaef9b06
DE
90382004-03-06 David Edelsohn <edelsohn@gnu.org>
9039
9040 * collect2.c (main): Only export initfunc and finifunc if
9041 LD_INIT_SWITCH not defined.
9042 (scan_prog_file): Only export constructors and destructors if
9043 LD_INIT_SWITCH not defined. Only export symbols not found in
9044 shared objects.
9045
7a9a5a44
JDA
90462004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9047
9048 * pa.md (icacheflush): Reorder operands to make match_scratch operand
9049 last.
9050 * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
9051 from calls to gen_icacheflush.
9052
0f15adbd
RH
90532004-03-06 Richard Henderson <rth@redhat.com>
9054
9055 * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
9056 (TARGET_LONG_DOUBLE_128): New.
9057 (TARGET_SWITCHES): Add long-double-{128,64}.
9058 (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
9059 (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
9060 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
9061 (WIDEST_HARDWARE_FP_SIZE): New.
9062 (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
9063 * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
9064 if TARGET_VAX_FLOAT.
9065 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
9066 (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
9067
b9c685ae
RH
90682004-03-06 Richard Henderson <rth@redhat.com>
9069
9070 * config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
9071 botched rtx class conversion.
9072
82b4201f
KG
90732004-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9074
9075 * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
9076 BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
9077
9078 * builtins.c (fold_builtin_logarithm, fold_builtin): Use new
9079 macros.
9080 * fold-const.c (fold_mathfn_compare, fold): Likewise.
9081
84289c76
EB
90822004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
9083
9084 PR target/14343
9085 * config/i386/i386.md (movv2di_internal): Conditionalize on
9086 TARGET_SSE, not TARGET_SSE2.
9087
3fdf09a1
CD
90882004-03-05 Chris Demetriou <cgd@broadcom.com>
9089
9090 * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
9091 duplicated line.
9092
f2f4e976
KG
90932004-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9094
9095 * builtins.c: Consistently use logN not log* in comments.
9096
2b3493c8
AK
90972004-03-05 Andreas Krebbel <krebbel1@de.ibm.com>
9098
9099 * rtl.h (mem_expr_equal_p): Function prototype added.
9100 * cfgcleanup.c (merge_memattrs): New function.
9101 (flow_find_cross_jump): Call merge_memattrs for matching insns.
9102 * emit-rtl.c (mem_expr_equal_p): New function.
9103
1a4a7065
ZL
91042004-03-05 Ziemowit Laski <zlaski@apple.com>
9105
9106 * objc/objc-act.c (synth_module_prologue): Const-qualify
9107 objc_selector type if using the GNU runtime; fix generated
9108 signatures for objc_msg_lookup and objc_msg_lookup_super
9109 to match what GNU ObjC headers provide; reformat and clean up.
9110 (synth_self_and_ucmd_args): Use previously constructed (and
9111 hence possibly const-qualified) objc_selector type.
9112
150c9fe8
KH
91132004-03-05 Kazu Hirata <kazu@cs.umass.edu>
9114
9115 * doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
9116
fd917e0d
JM
91172004-03-05 Jason Merrill <jason@redhat.com>
9118
9119 * tree.h (TYPE_HASH): Use TYPE_UID.
9120 (TREE_HASH): New macro with old definition of TYPE_HASH.
9121 * tree.c (build_type_attribute_variant): Use iterative_hash_object.
9122 (build_array_type, build_function_type): Likewise.
9123 (build_method_type_directly): Likewise.
9124 (build_offset_type, build_complex_type): Likewise.
9125 (type_hash_list, attribute_hash_list): Likewise. Now static.
9126 * except.c: s/TYPE_HASH/TREE_HASH/.
9127
822e895c
BW
91282004-03-05 Bob Wilson <bob.wilson@acm.org>
9129
9130 * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
9131 (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
9132 __va_ndx by 2 words when referencing an argument on the stack.
9133 (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
9134 words when an arg on the stack is first seen.
9135
2eb83715
PB
91362004-03-05 Paul Brook <paul@codesourcery.com>
9137
9138 * arm.h (ARM_FLAG_VFP): Remove.
9139 (ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
9140 * netbsd-elf.h (ARM_FLAG_VFP): Remove.
9141
ce407aa9
PB
91422004-03-05 Paul Brook <paul@codesourcery.com>
9143
9144 * function.c (assign_parms): Include pretend alignment offset.
9145
019dd4ec
RK
91462004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9147
9148 * stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
9149 FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
9150
33e70558
ILT
91512004-03-05 Ian Lance Taylor <ian@wasabisystems.com>
9152
9153 * configure.ac: When passing --enable-languages to subdir
9154 configure when host != build, make sure we don't pass an empty
9155 value.
9156 * configure: Regenerate.
9157
ab786753
NS
91582004-03-05 Nathan Sidwell <nathan@codesourcery.com>
9159
9160 PR 13577
9161 * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
9162 options.
9163
d2782048
PB
91642004-03-05 Paolo Bonzini <bonzini@gnu.org>
9165
9166 * simplify-rtx.c (simplify_relational_operation): If
9167 flag_wrapv is set, do not move terms between the two
9168 side of a relational operator.
9169
f894b69b
PB
91702004-03-05 Paolo Bonzini <bonzini@gnu.org>
9171
9172 * rtlanal.c: Include target.h and output.h
9173 (rtx_cost, address_cost, default_address_cost): Move from...
9174 * cse.c (rtx_cost, address_cost, default_address_cost):
9175 ... this file.
9176 * rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
9177 * Makefile.in: Adjust dependencies.
9178
86caf04d
PB
91792004-03-05 Paolo Bonzini <bonzini@gnu.org>
9180
9181 * cse.c (cse_end_of_basic_block): Make static.
9182 * local-alloc.c (function_invariant_p): Move to
9183 reload1.c.
9184 * loop.c (libcall_other_reg, record_excess_regs):
9185 Make static.
9186 * reload1.c (function_invariant_p): Moved here
9187 from local-alloc.c, made static.
9188 * rtl.h (cse_end_of_basic_block, function_invariant_p,
9189 libcall_other_reg, record_excess_regs): Remove
9190 declarations.
9191
d0fe265e
KH
91922004-03-05 Kazu Hirata <kazu@cs.umass.edu>
9193
9194 * config/m32r/m32r.c (signed_comparison_operator): Add a
9195 missing parenthesis.
9196
ee0d75ef
ILT
91972004-03-04 Ian Lance Taylor <ian@wasabisystems.com>
9198
9199 * ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
9200 going to call mmap again. Read the file into the right place.
9201 Give a fatal error if we have to relocate.
9202
6e5ff6e7
BW
92032004-03-04 Bob Wilson <bob.wilson@acm.org>
9204
9205 * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
9206 (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
9207
fc7b80e4
HPN
92082004-03-05 Hans-Peter Nilsson <hp@axis.com>
9209
fd9361f7 9210 PR other/14354
fc7b80e4
HPN
9211 * config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
9212 round the same. When rounding, clear bits that would cause a
9213 second rounding in pack_d.
9214 (_fpmul_parts): Ditto. Remove #if 0:d code.
9215
b9e4e5d1
ZL
92162004-03-04 Ziemowit Laski <zlaski@apple.com>
9217
9218 PR c++/14425, c++/14426
9219 * config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
9220 vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
9221 Change C++ definitions to accept a 'const int' argument;
9222 the prototypes already do.
9223 * config/rs6000/rs6000.c (rs6000_common_init_builtins):
9224 Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
9225 v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
9226 v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
9227 v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
9228 v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
9229 end in ..._int; change them to accept an int instead of a char
9230 as the last parameter.
9231
8653fed7
PE
92322004-03-04 Phil Edwards <phil@codesourcery.com>
9233
9234 * genmultilib: Change '=' to '-' when translating option names
9235 to directory names.
9236
daae8185
RK
92372004-03-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9238
9239 * expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
9240 stack slot for temp used for result of BLKmode but in integral mode.
9241
f345f21a
JH
92422004-03-04 Jan Hubicka <jh@suse.cz>
9243
9244 * reload.c (find_reloads): Reorganize if seqeunce to switch.
9245
9246 * cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty.
9247 (cfglayout_redirect_edge_and_branch): Set the source BB as dirty.
9248
aa42f99d
SE
92492004-03-04 Steve Ellcey <sje@cup.hp.com>
9250
9251 * config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
9252 * testsuite/gcc.dg/20040303-1.c: New test.
9253
56bab446
SB
92542004-03-04 Steven Bosscher <stevenb@suse.de>
9255
9256 * ppro.md: Rewrite as a DFA pipeline description.
9257 * i386.md: Remove all uses of the ppro_uops attribute.
9258 * i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
9259 ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
9260 ix86_sched_reorder, ix86_variable_issue,
9261 struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
9262 TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
9263 (ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
9264 (ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
9265 * athlon.md (athlon_ssecmp_load): Fix comment
9266
5a26b329 92672004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 9268
5a26b329
SH
9269 * gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
9270
2e5d2af9 92712004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 9272
2e5d2af9
SH
9273 * gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
9274 686, tell Darwin assembler to allow prefetch insns, non-empty def
9275 of SUBTARGET_OPTION_TRANSLATE_TABLE.
9276
58f206d6
DD
92772004-03-04 DJ Delorie <dj@redhat.com>
9278
9279 PR optimization/14282
9280 * sched-deps.c (sched_analyze_insn): Allow a stack adjustment
9281 between a call and the assignment of its return value.
9282
e9eba255
KH
92832004-03-04 Kazu Hirata <kazu@cs.umass.edu>
9284
9285 * config/h8300/h8300.c: Put a comment for every function.
9286
d3c40837
KH
92872004-03-04 Kazu Hirata <kazu@cs.umass.edu>
9288
9289 * config/h8300/h8300.md: Add comments about peephole2's.
9290
eb3d7f9d
SB
92912004-03-04 Steven Bosscher <stevenb@suse.de>
9292
9293 * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
9294
463301c3
JH
92952004-03-04 Jan Hubicka <jh@suse.cz>
9296
9297 * cfgcleanup.c (thread_jump): Update call of cselib_init.
9298 * cselib.c (cselib_record_memory): New static variable.
9299 (cselib_lookup_mem, cselib_record_set, cselib_record_sets):
9300 Give up on memories when asked for.
9301 (cselib_init): Accept new argument.
9302 * cselib.h (cselib_init): Update prototype.
9303 * gcse.c (local_cprop_pass): Update call of cselib_init.
9304 * loop.c (load_mems): Update call of cselib_init.
9305 * postreload.c (reload_cse_regs_1): Update call of cselib_init.
9306 * sched-deps.c (sched_analyze): Update call of cselib_init.
9307
3b6ce0af
DE
93082004-03-04 David Edelsohn <edelsohn@gnu.org>
9309 GP <gp@qnx.com>
9310
9311 * config/rs6000/rs6000.c (output_function_profiler): Append @plt
9312 when compiling PIC.
9313
af931390
JZ
93142004-03-04 Josef Zlomek <zlomekj@suse.cz>
9315
9316 PR/14362
9317 * var-tracking.c (track_expr_p): Do not track variables which
9318 should be ignored for debugging purposes.
9319
ddc68564
AM
93202004-03-04 Alan Modra <amodra@bigpond.net.au>
9321
9322 * real.c (encode_ibm_extended): Don't bother rounding low double.
9323 * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
9324 when fmt->pnan < fmt->p.
9325
ca87076c
EC
93262004-03-04 Eric Christopher <echristo@redhat.com>
9327
9328 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
9329 only range of valid arg registers and fixed_regs.
9330
1a402dc1
AM
93312004-03-04 Alan Modra <amodra@bigpond.net.au>
9332
9333 PR target/14406
9334 * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
9335 (abstf2, abstf2_internal): New define_expand.
9336
6a2d136b
EB
93372004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
9338
9339 PR optimization/14235
9340 * expr.c (convert_move): Copy the source to a new pseudo
9341 when converting from a sub-word source to a larger-than-word
9342 register which conflicts with the source.
9343
3205a71e
ZW
93442004-03-03 Zack Weinberg <zack@codesourcery.com>
9345
9346 PR 13728
9347 * c-decl.c (diagnose_mismatched_decls): Issue an error for two
9348 parameters with the same name, unless one is a forward decl.
9349 Do not issue a redundant-redeclaration warning for forward
9350 decls of parameters.
9351
e8d8a034
DE
93522004-03-04 David Edelsohn <edelsohn@gnu.org>
9353
9354 * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
9355 configuration.
9356
ebe29bbf
ILT
93572004-03-03 Ian Lance Taylor <ian@wasabisystems.com>
9358
9359 * ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
9360
7cd60054
AM
93612004-03-04 Alan Modra <amodra@bigpond.net.au>
9362
9363 * target-def.h (TARGET_OPTF): Delete.
9364 * c-opts.c (TARGET_OPTF): Define.
9365
e654c19e
JH
93662004-03-04 Jan Hubicka <jh@suse.cz>
9367
9368 * cselib.c (cselib_finish): Fix another miss-application of my previous
9369 patch.
9370
94d1613b
MS
93712004-03-03 Mike Stump <mrs@apple.com>
9372
9373 Add framework support for darwin.
9374
9375 * c-incpath.c: Include target.h and machmode.h.
9376 (add_path): Use a consistent style for cpp_dir. Initialize
9377 p->construct to 0.
9378 (add_cpp_dir_path): New.
9379 (register_include_chains): Add use of extra_includes callback.
9380 (hook_void_int): Add.
9381 (target_c_incpath): Add.
9382 * c-incpath.h (add_cpp_dir_path): New.
9383 (target_c_incpath_s): Add.
9384 (target_c_incpath): Add.
9385 (C_INCPATH_INIT): Add.
9386 * c-opts.c (c_common_missing_argument,
9387 c_common_handle_option): Add -F argument processing.
9388 * c.opt: Add -F argument processing.
9389 * gcc.c (trad_capable_cpp): Add -F argument processing.
9390 * cppfiles.c (find_file_in_dir): Update to use construct
9391 callback.
9392 (search_path_exhausted, cpp_get_path, cpp_get_buffer,
9393 cpp_get_prev): New.
9394 (_cpp_find_file): Use search_path_exhausted.
9395 (make_cpp_dir): Initialize construct to 0.
9396 * cpplib.h (missing_header_cb
9397 cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
9398 (cpp_callbacks): Add missing_header
9399 (cpp_dir): Add construct.
9400 * target-def.h: (TARGET_OPTF): New.
9401 * hooks.c (hook_void_int, hook_void_charptr): Add.
9402 * hooks.h (hook_void_int, hook_void_charptr): Add.
9403 * Makefile.in (c-incpath.o) : Add $(TARGET_H) and
9404 $(MACHMODE_H) dependencies.
9405 * doc/invoke.texi (Darwin Options): Document -F.
9406 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
9407 (TARGET_OPTF): Add.
9408 * fix-header.c (target_c_incpath): Add.
9409
9410 * config/darwin-c.c: Add c-incpath.h include.
9411 (using_frameworks, find_subframework_file,
9412 find_subframework_header, add_system_framework_path,
9413 frameworks_in_use, num_frameworks, max_frameworks,
9414 add_framework, find_framework, struct framework_header,
9415 framework_header_dirs, framework_construct_pathname,
9416 find_subframework_file, add_system_framework_path,
9417 add_framework_path, framework_defaults,
9418 darwin_register_frameworks, find_subframework_header): Add.
9419 * config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
9420 (TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
9421 (CPP_SPEC): Add __APPLE_CC__ support.
9422 * t-darwin (darwin-c.o): Add c-incpath.h dependency.
9423
0fc0c4c9
JH
94242004-03-04 Jan Hubicka <jh@suse.cz>
9425
9426 * cselib.c (cselib_finish): Fix miss-application of my previous
9427 patch.
9428
67dfe110
KH
94292004-03-03 Kazu Hirata <kazu@cs.umass.edu>
9430
9431 * hooks.c (hook_tree_tree_identity): New.
9432 * hooks.h: Add a prototype for hook_tree_tree_identity.
9433 * stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
9434 instead of MD_ASM_CLOBBERS.
9435 * system.h (MD_ASM_CLOBBERS): Poison.
9436 * target-def.h (TARGET_MD_ASM_CLOBBERS): New.
9437 (TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
9438 * target.h (gcc_target): Add md_asm_clobbers.
9439 * config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
9440 (ix86_md_asm_clobbers): New.
9441 * config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
9442 * doc/tm.texi (MD_ASM_CLOBBERS): Change to
9443 TARGET_MD_ASM_CLOBBERS.
9444
d79944f4 94452004-03-03 Stuart Hastings <stuart@apple.com>
67dfe110 9446
d79944f4 9447 * gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
3205a71e 9448
fc9232c9
EB
94492004-03-03 Eric Botcazou <ebotcazou@libertysurf.fr>
9450
9451 * config/sparc/sparc.c (noov_compare64_op): Fix typo.
9452
9453 * config/sparc/sparc.h (ASM_FLOAT): Delete.
9454 (ASM_DOUBLE): Likewise.
9455 (ASM_LONGDOUBLE): Likewise.
9456 * config/sparc/pbd.h (ASM_INT_OP): Delete.
9457
b7048ab7
RH
94582003-03-03 Richard Henderson <rth@redhat.com>
9459
9460 PR opt/13862
9461 * cselib.c (cselib_record_sets): Don't record multiple sets in
9462 asm insns.
9463
f9957958
MH
94642004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
9465
9466 * common.opt: Add description of the new -fgcse-after-reload flag.
9467
9468 * flags.h (flag_gcse_after_reload): Declaration of global variable.
9469
9470 * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
9471 reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
9472 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
9473 get_bb_avail_insn, hash_scan_set_after_reload,
9474 compute_hash_table_after_reload, eliminate_partially_redundant_loads,
9475 gcse_after_reload, get_bb_avail_insn): New functions to implement
9476 gcse-after-reload.
9477 (gcse_after_reload_main): New function, the main entry point to
9478 gcse-after-reload.
9479
9480 * rtl.h (gcse_after_reload_main): Declaration of the new function.
9481
9482 * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
9483
9484 * toplev.c (flag_gcse_after_reload): Initialization.
9485
9486 * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
9487
9488 * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
9489 PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
9490 the gcse after reload optimization.
9491
9492 * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
9493 GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
9494 parameters.
9495
9496 * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
9497
6f6dedf5
NP
94982004-03-03 Nicolas Pitre <nico@cam.org>
9499
9500 * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
9501 small negative values.
9502
6790d1ab
JH
95032004-03-03 Jan Hubicka <jh@suse.cz>
9504
9505 * cselib.c (hash_table): Remove GTY marker.
9506 (reg_values): Turn into array.
9507 (used_regs): Likewise.
9508 (n_used_regs): New static variable.
9509 (reg_values_old): Kill.
9510 (clear_table): Update uses of arrays.
9511 (cselib_lookup): Likewise.
9512 (cselib_record_set): Likewise.
9513 (cselib_init): Likewise.
9514 (cselib_finish): Likewise.
9515 (cselib_udpate_varray_sizes): Kill.
9516 * cselib.h (cselib_update_varray_sizes): Kill.
9517
33e6a97a
PB
95182004-03-03 Paul Brook <paul@codesourcery.com>
9519
9520 * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
9521
b9dcdee4
JH
95222004-03-03 Jan Hubicka <jh@suse.cz>
9523
9524 * ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
9525 Rename from ...; make statistics transparent.
9526 (ggc_alloc_cleared, ggc_realloc_stat): ... these.
9527 (loc_descriptor): New structure.
9528 (hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
9529 add_statistics):
9530 New static function.
9531 (ggc_record_overhead, dump_statistics): New global function.
9532 * ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
9533 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
9534 from ...; accept locations
9535 (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
9536 ggc_realloc, ggc_alloc_typed): ... this one.
9537 from ...; accept locations
9538 * ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
9539 ggc_alloc_stat): Rename from ... ; pass locations
9540 * ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
9541 ... this one.
9542 (ggc_alloc_stat): Record overehead.
9543 * ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
9544 ggc_realloc, ggc_alloc_typed): Turn to macros
9545 (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
9546 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
9547 (dump_ggc_loc_satistics, ggc_record_overehead): Declare.
9548 * langhooks.h (lhd_make_node): Declare.
9549 (LANG_HOOKS_MAKE_TYPE): Default to new function,
9550 * langhooks.c (lhd_make_node): New.
9551 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
9552 locations.
9553 (rtx_alloc, swallow_copy_rtx): ... this one.
9554 * rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
9555 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
9556 * toplpev.c (finalize): Dump stats.
9557 * tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
9558 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
9559 Rename from ... ; pass locators.
9560 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
9561 build?, build_decl): Declare.
9562 * tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
9563 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
9564 Declare.
9565 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
9566 build?, build_decl): New macros.
9567 * Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
9568 * statistics.h: New file.
9569
6ba7b547
MR
95702004-03-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
9571 Richard Sandiford <rsandifo@redhat.com>
9572
9573 * config/mips/mips.h (MASK_FIX_SB1): Bump.
9574 (MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
9575 (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
9576 * config/mips/mips.c (mips_output_division): Fill the branch delay
9577 slot with a nop if TARGET_FIX_R4000. Extend R4000 workarounds to
9578 TARGET_FIX_R4400.
9579 (mips_output_division): Adjust accordingly.
9580 (override_options): Make -march=r4400 imply -mfix-r4400 by default.
9581 * doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
9582
ec8e098d
PB
95832004-03-03 Paolo Bonzini <bonzini@gnu.org>
9584
9585 * alias.c (rtx_equal_for_memref_p): Use predicates
9586 to test rtx classes and new rtx class codes, possibly
9587 splitting conditionals that tested against '<' and 'o'.
9588 * caller-save.c (save_call_clobbered_regs): Likewise.
9589 * combine.c (contains_muldiv, find_split_point, subst,
9590 combine_simplify_rtx, simplify_if_then_else,
9591 simplify_set, simplify_logical, expand_compound_operation,
9592 make_compound_operation, if_then_else_cond, known_cond,
9593 apply_distributive_law, cached_nonzero_bits,
9594 cached_num_sign_bit_copies, simplify_shift_const,
9595 gen_binary, simplify_comparison, update_table_tick,
9596 record_value_for_reg, get_lsat_value_validate): Likewise.
9597 * cse.c (mention_regs, find_best_addr, find_comparison_args,
9598 fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
9599 Likewise.
9600 * emit-rtl.c (copy_insn_1): Likewise.
9601 * expr.c (force_operand): Likewise.
9602 * final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
9603 * flow.c (notice_stack_pointer_modification_1,
9604 invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
9605 and_reg_cond, elim_reg_cond): Likewise.
9606 * function.c (update_epilogue_consts): Likewise.
9607 * genattrtab.c (attr_rtx_1): Likewise.
9608 * genopinit.c (gen_insn): Likewise.
9609 * integrate.c (subst_constants): Likewise.
9610 * jump.c (reversed_comparison_code_parts,
9611 reversed_comparison_code, delete_related_insns,
9612 rtx_renumbered_equal_p): Likewise.
9613 * local-alloc.c (block_alloc): Likewise.
9614 * loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
9615 canonicalize_condition): Likewise.
9616 * loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
9617 Likewise.
9618 * optabs.c (add_equal_node, expand_binop): Likewise.
9619 * predict.c (estimate_probability): Likewise.
9620 * ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
9621 * recog.c (validate_replace_rtx_1, comparison_operator,
9622 offsettable_address_p, constrain_operands): Likewise.
9623 * reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
9624 Likewise.
9625 * regclass.c (scan_one_insn): Likewise.
9626 * regmove.c (stable_and_no_regs_but_for_p): Likewise.
9627 * regrename.c (kill_autoinc_value): Likewise.
9628 * reload.c (find_reusable_reload, find_reloads,
9629 reg_overlap_mentioned_for_reload_p): Likewise.
9630 * reload1.c (gen_reload, delete_address_reloads_1): Likewise.
9631 * rtl.c (copy_rtx): Likewise.
9632 * rtl.h (CONSTANT_P, INSN_P): Likewise.
9633 * rtlanal.c (commutative_operand_precedence): Likewise.
9634 * sched-deps.c (conditions_mutex_p): Likewise.
9635 * sched-rgn.c (is_cfg_nonregular): Likewise.
9636 * simplify-rtx.c (simplify_gen_binary,
9637 simplify_gen_relational, simplify_replace_rtx,
9638 simplify_unary_operation, simplify_binary_operation,
9639 simplify_ternary_operation, simplify_rtx): Likewise.
9640 * unroll.c (reg_dead_after_loop): Likewise.
9641 * config/alpha/alpha.c (alpha_swapped_comparison_operator,
9642 print_operand): Likewise.
9643 * config/arc/arc.c (proper_comparison_operator): Likewise.
9644 * config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
9645 Likewise.
9646 * config/avr/avr.c (_reg_unused_after): Likewise.
9647 * config/frv/frv.c (frv_ifcvt_modify_tests,
9648 frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
9649 * config/i386/i386.c (ix86_comparison_operator,
9650 ix86_carry_flag_operator, fcmov_comparison_operator,
9651 arith_or_logical_operator, print_operand,
9652 ix86_expand_binary_operator, ix86_binary_operator_ok):
9653 Likewise.
9654 * config/i386/i386.md: Likewise.
9655 * config/ia64/ia64.c (not_postinc_memory_operand,
9656 ia64_print_operand, update_set_flags, errata_emit_nops):
9657 Likewise.
9658 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
9659 CONSTRAINT_OK_FOR_S): Likewise.
9660 * config/ip2k/ip2k.c (mdr_resequence_xy_yx,
9661 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
9662 ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
9663 ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
9664 Likewise.
9665 * config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
9666 eqne_comparison_operator, signed_comparison_operator):
9667 Likewise.
9668 * config/mips/mips.c (cmp_op, symbolic_expression_p):
9669 Likewise.
9670 * config/mmix/mmix (mmix_foldable_comparison_operator,
9671 mmix_comparison_operator): Likewise.
9672 * config/pa/pa.c (hppa_legitimize_address): Likewise.
9673 * config/rs6000/rs6000.c (stmw_operation,
9674 branch_comparison_operator, trap_comparison_operator,
9675 ccr_bit): Likewise.
9676 * config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
9677 * config/s390/s390.c (s390_alc_comparison,
9678 s390_slb_comparison):L Likewise.
9679 * config/sh/sh.c (gen_block_redirect, reg_unused_after):
9680 Likewise.
9681 * config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
9682 noov_compare_op, noov_compare64_op, v9_regcmp_op,
9683 emit_hard_tfmode_operation, reg_unused_after)
9684 * doc/md.texi, doc/rtl.texi: Likewise.
9685
9686 * ra-debug.c: Add 2004 to list of copyright years.
9687 * unroll.c: Likewise.
9688
9689 * combine.c (simplify_logical): Remove dummy test,
9690 (apply_distributive_law): Fix typo in comment.
9691 GET_CODE (x) == AND so x is a commutative binary op.
9692 * jump.c (delete_related_insns): simplify loop
9693 condition, move testing of RTX codes inside the loop.
9694 (rtx_renumbered_equal_p): do not use RTX_CODE.
9695 * rtl.c (rtx_class): Declare as enum rtx_class.
9696 * rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
9697 Move to RTX_COMM_COMPARE class.
9698 (HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
9699 Move to RTX_CONST_OBJ class.
9700 * rtl.h (enum rtx_class): New declaration,
9701 (RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
9702 RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
9703 RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
9704 RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
9705 RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
9706 ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
9707 SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
9708 OBJECT_P): New macros.
9709 * config/sparc/sparc.c (noov_compare_op): Remove register
9710 from parameter.
9711
a841ab8b
KH
97122004-03-03 Kazu Hirata <kazu@cs.umass.edu>
9713
9714 * target.h: Remove texi jargons in comments.
9715
cb36ddba
KH
97162004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9717
9718 * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
9719 threshold to 0x4f.
9720
9721 Revert:
9722 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
9723 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
9724 as well.
9725 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
9726 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
9727
66c87bae
KH
97282004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9729
9730 * doc/md.texi (cbranchmode4): New.
9731
91e01231
EC
97322004-03-02 Eric Christopher <echristo@redhat.com>
9733
9734 * config/mips/mips16.S: Change fixsfsi and fixdfsi to
9735 fix_trunc.
9736 * config/mips/mips.c (mips_init_libfuncs): Change accordingly.
9737 * config/mips/t-elf (LIB1ASMFUNCS): Ditto.
9738 * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
9739 * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
9740
27ab3e91
RH
97412004-03-02 Richard Henderson <rth@redhat.com>
9742
3205a71e
ZW
9743 PR middle-end/11767
9744 * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
9745 * optabs.c (prepare_cmp_insn): Force trapping memories to registers
9746 before the compare, if flag_non_call_exceptions.
27ab3e91 9747
0eadce52
RH
97482004-03-02 Richard Henderson <rth@redhat.com>
9749
9750 PR middle-end/14327
9751 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
9752 emitting the label, not after.
9753
de70723b
SC
97542004-03-02 Stephane Carrez <stcarrez@nerim.fr>
9755
9756 * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
9757 (m68hc11_mov_addr_mode): Likewise.
9758 (m68hc11_override_options): Initialize them based on target.
9759 (register_indirect_p): Allow a MEM for indirect addressing modes and
9760 use flags to control what is allowed.
9761 (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
9762 supported addressing modes.
9763 (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
9764 (go_if_legitimate_address_internal): Likewise.
9765 (m68hc11_indirect_p): Likewise and check the mode.
9766 (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
9767
d6da68b9
KH
97682004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9769
9770 * builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
9771 (expand_builtin_setjmp_setup): Use
9772 targetm.builtin_setjmp_frame_value instead of
9773 BUILTIN_SETJMP_FRAME_VALUE.
9774 * system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
9775 * target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
9776 (TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
9777 * target.h (gcc_target): Add builtin_setjmp_frame_value.
9778 * targhooks.c (default_builtin_setjmp_frame_value): New.
9779 * targhooks.h: Add a prototype for
9780 default_builtin_setjmp_frame_value.
9781 * doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
9782 TARGET_BUILTIN_SETJMP_FRAME_VALUE.
9783
d87e83b9
SC
97842004-03-02 Stephane Carrez <stcarrez@nerim.fr>
9785
9786 * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
9787 sequences of moves.
9788 (add peepholes): New peepholes to optimize sequences adding small
9789 constants.
9790 (bset peepholes): New peepholes to transform an OR in a bset form
9791 (bclr peepholes): Likewise for bclr form.
9792 (cmp peepholes): New peepholes to avoid register copies when comparing.
9793
d5111c9c
SC
97942004-03-02 Stephane Carrez <stcarrez@nerim.fr>
9795
9796 * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
9797 to separate push from moves.
9798 ("*pushdf_internal"): Likewise.
9799 ("*pushsf_internal"): Likewise.
9800 ("*pushsi_internal"): Likewise.
9801 ("movdi_internal"): Use define_insn_and_split; non push operand.
9802 ("movdf_internal"): Likewise.
9803 ("movsf_internal"): Likewise.
9804 ("movsi_internal"): Likewise.
9805 ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
9806 ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
9807 ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
9808
9449502d
SC
98092004-03-02 Stephane Carrez <stcarrez@nerim.fr>
9810
9811 * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
9812 ("cmphi_z_used", "cmpqi_z_used"): Likewise.
9813 ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
9814 ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
9815 ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
9816 ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
9817 ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
9818 ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
9819 ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
9820 ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
9821 ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
9822
b90f3299
SC
98232004-03-02 Stephane Carrez <stcarrez@nerim.fr>
9824
9825 * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
9826 (SOFT_XY_REGNUM): Define.
9827 (cmp split): Use the above instead of hard coded numbers.
9828 (8-bit op split): No need to check the mode; allow Q_REG.
9829 (ashift split): Adjust the first operand if it uses the SP and we
9830 are pushing the shifted value.
9831 (plus shift split): Fix when a source is in register D+X.
9832 ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
9833
77d2a36d
SC
98342004-03-02 Stephane Carrez <stcarrez@nerim.fr>
9835
9836 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
9837 comparing with Z register.
9838
f2dca510
ZD
98392004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9840
9841 * cfgloop.h (struct loop_desc): Removed.
9842 (struct loop): Fields simple, desc and has_desc removed.
9843 (simple_loop_p, count_loop_iterations): Declaration removed.
9844 * cfgloopanal.c (struct unmark_altered_insn_data): Removed.
9845 (unmark_altered, blocks_invariant_registers, unmark_altered_insn
9846 blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
9847 invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
9848 simple_loop_exit_p, variable_initial_value, variable_initial_values,
9849 simple_condition_p, simple_increment, count_strange_loop_iterations,
9850 inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
9851 Removed.
9852 * loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
9853
87ca8b8c
KH
98542004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9855
9856 * genattrtab.c: Don't handle MATCH_INSN.
9857 * genrecog.c: Likewise.
9858 * gensupport.c: Likewise.
9859 * rtl.def (match_insn): Remove.
9860 * doc/md.texi (match_insn, match_insn2): Remove.
9861
bdc2893c
MM
98622004-03-02 Mark Mitchell <mark@codesourcery.com>
9863
9864 * doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
9865 macro results in memory allocation.
9866
2de2f846
DB
98672004-03-02 David O'Brien <obrien@FreeBSD.org>
9868
9869 * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
9870 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
9871 %(fbsd_dynamic_linker),
9872 (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
9873 config/i386/freebsd.h
9874 * config/arm/freebsd.h: Ditto.
9875 * config/i386/freebsd.h: Ditto.
9876 * config/i386/freebsd64.h: Ditto.
9877 * config/ia64/freebsd.h: Ditto.
9878 * config/rs6000/sysv4.h: Ditto.
9879 * config/sparc/freebsd.h: Ditto.
9880
f08dc6c1
LR
98812004-03-02 Loren James Rittle <ljrittle@acm.org>
9882
9883 * gcc/doc/install.texi (*-*-freebsd*): Update target information.
9884
c24938d4
KH
98852004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9886
9887 * rtl.def (define_combine): Remove.
9888
ba29f5de
KH
98892004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9890
9891 * config/h8300/h8300.md: Tweak formatting.
9892
a5a0ab45
KH
98932004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9894
9895 * config/h8300/h8300.md (*cmphi_h8300): Rename to
9896 *cmphi_h8300_znvc.
9897 (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
9898
e451301f
MM
98992004-03-01 Mark Mitchell <mark@codesourcery.com>
9900
9901 PR bootstrap/14356
9902 * gcc.c (process_command): Remove const-qualification from argv.
9903 (main): Likewise.
9904
b698e58b
KH
99052004-03-02 Kazu Hirata <kazu@cs.umass.edu>
9906
9907 * config/h8300/h8300.md (pushqi1_h8300hs): Rename to
9908 pushqi1_h8300hs_advanced. Adjust its caller.
9909 (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
9910 Adjust its caller.
9911
a5c40cfb 99122004-03-02 Nicolas Roche <roche@act-europe.fr>
3a41db81
NR
9913
9914 * Makefile.in (install-libgcc, install-multilib): Pass
9915 mkinstalldirs var to libgcc.mk.
9916
fdf89bf5
KH
99172004-03-01 Kazu Hirata <kazu@cs.umass.edu>
9918
9919 * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
9920 * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
9921
0e26895c
KH
99222004-03-01 Kazu Hirata <kazu@cs.umass.edu>
9923
9924 * config/h8300/h8300.c (gtle_operator): Accept GT and LE.
9925 * config/h8300/h8300.md: Split several peephole2's, each into
9926 two.
9927
738ed977
ZD
99282004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9929
9930 * dominance.c (recount_dominator): Handle postdominators.
9931
e245bd81
RS
99322004-03-01 Richard Sandiford <rsandifo@redhat.com>
9933
9934 * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
9935 (NUM_SYMBOL_TYPES): Likewise.
9936 (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
9937 (mips_unspec_address): Declare.
9938 (mips_gotoff_page, mips_gotoff_global): Delete.
9939 * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
9940 * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
9941 (mips_symbolic_constant_p, mips_symbolic_address_p)
9942 (mips_symbol_insns): Handle new symbol types.
9943 (general_symbolic_operand): New predicate.
9944 (mips_unspec_address): Make extern.
9945 (mips_gotoff_page, mips_gotoff_global): Delete.
9946 (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
9947 Handle new symbol types.
9948 * config/mips/mips.md (*lea_high64, *lea64): New patterns.
9949 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
9950 mips_unspec_address directly.
9951 * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
9952 the documentation of -mexplicit-relocs.
9953
9bf793f9
JL
99542004-03-01 Jeff Law <law@redhat.com>
9955
9956 * fold-const.c (fold): An equality comparison of a non-weak object
9957 against zero has a known result. Similarly an equality comparison
9958 of the address of two non-weak, unaliased symbols has a known result.
91e01231 9959
9bf793f9
JL
9960 * ggc-page.c (struct page_entry): New field PREV.
9961 (ggc_alloc): Update PREV field appropriately.
9962 (sweep_pages): Likewise.
9963 (ggc_free): Likewise. Use PREV field rather than loop to
9964 improve ggc_free performance.
91e01231 9965
c9e0ce37
RS
99662004-03-01 Richard Sandiford <rsandifo@redhat.com>
9967
9968 * config/mips/mips.c (mips_output_division): Use the division
9969 instruction to fill the delay slot of a zero check.
9970 (mips_idiv_insns): Adjust accordingly.
9971
65d151a7
NN
99722004-03-01 Nathanael Nerode <neroden@gcc.gnu.org>
9973
9974 * config.gcc: Create a default tmake_file for linux, and use
9975 it in all but two linux clauses. Comment those two.
9976
9a5a17f3
PB
99772004-03-01 Paolo Bonzini <bonzini@gnu.org>
9978
9979 * combine.c (try_combine): Do not refer to is_replaced.
9980 (gen_lowpart_for_combine): Perverse subregs now have a
9981 more politically correct name.
9982 * cse.c (cse_insn): Likewise.
9983 * jump.c: Fix bogus reference to delete_insn.
9984
c5b6f18e
MM
99852004-02-29 Mark Mitchell <mark@codesourcery.com>
9986
5bb2ed2c
MM
9987 PR debug/14328
9988 * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
9989 constants as signed values.
9990
c5b6f18e
MM
9991 PR middle-end/13448
9992 * c-tree.h (readonly_warning): Rename to ...
9993 (readonly_error): ... this.
9994 * c-typeck.c (build_unary_op): Adjust accordingly.
9995 (readonly_warning): Rename to ...
9996 (readonly_error): ... this and issue errors, not warnings.
9997 (build_modify_expr): Call readonly_error, not readonly_warning.
9998 (c_expand_asm_operands): Likewise.
9999 * tree-inline.c (optimize_inline_calls): Do not inline functions
10000 after errors have occurred.
10001
8bb915b6
NN
100022004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
10003
10004 * configure.ac: Rearrange some threading code for clarity;
10005 add section comment.
10006 * configure: Regenerate.
10007
4ee31f1e
KH
100082004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10009
10010 * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
10011 typos.
10012 * doc/cppopts.texi: Fix a typo.
10013
15ec19b9
KH
100142004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10015
10016 * config/i386/i386.md: Fix formatting.
10017
cbff2c1c
NN
100182004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
10019
630327c3
NN
10020 * configure.ac: Add some comments delineating sections of code.
10021
38fe9090
NN
10022 * doc/install.texi: Note that libada uses autoconf 2.57 also.
10023
42fce956
NN
10024 * doc/install.texi: Fix idiot typo in previous commit.
10025
cbff2c1c
NN
10026 * doc/install.texi: Update for conversion of intl to autoconf 2.57.
10027
c8574b54
KH
100282004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10029
10030 * config/h8300/h8300.md: Add comments about peephole2's.
10031
2f537af9
KH
100322004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10033
10034 * config/h8300/h8300.md: Tweak operand numbers of some
10035 peephole2's.
10036
a207f649
KH
100372004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10038
10039 * config/h8300/h8300.md: Tweak comments about peephole2's.
10040
bc41842b
RS
100412004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>
10042
10043 PR middle-end/14203
10044 * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
10045 instead of testing whether DECL_RTL is not NULL.
10046
832a3292
KH
100472004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10048
10049 * config/sh/sh.c: Fix formatting.
10050
508ea1c5
KH
100512004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10052
10053 * config/sh/sh.c: Convert to ISO-C.
10054
dd833c7b 100552004-02-28 Andrew Pinski <pinskia@physics.uc.edu>
91e01231 10056
8cd6bdd1
AP
10057 * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
10058 my previous patch.
dd833c7b
AP
10059
10060 * config/darwin.h (machopic_finish): Output stub even if the
10061 symbol is already defined.
10062
5f190838
JDA
100632004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10064
10065 * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
10066
c1a41c2f
KH
100672004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10068
10069 * genattr.c (main): Don't define
10070 TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
10071 * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
10072 (DFA_PIPELINE_INTERFACE): Likewise.
10073 * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
10074 (DFA_PIPELINE_INTERFACE): Likewise.
10075
757f9053
RS
100762004-02-28 Richard Sandiford <rsandifo@redhat.com>
10077
10078 * config/mips/mips.md (tstsi, tstdi): Delete.
10079
23cf6987
MR
100802004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
10081
91e01231 10082 * config/mips/mips.c (override_options): Remove an obsolete
23cf6987
MR
10083 duplicate definition of the "e" constraint.
10084 * config/mips/mips.h: Update a comment accordingly.
10085
bddbfe5f
MR
100862004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
10087
10088 * config/mips/mips.md: Complete the unfinished R4000
10089 multiply/shift errata workaround. Improve documentation.
10090 (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
10091 has a hilo hazard.
10092 (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
10093 (muldi3, muldi3_internal): Likewise.
10094 (muldi3_internal2): Remove, replacing with...
10095 (muldi3_mult3, muldi3_r4000): ...these new patterns.
10096 (mulsidi3): Take the errata into account.
10097 (mulsidi3_32bit): Remove, replacing with...
10098 (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
10099 (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
10100 (umulsidi3): Take the errata into account.
10101 (umulsidi3_32bit): Remove, replacing with..
10102 (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
10103 (umulsi3_highpart, umulsi3_highpart_internal): Disable if
10104 TARGET_FIX_R4000.
10105 (smulsi3_highpart, smulsi3_highpart_internal): Likewise.
10106 (smuldi3_highpart, umuldi3_highpart): Likewise.
10107 * doc/invoke.texi: Document the errata workaround.
10108
46490403
MR
101092004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
10110
10111 * config/mips/mips-protos.h (mips_idiv_insns): Declare.
10112 * config/mips/mips.h (MASK_FIX_SB1): Bump.
10113 (MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
10114 (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
10115 * config/mips/mips.c (mips_idiv_insns): New function.
10116 (override_options): Make -march=r4000 imply -mfix-r4000 by default.
10117 (mips_output_division): Add a workaround for the R4000 divide/shift
10118 errata.
10119 * config/mips/mips.md (length): Use mips_idiv_insns() to calculate
10120 the length of an "idiv" instruction.
10121 * doc/invoke.texi: Document the new switches.
10122
1b2c3767
KH
101232004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10124
10125 * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
10126 TARGET_SCHED_IS_COSTLY_DEPENDENCE.
10127
79771cc4
ZD
101282004-02-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10129
10130 PR optimization/14229
10131 * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
10132
68a1a5da
EB
101332004-02-28 Eric Botcazou <ebotcazou@act-europe.fr>
10134
10135 * fold-const.c (fold): Strip NOPs that change the signedness
10136 for RSHIFT too. Expand comment.
10137
a10016d3
ILT
101382004-02-27 Ian Lance Taylor <ian@wasabisystems.com>
10139
10140 PR optimization/7871
10141 * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
68a1a5da 10142 from or to call insns.
a10016d3
ILT
10143
101442004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr>
10145
10146 PR optimization/7871
10147 * flow.c (propagate_one_insn): Interpret calls as setting global
10148 registers, not merely clobbering them.
10149
b30e1617 101502004-02-27 Dale Johannesen <dalej@apple.com>
a10016d3 10151
b30e1617
DJ
10152 * config/darwin.c (machopic_output_possible_stub_label): Remove.
10153 config/darwin-protos.h: Ditto.
10154 config/darwin.h: Remove call to it.
10155 * combine.c (distribute_notes): Do not place a REG_DEAD note
10156 when value is both set and used.
10157
bbc51dc2
KH
101582004-02-27 Kazu Hirata <kazu@cs.umass.edu>
10159
10160 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
10161 as well.
10162 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
10163 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
10164
dedbabed
AP
101652004-02-27 Andrew Pinski <apinski@apple.com>
10166
10167 * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
10168 Speedup common case of the type values being in the same order.
10169
b6b979d4
SE
101702004-02-27 Steve Ellcey <sje@cup.hp.com>
10171
10172 * config/ia64/ia64.h (no-inline-float-divide): New option.
10173 * config/ia64/ia64.h (no-inline-int-divide): New option.
10174 * config/ia64/ia64.h (no-inline-sqrt): New option.
10175 (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
10176 * config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
10177 * config/ia64/ia64.c (ia64_override_options): Modify error
10178 checking for inlined division/sqrt.
10179
88462c42
KH
101802004-02-27 Kazu Hirata <kazu@cs.umass.edu>
10181
10182 * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
10183 ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
10184 value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
10185 config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
10186 copyright.
10187
53c428d0
PB
101882004-02-27 Paul Brook <paul@codesourcery.com>
10189
10190 * function.c (assign_parms): Don't count pretend args for alignment.
10191
f6db1481
RH
101922004-02-27 Richard Henderson <rth@redhat.com>
10193
10194 * passes.c: New file.
10195 * Makefile.in (OBJS-common): Add it.
10196 * diagnostic.c (rtl_dump_and_exit): Move decl ...
10197 * flags.h (rtl_dump_and_exit): ... here.
91e01231 10198 * output.h (size_directive_output, last_assemble_variable_decl):
f6db1481
RH
10199 Move from toplev.c.
10200 * rtl.h (reg_alloc): Move from toplev.c.
10201 * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
10202 struct dump_file_info, enum dump_file_index, dump_file_tbl,
10203 open_dump_file, close_dump_file, rest_of_decl_compilation,
10204 rest_of_type_compilation, rest_of_handle_final,
91e01231 10205 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
f6db1481
RH
10206 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
10207 rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
10208 rest_of_handle_regrename, rest_of_handle_reorder_blocks,
10209 rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
91e01231 10210 rest_of_handle_tracer, rest_of_handle_if_conversion,
f6db1481
RH
10211 rest_of_handle_if_after_combine, rest_of_handle_web,
10212 rest_of_handle_branch_prob,
10213 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
91e01231 10214 rest_of_handle_addressof, rest_of_handle_sibling_calls,
f6db1481
RH
10215 rest_of_handle_jump_bypass, rest_of_handle_inlining,
10216 rest_of_handle_null_pointer, rest_of_handle_combine,
10217 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
91e01231 10218 rest_of_handle_gcse, rest_of_handle_loop_optimize,
f6db1481
RH
10219 rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
10220 (decode_d_option): Use enable_rtl_dump_file.
10221 (compile_file, finalize, do_compile): Move profile+combine+graph
10222 cleanup to finish_optimization_passes.
10223 * toplev.h (init_optimization_passes, finish_optimization_passes,
10224 enable_rtl_dump_file): Declare.
10225
288dc1ea 102262004-02-27 Eric Botcazou <ebotcazou@act-europe.fr>
3205a71e 10227 Roger Sayle <roger@eyesopen.com>
288dc1ea
EB
10228
10229 * fold-const.c (fold): Revert 2004-02-25 change. Use the original
10230 operands to build a tree with swapped operands.
10231 * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
10232 'unsignedp' predicate to specify the signedness.
10233
a1105617
KH
102342004-02-27 Kazu Hirata <kazu@cs.umass.edu>
10235
10236 * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
10237 expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
10238 params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
10239 comment typos and formatting. Follow spelling conventions.
10240
d095928f
AH
102412004-02-26 Aldy Hernandez <aldyh@redhat.com>
10242
10243 * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
10244 fix_truncsfsi2.
10245
10246 * config/rs6000/spe.md: Delete spe_efsctuiz.
10247 Add spe_fixuns_truncsfsi2.
10248 Add spe_fix_truncsfsi2.
91e01231 10249
21526606
EC
102502004-02-26 Eric Christopher <echristo@redhat.com>
10251
10252 * c-lex.c (c_lex_string_translate): New variable.
10253 (lex_string): Use to determine string translation.
10254 * c-pragma.h: Prototype.
10255 * c-parse.in (start_string_translation): New. Set above.
10256 (stop_string_translation): Ditto.
10257 (attribute, attribute_list, asm_def, asm_stmt,
10258 asm_operand): Use above functions.
10259 * cp/parser.c (cp_parser_declaration): Translate strings
10260 unless token is RID_EXTERN. Set c_lex_string_translate
10261 for recursive use.
10262 (cp_parser_asm_definition): Only translate argument strings
10263 to asms.
10264 (cp_parser_asm_operand_list): Ditto.
10265 (cp_parser_attribute_list): Do not translate attribute strings.
10266
e8eebd31
KH
102672004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10268
10269 * stmt.c (expand_start_case_dummy): Remove.
10270 * tree.h: Remove the corresponding prototype.
10271
8f2de5f1
KH
102722004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10273
10274 * builtins.c (apply_args_register_offset): Remove.
10275 * tree.h: Remove the corresponding prototype.
10276
c7924937
KH
102772004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10278
10279 * stor-layout.c (is_pending_size): Remove.
10280 * tree.h: Remove the corresponding prototype.
10281
ca0afc29
KH
102822004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10283
10284 * recog.c (validate_replace_src): Remove.
10285 * recog.h: Remove the corresponding prototype.
10286
6c5caf00
KH
102872004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10288
10289 * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
10290 MAYBE_REG_PARM_STACK_SPACE.
10291 * function.c: Likewise.
10292 * system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
10293 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
10294 * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
10295 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
10296
17fd9cb9
KH
102972004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10298
10299 * c-decl.c (c_expand_deferred_function): Remove.
10300 * c-tree.h: Remove the corresponding prototype.
10301
ec5de8d8
KH
103022004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10303
10304 * postreload.c (reload_cse_move2add): Generate just a PLUS
10305 instead of an entire SET.
10306
5bbeea44
JH
103072004-02-26 Jan Hubicka <jh@suse.cz>
10308
10309 * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
10310 /pentium4m.
10311 * i386.c (override_options): Add support for new CPUs.
10312 * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
10313 (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
10314 constants.
10315 * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
10316
48c0150c
BW
103172004-02-26 Bob Wilson <bob.wilson@acm.org>
10318
10319 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
10320
b178305d
EB
103212004-02-26 Eric Botcazou <ebotcazou@act-europe.fr>
10322
10323 * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
10324 (sparc_emit_fixunsdi): New prototype.
10325 * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
10326 (sparc_emit_fixunsdi): New function.
10327 * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
10328 operand 1. Pass SFmode to sparc_emit_floatunsdi.
10329 (floatunsdidf2): Use 'general_operand' for operand 1. Pass DFmode
10330 to sparc_emit_floatunsdi.
10331 (fixuns_truncsfdi2): New expander.
10332 (fixuns_truncdfdi2): Likewise.
10333
fb643f64
AM
103342004-02-26 Alan Modra <amodra@bigpond.net.au>
10335
10336 * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
10337 unless HAVE_cc0.
10338
4a4f95d9
RH
103392004-02-25 Richard Henderson <rth@redhat.com>
10340
10341 * explow.c (force_reg): Call mark_reg_pointer as appropriate.
10342 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
10343 use (op0-op1) == 0 if op0 is a pointer.
10344 * config/alpha/alpha.md (cmpdi): Use some_operand.
10345 (three comparison combine splits): Remove.
10346
f6a76b9f
RH
103472004-02-25 Richard Henderson <rth@redhat.com>
10348
0d593f31 10349 PR c/12794
f6a76b9f
RH
10350 * c-common.c (handle_alias_attribute): Reject the attribute if
10351 current_function_decl is set.
10352
30500d84
KC
103532004-02-25 Kelley Cook <kcook@gcc.gnu.org>
10354
10355 * config.gcc: Add comment describing extra_gcc_objs.
10356 i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
10357 * configure.ac (extra_gcc_objs): New substitution variable.
10358 (host_extra_gcc_objs): Don't substitute.
10359 * configure: Regenerate.
10360 * Makefile.in: Use extra_gcc_objs.
10361
ed80fa2e
KC
103622004-02-25 Kelley Cook <kcook@gcc.gnu.org>
10363
10364 * doc/contrib.texi: Add an entry for myself.
10365
12c3874e
JH
103662004-02-25 Jan Hubicka <jh@suse.cz>
10367
10368 * basic-block.h (make_eh_edge, break_superblocks): Declare.
10369 * cfgbuild.c (make_eh_edge): Make global.
10370 * cfglayout.c (break_superblocks): Likewise; fix memory leak.
10371 * except.c (build_post_landing_pads, connect_post_landing_pads,
10372 dw2_build_landing_pads, sjlj_emit_function_enter,
21526606 10373 sjlj_emit_function_exit, sjlj_emit_dispatch_table,
12c3874e
JH
10374 sjlj_build_landing_pads): Update CFG.
10375 (emit_to_new_bb_before): New function.
10376 (finish_eh_generation): Do not rebuild the CFG.
10377
7b79fe71
JDA
103782004-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10379
10380 * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
10381 target_cpu_default defines.
10382 * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
10383 * pa.h (TARGET_DEFAULT): Likewise.
10384
81fbecac
EB
103852004-02-25 Eric Botcazou <ebotcazou@act-europe.fr>
10386
10387 * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
10388 comparisons with regard to signedness.
10389
6f5b4f3e
RE
103902004-02-25 Richard Earnshaw <rearnsha@arm.com>
10391
10392 * arm.c (thumb_legitimize_address): New function.
10393 * arm-protos.h: Prototype it.
10394 * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
10395 (LEGITIMIZE_ADDRESS): Use it.
10396
4ab51fb5
R
103972004-02-25 J"orn Rennecke <joern.rennecke@superh.com>
10398
10399 * reload1.c (reload): Only spill eliminable register with multiple
10400 adjacent elimination alternatives if all alternatives fail.
10401
e1471c91
RE
104022004-02-25 Richard Earnshaw <rearnsha@arm.com>
10403
10404 * arm.c (arm_legitimate_index_p): For QImode the range of an offset
10405 is -4095...+4095 inclusive.
10406
94b18ec1
EB
104072004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr>
10408
10409 * doc/install.texi (sparc-sun-solaris2* specific notes): Document
10410 the bootstrap failure with Sun CC 5.4 and 5.5.
10411
2e802a6f
KH
104122004-02-24 Kazu Hirata <kazu@cs.umass.edu>
10413
10414 * cse.c (cse_change_cc_mode_insns): Stop at any instruction
10415 which modifies NEWREG.
10416 (cse_condition_code_reg): Update the mode of CC_REG in
10417 CC_SRC_INSN on our own.
10418
89ab2b79
MM
104192004-02-24 Michael Matz <matz@suse.de>
10420
10421 * config/i386/i386.c (ix86_comp_type_attributes): Check for
10422 regparm attributes.
10423
c263766c
RH
104242004-02-24 Richard Henderson <rth@redhat.com>
10425
10426 * toplev.c (dump_file_tbl): Rename from dump_file.
10427 * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
c53bdcf5 10428 cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
c263766c
RH
10429 config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
10430 config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
10431 loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
10432 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
10433 toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
10434 s/rtl_dump_file/dump_file/g.
10435
dba2921d
AH
104362004-02-24 Aldy Hernandez <aldyh@redhat.com>
10437
3205a71e
ZW
10438 * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
10439 (spe_fixuns_truncsfsi2): Delete.
dba2921d 10440
3205a71e
ZW
10441 * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
10442 (fixuns_truncsfsi2): Delete.
dba2921d 10443
173cd571
JZ
104442004-02-24 Josef Zlomek <zlomekj@suse.cz>
10445
10446 PR/14240
10447 * rtlanal.c (replace_label): Fix replacing labels in constant pool.
10448
8db4d7a1
GK
104492004-02-24 Geoffrey Keating <geoffk@apple.com>
10450
10451 * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
10452
896c3aa3
JM
104532004-02-24 Jason Merrill <jason@redhat.com>
10454
10455 * tree.c (check_qualified_type): New fn.
10456 (get_qualified_type): Use it. If type already has the desired
10457 quals, just return it.
10458 * tree.h: Declare it.
896c3aa3 10459
58565a33
SKG
104602003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
10461
10462 * target-def.h (TARGET_SCHED_INIT_GLOBAL,
10463 TARGET_SCHED_FINISH_GLOBAL): New macros.
10464
10465 * target.h (md_init_global, md_finish_global): Function
10466 declarations corresponding to new target macros.
10467
10468 * haifa-sched.c (sched_init, sched_finish): Allow target to
10469 call the new schedular hooks.
10470
10471 * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
10472 call to update_life_info.
10473
10474 * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
10475 flag_schedule_insns for SH4.
10476
10477 * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
10478 find_set_regmode_weight, find_insn_regmode_weight,
10479 find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
10480 sh_variable_issue, high_pressure, ready_reorder,
10481 rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
10482 functions used to throttle the insn movement in first
10483 scheduling pass for SH.
10484
10485 * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
10486 TARGET_SCHED_FINISH_GLOBAL.
10487
34208acf
AO
104882004-02-24 Alexandre Oliva <aoliva@redhat.com>
10489
10490 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
10491 2004-02-05 Alexandre Oliva <aoliva@redhat.com>
10492 * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
10493 symbols in sections named by the user.
10494 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
10495 * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
10496 2004-01-27 Alexandre Oliva <aoliva@redhat.com>
10497 * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
10498 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
10499 the above.
10500 2004-01-20 Alexandre Oliva <aoliva@redhat.com>
10501 * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
10502 one more pseudo to further improve code generation.
10503 2004-01-19 Alexandre Oliva <aoliva@redhat.com>
10504 * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
10505 inside UNSPEC.
10506 2004-01-16 Alexandre Oliva <aoliva@redhat.com>
10507 * config/frv/frv.c (frv_legitimate_address_p): Added
10508 allow_double_reg_p argument. Adjust all callers. Use it to
10509 decide whether to enable double-register indirect addressing.
10510 (frv_funcdesc_alias_set): Remove.
10511 (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
10512 register. Emit movdi_ldd.
10513 (ldd_address_operand): New.
10514 * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
10515 * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
10516 (PREDICATE_CODES): Add ldd_address_operand.
10517 * config/frv/frv.md (movdi_ldd): New.
10518 (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
10519 intermediate computations if possible.
10520 (symGOTOFF2reg_i): Fix harmless typo.
10521 2003-12-18 Alexandre Oliva <aoliva@redhat.com>
10522 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
10523 relocated p_vaddr to vaddr type.
10524 * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
10525 * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
10526 (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
10527 MEM, or use a funcdesc alias set. Use regular move instead of
10528 ldd.
10529 (dbl_memory_one_insn_operand): Recognize function descriptors by
10530 type or by alias set, and don't split them.
10531 * config/frv/frv.md (call, call_value): Never use call_internal
10532 for fdpic.
10533 (call_internal, call_value_internal): Never match for FDPIC.
10534 (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
10535 call_value_fdpicsi): Require FDPIC.
10536 (ldd): Removed.
10537 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
10538 * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
10539 * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
10540 (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
10541 FDPIC. Compute data base address.
10542 * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
10543 before the other self-specs are processed.
10544 * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
10545 Build with -fPIC.
10546 2003-12-15 Alexandre Oliva <aoliva@redhat.com>
10547 * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
10548 inhibit_libc is defined.
10549 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
10550 * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
10551 __FRV_FDPIC__.
10552 (__RELOC_POINTER): Define.
10553 (_Unwind_IteratePhdrCallback): Use it.
10554 * config/frv/frv.h (Twrite): Define.
10555 (TRANSFER_FROM_TRAMPOLINE): Use it.
10556 * config/frv/linux.h (INVOKE__main): Undefine.
10557 (Twrite): Override.
10558 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
10559 * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
10560 (-mlibrary-pic): Emphasize that this option generates EABI code.
10561 (-mcpu): Add fr550.
10562 (-mpack): Remove.
10563 2003-11-30 Alexandre Oliva <aoliva@redhat.com>
10564 * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
10565 and CONSTs in FDPIC mode.
10566 * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
10567 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
10568 * config/frv/frv.c (move_source_operand): Don't accept symbolic
10569 constants.
10570 * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
10571 rather than 'i' constraint for the 2-instruction alternative.
10572 (*movsi_2word): New, incorporating existing int_2word_operand splitter.
10573 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
10574 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
10575 EXTRA_CONSTRAINT_FOR_Y.
10576 (EXTRA_CONSTRAINT): Remove handling of 'Y'.
10577 * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
10578 (addsi3): Change 'Y' constraint to 'Q'.
10579 2003-11-27 Richard Sandiford <rsandifo@redhat.com>
10580 * reload.c (CONST_POOL_OK_P): New macro.
10581 (find_reloads): Use it to decide whether a constant can be forced
10582 into memory.
10583 * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
10584 constant satisfies got12_operand.
10585 (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
10586 (frv_legitimate_address_p): Check for valid unspec offsets using
10587 got12_operand rather than frv_legitimate_fdpic_operand_p.
10588 (frv_legitimate_fdpic_operand_p): Delete.
10589 (frv_emit_movsi): Abort if we try to use the FDPIC register during
10590 or after reload.
10591 (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
10592 TARGET_FDPIC.
10593 * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
10594 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
10595 * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
10596 (frv_fdpic_fptr_operand): Don't declare here.
10597 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
10598 rather than fdpic_got12_operand.
10599 (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
10600 got12_operand and const_unspec_operand.
10601 * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
10602 (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
10603 (symbolic_operand): Remove.
10604 (const_unspec_operand): New predicate.
10605 * config/frv/frv.md (*movsi_got): Use got12_operand.
10606 (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
10607 2003-11-18 Richard Sandiford <rsandifo@redhat.com>
10608 * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
10609 * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
10610 * config/frv/frv.c (frv_unspec): New structure.
10611 (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
10612 (frv_print_operand_memory_reference): Use frv_const_unspec_p to
10613 validate CONST indices. Use frv_output_const_unspec to print them.
10614 (frv_print_operand): Update call to unspec_got_name. Use
10615 frv_output_const_unspec to print constant unspecs.
10616 (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
10617 Reject UNSPECs otherwise.
10618 (unspec_got_name): Take the relocation number as argument, not an
10619 rtx containing it.
10620 (frv_output_addr_const_extra): Remove, replacing with...
10621 (frv_output_const_unspec): ...this new function.
10622 (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
10623 (gpr_or_int12_operand): Use fdpic_got12_operand.
10624 (dbl_memory_one_insn_operand): Likewise.
10625 (fdpic_got12_operand): Use frv_const_unspec_p.
10626 (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
10627 are already legitimate. Use frv_small_data_reloc_p when deciding
10628 whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
10629 2003-11-18 Alexandre Oliva <aoliva@redhat.com>
10630 * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
10631 * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
10632 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
10633 label, for real this time.
10634 * config/frv/frv.c (frv_local_funcdesc_p): Update to new
10635 representation of visibility.
10636 (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
10637 such.
10638 2003-11-17 Richard Sandiford <rsandifo@redhat.com>
10639 * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
10640 (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
10641 * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
10642 it was explicitly disabled.
10643 (frv_stack_info): There is no need to save the link register in every
10644 frame unless TARGET_LINKED_FP is true.
10645 (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
10646 frame pointer if the stack pointer might change value.
10647 (frv_return_addr_rtx): Check and process "count" argument.
10648 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
10649 * config/frv/frv-protos.h (frv_legitimize_address): Remove.
10650 (frv_find_base_term): Declare.
10651 * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
10652 (FIND_BASE_TERM): Define.
10653 (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
10654 small_data_register_operand, small_data_symbolic_operand. Add
10655 symbolic_operand.
10656 * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
10657 (frv_print_operand_memory_reference, output_move_single): Remove
10658 special handling for unlegitimized sdata addresses.
10659 (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
10660 and symbolic addresses.
10661 (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
10662 (frv_find_base_term): New function.
10663 (int_2word_operand): Check specifically for symbolic address constants.
10664 (pic_register_operand, pic_symbolic_operand): Delete.
10665 (small_data_register_operand, small_data_symbolic_operand): Delete.
10666 (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
10667 Allow UNSPEC_GOT constants if !TARGET_FDPIC.
10668 (move_source_operand): Only accept CONSTs if they're a two-insn
10669 symbolic constant.
10670 (fdpic_got12_operand): Don't require TARGET_FDPIC.
10671 (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
10672 using gen_symGOTOFF2reg*.
10673 (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
10674 (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
10675 themselves a cost of 3 insns.
10676 * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
10677 Change predicate to symbolic_operand.
10678 (*movsi_high_got, *movsi_lo_sum_got): Likewise.
10679 (*movsi_lda_sdata): Delete.
10680 (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
10681 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
10682 * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
10683 frv-*-*linux*.
10684 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
10685 label.
10686 * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
10687 -multilib-library-pic.
10688 (LINK_SPEC): Add -z text for -mfdpic.
10689 * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
10690 * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
10691 * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
10692 Override.
10693 (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
10694 FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
10695 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
10696 crtstuff-generated files.
10697 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
10698 * config.gcc: Add frv-*-*linux*.
10699 * config/frv/linux.h, config/frv/t-linux: New.
10700 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
10701 * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
10702 when -mfdpic even if a linker script is explicitly listed.
10703 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
10704 * config/frv/frv.c (frv_override_options): Clear asm_out
10705 unaligned_op for SImode on FDPIC.
10706 (frv_emit_movsi): Use compute_reloc_for_constant to compute the
10707 argument passed to decl_readonly_section.
10708 (frv_assemble_integer): Revert 2003-09-30's change, but make the
10709 whole block run with FDPIC even with -fno-PIC.
10710 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
10711 * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
10712 symbol or label plus offset to memory.
10713 (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
10714 GOTOFF and GPREL for LABEL_REF.
10715 * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
10716 -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
10717 (MASK_GPREL_RO, TARGET_GPREL_RO): New.
10718 (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
10719 * doc/invoke.texi: Document them.
10720 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
10721 * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
10722 (frv_splittable_got_operand): Removed.
10723 * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
10724 LO_SUM. Add comments.
10725 (frv_override_options): Moved enabling of FDPIC to
10726 DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
10727 (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
10728 (frv_legitimize_fdpic_address): Don't duplicate logic in
10729 frv_emit_movsi.
10730 (frv_gen_GPsym2reg): New.
10731 (unspec_got_name): Added gprel.
10732 (frv_expand_fdpic_call): Add support for inlining PLTs.
10733 (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
10734 (gpr_or_int12_operand): Added GPREL12.
10735 (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
10736 (small_data_symbolic_operand): Fail if FDPIC.
10737 (fdpic_splittable_got_operand): Removed.
10738 (fdpic_got12_operand): Added GPREL12.
10739 (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
10740 when appropriate. Fix sdata GOTOFF.
10741 (frv_legitimate_constant_p): Require legitimate PIC operand for
10742 FDPIC with pic, but only a legitimate fdpic operand for non-pic.
10743 (frv_assemble_integer): Move FDPIC funcdesc handling out of
10744 flag_pic case.
10745 (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
10746 frv_assemble_integer fails.
10747 * config/frv/frv.h (DRIVER_SELF_SPECS): New.
10748 (SUBTARGET_DRIVER_SELF_SPECS): New.
10749 (ASM_SPEC): Don't pass -mno-fdpic.
10750 (LINK_SPEC): Pass -melf32frvfd for FDPIC.
10751 (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
10752 (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
10753 -multilib-library-pic.
10754 (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
10755 condexec_si_media_operator, condexec_sf_add_operator and
10756 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
10757 and condexec_sf_unary_operator.
10758 * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
10759 New.
10760 (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
10761 movsi_internal. Give them internal names. movsi_got has type
10762 int.
10763 (fdpic got splitters): Remove.
10764 (symGPREL2reg, symGPREL2reg_hilo): New.
10765 * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
10766 to -mlibrary-pic. Map -multilib-library-pic to it.
10767 * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
10768 Document.
10769 2003-09-28 Alexandre Oliva <aoliva@redhat.com>
10770 * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
10771 (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
10772 (frv_cannot_force_const_mem): New function.
10773 (const_small_data_p, plus_small_data_p): Update comments on sdata
10774 on FDPIC.
10775 (frv_override_options): Set flag_pie for FDPIC too.
10776 (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
10777 call-saved registers on FDPIC.
10778 (frv_stack_info): Don't preserve the PIC register on FDPIC, and
10779 don't force LR to be preserved.
10780 (frv_expand_prologue): Likewise.
10781 (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
10782 (frv_frame_pointer_required): Don't force it just because the
10783 FDPIC register is used.
10784 (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
10785 operand only if !condexec_p.
10786 (frv_legitimize_address): Return the FDPIC-legitimized address.
10787 Don't match small data here on FDPIC.
10788 (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
10789 symbols. Use TRUE/FALSE instead of 1/0.
10790 (frv_local_funcdesc_p): New.
10791 (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
10792 immediates when possible.
10793 (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
10794 (dbl_memory_one_insn_operand): Accept addresses that add a REG and
10795 an UNSPEC_GOT.
10796 (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
10797 12-bit immediates when possible.
10798 (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
10799 are not legitimate pic operands.
10800 (frv_in_small_data_p): Re-enable for FDPIC.
10801 * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
10802 (FRV_GLOBAL_P): Removed.
10803 * config/frv/frv.md: Add modes to CONSTs.
10804 (movsi_got): New.
10805 (movsi_lo_sum_got): Use separate matches instead of match_dup.
10806 (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
10807 (fdpic splittable operations): Match on flag_pic != 1.
10808 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
10809 * config/frv/frv.c (frv_asm_out_constructor,
10810 frv_asm_out_destructor): Pass to frv_assemble_integer the size in
10811 bytes, not bits.
10812 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
10813 * config/frv/frv.c (frv_assemble_integer): Reject complex
10814 expressions referencing function SYMBOL_REFs.
10815 * config/frv/frv.c (frv_function_symbol_referenced_p): New.
10816 (move_source_operand): Reject CONSTs that reference function
10817 SYMBOL_REFs on FDPIC.
10818 (frv_emit_movsi): If we get such a CONST, break it up.
10819 * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
10820 (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
10821 * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
10822 MEM.
10823 (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
10824 (frv_trampoline_size): Increase for FDPIC.
10825 * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
10826 (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
10827 * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
10828 Disable use of GOTOFF for now.
10829 (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
10830 Disable use of small data in FDPIC for now.
10831 (frv_asm_output_mi_thunk): Implement for FDPIC.
10832 * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
10833 * config/frv/frv.c (frv_asm_out_constructor): Use
10834 frv_assemble_integer for FDPIC pointers.
10835 (frv_asm_out_destructor): Likewise.
10836 * config/frv/frv.md (ldd): Fix order of operands. Use
10837 address_operand for input.
10838 2003-09-18 DJ Delorie <dj@redhat.com>
10839 * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
10840 (unspec_got_name): Correct typo.
10841 (frv_emit_movsi): Pre-expand splittable GOTs.
10842 (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
10843 * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
10844 (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
10845 * config/frv/t-frv: Add -mfdpic multilibs.
10846 * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
10847 (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
10848 * config/frv/frv.c (frv_override_options): -mfdpic assumes
10849 flag_pic, default to 32-bit pics, require DWORD ops.
10850 (frv_override_options): Add W and Z constraints.
10851 (frv_expand_prologue): No pic prologue for -mfdpic.
10852 (frv_asm_output_mi_thunk): Support -mfdpic (soon).
10853 (frv_print_operand_memory_reference): Handle GOT constants.
10854 (frv_legitimate_address_p): Allow GOT constants.
10855 (frv_legitimize_address): Handle GOT addresses too.
10856 (frv_legitimate_fdpic_operand_p): New.
10857 (frv_legitimize_fdpic_address): New.
10858 (unspec_got_name): New.
10859 (frv_output_addr_const_extra): New.
10860 (frv_expand_fdpic_call): New.
10861 (frv_fdpic_fptr_operand): New.
10862 (gpr_or_int12_operand): Handle GOT operands.
10863 (int_2word_operand): Handle GOT operands.
10864 (fdpic_operand): New.
10865 (fdpic_splittable_got_operand): New.
10866 (fdpic_got12_operand): New.
10867 (frv_emit_movsi): Handle GOT operands.
10868 (frv_assemble_integer): -mfdpic doesn't use rofixups.
10869 (frv_print_operand): Support 'g' code for GOT operands.
10870 * config/frv/frv-protos.h: Add prototypes as needed.
10871 * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
10872 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
10873 R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
10874 R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
10875 R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
10876 R_FRV_GOTOFFLO): New.
10877 (movsi_high_got, movsi_lo_sum_got): New.
10878 (*movsi_pic): Don't use this splitter for -mfdpic.
10879 (addsi3): Allow GOT references also.
10880 (call, call_value): Handle -mfdpic separately.
10881 (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
10882 call_value_fdpicsi): New.
10883 (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
10884 symGOTOFF2reg_i): New.
10885 * config/frv/frv.h (MASK_FDPIC): New.
10886 (TARGET_FDPIC): New.
10887 (TARGET_SWITCHES): Add -mfdpic.
10888 (FDPIC_FPTR_REGNO): New.
10889 (FDPIC_REGNO): New.
10890 (OUR_FDPIC_REG): New.
10891 (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
10892 FDPIC_CALL_REGS.
10893 (REG_CLASS_NAMES): Likewise.
10894 (REG_CLASS_CONTENTS): Likewise.
10895 (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
10896 (EXTRA_CONSTRAINT): Add it here.
10897 (FRV_GLOBAL_P): New.
10898 (OUTPUT_ADDR_CONST_EXTRA): New.
10899
7e26b0e3
KH
109002004-02-24 Kazu Hirata <kazu@cs.umass.edu>
10901
10902 * config/sparc/sparc.h: Remove commented-out definitions of
10903 TARGET_EDOM and GEN_ERRNO_RTX.
10904
b57f2e10
KH
109052004-02-24 Kazu Hirata <kazu@cs.umass.edu>
10906
10907 * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
10908 df_analyse with df_analyze.
10909
cb7c3c3f
AM
109102004-02-24 Alan Modra <amodra@bigpond.net.au>
10911
10912 * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
10913 beginning of block.
10914
3638733b
JW
109152004-02-23 James E Wilson <wilson@specifixinc.com>
10916
238470bd 10917 * calls.c (precompute_arguments): Update comment.
3638733b 10918
fa0ac78a
KH
109192004-02-23 Kazu Hirata <kazu@cs.umass.edu>
10920
10921 * et-forest.c: Replace et_occurences with et_occurrences.
10922
6d4e0ecc
KH
109232004-02-23 Kazu Hirata <kazu@cs.umass.edu>
10924
10925 * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
10926 with iv_analyze.
10927
9e200aaf
KC
109282004-02-23 Kelley Cook <kcook@gcc.gnu.org>
10929
10930 * config/i386/i386.c: Rename pni to sse3.
10931 * config/i386/i386.h: Likewise.
3205a71e 10932 * config/i386/i386.md: Likewise.
9e200aaf
KC
10933 * config/i386/pmmintrin.h: Likewise.
10934 * doc/extend.texi: Likewise.
10935 * doc/invoke.texi: Likewise.
10936
3521b33c
ZW
109372004-02-23 Zack Weinberg <zack@codesourcery.com>
10938 Kazu Hirata <kazu@cs.umass.edu>
10939
10940 Remove -fwritable-strings.
10941 * c-common.c (fix_string_type): Don't check
10942 flag_writable_strings.
10943 (fix_string_type): Likewise.
10944 * c-opts.c (set_std_c89): Don't initialize
10945 flag_writable_strings.
10946 (set_std_c99): Likewise.
10947 * common.opt (fwritable-strings): Remove.
10948 * flags.h: Remove the external declaration of
10949 flag_writable_strings.
10950 * opts.c (common_handle_option) <OPT_fwritable_strings>:
10951 Remove.
10952 * toplev.c (flag_writable_strings): Remove.
10953 (f_options): Remove an entry for writable-strings.
10954 * varasm.c (const_hash_1) <STRING_CST>: Don't check
10955 flag_writable_strings.
10956 (compare_constant) <STRING_CST>: Likewise.
10957 (build_constant_desc): Likewise.
10958 * config/darwin.c (machopic_select_section): Likewise.
10959 * config/arm/arm.c (AOF_ASSEMBLER): Likewise.
10960 * config/arm/pe.c (arm_pe_encode_section_info): Likewise.
10961 * config/iq2000/iq2000.c (iq2000_select_section): Likewise.
10962 * config/mips/mips.c (mips_select_section): Likewise.
10963 (mips_encode_section_info): Likewise.
10964 * config/pa/pa.c (pa_select_section): Likewise.
10965 * config/pa/pa.h (TEXT_SPACE_P): Likewise.
10966 * config/v850/v850.c (v850_select_section): Likewise.
10967 * doc/invoke.texi (-fwritable-strings): Remove.
10968 (-fno-const-strings): Don't mention -fwritable-strings.
10969 * doc/trouble.texi: Don't mention -fwritable-strings.
10970
eb6bddf6
NN
109712003-02-23 Nathanael Nerode <neroden@gcc.gnu.org>
10972
10973 * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
10974
e0740893
DJ
109752004-02-23 Dale Johannesen <dalej@apple.com>
10976
10977 * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
10978 (movdf_hardfloat64): Ditto.
10979 (movdf_softfloat64): Ditto.
10980
e91fa876 109812004-02-23 Fariborz Jahanian <fjahanian@apple.com>
3205a71e 10982 * config/rs6000/rs6000.c (function_arg): call to
e91fa876 10983 rs6000_mixed_function_arg for DFmode moved to allow
21526606 10984 normal DFmode incoming register assignment.
e91fa876 10985
ae6669e7
DJ
109862004-02-23 Dale Johannesen <dalej@apple.com>
10987
10988 * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
10989 (movdf_hardfloat64): Ditto.
10990
2a9f2ad3
KH
109912004-02-23 Kazu Hirata <kazu@cs.umass.edu>
10992
10993 * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
10994 config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
10995 copyright.
10996
aa5fa0fc
AP
109972004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
10998
a2f1f4c3
AP
10999 PR c/14156
11000 * c-typeck.c (c_expand_return): Change check for VAR_DECL
11001 to use DECL_P instead.
11002
aa5fa0fc
AP
11003 * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
11004 * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
11005
221ee7c9
KH
110062004-02-23 Kazu Hirata <kazu@cs.umass.edu>
11007
11008 * Makefile.in (opts.o): Depend on target.h.
11009 * opts.c (decode_options): Use targetm.default_short_enums
11010 instead of DEFAULT_SHORT_ENUMS.
11011 * system.h (DEFAULT_SHORT_ENUMS): Poison.
11012 * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
11013 (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
11014 * target.h (gcc_target): Add default_short_enums.
11015 * config/cris/cris.h: Remove a comment about
11016 DEFAULT_SHORT_ENUMS.
11017 * config/ip2k/ip2k.h: Likewise.
11018 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
11019 TARGET_DEFAULT_SHORT_ENUMS. Update the description.
11020
bba745c1 110212004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3205a71e 11022 Falk Hueffner <falk@debian.org>
bba745c1
EB
11023
11024 PR c/14188
11025 * builtins.c (expand_builtin_va_arg): Emit an informative message
11026 if a trap is generated.
11027 * c-typeck.c (build_function_call): Likewise.
11028
c2cd64b5
JJ
110292004-02-22 Jakub Jelinek <jakub@redhat.com>
11030
11031 * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
11032 fopen.
11033 * libgcov.c: Include sys/stat.h.
11034 * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
11035 * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
11036 * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
11037 * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
11038
fcfcb20e
KH
110392004-02-22 Kazu Hirata <kazu@cs.umass.edu>
11040
11041 * reorg.c: Remove comments about dead ports.
11042
56d03a40
CF
110432004-02-22 Christopher Faylor <cgf@redhat.com>
11044
11045 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
11046 extra host object file when targetting cygwin rather than generic
11047 object files.
11048
5e20bdd7
JZ
110492004-02-22 Josef Zlomek <zlomekj@suse.cz>
11050
11051 Merge from tree-ssa:
11052 2003-11-20 Richard Henderson <rth@redhat.com>
11053
11054 * tree-inline.c (insert_decl_map): New.
11055 (remap_decl, remap_type, remap_block, copy_body_r,
11056 initialize_inlined_parameters, declare_return_variable,
11057 remap_save_expr): Use it.
11058
11059 * function.c (copy_body_r): Add mapping from id->ret_label to
11060 id->ret_label. Revert test for ret_label.
11061
4112be4a
JJ
110622004-02-22 Jakub Jelinek <jakub@redhat.com>
11063
11064 * genoutput.c (process_template): Strip trailing whitespace in @
11065 templates and issue a warning if there was any.
11066
3a6efa98 110672004-02-21 Christopher Faylor <cgf@redhat.com>
dc4a2f32
CF
11068
11069 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
11070 object file when targetting cygwin.
11071 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
11072 overridden by top-level Makefile.
11073
22cc69c4
RS
110742004-02-21 Roger Sayle <roger@eyesopen.com>
11075
11076 * config/i386/i386.c (standard_80387_constant_p): Also prefer
11077 the x87's load constant instructions when optimizing for size.
11078
bee07d3f
KH
110792004-02-21 Kazu Hirata <kazu@cs.umass.edu>
11080
11081 * combine.c (SHIFT_COUNT_TRUNCATED): Remove.
11082 * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
11083 * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
11084 * fold-const.c: Likewise.
11085 * simplify-rtx.c: Likewise.
11086
da6fdad3
AM
110872004-02-21 Alan Modra <amodra@bigpond.net.au>
11088
11089 * combine.c (can_combine_p): Don't ignore SETs marked with
11090 REG_EH_REGION notes.
11091 (try_combine): When attemting to fix unrecognized insns, don't
11092 split a PARALLEL that contains the original i2.
11093
8bb418a3
ZL
110942004-02-21 Ziemowit Laski <zlaski@apple.com>
11095
11096 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
11097 SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
11098 * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
11099 * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
11100 (vector, pixel, bool): #define to __vector, __pixel and __bool.
11101 (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
11102 portion of header.
11103 (__altivec_link_error_invalid_argument): Remove prototype; will use
11104 __builtin_altivec_compiletime_error("vec_*") instead.
11105 (vec_*): Fix/complete set of available operation overloads given the
11106 existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
11107 cv-correctness of pointer arguments; in C, always check for correct
11108 argument types before macro expansion.
11109 * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
11110 defining Darwin/PowerPC-specific '-f[no-]altivec' and
11111 '-W[no-]altivec-long-deprecated' switches.
11112 * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
11113 '__vector', '__pixel' and '__bool' macros using
11114 '__attribute__((altivec(...)))' types.
11115 * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
11116 bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
11117 bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
11118 New type nodes.
11119 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
11120 handling '-W[no-]altivec-long-deprecated'.
11121 (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
11122 (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
11123 altivec_expand_dst_builtin): Remove casts from integer literals.
11124 (altivec_expand_builtin): Likewise; handle expansion of new
11125 '__builtin_altivec_compiletime_error' function.
11126 (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
11127 types, and make them distinct from other vector types; register
11128 '__builtin_altivec_compiletime_error' function.
11129 (print_operand): For 'P', print a full target register name instead of
11130 merely its number.
11131 (rs6000_attribute_table): Add "altivec" attribute.
11132 (rs6000_handle_altivec_attribute): New function.
21526606 11133 * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
8bb418a3
ZL
11134 '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
11135 maps to).
11136 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
11137 declare.
11138 (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
11139
06a419ff
JW
111402004-02-20 James E Wilson <wilson@specifixinc.com>
11141
11142 * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
11143 check.
11144 (shift_mix4left+2): Delete redundant pattern.
11145
d220de0e
KH
111462004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11147
11148 * alias.c (OUTGOING_REGNO): Don't define the default.
11149 * builtins.c (OUTGOING_REGNO): Likewise.
11150 (INCOMING_REGNO): Likewise.
11151 (apply_args_register_offset): Always use OUTGOING_REGNO.
11152 * combine.c (OUTGOING_REGNO): Likewise.
11153 * sibcall.c (OUTGOING_REGNO): Likewise.
11154 * defaults.h (INCOMING_REGNO): Provide the default.
11155 (OUTGOING_REGNO): Likewise.
11156
701ad47e
JH
111572004-02-21 Jan Hubicka <jh@suse.cz>
11158
11159 * params.def (max-peeled-insns, max-completely-peeled-insns,
11160 max-once-peeled-insns): Set to 400.
11161
7a3e01c4
JDA
111622004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11163
3205a71e 11164 PR c++/12007
7a3e01c4
JDA
11165 * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
11166 are set for parameters before outputing debugging information.
11167
f4d9988b
FH
111682004-02-20 Falk Hueffner <falk@debian.org>
11169
11170 PR target/14201
11171 * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
11172 numbers.
11173
2ae5c785
PB
111742004-02-20 Per Bothner <per@bothner.com>
11175
11176 * input.h: Don't #include line-map.h. It may cause link problems
11177 with undefined linemap_line_start when line-map.h is included but
11178 line-map.o is not linked, as currently happens with gengtype on
11179 compilers that don't support inline.
11180 * toplev.c: So we do have to explicitly #include line-map.h here.
11181
7c4d376d
RH
111822004-02-20 Richard Henderson <rth@redhat.com>
11183
11184 * doc/invoke.texi: Add -Wvariadic-macros.
11185
2c598860
KH
111862004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11187
11188 * haifa-sched.c (sched_emit_insn): Remove.
11189 * sched-int.h: Remove the corresponding prototype.
11190
35afa569
KH
111912004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11192
11193 Revert:
11194 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11195 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
11196 * system.h (DEFAULT_SHORT_ENUMS): Poison.
11197 * config/cris/cris.h: Remove a comment about
11198 DEFAULT_SHORT_ENUMS.
11199 * config/ip2k/ip2k.h: Likewise.
11200 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
11201
c1c3bb0c
ME
112022004-02-20 Mohan Embar <gnustuff@thisiscool.com>
11203 Tom Tromey <tromey@redhat.com>
11204
11205 * doc/install.texi: Moved --disable-libgcj and
11206 --with-system-zlib documentation to new section for
11207 Java-specific options.
11208 Added explicit Cross-Compiler-Specific Options subheading.
11209 Added section for Java-specific options.
11210
ee095310
MK
112112004-02-20 Matt Kraai <kraai@alumni.cmu.edu>
11212
11213 * doc/install.texi (Building the Ada compiler): Remove
3205a71e 11214 example.
ee095310 11215
15316a6f
JW
112162004-02-20 James E Wilson <wilson@specifixinc.com>
11217
11218 * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
11219
9f76f909
KH
112202004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11221
11222 * gcc.c (process_command): Allow translation of the copyright
11223 symbol but not the rest of the copyright message.
11224 * gcov.c (print_version): Likewise. Allow translation of the
11225 message about warranty.
11226
f38a62ff
HPN
112272004-02-20 Hans-Peter Nilsson <hp@axis.com>
11228
11229 * config/cris/cris.md ("*andsi_movu"): Correct parentheses in
11230 predicate.
11231 ("*andsi_clear"): Tweak constraints to not match postincrement.
11232 Adjust the predicate to exclude a volatile memory reference.
11233 ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
11234 ("*andhi_clear_unsigned"): Remove, non-matching pattern.
11235
88e3a2a3
MK
112362004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
11237
11238 * move-if-change: Remove.
11239 * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
11240 (s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
11241 (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
11242 (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
11243 (s-gtyp-gen, s-iov): Use the top level move-if-change.
11244 * objc/Make-lang.in (objc/objc-parse.y): Likewise.
11245
e0c34369
JW
112462004-02-19 James E Wilson <wilson@specifixinc.com>
11247
11248 * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
11249 for operand2. Add condition that requires register_operand operand2
11250 before reload.
11251
656f37ee 112522004-02-19 Richard Sandiford <rsandifo@redhat.com>
2b5f287b 11253 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
656f37ee
RS
11254
11255 * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
11256 * config/mips/mips.md: Expand comment above unaligned loads and stores.
11257
4221057e
RH
112582004-02-19 Richard Henderson <rth@redhat.com>
11259
11260 * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
11261 * tree.c (build0, build1, build2, build3, build4): Split out from...
11262 (build): ... here. Call them.
11263 * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
11264
11265 * convert.c (convert_to_integer): Remove extra build argument.
11266 * tree-inline.c (expand_call_inline): Likewise.
11267
e5b79219
RH
112682004-02-19 Richard Henderson <rth@redhat.com>
11269
11270 * c-opts.c (warn_variadic_macros): New.
11271 (c_common_handle_option): Set it.
11272 (sanitize_cpp_opts): Copy it to cpp_opts.
11273 * c.opt (Wvariadic-macros): New.
11274 * cpplib.h (struct cpp_options): Add warn_variadic_macros.
11275 * cppinit.c (cpp_create_reader): Initialize it.
11276 * cppmacro.c (parse_params): Check it.
11277
18586cb7
DD
112782004-02-19 David Daney <ddaney@avtrex.com>
11279
11280 PR preprocessor/14198
11281 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
11282 builtin_assert ("machine=mips")
11283
37a46828
KH
112842004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11285
11286 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
11287 * system.h (DEFAULT_SHORT_ENUMS): Poison.
11288 * config/cris/cris.h: Remove a comment about
11289 DEFAULT_SHORT_ENUMS.
11290 * config/ip2k/ip2k.h: Likewise.
11291 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
11292
f9c887ac
ZW
112932004-02-19 Zack Weinberg <zack@codesourcery.com>
11294
11295 * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
11296 when passing single SFmode quantities in general registers,
11297 put them in the high half.
11298
0e1d7f32 112992004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
11300
11301 * doc/md.texi (Standard Names): Document additional dependency on
11302 fix pattern.
11303
11304 * optabs.c (ftruncify): Remove.
11305 (expand_fix): Manually inline ftruncify above.
11306 (can_fix_p): Add FIXME note.
0e1d7f32 11307
c6e9f0eb 113082004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
11309
11310 * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
11311 spe_fixuns_truncsfsi2.
11312
11313 * config/rs6000/rs6000.md (fixunssfsi2): Rename to
11314 fixuns_truncsfsi2.
c6e9f0eb 11315
919b531d
SE
113162004-02-19 Steve Ellcey <sje@cup.hp.com>
11317
11318 * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
11319 * testsuite/gcc.dg/20040219-1.c: New test.
11320
4dbb5970
UW
113212004-02-19 Ulrich Weigand <uweigand@de.ibm.com>
11322
11323 * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
11324 "*subsf3_cconly"): Subtraction is not commutative.
11325
16edbbf0
ZW
113262004-02-19 Zack Weinberg <zack@codesourcery.com>
11327
11328 * sdbout.c (preinit_symbols, sdbout_initialized): New statics.
11329 (sdbout_symbol): If called before sdbout_init, queue DECL for
11330 later and return.
11331 (sdbout_init): Set sdbout_initialized true, process decls
11332 queued earlier by sdbout_symbol.
11333 (sdbout_finish): Use size_t for index variable.
11334
f46e5baa 113352004-02-19 Jeff Law <law@redhat.com>
16edbbf0 11336
f46e5baa
JL
11337 * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
11338 for unordered comparison codes.
11339
d754127f
ILT
113402004-02-19 Ian Lance Taylor <ian@wasabisystems.com>
11341
11342 * reload1.c (reload): Correct comment.
11343 (scan_paradoxical_subregs): Remove #if 0 and old comment.
11344 * doc/extend.texi (Local Reg Vars): Remove obsolete comment that
11345 register variables are not used by reload.
11346
428eae94
HPN
113472004-02-19 Hans-Peter Nilsson <hp@axis.com>
11348
11349 PR target/14209
11350 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
11351 constraints to not match postincrement. Adjust the predicate to
11352 exclude a volatile memory reference.
11353
a5ee8d80
KH
113542004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11355
11356 * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
11357
45ea6431
KH
113582004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11359
11360 * hooks.c (hook_void_tree_int): Remove.
11361 (hook_void_constcharptr): Likewise.
11362 (hook_int_void_0): Likewise.
11363 * hooks.h: Remove the prototypes for the above three
11364 functions.
11365 * targhooks.c (hook_bool_machine_mode_true): Remove.
11366 * targhooks.h: Remove the prototype for
11367 hook_bool_machine_mode_true.
11368
c59102b4
KH
113692004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11370
11371 * emit-rtl.c (subreg_realpart_p): Remove.
11372 (reorder_insns_with_line_notes): Likewise.
11373 (end_full_sequence): Likewise.
11374 * rtl.h: Remove the prototype for the above functions.
11375
3ad17f7b
KH
113762004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11377
11378 * config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
11379 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
11380 config/iq2000/iq2000.h, config/m32r/m32r.h,
11381 config/pdp11/pdp11.h, config/sparc/sparc.h,
11382 config/xtensa/xtensa.h: Remove commented-out or useless
11383 definitions of CASE_VECTOR_PC_RELATIVE.
11384
a3b182a7
KH
113852004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11386
11387 * loop.c (all_sets_invariant_p): Remove.
11388
1b5963f7
EB
113892004-02-19 Eric Botcazou <ebotcazou@libertysurf.fr>
11390
11391 PR target/12916
11392 * config/sparc/sparc.h (NPARM_REGS): Delete.
11393 (BASE_RETURN_VALUE_REG): Likewise.
11394 (BASE_OUTGOING_VALUE_REG): Likewise.
11395 (BASE_PASSING_ARG_REG): Likewise.
11396 (BASE_INCOMING_ARG_REG): Likewise.
11397 * config/sparc/sparc.c (sparc_strict_argument_naming): Test
11398 TARGET_ARCH64, not TARGET_V9.
11399 (function_arg_slotno): Dispatch based on the mode class.
11400 Handle vector modes like floating-point modes.
11401 (function_arg_record_value_1): Handle vector types like
11402 floating-point types.
11403 (function_arg_record_value_2): Likewise.
11404 Calculate regno after mode transformation.
11405 (function_arg): Handle vector modes like floating-point modes.
11406 (function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
11407 If ARCH64, do not recheck alignment.
11408 (function_arg_pass_by_reference): Reorder the conditions.
11409 (sparc_return_in_memory): Move after function_arg_padding.
11410 Implement calling conventions for vector modes.
11411 (sparc_struct_value_rtx): Move after sparc_return_in_memory.
11412 (function_value): Move scope of 'regbase'.
11413 Implement calling conventions for vector modes.
11414 (sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
11415 and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
11416 (sparc_va_arg): Use function_arg_pass_by_reference to test whether
11417 the argument is passed by reference.
11418 (sparc_type_code): Handle vector types.
11419
196c42cd
AM
114202004-02-19 Alan Modra <amodra@bigpond.net.au>
11421
11422 * function.c (assign_parms): When building decl_rtl for
11423 SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
11424
c0cfc691
OH
114252004-02-19 Olivier Hainque <hainque@act-europe.fr>
11426
11427 * expr.c (is_aligning_offset): Check if we are aligning the
11428 expressions's address over BIGGEST_ALIGNMENT in bytes, not
11429 in bits.
11430
328163dc
MA
114312003-02-18 Matt Austern <austern@apple.com>
11432
11433 * gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
11434 LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
11435 (init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
11436 defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
11437 spec string.
11438 * doc/tm.texi (REAL_LIBGCC_SPEC): Document.
16edbbf0 11439
57d4f65c
ZW
114402004-02-18 Zack Weinberg <zack@codesourcery.com>
11441
11442 * dwarf2out.c (loclabel_num): Move outside #ifdef
11443 DWARF2_DEBUGGING_INFO and mark with GTY(()).
11444 * config/ia64/ia64.c (struct extern_func_list,extern_func_head):
11445 Mark with GTY(()).
11446 (ia64_hpux_add_extern_decl): Save the decl, not the name string.
11447 Allocate memory with ggc_alloc. No need to copy anything.
11448 (ia64_hpux_file_end): Update to match.
11449
3fec9fa9
JJ
114502004-02-18 Jakub Jelinek <jakub@redhat.com>
11451
11452 * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
11453 by default.
11454
5665e398
UW
114552004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
11456
11457 * config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
11458 ("divmodtisi3"): Likewise.
11459 ("udivmoddi4", "udivmodtidi3"): Likewise.
11460 ("divmodsi4", "divmoddisi3"): Likewise.
11461 ("udivmodsi4", "udivmoddisi3"): Likewise.
11462 ("udivsi3", "umodsi3"): Likewise.
11463
d76e8439
UW
114642004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
11465
11466 * config/s390/s390.c (s390_mainpool_start): Delete the main pool
11467 placeholder insn when chunkifying the pool.
11468
3cf7104e
JDA
114692004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11470
11471 * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
11472 generating PIC code.
11473
8981ecd3
KH
114742004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11475
11476 * config/h8300/h8300-protos.h: Add a prototype for
11477 h8300_expand_branch.
11478 * config/h8300/h8300.c (h8300_expand_branch): New.
11479 * config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
11480 bgtu, beq, bne): Call h8300_expand_branch().
11481
07ee3b58
KH
114822004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11483
11484 * config/h8300/h8300-protos.h: Add prototypes for
11485 h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
11486 * config/h8300/h8300.c (h8300_hard_regno_nregs): New.
11487 (h8300_hard_regno_mode_ok): Likewise.
11488 * config/h8300/h8300.h (HARD_REGNO_NREGS): Call
11489 h8300_hard_regno_nregs().
11490 (HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
11491
22234f56
PB
114922004-02-18 Per Bothner <per@bothner.com>
11493
11494 * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
11495 partly reverts my 2003-10-01 change, because we're back to logically
11496 including <command line> inside the main line.
11497 * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
11498 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
11499 Fixes PR preprocessor/14103.
11500
11501 * cppfiles.c (_cpp_stack_include): When appropriate decrement
11502 line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
11503 (cpp_push_include): Don't need to increment pfile's line field.
11504 * line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
11505
11506 * c-ppoutput.c (print struct): New first_time field.
11507 (init_pp_output): Set print.first_time.
11508 (pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
11509 which is set also for (say) <command line>. Clear print.first_time.
11510
11511 * cppfiles.c (struct _cpp_file): Comment and type for pch field
11512 does not match the code, so fix both.
11513 (should_stack_file): Inline include_pch_p function.
11514 (include_pch_p): Remove pointless function.
11515
11516 * cpphash.h (struct cpp_buffer): Remove unused search_cached field.
11517
5a6d9a81
KH
115182004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11519
11520 * config/h8300/h8300.md (four define_peephole2's): Use
11521 h8300_regs_ok_for_stm().
11522
3d2e90d6
KH
115232004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11524
11525 * config/h8300/h8300-protos.h: Update the prototype for
11526 expand_a_rotate().
11527 * config/h8300/h8300.c (expand_a_rotate): Remove the first
11528 argument.
11529 * config/h8300/h8300.md: Update all callers.
11530
79ae63b1
JH
115312004-02-18 Jan Hubicka <jh@suse.cz>
11532
11533 * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
11534 floats.
11535 (simplify_binary_operation): Deal with logicals on floats.
11536
11537 * i386.md (SSE fabs splitters): Emit new patterns.
11538 (SSE cmov splitters): Likewise.
11539 (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
11540 (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
11541 subregs.
11542 (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
11543 (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
11544
01ab5574
KH
115452004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11546
11547 * config/h8300/h8300.c (expand_a_rotate): Don't generate insns
11548 by hand.
11549 (output_a_rotate): Tweak a comment.
11550 * config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
11551 (*rotlhi3_1): Change to rotlhi3_1.
11552 (*rotlsi3_1): Change to rotlsi3_1.
11553
d5f7d2d0
RE
115542004-02-18 Richard Earnshaw <rearnsha@arm.com>
11555
11556 PR target/13866
11557 * arm.c (load_multiple_operation): Don't insist that the source reg
11558 of a post-increment component is the same as the destination.
11559 (store_multiple_operation): Likewise.
11560
b0c8a821
KH
115612004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11562
11563 * config/h8300/h8300.md: Move movsf patterns into one section
11564 of the file.
11565
aa335b76
KH
115662004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11567
11568 * cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
11569 loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
11570 xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
11571 config/mips/linux64.h, config/pa/pa-64.h,
11572 config/rs6000/aix51.h, config/rs6000/aix52.h,
11573 config/rs6000/spe.md, config/sparc/linux.h,
11574 config/sparc/linux64.h: Update copyright.
11575
5a64541a
KH
115762004-02-18 Kazu Hirata <kazu@cs.umass.edu>
11577
11578 * config/h8300/h8300.md: Move push patterns into one
11579 section of the file.
11580
8d04e6db
MM
115812004-02-18 Mark Mitchell <mark@codesourcery.com>
11582
11583 PR c++/11326
11584 * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
11585 fntype.
11586
e978d62e
PB
115872004-02-18 Paul Brook <paul@codesourcery.com>
11588
11589 * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
11590
cdbafce1
PB
115912004-02-18 Paul Brook <paul@codesourcery.com>
11592
c5fe5036 11593 PR debug/12934
cdbafce1
PB
11594 * dwarf2out.c (loc_descriptor_from_tree): Handle
11595 EXPR_WITH_FILE_LOCATION.
11596
5a0855a0
JJ
115972004-02-18 Jakub Jelinek <jakub@redhat.com>
11598
11599 * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
11600 testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
11601 trailing whitespace from instructions.
11602
9c56033f
GK
116032004-02-17 Geoffrey Keating <geoffk@apple.com>
11604
11605 * configure.ac: When generating auto-build.h, pass
11606 --enable-languages to the sub-configure.
11607 Put quotes around ${program_transform_name} when generating
11608 name of as, ld, nm, objdump.
11609 * configure: Regenerate.
11610
80bcb4d2
MK
116112004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
11612
11613 * Makefile.in (s-check, s-config, s-conditions, s-flags)
11614 (s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
11615 (s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
11616 (s-preds, s-iov): Do not depend on move-if-change.
11617
ce7b36a4
JW
116182004-02-17 James E Wilson <wilson@specifixinc.com>
11619
11620 * caller-save.c (insert_restore): Pass mem through copy_rtx.
11621 (insert_save): Likewise.
11622
f8b58e56
KH
116232004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11624
11625 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
11626 warning.
11627
8d82e1d8
KH
116282004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11629
11630 * config/h8300/h8300.md (*one_complsi2_h8300): Change to
11631 *one_cmplsi2_h8300.
11632 (*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
11633
4093985c
KH
116342004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11635
11636 * config/h8300/h8300-protos.h: Update the prototype of
11637 fix_bit_operand().
11638 * config/h8300/h8300.c (fix_bit_operand): Remove the second
11639 argument "what".
11640 * config/h8300/h8300.md: Update all callers.
11641
fd57a6e4
KH
116422004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11643
11644 * config/h8300/h8300.c (fix_bit_operand): Change the name of
11645 the last argument to "code" from "type".
11646
6a415867
KH
116472004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11648
11649 * config/h8300/h8300.c: Remove an extern declaration of
11650 rtx_equal_function_value_matters.
11651
a3579575
KH
116522004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11653
11654 * config/h8300/h8300.c (fix_bit_operand): Don't generate insns
11655 by hand.
11656 * config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
11657 (*iorqi3_1): Change to iorqi3_1.
11658 (*xorqi3_1): Change to xorqi3_1.
11659
321440fd
KH
116602004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11661
11662 * c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
11663 typos.
11664
7b50a809
JH
116652004-02-17 Jan Hubicka <jh@suse.cz>
11666
11667 * i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
11668
8051c2eb
AM
116692004-02-18 Alan Modra <amodra@bigpond.net.au>
11670
11671 PR optimization/14119
11672 * combine.c (try_combine): When attemting to fix unrecognized insns,
11673 don't delete SETs marked with REG_EH_REGION notes.
11674
db33236e
UW
116752004-02-17 Ulrich Weigand <uweigand@de.ibm.com>
11676
57d4f65c 11677 * combine.c (simplify_if_then_else): Do not replace
db33236e
UW
11678 (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
11679 modes differ.
11680
1da326c3
SB
116812004-02017 Steven Bosscher <stevenb@suse.de>
11682
11683 * (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
11684 function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
11685 tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
11686 * ada/utils.c: Likewise.
11687 * cp/decl.c: Likewise.
11688 * f/com.c: Likewise.
11689 * java/class.c: Likewise.
11690
65c07641
KH
116912004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11692
11693 * config/h8300/h8300.md: Fix comment typos.
11694
3e35cb0c
RO
116952004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11696
11697 * config/mips/t-iris6gld: Renamed to ...
11698 * config/mips/t-irix-gld: ... this.
11699 * config.gcc (mips-sgi-irix6*): Reflect this
11700 (mips-sgi-irix5*): Use it with GNU ld.
57d4f65c 11701
3e35cb0c
RO
11702 * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
11703 to ...
11704 * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
11705 * config/mips/t-irix-gld: Reflect this.
11706 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 11707
3e35cb0c
RO
11708 * config/mips/iris5gld.h: New file.
11709 * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
11710 Only use collect2 without gas.
57d4f65c 11711
3e35cb0c
RO
11712 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
11713 Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
11714 (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
11715 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 11716
3e35cb0c
RO
11717 * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
11718 * config/mips/iris5.h: ... here.
11719
11720 * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
57d4f65c 11721 IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3e35cb0c 11722 (STARTFILE_SPEC, ENDFILE_SPEC): Define.
57d4f65c 11723
3e35cb0c
RO
11724 * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
11725 using irix_startfile_spec, irix_endfile_spec.
11726
1f0282cb
GN
117272004-02-16 Gunther Nikl <gni@gecko.de>
11728
11729 * config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
11730
6552458a
KH
117312004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11732
11733 * config/h8300/h8300.c (h8300_expand_prologue): Don't generate
11734 insns by hand.
11735
017b3258
ZD
117362004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11737
11738 * cfghooks.c (split_edge): Speed up updating of dominators.
11739
57782ad8
MM
117402004-02-17 Mark Mitchell <mark@codesourcery.com>
11741
11742 PR c++/11326
11743 * c-common.c (flag_abi_version): Remove.
11744 * c-common.h (flag_abi_version): Likewise.
11745 * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
11746 * c.opt (fabi-version): Remove.
11747 * calls.c (expand_call): Always pass a function type to
11748 struct_value_rtx. Use convert_memory_address.
11749 * common.opt (fabi-version): Add it.
11750 * flags.h (flag_abi_version): Likewise.
11751 (abi_version_at_least): New macro.
11752 * opts.c (common_handle_option): Add OPT_fabi_version.
11753 * toplev.c (flag_abi_version): Define it.
11754 * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
11755 New function.
11756 (ia64_output_mi_thunk): Use it.
11757 (ia64_struct_value_rtx): Likewise.
57d4f65c 11758
72b1de44
KH
117592004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11760
11761 * config/h8300/h8300.c (h8300_emit_stack_adjustment):
11762 Don't generate insns by hand.
11763
d150ccef
AP
117642004-02-17 Andrew Pinski <pinskia@physics.uc.edu>
11765
11766 PR c++/14178
11767 * doc/invoke.texi (fabi-version): The default is 2 now.
11768
50654f6c
ZD
117692004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11770
11771 * loop-iv.c: New file.
11772 * Makefile.in (loop-iv.o): New.
11773 * basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
11774 * cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
11775 num_loop_branches): New functions.
11776 * cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
11777 iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
11778 find_simple_exit, iv_number_of_iterations, iv_analysis_done,
11779 get_simple_loop_desc, free_simple_loop_desc): Declare.
11780 (simple_loop_desc): New inline function.
11781 (struct rtx_iv, struct niter_desc): New.
11782 * cfgloopmanip.c (loopify): Specify semantics more precisely.
11783 * expr.c (force_operand): Handle subregs of expressions created by
11784 loop unroller.
11785 * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
11786 parts of the initialization to toplev.c
11787 * loop-unroll.c (loop_exit_at_end_p): New.
11788 (unroll_and_peel_loops): Call iv_analysis_done.
11789 (decide_peel_once_rolling, decide_peel_completely,
11790 decide_unroll_stupid, decide_unroll_constant_iterations,
11791 decide_unroll_runtime_iterations, decide_peel_simple,
11792 peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
11793 unroll_loop_runtime_iterations): Use new simple loop analysis.
11794 * loop-unswitch.c (compare_and_jump_seq): New.
11795 (may_unswitch_on_p): Renamed to ...
11796 (may_unswitch_on): Use new iv analysis.
11797 (reversed_condition): Export.
11798 (unswitch_single_loop, unswitch_loop): Use new iv analysis.
11799 * predict.c (estimate_probability): Use new simple loop analysis.
11800 * rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
11801 canon_condition, simplify_using_condition): Declare.
11802 * stor-layout.c (get_mode_bounds): New.
11803 * toplev.c (rest_of_handle_loop2): Some parts of
11804 initialization/finalization moved here from loop-init.c.
11805
ef3f573f
KH
118062004-02-17 Kazu Hirata <kazu@cs.umass.edu>
11807
11808 * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
11809 pointer.
11810 (CALL_USED_REGISTERS): Likewise.
11811 (REG_ALLOC_ORDER): Likewise.
11812 (REG_CLASS) <GENERAL_REGS>: Likewise.
11813
e3d6e740
GK
118142004-02-16 Geoffrey Keating <geoffk@apple.com>
11815
11816 * doc/md.texi (Insn Canonicalizations): Document left-chaining
11817 in associative operators.
11818 * rtlanal.c (commutative_operand_precedence): Create some new
11819 variables. Prefer a commutative operand on the left, then
11820 binary expressions, then NEG and NOT.
11821
8c958ed2
MK
118222004-02-16 Matthias Klose <doko@debian.org>
11823
57d4f65c
ZW
11824 * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
11825 in terms of SHLIB_SOVERSION.
11826 * config/m68k/t-slibgcc-elf-ver: New file.
11827 * config/pa/t-slibgcc-elf-ver: New file.
11828 * config.gcc (m68k-linux, parisc-linux): Use them when not
8c958ed2
MK
11829 sjlj exceptions are not configured.
11830
42a5f3c0
EB
118312004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
11832
11833 * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
11834
1729e46c
ZW
118352004-02-16 Zack Weinberg <zack@codesourcery.com>
11836
11837 * sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
11838
0acdc221
JM
118392004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
11840
11841 * doc/sourcebuild.texi: Mention backends.html.
11842
9ac97460
KH
118432004-02-16 Kazu Hirata <kazu@cs.umass.edu>
11844
11845 * c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
11846 line-map.c, line-map.h, var-tracking.c: Fix comment
11847 formatting.
11848
9dcb4381
RH
118492004-02-16 Richard Henderson <rth@redhat.com>
11850
11851 * cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
11852
1729e46c 11853 * fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
875427f0 11854
1472042a
KH
118552004-02-15 Kazu Hirata <kazu@cs.umass.edu>
11856
11857 * config/h8300/h8300.md: Remove unnecessary parallels from
11858 all define_insn and define_split patterns.
11859
24f29b06
KH
118602004-02-15 Kazu Hirata <kazu@cs.umass.edu>
11861
11862 * config/h8300/h8300.md: Remove explicit (set_attr "cc"
11863 "clobber").
11864
ac5f9961
BI
118652004-02-15 Bernardo Innocenti <bernie@develer.com>
11866
11867 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
11868 '%#'.
11869
68776c43
KH
118702004-02-15 Kazu Hirata <kazu@cs.umass.edu>
11871
11872 * config/ia64/ia64.c, config/mips/mips.c,
11873 config/mmix/mmix-modes.def: Fix comment typos.
11874
7501c4e4
RS
118752004-02-15 Roger Sayle <roger@eyesopen.com>
11876
11877 * c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
11878 (get_directive_line): Remove unused function prototype.
11879
5852680b
JZ
118802004-02-14 Josef Zlomek <zlomekj@suse.cz>
11881
11882 * tree-inline.c (copy_body_r): Do not replace ret_label.
11883
be04394b
JH
118842004-02-14 Jan Hubicka <jh@suse.cz>
11885
11886 * i386.c (x86_four_jump_limit): New variable.
11887 (k8_avoid_jump_misspredicts): Rename to ...
11888 (ix86_avoid_jump_misspredicts): .. this one.
11889 (ix86_pad_returns): Break out from ...
11890 (ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
11891 to.
11892 * i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
11893
d4afac5b
JZ
118942004-02-14 Josef Zlomek <zlomekj@suse.cz>
11895
11896 * emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
11897 PARALLEL is NULL.
11898
c7762b44
PB
118992004-02-14 Per Bothner <per@bothner.com>
11900
11901 * fix-header.c (line_table): Move local variable in main to global.
11902 * scan.h (line_table): Use it.
11903 * scan-decls.c (scan_decls): Need to call linemap_lookup on token's
11904 line (recently renamed to src_loc) before calling recognized_function.
11905
cb7c0b5a
MK
119062004-02-14 Matt Kraai <kraai@alumni.cmu.edu>
11907
11908 * Makefile.in: Fix comment typos.
11909
45f9877a
EB
119102004-02-14 Olivier Hainque <hainque@act-europe.fr>
11911
11912 * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
11913 for start_value when it is directly moved into reg, and factorize
11914 the retrieval of GET_MODE (reg).
11915
544142d8
RS
119162004-02-14 Richard Sandiford <rsandifo@redhat.com>
11917
11918 * config/mips/mips-protos.h (mips_load_got_page): Delete.
11919 (mips_load_got_global): Delete.
11920 (mips_gotoff_page): Declare.
11921 * config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
11922 (*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
11923 UNSPEC_LOAD_GOT pattern rather than a MEM.
11924 (*load_got[sd]i): New patterns.
11925 * config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
11926 (mips_load_got_page, mips_load_got_global): Delete.
11927 (mips_gotoff_page): New function.
11928 (override_options): Don't initialize mips_got_alias_set.
11929
d2888f1d
RS
119302004-02-14 Richard Sandiford <rsandifo@redhat.com>
11931
11932 * config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
11933 (TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
11934 (TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
11935 (GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
11936 (TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
11937 * config/mips/mips.c: Fix some overly-long lines.
11938 (SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
11939 (init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
11940
19baba0b
RO
119412004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11942
11943 * configure.ac: Search for as, ld below libexec/gcc.
11944 * configure: Regenerate.
11945
f07a6b21
BE
119462004-02-14 Ben Elliston <bje@wasabisystems.com>
11947
11948 * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
11949 __builtin_arm_setwcx ().
11950 * config/arm/arm.c (arm_expand_builtin): Generate operands
11951 correctly and reverse their order in call to gen_iwmmxt_tmcr ().
11952
119532004-02-14 Ben Elliston <bje@wasabisystems.com>
11954
11955 * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
11956 and "wmuluh" to "wmulsm" and "wmulum", respectively.
11957 * config/arm/arm.h (enum arm_builtins): Rename enumerators to
11958 ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
11959 * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
11960 (_mm_mulhi_pu16): Likewise.
11961
f433554b
ZW
119622004-02-13 Zack Weinberg <zack@codesourcery.com>
11963
11964 * xcoffout.c (xcoff_assign_fundamental_type_number): Check
11965 DECL_NAME != 0 before dereferencing.
11966
faeb9bb6
UW
119672004-02-13 Ulrich Weigand <uweigand@de.ibm.com>
11968
11969 * config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
11970 (s390_output_addr_const_extra): Declare.
11971 (s390_output_pool_entry): Remove FILE * argument.
11972 * config/s390/s390.c (s390_output_symbolic_const): Remove.
11973 (s390_output_addr_const_extra): New function.
11974 (print_operand_address): Call output_addr_const instead of
11975 s390_output_symbolic_const.
11976 (print_operand): Likewise.
11977 (s390_output_pool_entry): Use assemble_integer for symbolic constants.
11978 Remove FILE * argument.
11979 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11980 * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
11981 call.
11982
cfbe3efe
ZD
119832004-02-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11984
11985 * cfgloopanal.c (mark_irreducible_loops): Rewriten.
11986 (struct edge, struct vertex, struct graph): New.
11987 (dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
11988 free_graph): New functions.
11989
d349192c
CD
119902004-02-12 Chris Demetriou <cgd@broadcom.com>
11991
11992 * config/mips/mips.md (casesi_internal, casesi_internal_di):
11993 Use ".set macro" to avoid warnings about multi-instruction
11994 macros, since they're intentional.
11995
52ccb3d2
GK
119962004-02-12 Geoffrey Keating <geoffk@apple.com>
11997
213c4a8a
GK
11998 * config/darwin.h: Add include guards. Remove old, now incorrect,
11999 comment about STANDARD_EXEC_PREFIX.
12000
52ccb3d2
GK
12001 * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
12002 $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
12003 for installing .1 manpages. Add rules for installing cpp
12004 and gcov manpages under their installed names.
12005
1a543d25
AO
120062004-02-12 Alexandre Oliva <aoliva@redhat.com>
12007
12008 * configure.ac (gcc_cv_ld): Don't set to LD if target is not
12009 host, but try LD_FOR_TARGET first.
12010 * configure: Rebuilt.
12011
8507c40a
ZW
120122004-02-12 Zack Weinberg <zack@codesourcery.com>
12013
12014 * dbxout.c: Move declaration of dbxout_type_decl outside
12015 #ifdef DBX_DEBUGGING_INFO.
12016 * c-parse.in: Don't give the asmdef production a type.
12017
21d13d83
ZW
120182004-02-12 Zack Weinberg <zack@codesourcery.com>
12019
12020 * debug.h (struct gcc_debug_hooks): Add type_decl field.
12021 (debug_nothing_tree_int): Prototype.
12022 (dwarf_debug_hooks): Delete, unused.
12023 * debug.c (do_nothing_debug_hooks): Update.
12024 (debug_nothing_tree_int): New function.
12025 * langhooks.h (struct lang_hooks_for_decls):
12026 Remove builtin_type_decls field.
12027 * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
12028 (LANG_HOOKS_DECLS): Update.
12029 * toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
12030 Use debug_hooks->type_decl.
12031 * dbxout.c (preinit_symbols): New static.
12032 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12033 (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
12034 lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols
12035 for symbols to output.
12036 (dbxout_type_decl): New function.
12037 (dbxout_symbol): If called before dbxout_init has run, queue
12038 the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
12039 to TYPE_DECLs before emitting them.
12040 * xcoffout.c (assign_type_number): Delete.
12041 (xcoff_type_numbers): New static table.
12042 (xcoff_assign_fundamental_type_number): New function.
12043 * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
12044 DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs.
12045 * sdbout.c: Include varray.h.
12046 (deferred_global_decls): New static.
12047 (sdb_debug_hooks): Update.
12048 (sdbout_global_decl): If we can't emit something right now,
12049 remember it in deferred_global_decls.
12050 (sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
12051 (sdbout_init): Initialize deferred_global_decls.
12052 * Makefile.in: Update dependencies of sdbout.o.
12053 * dwarf2out.c (dwarf2out_type_decl): New function.
12054 (dwarf2_debug_hooks): Update.
12055 * vmsdbgout.c (vmsdbg_debug_hooks): Update.
12056 * c-decl.c (getdecls): Just return 0.
12057 (check_for_loop_decls): Don't use getdecls.
12058 (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
12059 * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
12060
a90a16f3
UW
120612004-02-12 Ulrich Weigand <uweigand@de.ibm.com>
12062
12063 * config/s390/s390.c (s390_sched_reorder2): Remove.
12064 (TARGET_SCHED_REORDER2): Do not redefine.
12065
9f0e2d86
ZW
120662004-02-12 Zack Weinberg <zack@codesourcery.com>
12067
12068 * c-parse.in (maybe_type_qual): Delete.
12069 (maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
12070 (asm_argument): New grammar rules.
12071 (extdef_1): Use asmdef.
12072 (maybeasm): Move down with other asm rules; use simple_asm_expr.
12073 (xexpr): Move up with other expression rules.
12074 (stmt): Use asm_stmt.
12075
12076 * c-typeck.c (build_asm_expr): New function - body mostly
12077 pulled from build_asm_stmt.
12078 (build_asm_stmt): Just handle tacking on the volatile qualifier.
12079 * c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
12080
35f5add9
RS
120812004-02-12 Richard Sandiford <rsandifo@redhat.com>
12082
12083 PR bootstrap/13617
12084 * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
12085 (mips_declare_object): Make variadic.
12086 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
12087 mips_output_aligned_decl_common.
12088 * config/mips/mips.c (mips_output_aligned_decl_common): New function.
12089 (mips_declare_object): Make variadic.
12090
a5e9c810
RK
120912004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12092
8fbc67c0
RK
12093 * function.c (update_epilogue_consts): Teach about binary operations.
12094
a5e9c810
RK
12095 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
12096 previous MEM_VOLATILE in REF.
12097 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
12098 * expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
12099
7ea98c5a
GN
121002004-02-12 Gunther Nikl <gni@gecko.de>
12101
12102 * config.gcc: Restore support for m68k-openbsd.
12103
8f6a8d03
JH
121042004-02-12 Jan Hubicka <jh@suse.cz>
12105
12106 * tree-optimize.c (tree_rest_of_compilation): Do not release
12107 DECL_ARGUMENTS.
12108
c2910edf
MK
121092004-02-11 Matt Kraai <kraai@alumni.cmu.edu>
12110
12111 * doc/install.texi: Fix the spelling of "explicitly".
12112
423e95e2
EC
121132004-02-11 Eric Christopher <echristo@redhat.com>
12114
12115 * cppcharset.c (_cpp_interpret_string_notranslate): Rename and
12116 duplicate argument structure of cpp_interpret_string.
12117 * cpphash.h: Move prototype...
12118 * cpplib.h: Here.
12119 * cpplib.c: Fix calls to match new function signature.
12120
32e8aa9a
JM
121212004-02-11 Joseph S. Myers <jsm@polyomino.org.uk>
12122
12123 PR c/456
12124 * cppexp.c (num_binary_op): Don't allow comma operators in #if
12125 constant expressions at all outside C99 mode if pedantic.
12126
3b8e0c91
UB
121272004-02-11 Uros Bizjak <uros@kss-loka.si>
12128
12129 * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
12130 (log10_optab, log2_optab): Define corresponding macros.
12131 * optabs.c (init_optabs): Initialize log10_optab and log2_optab.
12132 * genopinit.c (optabs): Implement log10_optab and log2_optab
12133 using log10?f2 and log2?f2 patterns.
12134 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
12135 using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
12136 (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
12137 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
12138
12139 * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
12140 log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
12141 log2, log2f and log2l built-ins as inline x87 intrinsics.
12142
a6abdce3
RH
121432004-02-11 Richard Henderson <rth@redhat.com>
12144
888ff7a1 12145 PR target/1532
a6abdce3
RH
12146 * flow.c (insn_dead_p): A clobber of a dead hard register is a
12147 dead insn after reload.
12148
05ac140e
UW
121492004-02-11 Ulrich Weigand <uweigand@de.ibm.com>
12150
12151 * tree.h (frame_base_decl): Add GTY marker.
12152 * var-tracking.c (frame_base_decl): Likewise.
12153
e193b408
DB
121542004-02-11 Daniel Berlin <dberlin@dberlin.org>
12155
12156 * dwarf2out.c (output_loc_list): Remove no longer necessary, and now
12157 incorrect, hunk.
12158 (add_location_or_const_value_attribute): Use text_section_label,
12159 not TEXT_SECTION_NAME.
12f9df4e
PB
12160
121612004-02-11 Per Bothner <per@bothner.com>
12162
12163 Represent column numbers using line-map's source_location.
12164 The "next available source_location" is now managed internally by
12165 line-maps.c rather than by clients.
12166 * line-map.h (struct line_map): New field column_bits.
12167 <from_line>: Rename field to start_location.
12168 (struct line_maps): New fields highest_location and max_column_hint.
12169 (linemap_check_files_exited): New declaration.
12170 (linemap_line_start): New declaration.
12171 (linemap_add): Remove from_line parameter; use highest_location field.
12172 (SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits.
12173 (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros.
12174 (CURRENT_LINE_MAP): Remove macro.
12175 (linemap_position_for_column): New inline function.
12176 * line-map.c (linemap_init): Clear new fields.
12177 (linemap_check_files_exited): New function, extracted from ...
12178 (linemap_free): Use linemap_check_files_exited.
12179 (linemap_add): Remove from_line parameter. Various updates.
12180 (linemap_line_start): New function.
12181 (linemap_lookeup): Update for new field names.
12182 * cpphash.h (struct cpp_reader) <map>: Field removed. Because
12183 linemap_position_for_column may unpredictably change the current map,
12184 it is cleaner and simpler for us to not cache it in cpp_reader.
12185 (struct cpp_buffer): New sysp field.
12186 Changed warned_cplusplus_comments and from_stage3 to bitfields.
12187 * cppinit.c (cpp_read_min_file): pfile->map no longer exists.
12188 * cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get
12189 current map using linemap_lookup.
12190 (do_linemarker): Also set buffer's sysp field.
12191 (destringize_and_run): No longer need to decrement current line.
12192 * cppfiles.c (_cpp_stack_file): Set sysp from and in buffer.
12193 (search_path_head, open_file_failed): Use buffer's sysp.
12194 (cpp_make_system_header): Get current map using linemap_lookup.
12195 Also set buffer's sysp flag.
12196 * cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup.
12197 * cpphash.h (CPP_INCREMENT_LINE): New macro.
12198 (struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ...
12199 (struct cpp_reader): ... and adding saved_line_base field.
12200 * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
12201 Update accordingly. Don't adjust line.
12202 (_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE.
12203 * cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ...
12204 (cpp_in_system_header): ... new inline function, using buffer's sysp.
12205 * cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header.
12206 * cpplex.c (_cpp_lex_direct): Likewise.
12207 * cppmacro.c (_cpp_builtin_macro_text): Likewise.
12208 * cppmacro.c (_cpp_create_definition): Use buffer's sysp field.
12209 * cpplib.h (struct cpp_token): Rename line field to src_loc.
12210 Remove col field as it is now subsumed by src_loc.
12211 * cpperror.c: Update various field, parameter, and macro names.
12212 (print_location): If col==0, try SOURCE_COLUMN of line.
12213 (cpp_error): Use cur_token's src_loc field, rather than line+col.
12214 * cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col.
12215 * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
12216 _cpp_skip_block_comment): Use CPP_INCREMENT_LINE.
12217 (_cpp_temp_token): Replace cpp_token's line+col fields by src_loc.
12218 (_cpp_get_fresh_line): Don't need to adjust line for missing newline.
12219 (_cpp_lex_direct): Use linemap_position_for_column.
12220 * c-ppoutput.c (maybe_print_line, print_line): Don't take map
12221 parameter. Instead get it from the line_table global. Adjust callers.
12222 (print): Remove map field. Replace line field to src_line.
12223 (init_pp_output, account_for_newlines, maybe_print_line): Adjust.
12224 (cb_line_change): Use SOURCE_COLUMN. Minor optimizations.
12225 (pp_file_change): Use MAIN_FILE_P since we cannot checked print.map.
12226 Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
12227 * cpptrad.c (copy_comment): Rename variable.
12228 * c-lex.c (map): Remove static variable, for same reason we removed
12229 cpp_reader's map field.
12230 (cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need
12231 to call linemap_lookup.
12232 (cb_line_change): Token's line field replaced by src_loc.
12233 (fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros.
12234 Don't save new_map.
12235
12236 * cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to
12237 source_location.
12238
e086f51d 122392004-02-11 Hartmut Penner <hpenner@de.ibm.com>
423e95e2 12240
e086f51d
HP
12241 * config/rs6000/altivec.md (*movv4si_internal): At least one
12242 operand must be register_operand.
12243 (*movv8hi_internal1): Likewise.
12244 (*movv16qi_internal1): Likewise.
12245 (*movv4sf_internal1): Likewise.
12246
e66b2fcf 122472004-02-10 Aldy Hernandez <aldyh@redhat.com>
8914b65e
AH
12248
12249 * config/rs6000/spe.md ("*movv2si_internal"): Check for register
12250 operand.
12251 (movv4hi_internal): Same.
12252 (movv2sf_internal): Same.
12253 (movv1di_internal): Same.
e66b2fcf 12254
7f9be256
TS
122552004-02-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
12256
12257 * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
c0689841 12258 TARGET_OLDABI consistently.
7f9be256
TS
12259 * config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
12260 mips_va_arg,override_options,compute_frame_size,
12261 mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
12262 ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
c0689841 12263 and TARGET_OLDABI consistently.
7f9be256
TS
12264 * config/mips/mips.md (exception_receiver): Likewise.
12265 * config/mips/linux64.h: Likewise.
12266
6d0ef01e
HP
122672004-02-11 Hartmut Penner <hpenner@de.ibm.com>
12268
12269 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
12270 Set AltiVec ABI and vrsave as default for ppc64 linux.
12271 (init_cumulative_args): Post error, if try to return
12272 value in AltiVec register without enable AltiVec.
423e95e2 12273 (function_arg_advance): Ditto for passing arguments.
6d0ef01e 12274
7537fc90
RS
122752004-02-11 Richard Sandiford <rsandifo@redhat.com>
12276
12277 * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
12278 a label before updating its usage count.
12279
1e9f1674
MK
122802004-02-10 Matt Kraai <kraai@alumni.cmu.edu>
12281
9f0e2d86 12282 * doc/install.texi: Remove extra cd.
1e9f1674 12283
b34417a4
ZL
122842004-02-10 Ziemowit Laski <zlaski@apple.com>
12285
12286 * c-common.c (vector_size_helper): Remove; call
12287 reconstruct_complex_type() instead.
12288 * tree.c (reconstruct_complex_type): New function
12289 (formerly vector_size_helper() in c-common.c).
12290 (make_vector): Make externally visible.
12291 * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
12292
a466bea3
KH
122932004-02-10 Kazu Hirata <kazu@cs.umass.edu>
12294
12295 * config/h8300/h8300-protos.h: Add a prototype for
12296 h8300_regs_ok_for_stm.
12297 * config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
12298 * config/h8300/h8300.md (stm_h8300s_2_advanced,
12299 stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
12300 stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
12301 stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
12302 ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
12303 ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
12304 ldm_h8300s_4_normal, ldm_h8300s_4): Use
12305 h8300_regs_ok_for_stm().
12306
52bac949
DS
123072004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
12308
12309 PR c/14088
896c3aa3 12310 * real.c (real_from_string): Look for 'X' as well as 'x' in
52bac949
DS
12311 hexfloat strings.
12312
2493deee
KH
123132004-02-10 Kazu Hirata <kazu@cs.umass.edu>
12314
12315 * config/h8300/h8300.md: Remove an incorrect comment about
12316 peephole2. Add comments.
12317
fbe6ec81
JZ
123182004-02-10 Josef Zlomek <zlomekj@suse.cz>
12319
12320 PR/14058
12321 * emit-rtl.c (set_decl_incoming_rtl): New.
12322 * tree.h (set_decl_incoming_rtl): New.
12323 * function.c (assign_parms): Use set_decl_incoming_rtl for setting
12324 DECL_INCOMING_RTL.
12325 * ada/misc.c (adjust_decl_rtl): Likewise.
12326
8a4baa83
PB
123272004-02-10 Per Bothner <per@bothner.com>
12328
12329 * c-opts.c (c_common_post_options): Don't emit working directory
12330 in cpp output if -P was specified.
12331
31cc6081
PB
123322004-02-10 Paolo Bonzini <bonzini@gnu.org>
12333
12334 PR c/14092
12335 * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
12336 negate_expr back to the original type.
12337
d1d5c836
AM
123382004-02-10 Alan Modra <amodra@bigpond.net.au>
12339
12340 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
12341 bump retaddr here.
12342
dad822d3
PB
123432004-02-10 Paolo Bonzini <bonzini@gnu.org>
12344
12345 * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
12346 gen_lowpart_SUBREG): Move under the file in which they
12347 are actually declared.
12348
cd271054
AC
123492004-02-10 Arnaud Charlet <charlet@act-europe.fr>
12350
12351 * doc/sourcebuild.texi: Add libada documentation.
12352
12353 * doc/install.texi: Update documentation on Ada build, now
12354 that the GNAT lib and tools are built automatically.
12355
117c5858
RS
123562004-02-10 Richard Sandiford <rsandifo@redhat.com>
12357
12358 * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
12359 && TARGET_IRIX.
12360
42a1b62e
ZL
123612004-02-09 Ziemowit Laski <zlaski@apple.com>
12362
12363 * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
12364 boundaries outside build_component_ref() call (a macro in ObjC++).
12365
997b8b4d
BW
123662004-02-09 Bob Wilson <bob.wilson@acm.org>
12367
12368 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
12369 (init_cumulative_args): Likewise.
12370 (a7_overlap_mentioned_p): Delete prototype.
12371 * config/xtensa/xtensa.c (struct machine_function): Replace
12372 incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
12373 Add set_frame_ptr_insn field.
12374 (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
12375 (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
12376 if the operand is an argument in a7. If so, copy a7 to a new pseudo
12377 at the function entry and replace the operand with the pseudo.
12378 (init_cumulative_args): Remove unused arguments. Add new "incoming"
12379 argument and record this flag in CUMULATIVE_ARGS.
12380 (function_arg): Remove result_mode and special-case code to handle
12381 arguments in a7. Instead, set need_a7_copy flag when there is an
12382 incoming argument in a7.
12383 (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
12384 and use the value recorded in cfun->machine->set_frame_ptr_insn.
12385 (xtensa_builtin_saveregs): Check for negative gp_left value. Set
12386 need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
12387 special-case code.
12388 (a7_overlap_mentioned_p): Delete.
12389 * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
12390 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
12391 arguments to init_cumulative_args and pass "incoming" flag instead.
12392 (BLOCK_REG_PADDING): Delete.
12393 * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
12394 checks for reload_in_progress and reload_completed. Update calls to
12395 xtensa_copy_incoming_a7.
12396 (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
12397 to call xtensa_copy_incoming_a7.
12398
10709fbf
DD
123992004-02-09 DJ Delorie <dj@redhat.com>
12400
12401 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
12402 longer modify standard_exec_prefix, standard_bindir_prefix, or
12403 standard_startfile_prefix.
12404
c76362b4
JW
124052004-02-09 James E Wilson <wilson@specifixinc.com>
12406
228ae085
JW
12407 PR c++/11295
12408 * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
12409 to expand_expr_real call, and pass in alt_rtl as last argument.
12410
c76362b4
JW
12411 PR libstdc++/5625
12412 * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
12413 * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
12414 * builtins.def (BUILT_IN_EXTEND_POINTER): New.
12415 * except.c (expand_builtin_extend_pointer): New.
12416 * except.h (expand_builtin_extend_pointer): Declare.
12417
d886a041
DE
124182004-02-09 David Edelsohn <edelsohn@gnu.org>
12419
12420 * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
12421 unaligned loads and stores.
12422
756f76d0
RO
124232004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12424
12425 * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
12426 * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
12427
12428 * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
12429 * config/mips/iris5.h: ... here.
12430 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
12431
12432 * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
12433 * config/mips/iris5.h: ... here.
12434
426ca3ca
RO
124352004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12436
12437 * configure.ac: Remove default executable files before AC_PROG_CC.
12438 * configure: Regenerate.
12439
500fc80f
KH
124402004-02-09 Kazu Hirata <kazu@cs.umass.edu>
12441
12442 PR target/13721
12443 * config/h8300/h8300.c (byte_reg): Call abort() if asked to
12444 print a operand other than a register.
12445
b83c4036
RS
124462004-02-09 Roger Sayle <roger@eyesopen.com>
12447
12448 * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
12449 tree code rather than call fold_convert, which doesn't specify a
12450 default floating point to integer conversion.
12451
3b4b85c9
BI
124522004-02-08 Bernardo Innocenti <bernie@develer.com>
12453
12454 * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
12455 code to support SGS assembler. Reformat adjacent code where possible.
b83c4036
RS
12456 * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
12457 definition.
12458 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
12459 for '%#'.
3b4b85c9 12460 * config/m68k/linux.h, config/m68k/m68k.c,
b83c4036
RS
12461 * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
12462 macros and asm_printf() format strings.
3b4b85c9
BI
12463 * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
12464 * config/m68k/linux.h: Update copyright.
12465 * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
12466
01bbf777 124672004-02-08 Andreas Schwab <schwab@suse.de>
9f0e2d86 12468 Bernardo Innocenti <bernie@develer.com>
01bbf777
AS
12469
12470 * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
12471 REGISTER_PREFIX.
12472 * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
12473 frame pointer register, overridable by OS targets.
12474 * (M68K_REGNAME): Macro to obtain register name for asm output,
12475 eventually replacing %a6 with M68K_FP_REG_NAME.
12476 * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
12477 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
12478 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
12479 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
12480 * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
12481
1f6acb82
KH
124822004-02-08 Kazu Hirata <kazu@cs.umass.edu>
12483
12484 * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
12485 hook_rtx_tree_int_null.
12486 * targhooks.c (default_struct_value_rtx): Remove.
12487 * targhooks.h: Remove the prototype for
12488 default_struct_value_rtx.
12489 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
12490 config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
12491 config/ip2k/ip2k.c, config/iq2000/iq2000.c,
12492 config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
12493 config/mn10300/mn10300.c, config/pdp11/pdp11.c,
12494 config/rs6000/rs6000.c, config/s390/s390.c,
12495 config/stormy16/stormy16.c, config/v850/v850.c,
12496 config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
12497 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
12498
b46b8fb4
JM
124992004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
12500
12501 * README.Portability: Change "ISO C89" to "ISO C90".
12502 * c-parse.in (primary, initelt): Likewise.
12503
7c476bde
RS
125042004-02-08 Richard Sandiford <rsandifo@redhat.com>
12505
12506 * real.c (encode_ibm_extended): Normalize the input value before
12507 converting it to a double. Handle the case where a normal value
12508 rounds to infinity.
12509
56ae04af
KH
125102004-02-08 Kazu Hirata <kazu@cs.umass.edu>
12511
f934561e
KH
12512 * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
12513 warning.
56ae04af
KH
12514 * cse.c (preferrable): Change to preferable. Update all of its
12515 callers.
12516 * genautomata.c (ainsn): Change
12517 first_ainsn_with_given_equialence_num to
12518 first_ainsn_with_given_equivalence_num. Update all of its
12519 references.
12520
ec1dbfca
JH
125212004-02-08 Jan Hubicka <jh@suse.cz>
12522
12523 * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
12524
f276fb54
DE
125252004-02-07 David Edelsohn <edelsohn@gnu.org>
12526
12527 * function.c (assign_parms): Fix formatting.
12528
fefcb65c
KH
125292004-02-07 Kazu Hirata <kazu@cs.umass.edu>
12530
12531 * default.h (PROMOTE_PROTOTYPES): Remove.
12532 * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
12533 STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
12534 EXPAND_BUILTIN_SAVEREGS): Poison.
12535 * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
12536 hook_bool_tree_false.
12537 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12538 * target.h: Replace SETUP_INCOMING_VARARGS with
12539 targetm.calls.setup_incoming_varargs().
12540 * targhooks.c (default_promote_function_return): Remove.
12541 (default_promote_prototypes): Likewise.
12542 (default_struct_value_rtx): Always abort().
12543 (default_expand_builtin_saveregs): Always print an error
12544 message.
12545 (default_setup_incoming_varargs): Do nothing.
12546 (default_pretend_outgoing_varargs_named): Don't depend on
12547 SETUP_INCOMING_VARARGS.
12548 * targhooks.h: Remove the prototype for
12549 default_promote_function_return and
12550 default_promote_prototypes.
12551
dc79b3b8
KH
125522004-02-07 Kazu Hirata <kazu@cs.umass.edu>
12553
12554 * system.h (SHARED_SECTION_ASM_OP): Poison.
12555 * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
12556 * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
12557
a6f78652
ZW
125582004-02-07 Zack Weinberg <zack@codesourcery.com>
12559
12560 Bug 13856
12561 * c-decl.c (diagnose_mismatched_decls): Only give special
12562 treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
12563 is also true.
12564 (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
12565 DECL_FUNCTION_CODE when defining a built-in function.
12566 Don't update DECL_ESTIMATED_INSNS.
12567 * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
12568 FUNCTION_DECLs.
12569 * tree.h: Delete DECL_ESTIMATED_INSNS.
12570 * tree-inline.c (struct inline_data): Delete inlined_insns field.
12571 (expand_call_inline, optimize_inline_calls): Don't update
12572 DECL_ESTIMATED_INSNS nor inlined_insns.
12573 * cgraphunit.c (cgraph_analyze_function): Don't update
12574 DECL_ESTIMATED_INSNS.
12575
125762004-02-07 Zack Weinberg <zack@codesourcery.com>
12577
12578 * c-common.c (shadow_warning): Delete.
12579 * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
12580 * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
12581 * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
12582 * c-parse.in (free_parser_stacks): Delete.
12583
947c6b00
NN
125842004-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
12585
12586 * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
12587 config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
12588 Use the top level mkinstalldirs, not the one in the gcc subdir.
12589 * mkinstalldirs: Remove (from the gcc subdir).
12590
088414c1
RS
125912004-02-07 Roger Sayle <roger@eyesopen.com>
12592
12593 PR middle-end/13696
12594 * fold-const.c (fold_convert): New function to provide type
12595 conversion to the middle-end without using convert.
12596 (negate_expr, associate_trees, size_diffop, omit_one_operand,
12597 operand_equal_for_comparison_p, pedantic_omit_one_operand,
12598 invert_truthvalue, optimize_bit_field_compare, range_binop,
12599 decode_field_reference, make_range, build_range_check, unextend,
12600 fold_truthop, extract_muldiv_1, fold_mathfn_compare,
12601 fold_binary_op_with_conditional_arg, fold_inf_compare,
12602 fold_single_bit_test, fold, multiple_of_p): Replace all calls to
12603 convert with calls to fold_convert.
12604
076963eb
JH
126052004-02-07 Jan Hubicka <jh@suse.cz>
12606
12607 * genrecog.c (find_operand): add extra argument stop.
12608 (validate_pattern): Verify that mach_dup is duplicating operand
12609 defined lexically earlier.
12610
1197924d
KH
126112004-02-07 Kazu Hirata <kazu@cs.umass.edu>
12612
12613 * config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
12614 * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
12615 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
12616 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
12617 config/ia64/ia64.h, config/ip2k/ip2k.h,
12618 config/iq2000/iq2000.h, config/mips/iris5.h,
12619 config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
12620 config/rs6000/aix51.h, config/rs6000/aix52.h,
12621 config/rs6000/darwin.h, config/rs6000/rs6000.h,
12622 config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
12623 config/sparc/linux.h, config/sparc/linux64.h,
12624 config/sparc/netbsd-elf.h, config/sparc/sparc.h,
12625 config/xtensa/xtensa.h: Remove the definitions of
12626 MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
12627 MAX_WCHAR_TYPE_SIZE.
12628 * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
12629 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
12630
883899ee
SC
126312004-02-07 Stephane Carrez <stcarrez@nerim.fr>
12632
12633 PR bootstrap/13990
12634 * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
12635 gen_rtx_NE.
12636
f6e215cc
JZ
126372004-02-07 Josef Zlomek <zlomekj@suse.cz>
12638
12639 * var-tracking.c (vt_add_function_parameters): Surround checkings by
12640 #ifdef ENABLE_CHECKING and #endif.
12641
dfb36f9b
RS
126422004-02-07 Roger Sayle <roger@eyesopen.com>
12643
12644 * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
12645 either (-A)-B or (-B)-A, if A or B is easily negated respectively.
12646 (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
12647 integer types and floating point with unsafe_math_optimizations.
12648 Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
12649 Optimize A - B as A + (-B), if B is easily negated.
12650
0ea5865c
KH
126512004-02-07 Kazu Hirata <kazu@cs.umass.edu>
12652
12653 * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
12654 config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
12655 config/m32r/linux.h, config/rs6000/ppc64-fp.c,
12656 config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
12657 Update copyright.
12658
fb0840fc
KH
126592004-02-07 Kazu Hirata <kazu@cs.umass.edu>
12660
12661 * c-ppoutput.c, var-tracking.c: Fix comment typos.
12662
468c45a3
JW
126632004-02-06 James E Wilson <wilson@specifixinc.com>
12664
12665 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
12666 glibc 2.3 or better.
12667
9c917669
KH
126682004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12669
12670 * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
12671 to FLOAT_LIB_COMPARE_RETURNS_BOOL.
12672
fb7e4164
AM
126732004-02-07 Alan Modra <amodra@bigpond.net.au>
12674
12675 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
12676 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
12677 (SHLIB_MKMAP_OPTS): Delete.
12678 (TARGET_LIBGCC2_CFLAGS): Add -specs.
12679 (bispecs): Add rule.
12680 * config/rs6000/libgcc-ppc64.ver: New file.
12681 * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
12682 (__floatdidf, __floatdisf): Optimize multiply.
12683 (__fixunstfdi): New function.
12684 * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
12685 real and imag parts larger than one register.
12686 (function_arg): Correct type of reg used when fp arg split partially
12687 to stack.
12688 * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
12689 and __MACH__ or __powerpc64__.
12690
254878ea
RS
126912004-02-06 Roger Sayle <roger@eyesopen.com>
12692 Ulrich Weigand <uweigand@de.ibm.com>
12693
12694 * builtins.c (expand_builtin_signbit): Use extract_bit_field instead
12695 of gen_highpart or gen_lowpart when the floating point format is
12696 wider than the result mode.
12697
b1053160
AP
126982004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
12699
a6f78652 12700 * dwarf2out.c (loclabel_num): Move into #ifdef
b1053160
AP
12701 DWARF2_DEBUGGING_INFO.
12702
25fe8680
ZL
127032004-02-06 Ziemowit Laski <zlaski@apple.com>
12704
12705 * objc/objc-act.c (build_super_template) the 'class' field of
12706 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
12707 (get_super_receiver): Likewise.
12708
761fa0f7
KH
127092004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12710
12711 * reload1.c (check_eliminable_occurrences): Optimize the reset
12712 of can_eliminate.
12713 (eliminate_regs_in_insn): Likewise.
12714
0a2d3d69 127152004-02-06 Daniel Berlin <dberlin@dberlin.org>
a6f78652 12716 Josef Zlomek <zlomekj@suse.cz>
0a2d3d69
DB
12717
12718 * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
12719 at the beginning of function, call dwarf2out_var_location for
12720 NOTE_INSN_VAR_LOCATION note.
12721 (struct var_loc_node, struct var_loc_list_def, loclabel_num,
12722 decl_loc_table): New.
12723 (lookup_decl_loc): New function.
12724 (add_var_loc_to_decl): New function.
12725 (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
12726 only if can_use_fbreg.
12727 (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
12728 functions.
12729 (loc_descriptor): Likewise. Process VAR_LOCATION.
12730 (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
12731 (loc_descriptor_from_tree): Call mem_loc_descriptor with
12732 can_use_fbreg == true.
12733 (add_location_or_const_value_attribute): Added parameter enum
12734 dwarf_attribute attr, generate attribute ATTR. Create the location list.
12735 (add_bound_info): Call loc_descriptor with can_use_fbreg == true.
12736 (gen_formal_parameter_die): Call add_location_or_const_value_attribute
12737 with attr == DW_AT_location.
12738 (gen_subprogram_die): Generate the location list for DW_AT_frame_base
12739 if frame_base_decl is defined and has a location list.
12740 (gen_variable_die): Call add_location_or_const_value_attribute with
12741 attr == DW_AT_location.
12742 (dwarf2out_var_location): New function.
12743 (dwarf2out_begin_function): New function.
12744 (dwarf2out_init): Create decl_loc_table.
12745
1f0db3df
UW
127462004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
12747
12748 * loop.c (force_movables): Transitively increase the priorities of
12749 all insns forces by an insn, not just the first one.
12750
014a1138 127512004-02-06 Josef Zlomek <zlomekj@suse.cz>
a6f78652 12752 Daniel Berlin <dberlin@dberlin.org>
014a1138
JZ
12753
12754 Josef Zlomek <zlomekj@suse.cz>
12755 * Makefile.in (var-tracking.o): New.
12756 * common.opt (fvar-tracking): New.
12757 * flags.h (flag_var_tracking): New.
12758 * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
12759 * opts.c (common_handle_option): Add OPT_fvar_tracking.
12760 * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
a6f78652
ZW
12761 * rtl.c (note_insn_name): Likewise.
12762 * rtl.def (VAR_LOCATION): New.
12763 * rtl.h (NOTE_VAR_LOCATION): New.
12764 (NOTE_VAR_LOCATION_DECL): New.
12765 (NOTE_VAR_LOCATION_LOC): New.
12766 (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
12767 (variable_tracking_main): New exported function.
12768 * timevar.def (TV_VAR_TRACKING): New.
12769 * toplev.c (enum dump_file_index): Added DFI_vartrack.
12770 (dump_file): "vartrack" was added (-dV).
12771 (flag_var_tracking): New.
12772 (f_options): "var-tracking" was added.
014a1138 12773 (rest_of_handle_variable_tracking): New function.
a6f78652 12774 (rest_of_compilation): Run variable tracking.
014a1138
JZ
12775 (process_options): If user has not specified flag_var_tracking set it
12776 according to optimize, debug_info_level and debug_hooks.
12777 * tree.h (frame_base_decl): New.
a6f78652 12778 * var-tracking.c: New file.
014a1138
JZ
12779 * config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
12780 (ia64_override_options): Set flags to run variable tracking in machine
12781 dependent reorg instead of toplev.c.
12782 (ia64_reorg): Run variable tracking if wanted.
a6f78652 12783 * doc/invoke.texi: Mention variable tracking in -dV,
014a1138 12784 add and -fvar-tracking.
a6f78652 12785 * doc/passes.texi: Added variable tracking pass.
014a1138
JZ
12786
12787 Daniel Berlin <dberlin@dberlin.org>
12788 * debug.h (struct gcc_debug_hooks): Added var_location debug hook.
12789 * dbxout.c (dbx_debug_hooks): Likewise.
12790 (xcoff_debug): Likewise.
12791 * debug.c (do_nothing_debug_hooks): Likewise.
12792 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
12793 * dwarfout.c (dwarf_debug_hooks): Likewise.
12794 * sdbout.c (sdb_debug_hooks): Likewise.
12795 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
a6f78652
ZW
12796 * final.c (final_scan_insn): Call var_location debug hook for each
12797 NOTE_INSN_VAR_LOCATION.
014a1138 12798
298c28a8
JH
127992004-02-06 Jan Hubicka <jh@suse.cz>
12800
12801 * flow.c (update_life_info): Allocate reg_deaths when called from
12802 scheudler.
12803 (attempt_auto_inc): Update life ranges accordingly.
12804
3199cb41
UW
128052004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
12806
12807 PR debug/11816
12808 * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
12809
1a6dd8a2
UW
128102004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
12811
12812 * cfganal.c (flow_call_edges_add): Never split a libcall block.
12813
1711adc2
DB
128142004-02-06 Daniel Berlin <dberlin@dberlin.org>
12815
12816 * dwarf2out.c (output_loc_list): Don't use deltas if we have
12817 a separate line info table in use.
12818 Use the correct size for terminators.
12819 (output_die): Use offset, not delta.
12820
b1e5a971
L
128212004-02-06 H.J. Lu <hongjiu.lu@intel.com>
12822
12823 * doc/invoke.texi: Remove the pni option from -mfpmath=.
12824
736b64dd
JH
128252004-02-06 Jan Hubicka <jh@suse.cz>
12826
12827 * recog.c (split_all_insns): Do not update reg info.
12828 * regrename.c (regrename_optimize): Likewise.
12829 * toplev.c (rest_of_handle_reorder_blocks): Likewise.
12830 * flow.c (struct propagate_block_info): Add insn_num field.
12831 (reg_deaths): New array.
12832 (life_analysis): Free reg_deaths info.
12833 (allocate_reg_life_data): Allocate reg_deaths array.
12834 (propagate_one_insn): Use new array.
12835 (init_propagate_block): Initialize it.
12836 (free_propagate_block_info): Finish compuation of
12837 REG_LIVE_LENGTH
12838 (attempt_auto_inc): Sanity check that REG_INFO is not
12839 computed at same time.
12840 (mark_used_regs): Update new array.
12841
12842 * reg-stack.c (subst_stack_regs): Unshare clobbers before
12843 substitution.
12844
eb457a7a
KH
128452004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12846
12847 * config/s390/s390.md (*extendsiqi2_short_displ): Change to
12848 *extendqisi2_short_displ.
12849
0f6937fe
AM
128502004-02-06 Alan Modra <amodra@bigpond.net.au>
12851
12852 * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
12853 * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
12854 (emit_library_call_value_1): Likewise pass nargs.
12855 * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
12856 * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
12857 * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
12858 parameter instead of scanning TYPE_ARGS_TYPES to count args.
12859 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
12860 prototype.
12861 * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
12862 (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
12863 (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
12864 * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
12865 INIT_CUMULATIVE_ARGS.
12866 * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
12867 * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
12868 config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
12869 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
12870 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
12871 config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
12872 config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
12873 config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
12874 config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
07711f53 12875 config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
0f6937fe
AM
12876 config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
12877 config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
12878
11b635fe
KH
128792004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12880
12881 * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
12882 possible.
12883
ace3ffcd
KH
128842004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12885
12886 * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
12887 note containing (plus (reg) (const_int)), where reg is an
12888 eliminable reg, then perform the register elimination without
12889 depending on eliminate_regs().
12890
78bc94a2
KH
128912004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12892
12893 * config/arc/arc.c (arc_return_in_memory): Check the return
12894 value of int_size_in_bytes against -1. Don't check
12895 TREE_ADDRESSABLE.
12896 * config/avr/avr.c (avr_return_in_memory): Check the return
12897 value of int_size_in_bytes against -1.
12898 * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
12899 * config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
12900 Likewise.
12901 * config/mcore/mcore.c (mcore_return_in_memory): Likewise.
12902 * config/stormy16/stormy16.c (xstormy16_return_in_memory):
12903 Likewise.
12904
d8c2bed3
KH
129052004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12906
12907 * config/frv/frv-protos.h: Remove the prototype for
12908 frv_setup_incoming_varargs.
12909 * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
12910 (frv_setup_incoming_varargs): Make it static.
12911 * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
12912
3e29e2aa
KH
129132004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12914
12915 * config/fr30/fr30-protos.h: Remove the prototype for
12916 fr30_setup_incoming_varargs.
12917 Update the prototypes for fr30_num_arg_regs and
12918 fr30_function_arg_partial_nregs.
12919 * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
12920 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12921 (fr30_setup_incoming_varargs): Make it static.
12922 Add argument second_time. Don't do anything when second_time
12923 is nonzero.
12924 (fr30_num_arg_regs): Change the type of the first argument to
12925 enum machine_mode.
12926 (fr30_function_arg_partial_nregs): Change the type of the
12927 second argument to enum machine_mode.
12928 * config/fr30/fr30.h (STRUCT_VALUE): Remove.
12929 (SETUP_INCOMING_VARARGS): Remove.
12930
07ba2efb
KH
129312004-02-06 Kazu Hirata <kazu@cs.umass.edu>
12932
12933 * config/arc/arc-protos.h: Remove the prototype for
12934 arc_setup_incoming_varargs.
12935 * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
12936 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12937 (arc_setup_incoming_varargs): Make it static.
12938 (arc_external_libcall): Likewise.
12939 * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
12940 Remove the commented-out definition of
12941 ASM_OUTPUT_EXTERNAL_LIBCALL.
12942
f4954ff1
ST
129432004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
12944
12945 * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
12946 to $$(slibdir) in the installation commands.
12947
403c659c
DE
129482004-02-05 David Edelsohn <edelsohn@gnu.org>
12949
12950 * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
12951 with inner_regno, not regno.
12952 * rtlanal.c (refers_to_regno_p): Same.
12953
5b547172
KH
129542004-02-05 Kazu Hirata <kazu@cs.umass.edu>
12955
12956 * config.gcc: Remove i370 support.
12957
ce5c1cf3
KC
129582004-02-05 Kelley Cook <kcook@gcc.gnu.org>
12959
12960 * doc/install.texi: Update automake and autoconf version
12961 requirements. Note where to find gcj automake version.
12962
129632004-02-05 Kelley Cook <kcook@gcc.gnu.org>
12964
12965 * Makefile.in (generate-manpages): Move dependencies to ...
12966 (man): here.
12967 * doc/makefile.texi: Document new targets.
12968 * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
12969
02ba6b22
KC
129702004-02-05 Kelley Cook <kcook@gcc.gnu.org>
12971
12972 PR/13485
12973 Makefile.in (srcextra): Add a level of indirection to ...
12974 (gcc.srcextra): ... here.
12975 (po-generated): Delete.
12976 (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
12977 options.c.
12978 (start.encap): Remove superfluous lang.srcextra dependency.
12979 objc/Make-lang.in (po-generated): Delete.
12980
66fcab25
KH
129812004-02-05 Kazu Hirata <kazu@cs.umass.edu>
12982
12983 * config/ia64/ia64.c (REG_GP): Remove.
12984
89a95129
RO
129852004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12986
12987 * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
12988
9733d507
DP
129892004-02-05 Devang Patel <dpatel@apple.com>
12990
12991 * dwarf2out.c (force_type_die): Look up input type itself
12992 instead of root_type() of type.
a6f78652 12993
19796784
AK
129942004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
12995
12996 * config/s390/s390.md ("*tmqidi_ext"): New insn.
12997 ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
12998 pre-reload splitters are transformed to post-reload
12999 define_insn_and_split patterns.
13000 ("*tmqisi_ext"): Renamed old "*tmqi_ext".
13001
136e64db
KH
130022004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13003
13004 * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
13005 TARGET_PROMOTE_PROTOTYPES.
13006
839ee4bc
RO
130072004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13008
13009 PR middle-end/13750
13010 Revert:
13011 2004-01-15 Geoffrey Keating <geoffk@apple.com>
13012 PR pch/13361
13013 * c-typeck.c (constructor_asmspec): Delete.
13014 (struct initializer_stack): Delete field 'asmspec'.
13015 (start_init): Delete saving of asmspec.
13016 (finish_init): Don't update constructor_asmspec.
13017 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
13018 * stmt.c (expand_asm): Duplicate strings from tree.
13019 (expand_asm_operands): Likewise.
13020 * tree.c (tree_size): Update computation of size of STRING_CST.
13021 (make_node): Don't make STRING_CST nodes.
13022 (build_string): Allocate string with tree node.
13023 * tree.def (STRING_CST): Update comment.
13024 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
13025 (tree_string): Place contents of string in tree node.
13026 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
13027 from tree.
13028
687d688e
JM
130292004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
13030
13031 * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
13032 msgid.
13033
20a20bf0
DN
130342004-02-05 Dorit Naishlos <dorit@il.ibm.com>
13035
13036 * config/rs6000/altivec.md (*movv4si_internal): At least one
13037 operand must be altivec_register_operand.
13038 (*movv8hi_internal1): Likewise.
13039 (*movv16qi_internal1): Likewise.
13040 (*movv4sf_internal1): Likewise.
13041
6b37db3c
DE
130422004-02-05 David Edelsohn <edelsohn@gnu.org>
13043
13044 * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
13045 * configure: Regenerate.
13046
e0b24bce
JW
130472004-02-05 Jonathan Wakely <redi@gcc.gnu.org>
13048
13049 * doc/install.texi: Update description of --gxx-include-dir to
13050 give correct default value.
13051
2dca8ddb
KH
130522004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13053
13054 * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
13055 8 with MAC_REG.
13056
92fd5e41
KH
130572004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13058
13059 * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
13060 gen_rtx_PARALLEL.
13061
f822fcf7
KH
130622004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13063
13064 * emit-rtl.c: Update the comment about the file.
13065
4ef84575
JM
130662004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
13067
13068 * sourcebuild.texi (Test Idioms): Update testcase naming
13069 conventions.
13070
8e9ea4d7
PB
130712004-02-04 Per Bothner <per@bothner.com>
13072
13073 Partially revert/redo 2003-10-01 change; fix -fworking-directory.
13074 * c-ppoutput.c (pp_dir_change): New function.
13075 * c-common.h (pp_dir_change): New declaration.
13076 * cpplib.h (struct cpp_options): Remove working_directory field.
13077 * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
13078 (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
13079 Don't handle -fworking_directory here, but in c_common_post_options.
13080 (read_original_directory): Don't back up when done.
13081 Don't clear no-longer used working_directory flag.
13082 * cpplib.h: Update declarations to match.
13083 * c-lex.c (cb_dir_change): Move to c-opts.c.
13084 (init_c_lex): Don't set dir_change callback here, since we want
13085 to set it even if flag_preprocess_only.
13086 * c-opts.c (cb_dir_change): Function moved from c-lex.c.
13087 (c_common_post_options): Set dir_change callback.
13088 Call pp_dir_change if approporiate.
13089 (finish_options): Don't call cpp_find_main_file here. Hence remove
13090 unneeded parameter and result. Do LC_RENAME for <built-in>.
13091 (c_common_post_options): Call cpp_read_main_file here instead.
13092 (c_common_init): Update accordingly.
13093 (push_command_line_include): Don't cpp_push_main_file.
13094 Do LC_RENAME rather than LC_LEASE to get back to main file.
13095 Compared to pre-10-01 version, inline cpp_rename_to_main_file.
13096 (c_common_parse_file): Call cpp_read_main_file for subsequent main
13097 files, but call finish_options for all files.
13098 * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
13099 * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
13100 cpp_find_main_file + cpp_push_main_file.
13101 * c-lex.c (fe_file_change): Don't set main_input_filename here.
13102 * opts.c (handle_options): Only set main_input_filename first time.
13103
5384443a
ILT
131042004-02-05 Ian Lance Taylor <ian@wasabisystems.com>
13105
13106 * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
13107
3c241c19
GK
131082004-02-04 Geoffrey Keating <geoffk@apple.com>
13109
13110 * reload.c (find_equiv_reg): When checking for register overlap,
13111 don't index hard_regno_nregs with a pseudo-reg.
13112
a322288b
UW
131132004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13114
13115 * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
13116
859b9c1d
DE
131172004-02-04 David Edelsohn <edelsohn@gnu.org>
13118
13119 * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
13120 against FIRST_PSEUDO_REGISTER.
13121
7e63a64e
RO
131222004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13123
13124 * Makefile.in: Move target, host overrides after per-language
13125 fragments.
13126
13127 * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
13128 (GNATLIBCFLAGS): Remove -g.
13129
5efb1046
KH
131302004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13131
13132 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
13133 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
13134 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
13135 config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
13136 config/pdp11/pdp11.c, config/rs6000/rs6000.c,
13137 config/sparc/sparc.c, config/vax/vax.c: Revert the
13138 replacements of "FALLTHRU" with "Fall through" done in the
13139 previous patch.
13140
ff482c8d
KH
131412004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13142
13143 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
13144 config/arm/arm.c, config/arm/arm.md,
13145 config/cris/cris-protos.h, config/fr30/fr30.c,
13146 config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
13147 config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
13148 config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
13149 config/ip2k/ip2k.md, config/ip2k/libgcc.S,
13150 config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
13151 config/m68k/m68k.c, config/m68k/netbsd-elf.h,
13152 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
13153 config/ns32k/netbsd.h, config/ns32k/ns32k.c,
13154 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
13155 config/rs6000/darwin-ldouble.c, config/s390/s390.h,
13156 config/s390/s390.md, config/sparc/netbsd-elf.h,
13157 config/sparc/openbsd.h, config/sparc/sparc.c,
13158 config/xtensa/lib2funcs.S: Fix comment formatting.
13159
59b9a953
KH
131602004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13161
13162 * config/alpha/alpha.c, config/arc/arc.c,
13163 config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
13164 config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
13165 config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
13166 config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
13167 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
13168 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
13169 config/iq2000/iq2000.c, config/m32r/m32r.c,
13170 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
13171 config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
13172 config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
13173 config/rs6000/rs6000.h, config/sparc/sparc.c,
13174 config/vax/vax.c: Fix comment typos. Follow spelling
13175 conventions.
13176
e146f815
KH
131772004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13178
13179 * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
13180 caller-save.c, df.h, genconfig.c, global.c, lcm.c,
13181 ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
13182 sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
13183 config/arm/fpa.md, config/arm/iwmmxt.md,
13184 config/arm/netbsd-elf.h, config/arm/netbsd.h,
13185 config/m68hc11/m68hc11.md, config/mips/iris5.h,
13186 config/mn10300/mn10300.md, config/rs6000/altivec.md,
13187 config/sparc/netbsd-elf.h: Update copyright.
13188
e2a17f6e
EB
131892004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
13190
13191 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
13192 for all modes whose size is greater than 8 bytes if ARCH32.
13193 (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
13194 by reference if ARCH32.
13195
e0cc7f73 131962004-02-04 Aldy Hernandez <aldyh@redhat.com>
a6f78652
ZW
13197
13198 * cgraphunit.c (cgraph_postorder): Fix typo in comment.
e0cc7f73 13199
7bdff56f
UW
132002004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13201
13202 * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
13203 to before adddi3 insn patterns.
13204 ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
13205 "reload_insi"): Move to before addsi3 insn patterns.
13206
dd292d0a
MM
132072004-02-04 Mark Mitchell <mark@codesourcery.com>
13208
13209 * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
13210 parameter. Use it instead of current_function_is_thunk.
13211 * function.h (struct function): Update documentation for is_thunk.
13212 * tree.h (CALL_FROM_THUNK_P): New macro.
13213 * config/alpha/alpha.c (alpha_sa_mask): Do not check
13214 no_new_pseudos when testing current_function_is_thunk.
13215 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
13216
c2379679
KH
132172004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13218
13219 * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
13220 TARGET_SETUP_INCOMING_VARARGS.
13221
a2a8cc44
KH
132222004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13223
13224 * emit-rtl.c (gen_rtx): Remove.
13225 * genattrtab.c: Don't mention gen_rtx in a comment.
13226 * rtl.h: Remove the prototype for gen_rtx.
13227 * doc/md.texi: Replace gen_rtx with gen_rtx_REG.
13228
f61c92c3
KH
132292004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13230
13231 * config/arc/arc.h, config/fr30/fr30.h
13232 (SETUP_INCOMING_VARARGS): Remove the target-independent
13233 comments.
13234 * doc/tm.texi: Don't mention deprecated target macros.
13235
c35c17c1
KH
132362004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13237
13238 * config/fr30/fr30.h (FUNCTION_VALUE): Remove the
13239 target-independent comment.
13240
cea28603
KH
132412004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13242
13243 * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
13244 mention deprecated target macros.
13245
a4a4b1d3
KH
132462004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13247
13248 * config.gcc: Remove obsolete ports and configurations.
13249 * config/linux-aout.h, config/netware.h,
13250 config/t-linux-gnulibc1, config/d30v/abi,
13251 config/d30v/d30v-protos.h, config/d30v/d30v.c,
13252 config/d30v/d30v.h, config/d30v/d30v.md,
13253 config/d30v/libgcc1.asm, config/d30v/t-d30v,
13254 config/dsp16xx/dsp16xx-modes.def,
13255 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
13256 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
13257 config/i370/README, config/i370/i370-c.c,
13258 config/i370/i370-protos.h, config/i370/i370.c,
13259 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
13260 config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
13261 config/i386/freebsd-aout.h, config/i386/linux-aout.h,
13262 config/i386/moss.h, config/i386/netware.h,
13263 config/i386/svr3.ifile, config/i386/svr3dbx.h,
13264 config/i386/svr3gas.h, config/i386/svr3z.ifile,
13265 config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
13266 config/i960/i960-c.c, config/i960/i960-coff.h,
13267 config/i960/i960-modes.def, config/i960/i960-protos.h,
13268 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
13269 config/i960/rtems.h, config/i960/t-960bare,
13270 config/m68k/hp310.h, config/m68k/hp320.h,
13271 config/m68k/hp320base.h, config/m68k/m68kv4.h,
13272 config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
13273 Remove.
13274 * doc/extend.texi, doc/install.texi, doc/invoke.texi,
13275 doc/md.texi: Remove mentions of obsolete ports.
13276
40e02b4a
JH
132772004-02-04 Jan Hubicka <jh@suse.cz>
13278
13279 * alias.c (find_base_term, get_addr): Do not dereference NULL
13280 pointer when all VALUE's locations has been invalidated.
13281 (rtx_equal_for_memref_p): Simplify checking of VALUEs.
13282
a6f78652 132832004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
1c02f6f2
WB
13284
13285 * doc/invoke.texi (x86 options): Fix spelling/wording.
13286
584e5527
RS
132872004-02-03 Richard Sandiford <rsandifo@redhat.com>
13288
13289 * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
13290 put the original string in a comment.
13291 * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
13292 * config/mips/mips.c (mips_output_ascii): Likewise.
13293 * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
13294
9b2b3375
KH
132952004-02-03 Kazu Hirata <kazu@cs.umass.edu>
13296
13297 * system.h (GIV_SORT_CRITERION): Poison.
13298 * config/avr/avr.h (GIV_SORT_CRITERION): Remove.
13299 * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
13300
888d65b5
RS
133012004-02-03 Roger Sayle <roger@eyesopen.com>
13302
13303 PR target/9348
13304 * expr.c (expand_expr_real) <MULT_EXPR>: When performing widening
13305 multiplies with a multiplication of the wrong signedness, its the
13306 signedness of the multiplication that we've performed that needs to
13307 be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move
13308 if expand_mult_highpart_adjust places the result in target.
13309
a8c0bbc7
RH
133102004-02-03 Richard Henderson <rth@redhat.com>
13311
13312 * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
13313
a8f0f22e
R
133142004-02-03 J"orn Rennecke <joern.rennecke@superh.com>
13315
13316 * config.gcc (sh[234]l): Use little endian fragments.
13317
e621b588
PK
133182004-02-03 Paul Koning <pkoning@equallogic.com>
13319
13320 * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
13321 * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
13322 * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
13323 encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
13324 floating point format.
13325 (pdp11_f_format, pdp11_d_format): New real_format descriptors for
13326 the above functions.
13327 (output_move_quad): Output float values in correct target format.
13328 (legitimate_const_double_p): New function.
13329 * config/pdp11/pdp11.h: Fix typos.
13330 (FLOAT_WORDS_BIG_ENDIAN): Add definition.
13331 (TARGET_FLOAT_FORMAT): Ditto.
13332 (pdp11_f_format, pdp11_d_format): Add external declarations.
13333 (MAX_REGS_PER_ADDRESS): Corrected.
13334 (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
13335 (PRINT_OPERAND): Output float literals in target format.
13336
5a98fa7b
MM
133372004-02-03 Mark Mitchell <mark@codesourcery.com>
13338
13339 PR c++/13975
13340 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
13341 TI_PRIVATE.
13342 (access_public_node): Redefine.
13343 (access_protected_node): Likewise.
13344 (access_private_node): Likewise.
13345 * tree.c (build_common_tree_nodes): Create access_public_node,
13346 access_protected_node, and access_private_node.
13347
0263e6bf
SE
133482004-02-03 Steve Ellcey <sje@cup.hp.com>
13349
13350 * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
13351 (MASK_INLINE_INT_DIV_THR): Ditto.
13352 (MASK_INLINE_SQRT_LAT): Ditto.
13353 (MASK_INLINE_SQRT_THR): Ditto.
13354 (MASK_DWARF2_ASM): Ditto.
13355 (MASK_EARLY_STOP_BITS): Ditto.
13356
9b66ebb1
PB
133572004-02-02 Paul Brook <paul@codesourcery.com>
13358
13359 Merge from csl-arm-branch.
13360
13361 2004-01-30 Paul Brook <paul@codesourcery.com>
13362
13363 * aof.h (REGISTER_NAMES): Add vfp reg names
13364 (ADDITIONAL_REGISTER_NAMES): Ditto.
13365 * aout.h (REGISTER_NAMES): Ditto.
13366 (ADDITIONAL_REGISTER_NAMES): Ditto.
13367 * arm-protos.h: Update/Add Prototypes.
13368 * arm.c (init_fp_table): Rename from init_fpa_table. Update users.
13369 Only allow 0.0 for VFP.
13370 (fp_consts_inited): Rename from fpa_consts_inited. Update users.
13371 (values_fp): Rename from values_fpa. Update Users.
13372 (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
13373 Update users. Only check valid constants for this hardware.
13374 (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
13375 Only allow consts for FPA.
13376 (arm_float_add_operand): Rename from fpa_add_operand. Update users.
13377 Only allow consts for FPA.
13378 (use_return_insn): Check for saved VFP regs.
13379 (arm_legitimate_address_p): Handle VFP DFmode addressing.
13380 (arm_legitimize_address): Ditto.
13381 (arm_general_register_operand): New function.
13382 (vfp_mem_operand): New function.
13383 (vfp_compare_operand): New function.
13384 (vfp_secondary_reload_class): New function.
13385 (arm_float_compare_operand): New function.
13386 (vfp_print_multi): New function.
13387 (vfp_output_fstmx): New function.
13388 (vfp_emit_fstm): New function.
13389 (arm_output_epilogue): Output VPF reg restore code.
13390 (arm_expand_prologue): Output VFP reg save code.
13391 (arm_print_operand): Add 'P'.
13392 (arm_hard_regno_mode_ok): Return modes for VFP regs.
13393 (arm_regno_class): Return classes for VFP regs.
13394 (arm_compute_initial_elimination_offset): Include space for VFP regs.
13395 (arm_get_frame_size): Ditto.
13396 * arm.h (FIXED_REGISTERS): Add VFP regs.
13397 (CALL_USED_REGISTERS): Ditto.
13398 (CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
13399 (FIRST_VFP_REGNUM): Define.
13400 (LAST_VFP_REGNUM): Define.
13401 (IS_VFP_REGNUM): Define.
13402 (FIRST_PSEUDO_REGISTER): Include VFP regs.
13403 (HARD_REGNO_NREGS): Handle VFP regs.
13404 (REG_ALLOC_ORDER): Add VFP regs.
13405 (enum reg_class): Add VFP_REGS.
13406 (REG_CLASS_NAMES): Ditto.
13407 (REG_CLASS_CONTENTS): Ditto.
13408 (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
13409 (REG_CLASS_FROM_LETTER): Add 'w'.
13410 (EXTRA_CONSTRAINT_ARM): Add 'U'.
13411 (EXTRA_MEMORY_CONSTRAINT): Define.
13412 (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
13413 (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
13414 (REGISTER_MOVE_COST): Ditto.
13415 (PREDICATE_CODES): Add arm_general_register_operand,
13416 arm_float_compare_operand and vfp_compare_operand.
13417 * arm.md (various): Rename as above.
13418 (divsf3): Enable when TARGET_VFP.
13419 (divdf3): Ditto.
13420 (movdfcc): Ditto.
13421 (sqrtsf2): Ditto.
13422 (sqrtdf2): Ditto.
13423 (arm_movdi): Disable when TARGET_VFP.
13424 (arm_movsi_insn): Ditto.
13425 (movsi): Only split with general regs.
13426 (cmpsf): Use arm_float_compare_operand.
13427 (push_fp_multi): Restrict to TARGET_FPA.
13428 (vfp.md): Include.
13429 * vfp.md: New file.
13430 * fpa.md (various): Rename as above.
13431 * doc/md.texi: Document ARM w and U constraints.
13432
13433 2004-01-15 Paul Brook <paul@codesourcery.com>
13434
13435 * config.gcc: Add with_fpu. Allow with-float=softfp.
13436 * config/arm/arm.c (arm_override_options): Rename *-s to *s.
13437 Break out of loop when we find a float-abi. Fix typo.
13438 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
13439 Set -mfloat-abi=.
13440 * doc/install.texi: Document --with-fpu.
13441
13442 2003-01-14 Paul Brook <paul@codesourcery.com>
13443
13444 * config.gcc (with_arch): Add armv6.
13445 * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
13446 * config/arm/arm.c (arm_overrride_options): Ditto.
13447
13448 2004-01-08 Richard Earnshaw <rearnsha@arm.com>
13449
13450 * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
13451 (FL_ARCH6): Renamed from FL_ARCH6J.
13452 (arm_arch3m): Renamed from arm_fast_multiply.
13453 (arm_arch6): Renamed from arm_arch6j.
13454 * arm.h: Update all uses of above.
13455 * arm-cores.def: Likewise.
13456 * arm.md: Likewise.
13457
13458 * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
13459 not arm6j. Add entry for arch armv6.
13460
13461 2004-01-07 Richard Earnshaw <rearnsha@arm.com>
13462
13463 * arm.c (arm_emit_extendsi): Delete.
13464 * arm-protos.h (arm_emit_extendsi): Delete.
13465 * arm.md (zero_extendhisi2): Also handle zero-extension of
13466 non-subregs.
13467 (zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
13468 (thumb_zero_extendhisi2): Only match if not v6.
13469 (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
13470 (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
13471 (thumb_extendqisi2): Likewise.
13472 (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
13473 (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
13474 (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
13475 (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
13476 (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
13477 (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
13478 (arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
13479 (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
13480 (arm_extendqisi2addsi): Likewise.
13481
13482 2003-12-31 Mark Mitchell <mark@codesourcery.com>
13483
13484 Revert this change:
13485 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
13486 + REG addressing modes.
13487
13488 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
13489 + REG addressing modes.
13490
13491 2003-12-30 Mark Mitchell <mark@codesourcery.com>
13492
13493 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
13494 CONSTANT_P_RTX.
13495
13496 2003-30-12 Paul Brook <paul@codesourcery.com>
13497
13498 * longlong.h: protect arm inlines with !defined (__thumb__)
13499
13500 2003-30-12 Paul Brook <paul@codesourcery.com>
13501
13502 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
13503
13504 2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
13505
13506 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
13507 change.
13508
13509 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
13510
13511 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
13512 to the virtual incoming args pointer for downward stacks.
13513
13514 2003-12-29 Paul Brook <paul@codesourcery.com>
13515
13516 * config/arm/arm-cores.def: Add cost function.
13517 * config/arm/arm.c (arm_*_rtx_costs): New functions.
13518 (arm_rtx_costs): Remove
13519 (struct processors): Add rtx_costs field.
13520 (all_cores, all_architectures): Ditto.
13521 (arm_override_options): Set targetm.rtx_costs.
13522 (thumb_rtx_costs): New function.
13523 (arm_rtx_costs_1): Remove cases handled elsewhere.
13524 * config/arm/arm.h (processor_type): Add COSTS parameter.
13525
13526 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
13527
13528 * config/arm/arm.md (generic_sched): arm926 has its own scheduler.
13529 (arm926ejs.md): Include it.
13530 * config/arm/arm926ejs.md: New pipeline description.
13531
13532 2003-12-24 Paul Brook <paul@codesourcery.com>
13533
13534 * config/arm/arm.c (arm_arch6j): New variable.
13535 (arm_override_options): Set it.
13536 (arm_emit_extendsi): New function.
13537 * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
13538 * config/arm/arm.h (arm_arch6j): Declare.
13539 * config/arm/arm.md: Add sign/zero extend insns.
13540
13541 2003-12-23 Paul Brook <paul@codesourcery.com>
13542
13543 * config/arm/arm.c (all_architectures): Add armv6.
13544 * doc/invoke.texi: Document it.
13545
13546 2003-12-19 Paul Brook <paul@codesourcery.com>
13547
13548 * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
13549 insn patterns to match.
13550 * config/arm/arm-generic.md: Ditto.
13551 * config/arm/cirrus.md: Ditto.
13552 * config/arm/fpa.md: Ditto.
13553 * config/amm/iwmmxt.md: Ditto.
13554 * config/arm/arm1026ejs.md: Ditto.
13555 * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
13556 for 11_loadb.
13557
13558 2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
13559
13560 * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
13561 * config/arm/arm.c (arm_adjust_cost): Check shift cost for
13562 TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
13563 (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
13564 arm_no_early_mul_dep): Correctly deal with conditional execution,
13565 parallels and single shift operations.
13566 (arm_no_early_alu_shift_value_dep): Define.
13567 * arm.md (attr type): Replace 'normal' with 'alu',
13568 'alu_shift' and 'alu_shift_reg'.
13569 (attr core_cycles): Adjust.
13570 (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
13571 *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
13572 *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
13573 *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
13574 *arith_shiftsi_compare0_scratch, *sub_shiftsi,
13575 *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
13576 *if_shift_move, *if_move_shift, *if_shift_shift): Set type
13577 attribute appropriately.
13578 * config/arm/arm1026ejs.md (alu_op): Adjust.
13579 (alu_shift_op, alu_shift_reg_op): New.
13580 * config/arm/arm1136.md: Add better bypasses for early
13581 registers. Remove load[234] and store[234] bypasses.
13582 (11_alu_op): Adjust.
13583 (11_alu_shift_op, 11_alu_shift_reg_op): New.
13584
13585 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
13586
13587 * config/arm/arm-protos.h (arm_no_early_store_addr_dep,
13588 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
13589 * config/arm/arm.c (arm_no_early_store_addr_dep,
13590 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
13591 * config/arm/arm1026ejs.md: Add load-store bypass.
13592 * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
13593 Add bypasses between instructions.
13594
13595 2003-12-10 Paul Brook <paul@codesourcery.com>
13596
13597 * config/arm/arm.c (arm_fpu_model): New variable.
13598 (arm_fload_abi): New variable.
13599 (target_fpe_name): Rename from target_fp_name.
13600 (target_fpu_name): New variable.
13601 (arm_is_cirrus): Remove.
13602 (fpu_desc): New struct.
13603 (all_fpus): Define.
13604 (pf_model_for_fpu): Define.
13605 (all_loat_abis): Define.
13606 (arm_override_options): Set fp arch flags based on -mfpu=
13607 and -float-abi=.
13608 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
13609 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
13610 (*): Use new TARGET_* flags.
13611 * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
13612 (TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
13613 (TARGET_SOFT_FLOAT): Ditto.
13614 (TARGET_SOFT_FLOAT_ABI): New.
13615 (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
13616 TARGET_HARD_FLOAT.
13617 (TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
13618 (TARGET_OPTIONS): Add -mfpu=.
13619 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
13620 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
13621 (arm_pf_model): Define.
13622 (arm_float_abi_type): Define.
13623 (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
13624 * config/arm/arm.md: Use new TARGET_* flags.
13625 * config/arm/cirrus.md: Ditto.
13626 * config/arm/fpa.md: Ditto.
13627 * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
13628 * config/arm/semi.h (ASM_SPEC): Ditto.
13629 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
13630 (FPUTYPE_DEFAULT): Set to VFP.
13631 * doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
13632
13633 2003-11-22 Phil Edwards <phil@codesourcery.com>
13634
13635 PR target/12476
13636 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
13637 'bx' instead of 'b' to avoid branch range restrictions. Output
13638 the thunk immediately before the thunked-to function.
13639 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
13640 .thumb_func if a thunk is being generated. Emit .code 16 along
13641 with .thumb_func if a thunk is not being generated.
13642
13643 2003-11-15 Nicolas Pitre <nico@cam.org>
13644
13645 * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
13646 arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
13647 * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
13648 (lshrdi3_iwmmxt): Renamed from lshrdi3.
13649 * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
13650
13651 2003-11-12 Steve Woodford <scw@wasabisystems.com>
13652 Ian Lance Taylor <ian@wasabisystems.com>
13653
13654 * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
13655 code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
13656
13657 2003-11-05 Phil Edwards <phil@codesourcery.com>
13658
13659 * config/arm/arm.md (insn): Add new V6 instruction names.
13660 (generic_sched): New attr.
13661 * config/arm/arm-generic.md: Use generic_sched here.
13662 * config/arm/arm1026ejs.md: Do not model fetch/issue/decode
13663 stages of pipeline. Adjust latency counts accordingly.
13664 * config/arm/arm1136jfs.md: New file.
13665
13666 2003-10-28 Mark Mitchell <mark@codesourcery.com>
13667
13668 * config/arm/arm.h (processor_type): New enumeration type.
13669 (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
13670 ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
13671 (CPP_CPU_ARCH_SPEC): Likewise.
13672 * config/arm/arm.c (arm_tune): New variable.
13673 (all_cores): Use cores.def.
13674 (all_architectures): Add representative processor.
13675 (arm_override_options): Restructure way in which tuning
13676 information is deduced.
13677 * arm.md: Update "insn" and "type" attributes throughout.
13678 (insn): New attribute.
13679 (type): Compute "mult" from "insn" attribute. Add load2,
13680 load3, load4 alternatives.
13681 (arm automaton): Move to arm-generic.md.
13682 * config/arm/arm-cores.def: New file.
13683 * config/arm/arm-generic.md: Likewise.
13684 * config/arm/arm1026ejs.md: Likewise.
13685
60b85c4c
EB
136862004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr>
13687
13688 * doc/invoke.texi (SPARC options): Remove -mflat and
13689 all -mxxx (xxx:chip) options.
13690 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
13691 * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
13692 * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
13693 * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
13694 * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
13695 * config/sparc/sparc.c: Likewise.
13696 (sparc_output_function_prologue): Remove TARGET_FLAT handling.
13697 (sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
13698 (sparc_output_function_epilogue): Remove TARGET_FLAT handling.
13699 (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
13700 (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
13701 (sparc_flat_must_save_register_p): Likewise.
13702 (sparc_flat_compute_frame_size): Likewise.
13703 (sparc_flat_save_restore): Likewise.
13704 (sparc_flat_function_prologue): Likewise.
13705 (sparc_flat_function_epilogue): Likewise.
13706 (sparc_flat_epilogue_delay_slots): Likewise.
13707 (sparc_flat_eligible_for_epilogue_delay): Likewise.
13708 (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
13709 * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
13710 (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
13711 (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
13712 (CONDITIONAL_REGISTER_USAGE): Likewise.
13713 (FRAME_POINTER_REQUIRED): Likewise.
13714 (INITIAL_ELIMINATION_OFFSET): Likewise.
13715 (BASE_RETURN_VALUE_REG): Likewise.
13716 (BASE_OUTGOING_VALUE_REG): Likewise.
13717 (BASE_PASSING_ARG_REG): Likewise.
13718 (BASE_INCOMING_ARG_REG): Likewise.
13719 (INCOMING_REGNO): Likewise.
13720 (OUTGOING_REGNO): Likewise.
13721 (LOCAL_REGNO): Likewise.
13722 (DELAY_SLOTS_FOR_EPILOGUE): Likewise.
13723 (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
13724 (EPILOGUE_USES): Likewise.
13725 * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
13726 ("flat" attribute): Delete.
13727 (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
13728 handling.
13729 (call followed by jump define_peephole's): Delete.
13730 (exception_receiver): Likewise.
13731 (builtin_setjmp_receiver): Likewise.
13732 * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
13733
e57e265b
PB
137342004-02-03 Paolo Bonzini <bonzini@gnu.org>
13735
13736 PR c/11658
13737 PR c/13994
13738 * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
13739 on langhooks.h.
13740 * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
13741 * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
13742 Include langhooks.h. Replace c_common_truthvalue_conversion
13743 with the truthvalue_conversion language hook throughout.
13744 (expr_no_commas): Call default_conversion before save_expr
13745 for the first term of the production 'x ? : y'.
13746 * c-common.c (c_common_truthvalue_conversion): Remove
13747 obsolete block. Invoke recursively the hook instead
13748 of this function.
13749 * c-convert.c (convert): handle ERROR_MARK_NODE.
13750 * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
13751 returned by the truthvalue_conversion language hook.
13752 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
13753 c_objc_common_truthvalue_conversion.
13754 * c-objc-common.c (c_objc_common_truthvalue_conversion):
13755 New function.
13756 * c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
13757 * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
13758 c_objc_common_truthvalue_conversion.
13759
a7a2225a
KH
137602004-02-03 Kazu Hirata <kazu@cs.umass.edu>
13761
13762 * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
13763 of gen_rtx.
13764 (LIBCALL_VALUE): Likewise.
13765 * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
13766 gen_rtx_CC0 instead of gen_rtx.
13767 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
13768 gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
13769 (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
13770 gen_rtx.
13771 (m68hc11_emit_logical): Likewise.
13772
a556fd39
KH
137732004-02-03 Kazu Hirata <kazu@cs.umass.edu>
13774
13775 * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
13776 config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
13777 config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
13778 config/m32r/m32r.md, config/m68hc11/m68hc11.c,
13779 config/mips/mips.md, config/mmix/mmix.c,
13780 config/mn10300/mn10300.c, config/mn10300/mn10300.md,
13781 config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
13782 config/rs6000/altivec.md, config/s390/s390.c,
13783 config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
13784 config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
13785 Use const0_rtx instead of GEN_INT (0). Do the same for other
13786 constants that are readily available.
13787
60c81c89
KH
137882004-02-03 Kazu Hirata <kazu@cs.umass.edu>
13789
13790 * doloop.c, optabs.c, regmove.c, sched-deps.c,
13791 config/i386/i386.c, config/i386/i386.md: Use const0_rtx
13792 instead of GEN_INT (0). Do the same for other constants that
13793 are readily available.
13794
2fb00d7f
KH
137952004-02-03 Kazu Hirata <kazu@cs.umass.edu>
13796
13797 * combine.c (simplify_set): Use gen_rtx_fmt_e instead of
13798 gen_rtx.
13799 * emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
13800 instead of gen_rtx.
13801 * reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
13802 gen_rtx.
13803 * config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
13804 gen_rtx_ASHIFT instead of gen_rtx.
13805 (udivmodqi4): Likewise.
13806
b0dccb00
RH
138072004-02-02 Richard Henderson <rth@redhat.com>
13808
a6f78652
ZW
13809 PR target/13789
13810 * expr.c (store_expr): Use force_operand before emit_move_insn.
b0dccb00 13811
3168cb99
JL
138122004-02-02 Jeff Law <law@redhat.com>
13813 Roger Sayle <roger@eyesopen.com>
13814
13815 * tree.c (commutative_tree_code, associative_tree_code): New
13816 functions.
13817 (iterative_hash_expr): Use commutative_tree_code.
13818 * tree.h (commutative_tree_code, associative_tree_code): Declare.
13819 * fold-const.c (operand_equal_p): Use commutative_tree_code
13820 rather than inlining the commutativity check.
13821 (fold): Likewise.
13822
040333a7
KH
138232004-02-02 Kazu Hirata <kazu@cs.umass.edu>
13824
13825 * system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
13826 * config/frv/frv-protos.h: Remove the prototype for
13827 frv_function_arg_keep_as_reference.
13828 * config/frv/frv.c (frv_function_arg_keep_as_reference):
13829 Remove.
13830 * config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
13831 * config/stormy16/stormy16.h: Remove the commented-out
13832 definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
13833
79d69d75
AM
138342004-02-03 Alan Modra <amodra@bigpond.net.au>
13835
13836 PR target/13914
13837 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
13838 for retaddr_column.
13839
600555f5
KH
138402004-02-02 Kazu Hirata <kazu@cs.umass.edu>
13841
13842 * genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
13843 gen_rtx.
13844
16dd5cfe 138452004-02-02 Eric Christopher <echristo@redhat.com>
a6f78652 13846 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
13847
13848 * c-opts.c (c_common_handle_option): Add -finput-charset.
a6f78652
ZW
13849 * c.opt: Ditto.
13850 * cppcharset.c (one_iso88591_to_utf8): Remove.
13851 (convert_iso88591_utf8): Ditto.
13852 (conversion_tab): Remove 8859-1 converter.
13853 (_cpp_input_to_utf8): Remove.
13854 (_cpp_init_iconv_buffer): Ditto.
13855 (_cpp_close_iconv_buffer): Ditto.
13856 (_cpp_convert_input): New function.
13857 (_cpp_default_encoding): Ditto.
13858 * cpphash.h: Add/remove prototypes for above.
13859 * cppfiles.c (read_file_guts): Use _cpp_convert_input.
13860 * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
13861 for narrow execution and input character sets.
13862 * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
13863 * doc/cppopts.texi: Document -finput-charset.
16dd5cfe 13864
8ad0d964
DE
138652004-02-02 David Edelsohn <edelsohn@gnu.org>
13866
13867 * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
13868 against FIRST_PSEUDO_REGISTER.
13869
238b11b5
EB
138702004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
13871
13872 * doc/invoke.texi (SPARC options): Further improve.
13873
0f4c242b
KH
138742004-02-02 Kazu Hirata <kazu@cs.umass.edu>
13875
13876 * config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
13877 config/h8300/h8300.c, config/ip2k/ip2k.md,
13878 config/iq2000/iq2000.c, config/mips/mips.c,
13879 config/rs6000/rs6000.c, config/rs6000/rs6000.md,
13880 config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
13881 config/v850/v850.md: Fix indentation.
13882
d560b0aa
EB
138832004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
13884
13885 * config/sparc/sparc.c (function_arg_slotno): Align TImode
13886 arguments on a 16-byte boundary in the parameter array if ARCH64.
13887 Split handling of TFmode.
13888
6f626d1b
PB
138892004-02-02 Paolo Bonzini <bonzini@gnu.org>
13890
13891 * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
13892 Don't test CONSTANT_P (x).
13893 (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
13894 ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
13895 Fix misindentation.
13896
e789e9c4
EB
138972004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
13898
13899 * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
13900
1c563bed
KH
139012004-02-02 Kazu Hirata <kazu@cs.umass.edu>
13902
13903 * config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
13904 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
13905 config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
13906 config/iq2000/iq2000.c, config/m32r/m32r.c,
13907 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
13908 config/mn10300/mn10300.c, config/rs6000/rs6000.c,
13909 config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
13910 config/stormy16/stormy16.c, config/v850/v850.md,
13911 config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
13912
67245ad3
KH
139132004-02-01 Kazu Hirata <kazu@cs.umass.edu>
13914
13915 * config/mcore/mcore.c (block_move_sequence): Replace
13916 gen_rtx_CONST_INT with GEN_INT.
13917
66fd46b6
JH
139182004-02-02 Jan Hubicka <jh@suse.cz>
13919
13920 * alias.c (record_set): Use hard_regno_nregs.
13921 * bt-load.c (find_btr_reference, note_btr_set): Likewise.
13922 * builtins.c (apply_args_size): Likewise.
13923 * caller-save.c (setup_save_areas, save_call_clobbered_regs,
13924 mark_set_regs, add_stored_regs, mark_referenced_regs,
13925 insert_restore, insert_save, insert_one_insn): Likewise.
13926 * cfgcleanup.c: Include regs.h
13927 (mark_effect, mentions_nonequal_regs): Likewise.
13928 * cfgrtl.c (mark_killed_regs): Likewise
13929 * combine.c (update_table_tick, record_value_for_reg,
13930 record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
13931 reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
13932 reg_bitfield_target_p, distribute_notes): Likewise.
13933 * cse.c (mention_regs, insert, invalidate, invalidate_for_call,
13934 exp_equiv_p, cse_insn): Likewise.
13935 * cselib.c (cselib_lookup): Likewise.
13936 (cselib_invalidate_regno, cselib_record_set): Likewise.
13937 * df.c (df_ref_record): Likewise.
13938 * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
13939 Likewise.
13940 * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
13941 count_or_remove_death_notes_bb): Likewise.
13942 * function.c (aggregate_value_p, keep_stack_depressed): Likewise.
13943 * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
13944 mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
13945 * integrate.c (mark_stores): Likewise.
13946 * jump.c (delete_prior_computation): Likewise.
13947 * lcm.c (reg_dies, reg_becomes_live): Likewise.
13948 * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
13949 * loop.c (LOOP_REGNO_NREGS): Likewise.
13950 * postreload.c (reload_combine, reload_combine_note_store,
13951 reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
13952 * ra-colorize.c (combine, color_usable_p, get_free_reg,
16dd5cfe 13953 calculate_dont_begin, calculate_dont_begin, colorize_one_web,
66fd46b6
JH
13954 try_recolor_web, insert_coalesced_conflicts, check_colors,
13955 break_precolored_alias): Likewise.
13956 * ra-debug.c: Include regs.h
13957 (ra_print_rtx_object): Likewise.
13958 * ra-rewrite (choose_spill_colors): Likewise.
13959 (spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
13960 * ra.c (init_ra): Likewise.
13961 * recog.c (reg_fits_class_p, peep2_reg_dead_p,
13962 peep2_find_free_register): Likewise.
13963 * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
13964 * regclass.c (hard_regno_nregs): New array.
13965 (init_reg_modes_once): Initialize it.
13966 (choose_hard_reg_mode): Use it.
13967 (record_reg_classes): Likewise.
13968 * regmove.c (mark_flags_life_zones): Likewise.
13969 * regrename.c (note_sets, clear_dead_regs, regrename_optimize,
13970 scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
13971 copy_value, maybe_mode_change, find_oldest_value_reg,
13972 copyprop_hardreg_forward_1):
13973 * regs.h (hard_regno_nregs): Declare.
13974 * realod.c (reload_inner_reg_of_subreg): Use it.
13975 (push_reload, combine_reloads, find_dummy_reload,
13976 hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
13977 refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
13978 reload_adjust_reg_for_mode): Likewise.
13979 * reload1.c (compute_use_by_pseudos, count_pseudo,
13980 count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
13981 spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
13982 clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
13983 allocate_reload_reg, choose_reload_regs, emit_reload_insns,
13984 delete_output_reload): Likewise.
13985 * resource.c (update_live_status, mark_referenced_resources,
13986 mark_set_resources, mark_target_live_regs): Likewise.
13987 * rtlanal.c: Include regs.h
13988 (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
13989 dead_or_set_regno_p, find_regno_note, find_reg_fusage,
13990 subreg_regno_offset, subreg_offset_representable_p,
13991 hoist_test_store): Likewise.
13992 * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
13993 * sched-rgn.c (check_live_1, update_live_1): Likewise.
13994 * stmt.c: Include regs.h
13995 (decl_conflicts_with_clobbers_p): Likewise.
13996 * varasm.c (make_decl_rtl): Likewise.
13997 * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
13998
f1c25d3b
KH
139992004-02-01 Kazu Hirata <kazu@cs.umass.edu>
14000
14001 * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
14002 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
14003 config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
14004 config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
14005 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
14006 config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
14007 config/iq2000/iq2000.h, config/m32r/m32r.c,
14008 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
14009 config/m68hc11/m68hc11.md, config/m68k/m68k.md,
14010 config/mcore/mcore.c, config/mcore/mcore.h,
14011 config/mcore/mcore.md, config/mips/mips.c,
14012 config/ns32k/ns32k.h, config/ns32k/ns32k.md,
14013 config/rs6000/rs6000.c, config/s390/s390.c,
14014 config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
14015 config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
14016 "gen_rtx (FOO, " with "gen_rtx_FOO (".
14017
e0a24727
KH
140182004-02-01 Kazu Hirata <kazu@cs.umass.edu>
14019
14020 * config/h8300/h8300.md (two peephole2's): New.
14021
5202c5fe
EB
140222004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
14023
14024 * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
14025 (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
14026 (ASM_CPU_SPEC): Likewise
14027 * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
14028 (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3.
14029
13b59849
RS
140302004-02-01 Roger Sayle <roger@eyesopen.com>
14031
14032 * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
14033 isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
14034 (expand_builtin): Always call expand_builtin_pow.
14035
ef79730c
RS
140362004-02-01 Roger Sayle <roger@eyesopen.com>
14037
14038 * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
14039 BUILT_IN_SIGNBITL): New GCC builtins.
14040 * builtins.c (expand_builtin_signbit): New function to RTL expand
14041 calls to signbit, signbitf and signbitl as inline intrinsics.
14042 (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
14043 (fold_builtin_signbit): New function to perform constant folding
14044 of signbit, signbitf and signbitl.
14045 (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
14046
14047 * doc/extend.texi: Document new signbit{,f,l} builtins.
14048
a80cdb0f
RS
140492004-02-01 Richard Sandiford <rsandifo@redhat.com>
14050
14051 * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
14052
2efe2033
CD
140532004-02-01 Chris Demetriou <cgd@broadcom.com>
14054
14055 * config/mips/mips.h (PREDICATE_CODES): Remove entries for
14056 "mips_const_double_ok" and "simple_memory_operand", which were
14057 removed from the MIPS port with the mips-3_4-rewrite branch merge.
14058 * config/mips/mips.c (mips16_lay_out_constants): Update comment
14059 for removal of simple_memory_operand.
14060
d37eb705
KH
140612004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14062
14063 * config/c4x/c4x.md: Use GEN_INT instead of
14064 gen_rtx (CONST_INT, ...).
14065
fadeed3b
RH
140662004-01-31 Richard Henderson <rth@redhat.com>
14067
14068 * varasm.c (output_constant_pool): Don't zap the pool.
14069
ccdc1703
KH
140702004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14071
14072 * genrecog.c (decision_type): Add DT_const_int.
14073 (write_cond) [DT_const_int]: Print a comparison against small
14074 constant.
14075 (write_node): Simplify comparisons against small constants
14076 before printing tests.
16dd5cfe 14077
aeba8f80
KH
140782004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14079
14080 * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
14081 instead of gen_rtx_CONST_INT.
14082
400ce94c
KH
140832004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14084
14085 * config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
14086 instead of gen_rtx_CONST_INT.
14087
8dfa8fcd
KH
140882004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14089
14090 * target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
14091 hook_bool_CUMULATIVE_ARGS_false.
14092 * targhooks.c (default_strict_argument_naming): Rename to
14093 hook_bool_CUMULATIVE_ARGS_false.
14094 * targhooks.h: Update the prototype for
14095 default_strict_argument_naming.
14096
c0d4e710
KH
140972004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14098
14099 * config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
14100 * config/sh/sh.h: Likewise.
14101 * config/sh/sh.md: Likewise.
14102
fdf064f2
EB
141032004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
14104
14105 * doc/invoke.texi (SPARC options): Restructure and update.
14106
b602b7b6
KH
141072004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14108
14109 * system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
14110 STRICT_ARGUMENT_NAMING): Poison.
14111 * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
14112 hook_bool_tree_false.
14113 * targhooks.c (default_promote_function_args): Remove.
14114 (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
14115 Don't check incoming.
14116 (default_strict_argument_naming): Don't use
14117 STRICT_ARGUMENT_NAMING.
14118 * targhooks.h: Remove the prototype for
14119 default_promote_function_args.
14120
a0524eb3
KH
141212004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14122
14123 * config/i386/i386-protos.h: Remove the prototype for
14124 ix86_setup_incoming_varargs.
14125 * config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
14126 (ix86_setup_incoming_varargs): Make it static.
14127 * config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
14128
a457ee07
KH
141292004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14130
14131 * alloc-pool.c: Fix comment typos.
14132 * builtin-types.def: Likewise.
14133 * builtins.def: Likewise.
14134 * c-pretty-print.c: Likewise.
14135 * df.h: Likewise.
14136 * reload1.c: Likewise.
14137
a451b0bd
KH
141382004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14139
14140 * doc/invoke.texi: Follow spelling conventions.
14141 * doc/tm.texi: Likewise.
14142
e53e0c56
KH
141432004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14144
14145 * doc/install.texi: Fix typos.
14146 * doc/invoke.texi: Likewise.
14147
025b17a4
UW
141482004-01-31 Ulrich Weigand <uweigand@de.ibm.com>
14149
14150 * config/s390/s390.c (s390_decompose_address): Do not treat virtual
14151 registers as pointers.
14152 * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
14153
4de249d9
PB
141542004-01-31 Paolo Bonzini <bonzini@gnu.org>
14155
c53bdcf5 14156 * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
4de249d9
PB
14157 and restore it to gen_lowpart_general on exit.
14158 (gen_lowpart_for_combine): Adjust all callers to go through
14159 gen_lowpart.
14160 * cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
14161 and restore it to gen_lowpart_general on exit.
14162 (gen_lowpart_if_possible): Adjust all callers to go through
14163 gen_lowpart.
14164 * emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
14165 (gen_lowpart): Declare as pointer to function, initialized to
14166 gen_lowpart_general.
14167 * rtl.h (gen_lowpart): Declare as pointer to function.
14168
f84d109f
KH
141692004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14170
14171 * bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
14172 * calls.c: Likewise.
14173 * emit-rtl.c: Likewise.
14174 * function.c: Likewise.
14175 * reload1.c: Likewise.
14176 * config/i386/cygming.h: Likewise.
14177 * config/i386/i386.c: Likewise.
14178 * config/i386/winnt.c: Likewise.
14179
354b7da5
DH
141802004-01-30 Dara Hazeghi <dhazeghi@yahoo.com>
14181
14182 PR bootstrap/9249
14183 * doc/install.texi: document --enable-__cxa_atexit option.
14184 * configure.ac: Disable __cxa_atexit if not supported.
14185 * configure: Regenerate.
14186
9781b6da
DB
141872003-01-30 Daniel Berlin <dberlin@dberlin.org>
14188
14189 * ggc-zone.c (ggc_free): New function.
14190
283334f0
KH
141912004-01-30 Kazu Hirata <kazu@cs.umass.edu>
14192
14193 alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
14194 cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
14195 flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
14196 ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
14197 tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
14198 config/alpha/alpha.c, config/alpha/alpha.h,
14199 config/alpha/alpha.md, config/alpha/unicosmk.h,
14200 config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
14201 config/c4x/c4x-protos.h, config/c4x/c4x.md,
14202 config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
14203 config/frv/frvend.c, config/i386/cygming.h,
14204 config/i386/djgpp.h, config/i386/emmintrin.h,
14205 config/i386/gthr-win32.c, config/i386/i386-interix.h,
14206 config/i386/i386-protos.h, config/i386/openbsd.h,
14207 config/i386/winnt.c, config/i386/xm-mingw32.h,
14208 config/i386/xmmintrin.h, config/ia64/ia64.md,
14209 config/iq2000/iq2000.md, config/m32r/m32r.md,
14210 config/m68k/m68k.md, config/mcore/mcore-elf.h,
14211 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
14212 config/mips/iris5gas.h, config/mips/iris6.h,
14213 config/mips/iris6gas.h, config/mips/linux.h,
14214 config/mips/mips.md, config/mips/netbsd.h,
14215 config/mips/openbsd.h, config/mips/windiss.h,
14216 config/pa/fptr.c, config/rs6000/aix.h,
14217 config/rs6000/altivec.h, config/rs6000/darwin.h,
14218 config/rs6000/xcoff.h, config/s390/s390-protos.h,
14219 config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
14220 config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
14221 config/sparc/sol2.h: Update copyright.
14222
71cbe2c1
KC
142232004-01-30 Kelley Cook <kcook@gcc.gnu.org>
14224
14225 * Makefile.in (abs_docdir, abs_srcdir): Define.
14226 (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
14227
bfb2d661
KH
142282004-01-30 Kazu Hirata <kazu@cs.umass.edu>
14229
14230 * genconfig.c (main): Have CC0_P check its operand even on a
14231 target without cc0.
14232
bd5bd7ac
KH
142332004-01-30 Kazu Hirata <kazu@cs.umass.edu>
14234
14235 * config/alpha/alpha.c: Remove mentions of deprecates macros
14236 in comments, remove some target-independent comments about target
14237 macros, and/or add minimal function comments for target hook
14238 implementations.
14239 * config/avr/avr.c: Likewise.
14240 * config/ia64/ia64.h: Likewise.
14241 * config/ip2k/ip2k.c: Likewise.
14242 * config/iq2000/iq2000.c: Likewise.
14243 * config/m32r/m32r.h: Likewise.
14244 * config/m68hc11/m68hc11.c: Likewise.
14245 * config/mcore/mcore.c: Likewise.
14246 * config/mmix/mmix.c: Likewise.
14247 * config/mn10300/mn10300.c: Likewise.
14248 * config/pa/pa.c: Likewise.
14249 * config/pdp11/pdp11.c: Likewise.
14250 * config/rs6000/rs6000.h: Likewise.
14251 * config/sh/sh.c: Likewise.
14252 * config/sh/sh.h: Likewise.
14253 * config/sparc/sparc.c: Likewise.
14254 * config/sparc/sparc.h: Likewise.
14255 * config/stormy16/stormy16.c: Likewise.
14256 * config/xtensa/xtensa.c: Likewise.
14257
808ededc
UW
142582004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
14259
14260 PR optimization/12147
14261 * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
14262 RELOAD_FOR_OPADDR_ADDR.
14263 (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
14264 might be reused as RELOAD_FOR_OPADDR_ADDR register.
14265
98e5e087
JH
142662004-01-30 Jan Hubicka <jh@suse.cz>
14267
bd5bd7ac 14268 * reload.c (get_secondary_mem): Fix updating of
98e5e087
JH
14269 secondary_memlocs_elim_used.
14270
3234b52d
RH
142712004-01-30 Richard Henderson <rth@redhat.com>
14272
14273 * varasm.c (struct rtx_const, struct pool_constant): Remove.
14274 (MAX_RTX_HASH_TABLE): Remove.
14275 (const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
14276 (first_pool, last_pool, pool_offset): Remove.
14277 (struct rtx_constant_pool): Split out from ...
14278 (struct varasm_status): ... here. Reference one via pointer.
14279 (struct constant_descriptor_rtx): Merge struct pool_constant.
14280 (SYMHASH): Remove.
14281 (decode_rtx_const): Remove.
14282 (const_hash_rtx, compare_constant_rtx): Remove.
14283 (record_constant_rtx): Remove.
14284 (const_desc_rtx_hash, const_desc_rtx_eq): New.
14285 (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
14286 (const_rtx_hash_1, const_rtx_hash): New.
14287 (init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
14288 (simplify_subtraction): Use simplify_rtx.
14289 (force_const_mem): Rewrite to use new data structures.
14290 (find_pool_constant): Likewise.
14291 (get_pool_constant, get_pool_constant_mark,
14292 get_pool_constant_for_function, get_pool_mode,
14293 get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
14294 (output_constant_pool_2): Split out from output_constant_pool.
14295 (output_constant_pool_1): Likewise. Use new pool datastructures.
14296 (output_constant_pool): Zap entire pool datastructure.
14297 (mark_constant): Use new pool datastructures.
14298 (mark_constants): Use for_each_rtx.
14299 (mark_constant_pool): Use new pool datastructures.
14300
be77d9e7 143012004-01-30 Fariborz Jahanian <fjahanian@apple.com>
16dd5cfe 14302
a6f78652 14303 * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
be77d9e7
FJ
14304 Copy operands[1] to pseudo for simplify_gen_subreg.
14305
f0cad2d5
KH
143062004-01-30 Kazu Hirata <kazu@cs.umass.edu>
14307
14308 * gcse.c (bypass_block): Fix a typo in the previous check-in
14309 to the file.
14310
40ca90bf
AP
143112004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
14312
14313 * toplev.c: Include alloc-pool.h.
16dd5cfe 14314 * Makefile.in (toplev.c): Update dependencies.
40ca90bf 14315
39a44a4e
RK
143162004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14317
14318 * combine.c (simplify_shift_const, case XOR): Be careful when
14319 commuting XOR with ASHIFTRT.
14320
3e2cc1d1 143212004-01-30 Kazu Hirata <kazu@cs.umass.edu>
a6f78652 14322 Eric Botcazou <ebotcazou@libertysurf.fr>
3e2cc1d1
KH
14323
14324 * config/sparc/sparc-protos.h: Remove the prototype for
14325 sparc_builtin_saveregs.
14326 * config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
14327 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
14328 (TARGET_PROMOTE_PROTOTYPES): Likewise.
14329 (TARGET_STRUCT_VALUE_RTX): Likewise.
14330 (TARGET_RETURN_IN_MEMORY): Likewise.
14331 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
14332 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
14333 (sparc_builtin_saveregs): Make it static.
14334 (sparc_promote_prototypes): New.
14335 (sparc_struct_value_rtx): Likewise.
14336 (sparc_return_in_memory): Likewise.
14337 * config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
14338 (PROMOTE_FUNCTION_RETURN): Likewise.
14339 (RETURN_IN_MEMORY): Likewise.
14340 (STRUCT_VALUE): Likewise.
14341 (STRUCT_VALUE_INCOMING): Likewise.
14342 (EXPAND_BUILTIN_SAVEREGS): Likewise.
14343 (STRICT_ARGUMENT_NAMING): Likewise.
14344 (PROMOTE_PROTOTYPES): Likewise.
14345
14346 * config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
14347
5e9295fa
EB
143482004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
14349
14350 PR c/12818
14351 * varasm.c (const_hash_1) <STRING_CST>: Use the
14352 address to compute the hash value if flag_writable_strings.
14353 (compare_constant) <STRING_CST>: Compare the addresses
14354 if flag_writable_strings.
14355 (build_constant_desc): Do not copy the expression for a
14356 STRING_CST if flag_writable_strings.
14357
1f2eae8d
JH
143582004-01-30 Jan Hubicka <jh@suse.cz>
14359
1e0f41c9
JH
14360 * alloc-pool.c: Include hashtab.h
14361 (alloc_pool_descriptor): New structure
14362 (alloc_pool_hash): New global variable.
14363 (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
14364 (create_alloc_pool): Update statistics.
14365 (free_alloc_pool): Likewise.
14366 (pool_alloc): Likewise.
14367 (output_info): New structure
14368 (print_statistics, dump_alloc_pool_statistics): New function.
14369 * alloc-pool.h (alloc_pool_def): Turn name to be constant.
14370 (dump_alloc_pool_statistics): Declare.
14371 * toplev.c (finalize): Dump statistics.
14372
1f2eae8d
JH
14373 * reload.c (secondary_memlocs_elim_used): New static variable.
14374 (get_secondary_mem): Update it.
14375 (find_reloads): Use it.
14376
80a08664
SB
143772004-01-30 Steven Bosscher <s.bosscher@student.tudelft.nl>
14378
14379 * toplev.c: Fix broken checkin of 2003-12-30, again.
14380
57116d8d
UW
143812004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
14382
14383 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
14384 s390*-*-* targets by specifying a 'nop' insn.
14385 * configure: Regenerate.
14386
5fddd9fe
EB
143872004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
14388
14389 PR target/11475
14390 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
14391
64fc7c00
JJ
143922004-01-29 Jakub Jelinek <jakub@redhat.com>
14393
14394 * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
14395 of addr when creating MEM copy.
14396
ed672aa8
DP
143972004-01-29 Devang Patel <dpatel@apple.com>
14398
14399 * dwarf2out.c (gen_field_die): Do not equate decl number to die.
16dd5cfe 14400
7e3aa041
ILT
144012004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
14402
14403 PR inline-asm/6162
14404 * reload.c (find_reloads): Only support one pair of commutative
14405 operands.
14406
06f12aa0
RS
144072004-01-29 Roger Sayle <roger@eyesopen.com>
14408
14409 PR java/13824
14410 * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
14411 as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
14412 recursion.
14413
b88cf82e
KH
144142004-01-29 Kazu Hirata <kazu@cs.umass.edu>
14415
14416 * config/frv/frv.c: Don't mention deprecated macros in
14417 comments. Remove some target-independent comments about
14418 target macros.
14419 * config/frv/frv.h: Likewise.
14420
3ae4a5b1
ZD
144212004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14422
14423 * cfghooks.c (split_block): Set probability and count of the
14424 new edge.
14425
636c7bc4
JZ
144262005-01-29 Josef Zlomek <zlomekj@suse.cz>
14427
14428 * dwarf2out.c (struct die_struct): Added field decl_id.
14429 (decl_die_table): Changed to hash table.
14430 (decl_die_table_allocated): Deleted.
14431 (decl_die_table_in_use): Deleted.
14432 (DECL_DIE_TABLE_INCREMENT): Deleted.
14433 (decl_die_table_hash): New function.
14434 (decl_die_table_eq): New function.
14435 (lookup_decl_die): Lookup in a hash table.
14436 (equate_decl_number_to_die): Insert into a hash table.
14437 (dwarf2out_init): Init hash table decl_die_table.
14438
4e44c1ef
JJ
144392004-01-29 Jakub Jelinek <jakub@redhat.com>
14440
14441 PR optimization/13424
14442 * expr.c (store_constructor): Revert 2003-12-03 change.
14443
14444 * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
14445 expected before returning early. Avoid sharing RTL if they
14446 need to be changed.
14447
14448 * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
14449 handling so that memory attributes are preserved. Don't call
14450 ix86_set_move_mem_attrs.
14451 (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
14452 (ix86_expand_clrstr): Rename src argument to
14453 dst. Rework rep_stos and strset handling so that memory attributes
14454 are preserved.
14455 (ix86_expand_strlen): Pass src argument to
14456 ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
14457 memory attributes are preserved.
14458 (ix86_expand_strlensi_unroll_1): Add src argument. Use
14459 change_address instead of gen_rtx_MEM.
14460 * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
14461 expanders.
14462 (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
14463 strmovqi, strmovqi_rex64): Remove.
14464 (rep_mov*, strmov*): Prefix insn names with *.
14465 (strset, strset_singleop, rep_stos): New expanders.
14466 (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
14467 strsetqi, strsetqi_rex64): Remove.
14468 (rep_stos*, strset*): Prefix insn names with *.
14469 (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
14470 to SImode.
14471 (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
14472 are preserved.
14473 (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
14474 Prefix insn names with *.
14475 (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
14476 (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
14477 (strlenqi_1): New expander.
14478 * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
14479
f470c378
ZD
144802004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14481
14482 * Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
14483 * basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
14484 verify_flow_info): Declaration removed.
14485 * cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
14486 (debug_bb, debug_bb_n): Add argument to dump_bb call.
14487 * cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
14488 try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
14489 instead of delete_block.
14490 * cfghooks.c: Include timevar.h and toplev.h.
14491 (cfg_hooks): Define here.
14492 (verify_flow_info, dump_bb): Moved from cfg.c.
14493 (redirect_edge_and_branch, redirect_edge_and_branch_force,
14494 split_block, split_block_after_labels, move_block_after,
14495 delete_basic_block, split_edge, create_basic_block,
14496 create_empty_bb, can_merge_blocks_p, merge_blocks,
14497 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
14498 New functions.
14499 * cfghooks.h (struct cfg_hooks): Added fields name,
14500 make_forwarder_block, tidy_fallthru_edge and
14501 move_block_after. Changed type of verify_flow_info, dump_bb,
14502 split_block fields. Renamed cfgh_split_edge and delete_block
14503 fields.
14504 (redirect_edge_and_branch, redirect_edge_and_branch_force,
14505 split_block, delete_block, split_edge, create_basic_block,
14506 can_merge_blocks_p, merge_blocks): Macros removed.
14507 (cfg_hooks): Do not export.
14508 (verify_flow_info, dump_bb, redirect_edge_and_branch,
14509 redirect_edge_and_branch_force, split_block, split_block_after_labels,
14510 move_block_after, delete_basic_block, split_edge, create_basic_block,
14511 create_empty_bb, can_merge_blocks_p, merge_blocks,
14512 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
14513 Declare.
14514 (cfg_layout_rtl_cfg_hooks): Declare.
14515 * cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
14516 New functions.
14517 (canonicalize_loop_headers): Use new semantics of make_forwarder_block.
14518 (redirect_edge_with_latch_update): Removed.
14519 (make_forwarder_block): Moved to cfghooks.c, semantics changed.
14520 * cfgloopmanip.c (remove_bbs): Do not update dominators here.
14521 * cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
14522 rtl_delete_block, rtl_split_block, rtl_merge_blocks,
14523 tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
14524 cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
14525 cfghooks.c.
14526 (rtl_create_basic_block): Coding style fix.
14527 (rtl_tidy_fallthru_edge, rtl_move_block_after,
14528 rtl_make_forwarder_block): New functions.
14529 (update_cfg_after_block_merging): Removed.
14530 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
14531 * flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
14532 to dump_bb.
14533 * ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
14534 find_if_case_2): Don't update dominators.
14535 * timevar.def (TV_CFG_VERIFY): New.
14536 * loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
14537 * cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
14538 * cfgloopmanip.c (split_loop_bb): Don't update dominators.
14539 (remove_bbs): Don't call remove_bbs.
14540 (create_preheader): Use make_forwarder_block.
14541 (mfb_keep_just, mfb_update_loops): New static functions.
14542
3cea4788
KH
145432004-01-29 Kazu Hirata <kazu@cs.umass.edu>
14544
14545 * config/avr/avr.h: Remove target-independent comments about
14546 target macros.
14547
75e853f2 145482004-01-28 Daniel Berlin <dberlin@dberlin.org>
16dd5cfe 14549
75e853f2
DB
14550 * timevar.c (timevar_print): Mention when checking is enabled.
14551
7625e73d
GB
145522004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
14553
14554 * c-lex.c (c_lex): Rename to...
14555 (c_lex_with_flags): Add new parameter to get CPP flags.
14556 (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
14557 * c-pragma.h (c_lex_with_flags): Declare.
14558
dc7efe6e
KH
145592004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14560
14561 * config/mcore/mcore.c (mcore_external_libcall): Add a
14562 comment.
14563 (mcore_return_in_memory): Likewise.
14564
09a2b93a
KH
145652004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14566
14567 * config/mcore/mcore-protos.h: Remove the prototype for
14568 mcore_setup_incoming_varargs.
14569 * config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
14570 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
14571 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
14572 (TARGET_PROMOTE_PROTOTYPES): Likewise.
14573 (TARGET_STRUCT_VALUE_RTX): Likewise.
14574 (TARGET_RETURN_IN_MEMORY): Likewise.
14575 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14576 (mcore_setup_incoming_varargs): Make it static. Receive the
14577 first argument by reference. Add argument second_time.
14578 (mcore_external_libcall): New.
14579 (mcore_return_in_memory): Likewise.
14580 * config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
14581 (PROMOTE_FUNCTION_RETURN): Likewise.
14582 (STRUCT_VALUE): Likewise.
14583 (RETURN_IN_MEMORY): Likewise.
14584 (SETUP_INCOMING_VARARGS): Likewise.
14585 (PROMOTE_PROTOTYPES): Likewise.
14586 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
14587
a7ed00da
KH
145882004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14589
14590 * config/m32r/m32r-protos.h: Remove the prototype for
14591 m32r_setup_incoming_varargs.
14592 * config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
14593 (TARGET_STRUCT_VALUE_RTX): Likewise.
14594 (TARGET_RETURN_IN_MEMORY): Likewise.
14595 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14596 (m32r_return_in_memory): New.
14597 (m32r_setup_incoming_varargs): Make it static.
14598 * config/m32r/m32r.h: Remove #undef of
14599 ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out
14600 definitions of PROMOTE_FUNCTION_ARGS and
14601 PROMOTE_FUNCTION_RETURN.
14602 (PROMOTE_PROTOTYPES): Remove.
14603 (RETURN_IN_MEMORY): Likewise.
14604 (STRUCT_VALUE): Likewise.
14605
8636be86
KH
146062004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14607
14608 * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
14609 (TARGET_STRUCT_VALUE_RTX): Likewise.
14610 (m68k_struct_value_rtx): Likewise.
14611 * config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
14612 STRUCT_VALUE_REGNUM.
14613 (PROMOTE_PROTOTYPES): Remove.
14614 * config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
14615 STRUCT_VALUE_REGNUM.
14616 * config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
14617 * config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
14618
f2f61ee7
KH
146192004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14620
14621 * config/stormy16/stormy16.c
14622 (TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
14623 TARGET_BUILD_BUILTIN_VA_LIST.
14624
fb7bc7fb
KH
146252004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14626
14627 * config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
14628 (TARGET_STRUCT_VALUE_RTX): Likewise.
14629 (TARGET_RETURN_IN_MEMORY): Likewise.
14630 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14631 (v850_return_in_memory): Likewise.
14632 (v850_setup_incoming_varargs): Likewise.
14633 * config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
14634 (SETUP_INCOMING_VARARGS): Likewise.
14635 (RETURN_IN_MEMORY): Likewise.
14636 (STRUCT_VALUE): Likewise.
14637
0fd818e7
KH
146382004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14639
14640 * config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
14641 (fr30_setup_incoming_varargs): Don't use
14642 STRICT_ARGUMENT_NAMING.
14643 * config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
14644 (STRICT_ARGUMENT_NAMING): Likewise.
14645
8ac411c7
KH
146462004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14647
14648 * config/frv/frv-protos.h: Remove the prototype for
14649 frv_expand_builtin_saveregs.
14650 * config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
14651 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
14652 (frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
14653 STRUCT_VALUE_REGNUM.
14654 (frv_expand_builtin_saveregs): Make it static.
14655 (frv_struct_value_rtx): New.
14656 * config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
14657
d173e685
JH
146582004-01-29 Jan Hubicka <jh@suse.cz>
14659
14660 PR c++/12850
14661 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
14662 initial pointers.
14663 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
14664 for functions that will be only inlined.
14665 (cgraph_mark_function_to_output): Likewise.
14666 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
14667 do not clear function body.
14668 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
14669 (tree_rest_of_compilation): Reorganize the logic releasing function
14670 body to use callgraph datastructure.
14671
f7a1010e
JDA
146722004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14673
14674 * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
14675 to register_operand.
14676
e7f47f83
ZW
146772004-01-28 Zack Weinberg <zack@codesourcery.com>
14678
14679 * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
14680 (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
14681 match_operand expressions so that all match_dups appear
14682 lexically after their corresponding match_operands.
14683
1807b726
KH
146842004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14685
14686 * config/h8300/h8300.c (WORD_REG_USED): Use
14687 HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
14688 (compute_saved_regs): Likewise.
14689 (h8300_expand_prologue): Likewise. Allocate locals after
14690 saving registers.
14691 (h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
14692 of FRAME_POINTER_REGNUM. Deallocate locals before saving
14693 registers.
14694 (h8300_initial_elimination_offset): Adjust for the new frame
14695 layout, which swaps flips the order of locals and saved
14696 registers.
14697 * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
14698 (HARD_FRAME_POINTER_REGNUM): New.
14699 (ELIMINABLE_REGS): Add an elimination rule from
14700 FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
14701 (REGISTER_NAMES): Add fp.
14702 * config/h8300/h8300.md (FP_REG): Change to 11.
14703 (HFP_REG): New.
14704
be2c39f8
KH
147052004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14706
14707 * genrecog.c (write_node): Remove a useless local variable.
14708
469ef4a3
ILT
147092004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
14710
14711 * Makefile.in (options.c options.h): Use stamp file s-options to
14712 avoid unnecessary rebuilds.
14713 (options.o): New target listing dependencies.
14714 (gtyp-gen.h): Use stamp file s-gtyp-gen.
14715 (STAGESTUFF): Add s-gtyp-gen.
14716
685fe032
RH
147172004-01-28 Richard Henderson <rth@redhat.com>
14718
14719 * ggc.h (ggc_free): Declare.
14720 * ggc-common.c (ggc_realloc): Use it.
14721 * ggc-page.c: Remove lots of inline markers.
14722 (globals): Add free_object_list.
14723 (ggc_alloc): Tidy.
14724 (ggc_free, validate_free_objects): New.
14725 (poison_pages): Provide default.
14726 (ggc_collect): Call validate_free_objects; emit markers to
14727 the debug file.
14728
2ffe0e02
ZW
147292004-01-28 Zack Weinberg <zack@codesourcery.com>
14730 Jim Wilson <wilson@specifixinc.com>
14731
14732 * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
14733 Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
14734 scratch pointer.
14735 (ia64_secondary_reload_class): Delete case GR_REGS.
14736 * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
14737 Do not allocate a scratch register.
14738 (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
14739
a544524a
JH
147402004-01-28 Jan Hubicka <jh@suse.cz>
14741
14742 * gcse.c (bypass_block): Prevent edges to be unified when we are
14743 about to emit compenstation code.
14744
1b8f8174
NC
147452004-01-28 Nick Clifton <nickc@redhat.com>
14746
14747 * config/arm/arm.c (arm_expand_builtin): Force second argument of
14748 the setcwx insn into a register.
14749
faceece3
RS
147502004-01-28 Richard Sandiford <rsandifo@redhat.com>
14751
14752 * config/fp-bit.c (pack_d): When using paired doubles to implement
14753 a long double, round the high part separately.
14754 (unpack_d): Fix the case in which the high part is a power of two
14755 and the low part is a nonzero value of the opposite sign.
14756
28b24176
KH
147572004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14758
14759 * config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
14760 (TARGET_STRUCT_VALUE_RTX): Likewise.
14761 (c4x_external_libcall): Likewise.
14762 (c4x_struct_value_rtx): Likewise.
14763 * config/c4x/c4x.h: Remove.
14764 (STRUCT_VALUE_REGNUM): Likewise.
14765 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
14766
9184f892
KH
147672004-01-28 Kazu Hirata <kazu@cs.umass.edu>
14768
14769 * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
14770 (TARGET_STRUCT_VALUE_RTX): Likewise.
14771 * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
14772 (STRUCT_VALUE): Likewise.
14773 (PROMOTE_PROTOTYPES): Likewise.
14774
4cce9dd8
RS
147752004-01-27 Roger Sayle <roger@eyesopen.com>
14776
14777 * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
14778 CONST_INT before using INTVAL.
14779
590fcf48
UW
147802004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
14781
14782 * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
14783 * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
14784 frame if !TARGET_BACKCHAIN.
2ffe0e02 14785 * config/s390/s390.md ("allocate_stack"): Use pattern only if
590fcf48
UW
14786 TARGET_BACKCHAIN.
14787 * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
14788
826b47cc
ZW
147892004-01-27 Zack Weinberg <zack@codesourcery.com>
14790
14791 * ia64.c (ia64_function_arg): When placing HFAs in integer
14792 registers, do not special case the mode used for complex
14793 types. Do not advance int_regs until the current register
14794 is full.
14795
83810fcb
RS
147962004-01-27 Richard Sandiford <rsandifo@redhat.com>
14797
14798 PR target/7297
14799 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
14800
2d9db8eb
DE
148012004-01-27 David Edelsohn <edelsohn@gnu.org>
14802
14803 * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
14804 slow, unaligned loads and stores while debugging. Fix formatting.
14805
39e453d7
DE
148062004-01-27 David Edelsohn <edelsohn@gnu.org>
14807
14808 * config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
14809 of computing wmode.
14810 (restore_stack_nonlocal): Same.
14811
6097b0c3 148122004-01-27 Devang Patel <dpatel@apple.com>
826b47cc 14813
6097b0c3 14814 * Makefile.in (dwarf2out.o): Depend on input.h
826b47cc 14815 * dbxout.c (dbx_debug_hooks): Add new empty hook for
6097b0c3
DP
14816 imported_module_or_decl.
14817 (xcoff_debug_hooks): Same.
14818 * sdbout.c (sdb_debug_hooks): Same.
14819 * vmsdbgout.c (vmsdbg_debug_hooks): Same.
14820 * debug.c (do_nothing_debug_hooks): Same.
14821 (debug_nothing_tree_tree): New function.
14822 * debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
14823 * dwarf2out.c: Include input.h.
14824 (dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
14825 (remove_child_TAG): New function.
14826 (dwarf_tag_name): Handle DW_TAG_imported_module.
14827 (gen_subprogram_die): Equate decl number to declaration die. Do not
14828 remove all children dies while reusing declaration die for definition.
14829 Instead, selectively remove only formal parameters.
14830 (gen_variable_die): Equate variable decl to declaration die.
14831 (gen_field_die): Equate field decl to line number.
14832 (force_namespace_die): Replace it with ...
14833 (force_decl_die): ... this.
14834 (force_type_die): New function.
14835 (setup_namespace_context): Replace use of force_namespace_die() with
14836 force_decl_die().
14837 (gen_namespace_die): Same.
14838 (dwarf2out_imported_module_or_decl): New function.
14839
e6aecf8e 148402004-01-27 Bob Wilson <bob.wilson@acm.org>
826b47cc 14841
e6aecf8e
BW
14842 * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
14843 on CQImode and CHImode incoming arguments in register a7.
14844 (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
14845 * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
14846 * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
14847 xtensa_copy_incoming_a7 before reload.
826b47cc 14848
02307675
R
148492004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
14850
14851 * coverage.c (get_coverage_counts): Give a different message
14852 if flag_guess_branch_prob is set.
14853 * predict.c (counts_to_freqs): Return an int.
14854 (estimate_bb_frequencies): If counts_to_freqs returns zero,
14855 calculate estimates.
14856
69a45040
KH
148572004-01-27 Kazu Hirata <kazu@cs.umass.edu>
14858
14859 * config/iq2000/iq2000-protos.h: Remove the prototype for
14860 iq2000_setup_incoming_varargs.
14861 * config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
14862 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
14863 (TARGET_PROMOTE_PROTOTYPES): Likewise.
14864 (TARGET_STRUCT_VALUE_RTX): Likewise.
14865 (TARGET_RETURN_IN_MEMORY): Likewise.
14866 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
14867 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
14868 (iq2000_return_in_memory): Likewise.
14869 (iq2000_setup_incoming_varargs): Make it static. Receive the
14870 first argument by reference.
14871 * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
14872 (PROMOTE_FUNCTION_RETURN): Likewise.
14873 (PROMOTE_PROTOTYPES): Likewise.
14874 (RETURN_IN_MEMORY): Likewise.
14875 (STRUCT_VALUE): Likewise.
14876 (SETUP_INCOMING_VARARGS): Likewise.
14877 (STRICT_ARGUMENT_NAMING): Likewise.
14878
9cdfc8e7
JM
148792004-01-24 James A. Morrison <ja2morri@uwaterloo.ca>
14880
826b47cc 14881 * fixinc/fixinc.c (test_test): Initialize res.
9cdfc8e7
JM
14882 (start_flexer): Initialize pz_cmd_save.
14883
60ffd2fe
ZW
148842004-01-27 Zack Weinberg <zack@codesourcery.com>
14885
14886 * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
14887 SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
14888
52ad4d7b
ZW
148892004-01-27 Zack Weinberg <zack@codesourcery.com>
14890
14891 PR 7198
14892 * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
14893 (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
14894 (*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
14895 Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
14896 Possibly rename pattern for consistency.
14897 Remove ??? comments suggesting that this be done.
14898 (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
14899 New patterns.
14900 (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
14901 (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
14902 (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
14903 (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
14904 Update to match.
14905
b034930f
ILT
149062004-01-27 Ian Lance Taylor <ian@wasabisystems.com>
14907
14908 * config/arm/arm.c (output_return_instruction): Only restore IP
14909 into SP if frame_pointer_needed.
14910
be446dfc
EB
149112004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
14912
14913 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
14914 for SCmode and DCmode if ARCH32.
14915 (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
14916 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
14917 if ARCH32.
14918 (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
14919 if ARCH32.
14920 (BASE_OUTGOING_VALUE_REG): Likewise.
14921
1b4bda70
EB
149222004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
14923
14924 PR target/10904
14925 PR target/13058
14926 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
14927 Forbid mode changes from SImode for lower FP regs if ARCH64.
14928
1194fc79
R
149292004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
14930
14931 * Makefile.in (bt-load.o): Depend on except.h.
14932 * bt-load.c (except.h): #include.
14933 (compute_defs_uses_and_gen): If insn at end of BB can throw
14934 within this function, consider registers used by it unavailable for
14935 btr migration.
14936 (move_btr_def): If insn at end of BB can throw, insert before rather
14937 than after.
14938
14939 * flags.h (flag_btr_bb_exclusive): Declare.
14940 * toplev.c (flag_btr_bb_exclusive): New variable.
14941 (f_options): Add btr-bb-exclusive.
14942 * bt-load.c (augment_live_range): Restore old behaviour if
14943 flag_btr_bb_exclusive is set.
14944 * common.opt: Add entry for -fbtr-bb-exclusive.
14945 * opts.c (common_handle_options): Same.
14946 * doc/invoke.texi: Document -fbtr-bb-exclusive.
52ad4d7b 14947
1194fc79
R
14948 * bt-load.c (btrs_live_at_end): New variable.
14949 (compute_defs_uses_and_gen): Compute its pointed-to array.
14950 (clear_btr_from_live_range, add_btr_to_live_range): Update it.
14951 (augment_live_range): When augmenting with a new dominator,
14952 use only its btrs_live_at_end set, but also add in the full set
14953 of the old dominator.
14954 (btr_def_live_range): Use btrs_live_at_end.
14955 (move_btr_def): Set other_btr_uses_before_def, and move new set
14956 to the end of the basic block, if appropriate.
14957 (migrate_btr_defs): Allocate and free btrs_live_at_end.
52ad4d7b 14958
1194fc79
R
14959 * bt-load.c (basic_block_freq): Remove outdated comment.
14960
895ea8f0
AM
149612004-01-27 Alan Modra <amodra@bigpond.net.au>
14962
14963 * config/rs6000/rs6000.h: Correct target_flags free bits comment.
14964 (PREDICATE_CODES): Remove duplicate.
14965 * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
14966 (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
14967 (MASK_PROFILE_KERNEL): Adjust define.
14968
4137ba7a
JJ
149692004-01-27 Jakub Jelinek <jakub@redhat.com>
14970
14971 * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
14972 of long string literals from 32 bytes to sizeof (void *) when !-Os
14973 and to 1 with -Os.
14974
a4bb41cc
KH
149752004-01-26 Kazu Hirata <kazu@cs.umass.edu>
14976
14977 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
14978 constant addresses in the normal mode.
14979
1c62e7b2
KG
149802004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14981
14982 * system.h (CHAR_BITFIELD): Delete.
14983 (BOOL_BITFIELD): New.
14984 * c-decl.c (c_scope): Use BOOL_BITFIELD.
14985 * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
14986
96ab60fc
KH
149872004-01-26 Kazu Hirata <kazu@cs.umass.edu>
14988
14989 * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
14990 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
14991 (TARGET_PROMOTE_PROTOTYPES): Likewise.
14992 (TARGET_STRUCT_VALUE_RTX): Likewise.
14993 (TARGET_RETURN_IN_MEMORY): Likewise.
14994 (arc_return_in_memory): Likewise.
14995 * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
14996 (PROMOTE_FUNCTION_RETURN): Likewise.
14997 (RETURN_IN_MEMORY): Likewise.
14998 (STRUCT_VALUE): Likewise.
14999
6d4b0a5d
RH
150002004-01-26 Richard Henderson <rth@redhat.com>
15001
15002 * c-parse.in (extension): Use itype.
15003 (SAVE_EXT_FLAGS): Don't allocate a tree.
15004 (RESTORE_EXT_FLAGS): Don't read a tree.
15005
18874af6
JH
150062004-01-26 Jan Hubicka <jh@suse.cz>
15007
15008 * cselib.c (discard_useless_values): Clear out value pointer pointing
15009 to datastructure to be recycled.
15010
501f88de
JH
150112004-01-25 Jan Hubicka <jh@suse.cz>
15012
15013 * genextract.c (main): Do not output the memset when not checking.
15014
d6456562
KH
150152004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15016
15017 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
15018 switch statement instead of a chain of if statements.
15019
5cea9d5d
JL
150202004-01-26 Jeff Law <law@redhat.com>
15021
15022 * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
15023 acute accents for Petur Runolfsson's entry.
15024
04e9daaf
KH
150252004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15026
15027 * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
15028 (TARGET_RETURN_IN_MEMORY): Likewise.
15029 * config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
15030 (RETURN_IN_MEMORY): Likewise.
15031
40ca90bf 150322004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 15033
52ad4d7b
ZW
15034 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
15035 unaligned load/store into smaller loads and stores.
6c8066b9 15036
40ca90bf 150372004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 15038
52ad4d7b
ZW
15039 * function.c (assign_parms): Do not assign
15040 long long argument to memory in prologue if
15041 is it loaded into register.
6c8066b9 15042
40ca90bf 150432004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
15044
15045 PR middle-end/13779
52ad4d7b
ZW
15046 * expr.c (emit_group_load): split constant
15047 correctly into register components of PARALLEL insn.
6c8066b9 15048
40ca90bf 150492004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
15050
15051 * gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
15052 Use adjust_address_nv directly with appropriate mode.
15053 (restore_stack_nonlocal): Ditto.
15054
4c45af42
KH
150552004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15056
15057 * config/xtensa/xtensa-protos.h: Remove the prototype for
15058 xtensa_builtin_saveregs.
15059 * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15060 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15061 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15062 (TARGET_STRUCT_VALUE_RTX): Likewise.
15063 (TARGET_RETURN_IN_MEMORY): Likewise.
15064 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15065 (xtensa_builtin_saveregs): Make it static.
15066 (xtensa_return_in_memory): New.
15067 * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
15068 (PROMOTE_FUNCTION_RETURN): Likewise.
15069 (PROMOTE_PROTOTYPES): Likewise.
15070 (STRUCT_VALUE): Likewise.
15071 (RETURN_IN_MEMORY): Likewise.
15072 (EXPAND_BUILTIN_SAVEREGS): Likewise.
15073
1cc9f5f5
KH
150742004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15075
15076 * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
15077 (arm_setup_incoming_varargs): Likewise.
15078 * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
15079
558d352a
KH
150802004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15081
15082 * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
15083 (cris_setup_incoming_varargs): Likewise.
15084 * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
15085
2001a5cf
KH
150862004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15087
15088 * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
15089 (ns32k_struct_value_rtx): Likewise.
15090 * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
15091 NS32K_STRUCT_VALUE_REGNUM.
15092
f9ba5949
KH
150932004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15094
15095 * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15096 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15097 (TARGET_STRUCT_VALUE_RTX): Likewise.
15098 (arm_struct_value_rtx): Likewise.
15099 * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
15100 (STRUCT_VALUE): Likewise.
15101 (STRUCT_VALUE_REGNUM): Likewise.
15102 (PROMOTE_PROTOTYPES): Likewise.
15103
351a758b
KH
151042004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15105
15106 * config/ia64/ia64-protos.h: Remove the prototype for
15107 ia64_setup_incoming_varargs and ia64_return_in_memory.
15108 * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
15109 (TARGET_RETURN_IN_MEMORY): Likewise.
15110 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15111 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
15112 (ia64_setup_incoming_varargs): Adjust the arguments to meet
15113 the requirement of TARGET_SETUP_INCOMING_VARARGS.
15114 (ia64_return_in_memory): Make it static. Change the return
15115 type to bool from int. Add an argument.
15116 (ia64_struct_value_rtx): New.
15117 * config/ia64/ia64.h: Remove commented-out definitions of
15118 PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
15119 PROMOTE_PROTOTYPES.
15120 (RETURN_IN_MEMORY): Remove.
15121 (STRUCT_VALUE_REGNUM): Likewise.
15122 (STRICT_ARGUMENT_NAMING): Likewise.
15123
a7bba6ca
EB
151242004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
15125
15126 PR target/13666
15127 * config/sparc/sparc.c (function_arg_union_value): New function.
15128 (function_arg): Use it to deal with unions.
15129 (function_value): Likewise. Define 'regbase' only for ARCH64.
15130 Replace a conditional statement by a simpler one.
15131
6865f4cd
RS
151322004-01-26 Richard Sandiford <rsandifo@redhat.com>
15133
15134 * config/mips/mips.c (mips16_optimize_gp): Delete.
15135 (mips_reorg): Don't call it.
15136
2d6d0eb5
MH
151372004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15138
15139 * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
15140 (floatunsqihf2): Remove operand 6.
15141 (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
15142 fix patterns.
15143 (ldi_conditional, ldf_conditional): Validate operands.
15144
8f422192
MH
151452004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15146
15147 * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
15148 (HAVE_GAS_HIDDEN): Undefine as interim measure.
52ad4d7b 15149
9c3602e4
MH
151502004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15151
15152 * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
15153 memory references if TARGET_EXPOSE_LDP nonzero.
15154
a026b9d6
MH
151552004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15156
15157 * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
52ad4d7b 15158
b7bbb574
MH
151592004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15160
15161 * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
15162 invalid operand combinations.
15163
1e903c61
MH
151642004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15165
15166 * config/c4x/c4x.c (c4x_check_legit_addr): Rename to
15167 c4x_legitimate_address_p. Fix post_modify check.
b7bbb574 15168
1e903c61
MH
15169 * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
15170 * config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
52ad4d7b 15171
3f12cd9b
KH
151722004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15173
15174 * config/pa/pa-protos.h: Remove the prototype for
15175 hppa_builtin_saveregs. Add a prototype for
15176 pa_return_in_memory.
15177 * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
15178 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15179 (TARGET_STRUCT_VALUE_RTX): Likewise.
15180 (TARGET_RETURN_IN_MEMORY): Likewise.
15181 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15182 (pa_struct_value_rtx): Likewise.
15183 (pa_return_in_memory): Likewise.
15184 * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
15185 PA_STRUCT_VALUE_REGNUM.
15186 (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
15187 (EXPAND_BUILTIN_SAVEREGS): Remove.
15188 (PROMOTE_PROTOTYPES): Likewise.
15189 (PROMOTE_FUNCTION_RETURN): Likewise.
15190
f289e226
KH
151912004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15192
15193 * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
15194 (TARGET_STRUCT_VALUE_RTX): Likewise.
15195 (vax_struct_value_rtx): Likewise.
15196 * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
15197 VAX_STRUCT_VALUE_REGNUM.
15198 (PROMOTE_PROTOTYPES): Remove.
15199
12fb52cf 152002004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
52ad4d7b
ZW
15201
15202 * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
15203
fdcf1e1e
CD
152042003-04-25 Chris Demetriou <cgd@broadcom.com>
15205
15206 * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
15207 and MIPS64 have HI/LO interlocks. Update comment.
15208
7e43c821
KH
152092004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15210
15211 * config/stormy16/stormy16-protos.h: Remove the prototype for
15212 xstormy16_setup_incoming_varargs.
15213 * config/stormy16/stormy16.c
15214 (xstormy16_setup_incoming_varargs): Remove.
15215 (xstormy16_return_in_memory): New.
15216 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
15217 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15218 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15219 (TARGET_STRUCT_VALUE_RTX): Likewise.
15220 (TARGET_RETURN_IN_MEMORY): Likewise.
15221 * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
15222 (PROMOTE_FUNCTION_RETURN): Likewise
15223 (PROMOTE_PROTOTYPES): Likewise
15224 (RETURN_IN_MEMORY): Likewise
15225 (STRUCT_VALUE): Likewise
15226 (SETUP_INCOMING_VARARGS): Likewise
15227
62973ffe
RS
152282004-01-25 Richard Sandiford <rsandifo@redhat.com>
15229
15230 * config/mips/mips.c (mips_offset_within_object_p): New function.
15231 (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
15232 SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
15233 ABI has 64-bit pointers and the object file only allows 32-bit symbols.
15234
8e67da21
KH
152352004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15236
15237 * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
15238 (PROMOTE_FUNCTION_RETURN): Likewise.
15239
9024ea92
KH
152402004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15241
15242 * config/mn10300/mn10300-protos.h: Remove the prototype for
15243 mn10300_builtin_saveregs.
15244 * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
15245 (TARGET_STRUCT_VALUE_RTX): Likewise.
15246 (TARGET_RETURN_IN_MEMORY): Likewise.
15247 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15248 (mn10300_return_in_memory): Likewise.
15249 (mn10300_builtin_saveregs): Make it static.
15250 * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
15251 (RETURN_IN_MEMORY): Likewise.
15252 (STRUCT_VALUE): Likewise.
15253 (EXPAND_BUILTIN_SAVEREGS): Likewise.
15254
20b4e8ae
EB
152552004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
15256
15257 PR bootstrap/13853
15258 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
15259
cff555dc
KH
152602004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15261
15262 * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
15263 using ccr.
15264
30f58b01
KH
152652004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15266
15267 * config/i860/i860-protos.h: Remove the prototype for
15268 i860_saveregs.
15269 * config/i860/i860.c (i860_saveregs): Make it static.
15270 (i860_struct_value_rtx): New.
15271 (TARGET_STRUCT_VALUE_RTX): Likewise.
15272 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15273 * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
15274 I860_STRUCT_VALUE_REGNUM.
15275 (EXPAND_BUILTIN_SAVEREGS): Remove.
15276
341ec191
KH
152772004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15278
15279 * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
15280 (TARGET_RETURN_IN_MEMORY): Likewise.
15281 (m68hc11_struct_value_rtx): Likewise.
15282 (m68hc11_return_in_memory): Likewise.
15283 * config/m68hc11/m68hc11.h: Remove a commented-out definition
15284 of PROMOTE_PROTOTYPES.
15285 (RETURN_IN_MEMORY): Remove.
15286 (STRUCT_VALUE_REGNUM): Likewise.
15287
344caf1b
KH
152882004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15289
15290 * config/mmix/mmix-protos.h: Remove the prototype for
15291 mmix_setup_incoming_varargs.
15292 * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15293 (TARGET_STRUCT_VALUE_RTX): Likewise.
15294 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15295 (mmix_setup_incoming_varargs): Make it static.
15296 (mmix_struct_value_rtx): New.
15297 * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
15298 Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
15299 (STRUCT_VALUE_REGNUM): Remove.
15300 (SETUP_INCOMING_VARARGS): Likewise.
15301
0c8da560
KH
153022004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15303
15304 * config/mips/mips-protos.h: Remove the prototypes for
15305 mips_setup_incoming_varargs and mips_return_in_memory.
15306 * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15307 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15308 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15309 (TARGET_STRUCT_VALUE_RTX): Likewise.
15310 (TARGET_RETURN_IN_MEMORY): Likewise.
15311 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15312 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
15313 (mips_setup_incoming_varargs): Match the prototype for
15314 TARGET_SETUP_INCOMING_VARARGS.
15315 (mips_return_in_memory): Make it static. Add argument fntype.
15316 (mips_strict_argument_naming): New.
15317 * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
15318 (PROMOTE_FUNCTION_ARGS): Likewise.
15319 (PROMOTE_FUNCTION_RETURN): Likewise.
15320 (STRUCT_VALUE): Likewise.
15321 (RETURN_IN_MEMORY): Likewise.
15322 (SETUP_INCOMING_VARARGS): Likewise.
15323 (STRICT_ARGUMENT_NAMING): Likewise.
15324
49ca372c
KH
153252004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15326
15327 * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
15328 (TARGET_RETURN_IN_MEMORY): Likewise.
15329 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15330 (ip2k_return_in_memory): Likewise.
15331 (ip2k_setup_incoming_varargs): Likewise.
15332 * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
15333 (STRUCT_VALUE): Likewise.
15334 (STRUCT_VALUE_INCOMING): Likewise.
15335 (SETUP_INCOMING_VARARGS): Likewise.
15336
b069302c
KH
153372004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15338
15339 * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
15340 (TARGET_RETURN_IN_MEMORY): Likewise.
15341 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
15342 (avr_return_in_memory): Remove.
15343 * config/avr/avr.h (RETURN_IN_MEMORY): Remove.
15344 (STRUCT_VALUE): Likewise.
15345 (STRUCT_VALUE_INCOMING): Likewise.
15346 (STRICT_ARGUMENT_NAMING): Likewise.
15347
e6d83128
JH
153482004-01-25 Jan Hubicka <jh@suse.cz>
15349
15350 * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
15351
bcbc6b7f
RS
153522004-01-25 Richard Sandiford <rsandifo@redhat.com>
15353
15354 * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
15355 (mips_regno_mode_ok_for_base_p): Declare.
15356 * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
15357 (FRAME_POINTER_REGNUM): Renumber to 78.
15358 (FIRST_PSEUDO_REGISTER): Update comment accordingly.
15359 (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
15360 (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
15361 (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
15362 (REG_MODE_OK_FOR_BASE_P): Likewise.
15363 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
15364 entry for 77 to "$arg" and entry for 78 to "$frame".
15365 (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
15366 (mips_reg_mode_ok_for_base_p): Remove.
15367 (mips_regno_mode_ok_for_base_p): New function, derived from old
15368 BASE_REG_P macro. Don't enforce the mips16 stack pointer
15369 restrictions unless we're being strict.
15370 (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
15371
1f52178b
KH
153722004-01-24 Kazu Hirata <kazu@cs.umass.edu>
15373
15374 * c-common.h: Fix comment typos.
15375 * c-decl.c: Likewise.
15376 * cgraphunit.c: Likewise.
15377 * combine.c: Likewise.
15378 * et-forest.c: Likewise.
15379 * flow.c: Likewise.
15380 * function.c: Likewise.
15381 * ifcvt.c: Likewise.
15382 * integrate.c: Likewise.
15383 * jump.c: Likewise.
15384 * postreload.c: Likewise.
15385 * varray.c: Likewise.
15386
56ae1316
KH
153872004-01-24 Kazu Hirata <kazu@cs.umass.edu>
15388
15389 * doc/frontends.texi: Update copyright.
15390 * doc/gcov.texi: Likewise.
15391 * doc/gty.texi: Likewise.
15392 * doc/sourcebuild.texi: Likewise.
15393 * doc/standards.texi: Likewise.
15394
b1dccb28
HB
153952004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
15396
15397 PR target/12978
15398 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
15399 Remove movstrqi_small because it conflicts with movstrqi_large.
15400
a2fef3a4
KH
154012004-01-24 Kazu Hirata <kazu@cs.umass.edu>
15402
15403 * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15404 (TARGET_STRUCT_VALUE_RTX): Likewise.
15405 (cris_struct_value_rtx): Likewise.
15406 * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
15407 (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
15408 STRUCT_VALUE_REGNUM.
15409 (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
15410
1f44254c
ILT
154112004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
15412
15413 PR bootstrap/13848
15414 * cse.c (cse_cc_succs): Change the mode of the source expression
15415 as soon as decide we need a new mode. Don't permit changing modes
15416 if we found a match in a successor block.
15417 (cse_condition_code_reg): Save original mode of source expression
15418 so that we know whether we have to change the mode in other
15419 insns.
15420
fdb1c7b3
JH
154212004-01-24 Jan Hubicka <jh@suse.cz>
15422
15423 * emit-rtl.c (change_address, adjust_address_1, offset_address,
15424 widen_memory_access): Return early when there is nothing to change.
15425
5473cfa7
JJ
154262004-01-24 Jakub Jelinek <jakub@redhat.com>
15427
15428 * simplify-rtx.c (simplify_relational_operation): Don't
15429 simplify address == constant into address + -constant == 0.
15430
a5153056
KH
154312004-01-24 Kazu Hirata <kazu@cs.umass.edu>
15432
15433 * gcc.c (process_command): Don't internationalize the
15434 Copyright message.
15435 * mips-tfile.c (main): Likewise.
15436
174b84e5
AT
154372004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
15438
15439 * cse.c: (cse_cc_succs) Fix comparison warning.
15440
16537909
KH
154412004-01-24 Kazu Hirata <kazu@cs.umass.edu>
15442
15443 * config/h8300/h8300.md: Remove extraneous USE in expanders.
15444
d0022200
KH
154452004-01-24 Kazu Hirata <kazu@cs.umass.edu>
15446
15447 * config/h8300/h8300-protos.h: Provide prototypes for
15448 h8300_legitimate_constant_p and h8300_legitimate_address_p.
15449 * config/h8300/h8300.c (h8300_legitimate_constant_p): New.
15450 (h8300_rtx_ok_for_base_p): Likewise.
15451 (h8300_legitimate_address_p): Likewise.
15452 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
15453 h8300_legitimate_constant_p.
15454 (RTX_OK_FOR_BASE_P): Remove.
15455 (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
15456
ca04c5a9
KH
154572004-01-24 Kazu Hirata <kazu@cs.umass.edu>
15458
15459 * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
15460 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
15461 (REG_OK_FOR_INDEX_STRICT_P): Likewise.
15462 (REG_OK_FOR_BASE_STRICT_P): Likewise.
15463 (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
15464 (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
15465 (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
15466 (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
15467
3e2a0bd2
JH
154682004-01-24 Jan Hubicka <jh@suse.cz>
15469
15470 * cselib.c (remove_useless_values): Do not access discarded values.
15471
b1adf557
JM
154722004-01-24 Joseph S. Myers <jsm@polyomino.org.uk>
15473
15474 * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
15475 arrays.
15476
55cd4633
KH
154772004-01-23 Kazu Hirata <kazu@cs.umass.edu>
15478
15479 * recog.c: Fix a typo in copyright.
15480
bbf294a5
AP
154812004-01-23 Andrew Pinski <apinski@apple.com>
15482
15483 * config/rs6000/rs6000.md (call): Fix misappiled patch.
15484 (call_value): Likewise.
15485
a475bff7
RH
154862004-01-23 Richard Henderson <rth@redhat.com>
15487
52ad4d7b
ZW
15488 PR opt/12941
15489 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
15490 (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
15491 if SHIFT_COUNT_TRUNCATED is set.
a475bff7 15492
3712281f
BW
154932004-01-23 Bob Wilson <bob.wilson@acm.org>
15494
15495 * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
15496 separate real and imaginary parts.
15497 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
15498
99e5c00b
HP
154992004-01-23 Hartmut Penner <hpenner@de.ibm.com>
15500
15501 PR target/13674
15502 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
15503 loading into GPR.
15504
8b07361e
JH
155052004-01-23 Jan Hubicka <jh@suse.cz>
15506
a74ff877
JH
15507 * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
15508 change.
15509
8b07361e
JH
15510 * alloc-pool.c (align_four): Kill.
15511 (create_alloc_pool): Align size to eight.
15512 (free_alloc_pool, free_pool): Invalidate deallocated data.
15513
e129d93a
ILT
155142004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
15515
15516 PR gcc/1532
15517 * cse.c (cse_change_cc_mode): New static function.
15518 (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
15519 (cse_condition_code_reg): New function.
15520 * rtl.h (cse_condition_code_reg): Declare.
15521 * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
15522 * target.h (struct gcc_target): Add fixed_condition_code_regs and
15523 cc_modes_compatible.
15524 * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
15525 (TARGET_CC_MODES_COMPATIBLE): Define.
15526 (TARGET_INITIALIZER): Add new initializers.
15527 * targhooks.c (default_cc_modes_compatible): New function.
15528 * targhooks.c (default_cc_modes_compatible): Declare.
15529 * hooks.c (hook_bool_intp_intp_false): New function.
15530 * hooks.h (hook_bool_intp_intp_false): Declare.
15531 * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
15532 (TARGET_CC_MODES_COMPATIBLE): Define.
15533 (ix86_fixed_condition_code_regs): New static function.
15534 (ix86_cc_modes_compatible): Likewise.
15535 * doc/tm.texi (Condition Code): Document new hooks.
15536
f6c930a3
RO
155372004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15538
15539 * fixinc/inclhack.def (bad_lval): Renamed to ...
15540 (alpha_bad_lval): ... this.
15541 Removed file list.
15542 Restrict to alpha*-dec-osf*.
15543 * fixinc/fixincl.x: Regenerate.
15544 * fixinc/tests/base/dirent.h: Remove, moving test ...
15545 * fixinc/tests/base/testing.h: ... here, reflecting new name.
15546
04b8f97f
ZW
155472004-01-23 Zack Weinberg <zack@codesourcery.com>
15548
30cab869 15549 PR c/13814
04b8f97f
ZW
15550 * c-decl.c (diagnose_mismatched_decls): Also discard a
15551 built-in if we encounter an old-style definition with the
15552 same name.
15553
1ab1739c
JJ
155542004-01-23 Jakub Jelinek <jakub@redhat.com>
15555
15556 * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
15557 set to default{32,64}.
15558
02731d29
JJ
155592004-01-21 Jakub Jelinek <jakub@redhat.com>
15560
15561 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
15562 [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
15563
0a944ef6 155642004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
04b8f97f 15565 Olivier Hainque <hainque@act-europe.fr>
0a944ef6
EB
15566
15567 * fold-const.c (fold_binary_op_with_conditional_arg): Only
15568 build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
15569
0bfb39ef
DJ
155702004-01-23 Daniel Jacobowitz <drow@mvista.com>
15571
15572 * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
15573 size for minipool references.
15574
25348c94
RS
155752004-01-23 Roger Sayle <roger@eyesopen.com>
15576
15577 * real.c (real_floor, real_ceil): Tweak to allow input and output
15578 arguments to overlap.
15579 (real_round): New function to implement round(3m) semantics.
15580 * real.h (real_round): Prototype here.
15581 * builtins.c (fold_builtin_round): New function to constant fold
15582 round, roundf and roundl.
15583 (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
15584
0f2b41b2
AO
155852004-01-23 Alexandre Oliva <aoliva@redhat.com>
15586
15587 PR optimization/13819
04b8f97f 15588 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
0f2b41b2
AO
15589 introduced by 2004-01-20's Jan Hubicka's copy_insn change.
15590 (sh_handle_sp_switch_attribute): Remove warning.
15591
72613dfa
JH
155922003-11-30 Jan Hubicka <jh@suse.cz>
15593
15594 * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
15595
7be4d808
R
155962004-01-23 J"orn Rennecke <joern.rennecke@superh.com>
15597
15598 * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
15599 may or may not return non-NIL.
15600 * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
15601 check CANNOT_CHANGE_MODE_CLASS
15602
23bd7a93
JH
156032004-01-23 Jan Hubicka <jh@suse.cz>
15604
15605 * basic-block.h (PROP_POSTRELOAD): New macro.
15606 (CLEANUP_LOG_LINKS): New.
15607 * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
15608 * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
15609
15610 * cselib.c (value_pool): New.
15611 (new_cselib_val): Use pool.
15612 (cselib_init): Initialize value_pool
15613 (cselib_finish): Free pool.
15614
5c4f4b18
EB
156152004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
15616
15617 * config/sparc/sparc.c (scan_record_type): New function.
15618 (function_arg_slotno): Use it to determine which kinds of
15619 registers the record can be passed in.
15620
95f576c1
JM
156212004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca>
15622
15623 * config/pa/fptr.c: Fix old-style definition.
15624
4c442790
PB
156252004-01-22 Paolo Bonzini <bonzini@gnu.org>
15626
15627 PR optimization/13724
15628 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
15629 represents the zero bits produced by a ZERO_EXTEND operation.
15630
dc4bbaf7
RS
156312004-01-22 Roger Sayle <roger@eyesopen.com>
15632
15633 PR optimization/13821
15634 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
15635 correctly calculate the lowpart offset of the contracted subreg.
15636
b00567b0
ILT
156372004-01-22 Ian Lance Taylor <ian@wasabisystems.com>
15638
15639 * doc/invoke.texi (Optimize Options): Note that --param arguments
15640 are subject to change without notice.
15641
d0d969f8
RO
156422004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15643
15644 * config.gcc (mips-sgi-irix6*o32): Removed.
15645 * config/mips/iris6-o32-as.h: Likewise.
15646 * config/mips/iris6-o32-gas.h: Likewise.
15647 * config/mips/iris6-o32.h: Likewise.
15648
7cf240d5
JH
156492004-01-22 Jan Hubicka <jh@suse.cz>
15650
15651 * cfgcleanup.c (first_pass): New static variable.
15652 (try_forward_edges): Add work limiting check for threading.
15653 (try_crossjump_bb): Add work limiting check for crossjumping.
15654 (try_optimize_cfg): Maintain first pass variable.
15655
b16417d6
BW
156562004-01-22 Bob Wilson <bob.wilson@acm.org>
15657
15658 * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
15659 handles complex and vector modes.
15660
c8796654
KH
156612004-01-22 Kazu Hirata <kazu@cs.umass.edu>
15662
15663 * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
15664 (REG_OK_FOR_BASE_P_STRICT): Likewise.
15665 (STRICT): Likewise.
15666
10176e28
DJ
156672004-01-22 Daniel Jacobowitz <drow@mvista.com>
15668
15669 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
15670 (genrtl_for_stmt): Remove emit_nop calls.
15671
7bff636b
JDA
156722004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15673
15674 PR target/13713
15675 PR target/13324
15676 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
15677 movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
15678 clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
15679
980e61bb
DJ
156802004-01-22 Daniel Jacobowitz <drow@mvista.com>
15681
15682 * config/arm/arm.c: Include "debug.h".
04b8f97f 15683 (thumb_pushpop): Take two new arguments. Add some commentary.
980e61bb
DJ
15684 Output frame information when pushing.
15685 (thumb_exit, thumb_unexpanded_epilogue): Update calls to
15686 thumb_pushpop.
15687 (thumb_output_function_prologue): Likewise. Accumulate a CFA
15688 offset, and pass it to thumb_pushpop. Output CFI information.
15689 (thumb_expand_prologue): Add some frame-related markers and notes.
15690
0067d121
UW
156912004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
15692
15693 * config/s390/s390.c (s390_frame_info): Allow large frame sizes
15694 for TARGET_64BIT.
15695 (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
15696 * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
15697
bb51e270
RS
156982004-01-22 Roger Sayle <roger@eyesopen.com>
15699 Paolo Bonzini <bonzini@gnu.org>
15700
15701 * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
15702 (subreg_lsb): Change to call new subreg_lsb_1 helper function.
15703 * rtl.h (subreg_lsb_1): Prototype here.
15704 * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
15705 sign extensions.
15706
9c49953c
KH
157072004-01-22 Kazu Hirata <kazu@cs.umass.edu>
15708
15709 * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
15710 macro need not be defined if jump-tables should contain
15711 relative addresses only when -fPIC or -fPIC is in effect.
15712
c582d54a
JH
157132004-01-22 Jan Hubicka <jh@suse.cz>
15714
15715 * alias.c (reg_base_value): Turn into varray.
15716 (reg_base_value_size): Kill.
15717 (old_reg_base_value): New deletable varray.
15718 (alias_invariant_size): New variable.
15719 (REG_BASE_VALUE): Update to use varray.
15720 (find_base_value): Likewise.
15721 (record_set): Likewise.
15722 (record_base_value): Likewise.
15723 (memrefs_conflict_p): Likewise.
15724 (record_set): Likewise
15725 (record_base_value): Likewise.
15726 (memrefs_conflict_p): Use alias_invariant_size.
15727 (init_alias_analysis): Use varray; set alias_invariant_size;
15728 rescale other arrays to be sized by maxreg.
15729 (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
15730
8a98812c
EB
157312004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
15732
15733 * config/sparc/sparc.c (function_arg_slotno): Use
15734 FLOAT_TYPE_P to detect FP fields in structures.
15735 (function_arg_record_value_1): Likewise.
15736 (function_arg_record_value_2): Likewise.
15737
0de456a5
JH
157382004-01-22 Jan Hubicka <jh@suse.cz>
15739
15740 * function.c (allocate_struct_function): Do not initialize expr, emit
15741 and varasm.
15742 (prepare_function_start): Do it here.
15743 * c-parse.in (maybe_type_qual): Do not produce line number notes.
15744
1fd05073
EB
157452004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
15746
15747 PR target/13559
15748 * config/sparc/sparc.c (function_arg_record_value_3): Revert
15749 to 'word_mode' once the first slot has been filled.
15750
b2f24c85
EB
157512004-01-22 Olivier Hainque <hainque@act-europe.fr>
15752
15753 * config/sparc/sparc.c (function_arg_record_value_1): Fix
15754 computation of the number of integer registers required.
15755
b4e0dd8e
KH
157562004-01-21 Kazu Hirata <kazu@cs.umass.edu>
15757
15758 * config/i386/i386.md: Simplify certain comparisons of
15759 const_int.
15760
5cc5eddc
AP
157612004-01-21 Andrew Pinski <apinski@apple.com>
15762
15763 PR target/13785
04b8f97f 15764 * config/rs6000/rs6000.md (call_value): Force operand
5cc5eddc
AP
15765 1 not operand 0 into a register.
15766
711d8c91
KH
157672004-01-21 Kazu Hirata <kazu@cs.umass.edu>
15768
15769 * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
15770 unwind-dw2-fde.h: Update copyright.
15771
d1885651
JDA
157722004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15773
15774 * pa-protos.h: Update copyright.
15775 * pa.h: Likewise.
15776 * pa.md: Likewise.
15777
40ca90bf 157782004-01-21 Caroline Tice <ctice@apple.com>
ec13ba83 15779
6ed854f1 15780 PR target/12308
04b8f97f 15781 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
ec13ba83
CT
15782 flags register.
15783 (fix_truncdfdi2): Likewise.
15784 (fix_truncsfdi2): Likewise.
15785 (*fix_truncdi_1): Likewise.
15786 (fix_truncxfsi2): Likewise.
15787 (fix_truncdfsi2): Likewise.
15788 (fix_truncsfsi2): Likewise.
15789 (*fix_truncsi_1): Likewise.
15790 (fix_truncxfhi2): Likewise.
15791 (fix_truncdfhi2): Likewise.
15792 (fix_truncsfhi2): Likewise.
15793 (*fix_trunchi_1): Likewise.
04b8f97f 15794
d9221e01
KH
157952004-01-21 Kazu Hirata <kazu@cs.umass.edu>
15796
15797 * alias.c, basic-block.h, c-common.c, c-common.h,
15798 c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
15799 calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
15800 combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
15801 cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
15802 defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
15803 expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
15804 genautomata.c, genconditions.c, genemit.c, genflags.c,
15805 gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
15806 ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
15807 langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
15808 line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
15809 ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
15810 rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
15811 target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
15812 unwind.h, varray.c, varray.h: Update copyright.
15813
6d6b0a12
KH
158142004-01-21 Kazu Hirata <kazu@cs.umass.edu>
15815
15816 * config/h8300/coff.h: Update copyright.
15817 * config/h8300/elf.h: Likewise.
15818 * config/h8300/h8300-protos.h: Likewise.
15819 * config/h8300/h8300.c: Likewise.
15820 * config/h8300/h8300.h: Likewise.
15821 * config/h8300/h8300.md: Likewise.
15822
4b60eb3b
JDA
158232004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15824
15825 * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
15826 ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
15827 ultrix_unistd): New hacks.
15828 * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
15829 ULTRIX_CONST2_CHECK): Add checks.
15830 * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
15831 * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
15832 * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
15833 * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
15834 * fixinc/tests/base/locale.h: New file.
15835 * fixinc/fixincl.x: Rebuilt.
15836
bbf5a54d
AJ
158372004-01-21 Andreas Jaeger <aj@suse.de>
15838 Michael Matz <matz@suse.de>
15839
15840 * doc/extend.texi (Extended Asm): Clarify memory clobber.
15841
bfccaa6f
JJ
158422004-01-21 Jakub Jelinek <jakub@redhat.com>
15843
15844 * crtstuff.c (frame_dummy, __do_global_ctors_1): Call
15845 _Jv_RegisterClasses through a function pointer.
15846
c3cda381
FH
158472004-01-21 Falk Hueffner <falk@debian.org>
15848
15849 PR target/12898
15850 * config/alpha/alpha.c (alpha_emit_set_const_1): If
15851 no_new_pseudos, use gen_rtx_SET directly for SImode constants
15852 which need multiple instructions to emit.
15853
2a2001be
IK
158542004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
15855
15856 * config/m32r/m32r.h (CPP_SPEC): Define.
15857
1ef82ef2
ZW
158582004-01-21 Zack Weinberg <zack@codesourcery.com>
15859
15860 * c-decl.c (merge_decls): Kill different_binding_level and
15861 different_tu arguments; simplify throughout.
15862 (duplicate_decls): Likewise.
15863 (pushdecl, merge_translation_unit_decls): Update calls to
15864 duplicate_decls.
15865
13544b81
KG
158662004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15867
15868 * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
15869 $(SYSTEM_H).
15870 (print-rtl1.o): Depend on $(SYSTEM_H).
15871
a541f69d
KC
158722004-01-20 Kelley Cook <kcook@gcc.gnu.org>
15873
15874 PR bootstrap/12730
15875 * configure.ac: Delete definition and subsitution of docdir.
15876 Add info, man, srcman and srcinfo to target hooks. Create doc/
15877 directory.
15878 * configure: Regenerate.
15879 * Makefile.in: Don't substitute docdir and delete all references
15880 throughout.
15881 (MAKEINFOFLAGS): Define.
15882 (stmp-docobjdir): Delete.
15883 (INFOFILES, MANFILES): Define.
15884 (info): Call lang.info, srcinfo and lang.srcinfo.
15885 (generated-manpages): Call lang.man, srcman and lang.srcman.
15886 (srcinfo, srcman): New rules to copy back files to source directory.
15887 (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
15888 (install-man): Revamp rule.
15889 (clean): Update dvi directory.
15890 (distclean): Delete TAGS from front end directorys.
15891 (maintainer-clean): Delete all document files in source directory.
15892
15893 objc/Make-lang.in (objc.man, objc.info): Dummy entries.
15894 (objc.srcman, objc.srcinfo): Likewise.
15895
793146e3
BK
158962004-01-20 Bruce Korb <bkorb@gnu.org>
15897
15898 * fixinc/inclhack.def(math_exception): bypass only for glibc.
15899 (matherr_decl): rename & relocate as exception_structure.
15900 This fix must precede the math_exception fix.
15901
fdb33708
RS
159022004-01-20 Roger Sayle <roger@eyesopen.com>
15903
15904 * fold-const.c (fold_convert): Rename to fold_convert_const.
15905 (fold_convert_const): Change arguments to take a tree_code,
15906 a type and the operand/expression to be converted. Return
15907 NULL_TREE if no simplification is possible. Add support for
15908 FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
15909 (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
15910 Adjust call to fold_convert to match new fold_convert_const.
15911 Avoid modifying the tree passed to fold in-place.
15912
34c80057
AM
159132004-01-21 Alan Modra <amodra@bigpond.net.au>
15914
15915 * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
15916 * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
15917 * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
15918
a4295210
JDA
159192004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15920
15921 * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
15922 * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
15923 Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
15924 (emit_move_sequence): Check scratch_reg first in various if statements.
15925 Extend source simplification to handle all 64-bit CONST_INTs.
15926 (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
15927 frame size.
15928 (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
15929 frame offset calculations.
15930 * pa.h (NEW_HP_ASSEMBLER): Add comment.
15931 (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
15932 LEGITIMATE_64BIT_CONST_INT_P): Define.
15933 (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
15934 any CONST_INT as legitimate during and after reload.
15935 (VAL_32_BITS_P, INT_32_BITS): Define.
15936 (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
15937
3e89ed8d
JH
159382004-01-20 Jan Hubicka <jh@suse.cz>
15939
15940 * emit-rtl.c (verify_rtx_sharing, copy_insn_1,
15941 emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
15942 containing hard regs are shared.
15943 (gen_hard_reg_clobber): New function.
15944 (hard_reg_clobbers): New array.
15945 * genemit.c (gen_exp): Use gen_hard_reg_clobber.
15946 (copy_rtx): Do not copy clobbers containing hard regs.
15947 * rtl.h (gen_hard_reg_clobber): Declare.
15948
9b57b627
JH
159492004-01-20 Jan Hubicka <jh@suse.cz>
15950
15951 * varray.c: Include hashtab.h
15952 (varray_descriptor): New structure.
15953 (hash_descriptor, eq_descriptor, varray_descriptor,
15954 print_statistics): New static functions
15955 (varray_init, varray_grow): Update statistics
15956 (dump_varray_statistics): New function.
15957 * varray.h (dump_varray_statistics): Declare.
15958 * toplev.c (finalize): Call it.
15959 * Makefile.in (varray.o): Add dependency.
15960
6a59927d
JH
159612004-01-20 Jan Hubicka <jh@suse.cz>
15962
15963 * cselib.c: Include alloc-pool.h
15964 (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
15965 (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
15966 (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
15967 unchain_one_elt_loc_list_pool, unchain_one_value,
15968 new_cselib_val): Simplify using allocpool.
15969 (cselib_init): Initialize allocpools.
15970 (cselib_finish): Finish allocpools.
15971 * Makefile.in (cselib.o): Depend on alloc-pool.h
15972
3c53850d
RS
159732004-01-20 Richard Sandiford <rsandifo@redhat.com>
15974
15975 * config/mips/mips.c (mips_load_call_address): Make the call insn
15976 use $gp if it could be calling a lazy binding stub.
15977
101ad855
KH
159782004-01-20 Kazu Hirata <kazu@cs.umass.edu>
15979
15980 * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
15981 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15982 (TARGET_STRUCT_VALUE_RTX): Likewise.
15983 * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
15984 (PROMOTE_FUNCTION_RETURN): Remove.
15985 (STRUCT_VALUE): Remove.
15986
c099ba28
DC
159872004-01-20 Denis Chertykov <denisc@overta.ru>
15988
03b82c00 15989 PR bootstrap/13735
c099ba28
DC
15990 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
15991 register as pointer after reload.
15992
c8b6fae3
ZD
159932004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15994
15995 PR optimization/12440
15996 * loop.c: Include ggc.h.
15997 (loop_optimize): Run garbage collector between optimization of loops.
15998 * Makefile.in (loop.o): Add GGC_H dependency.
15999
c72d6c26
HP
160002004-01-20 Hartmut Penner <hpenner@de.ibm.com>
16001
1ef82ef2 16002 * gcc/config/rs6000/rs6000.c (function_arg) Handle
c72d6c26
HP
16003 vector register special in function without prototype.
16004 (function_arg_advance): Vector parameters get always
16005 GPRs allocated for the linux64 target.
16006
91e736f9
KI
160072004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
16008
16009 * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
16010 not TARGET_M32RX_MASK.
16011
4043d6fb
EB
160122004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
16013
16014 PR target/13557
16015 * config/sparc/sparc.c (function_arg): Reorder the cases.
16016
50f59cd7
PB
160172004-01-19 Per Bothner <per@bothner.com>
16018
16019 Move cpp_reader's line_maps field to a shared global.
16020 * cpphash.h (cpp_reader): Rename line_maps field to line_table
16021 and change the type to a pointer rather than a struct.
16022 * cppinit.c (cpp_push_main_field): Adjust accordingly.
16023 * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
16024 Likewise.
16025 * cppfiles.c (validate_pch): Likewise.
16026 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
16027 Likewise.
16028 * cpperror.c (print_location): Likewise.
16029 * cpplib.h (cpp_create_reader): New line_maps pointer parameter.
16030 * cppinit.c (cpp_create_reader): Handle new parameter.
16031 (cpp_destroy): Don't free line_maps - that's no longer our job.
16032 * input.h (line_table): New variable.
16033 * toplev.c (line_table): Declare variable.
16034 (general_init): Initialize line_table.
16035 * c-opts.c (c_common_init_options): Pass line_table to
16036 cpp_create_reader.
16037 * fix-header.c (read_scan_file): New local variable line_table.
16038 Initialize, and pass it to cpp_create_reader.
16039 * Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
16040 (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
16041
160422004-01-19 Per Bothner <per@bothner.com>
9132fbb7
PB
16043
16044 Implement a cache for linemap_lookup.
16045 * line-map.h (struct_line_maps): Add cache field.
16046 * line-map.c (linemap_init): Zero cache field.
16047 (linemap_add): Set cache field to offset of newly allocated map.
16048 (linemap_lookup): Use and set cache field.
16049
26d107db
KK
160502004-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
16051
16052 PR optimization/13567
16053 * cse.c (cse_basic_block): Call cse_insn with a non-null
16054 libcall_insn for the last SET insn of a no-confilict block.
16055
e165d61b
KC
160562004-01-20 Kelley Cook <kcook@gcc.gnu.org>
16057
1ef82ef2 16058 * Makefile.in (target_noncanonical, program_transform_name): Use
e165d61b 16059 immediate define instead of deferred.
1ef82ef2 16060 (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
e165d61b
KC
16061 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
16062 GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
16063 deferred backquote.
16064
53cd18ec
JM
160652004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
16066
16067 * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
16068 true unconditionally.
16069 * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
16070 Remove.
16071 (build_unary_op, build_modify_expr): Don't handle extended
16072 lvalues.
16073 (build_component_ref, build_conditional_expr): Call non_lvalue
16074 instead of pedantic_non_lvalue.
16075 (build_c_cast): Don't condition use of non_lvalue on pedantic.
16076 * fold-const.c (fold): Don't check pedantic directly for
16077 COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
16078 passed to pedantic_non_lvalue.
16079 * doc/extend.texi: Remove documentation of extended lvalues.
16080
9ce79a7a
RS
160812004-01-19 Roger Sayle <roger@eyesopen.com>
16082
16083 PR optimization/5263
16084 * simplify-rtx.c (associative_constant_p): Delete.
16085 (simplify_associative_operation): Rewrite to linearize terms, and
16086 attempt to simplify new term against both left and right subterms.
16087 (simplify_binary_operation): Call swap_commutative_operands_p on
16088 op0 and op1, not trueop0 and trueop1. Move the initialization of
16089 trueop0 and trueop1 down to where first needed.
16090 (simplify_relational_operation): Likewise.
16091 * rtlanal.c (commutative_operand_precedence): Also order constant
16092 operands using avoid_constant_pool_reference.
16093
62e88293
RH
160942004-01-19 Richard Henderson <rth@redhat.com>
16095
1ef82ef2
ZW
16096 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
16097 don't check memory mode.
16098 (unaligned_memory_operand): Likewise.
16099 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
16100 abort for op0 not MEM.
62e88293 16101
1ef82ef2
ZW
16102 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
16103 is not a reg, copy to a scratch first.
16104 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
16105 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
16106 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
16107 (reload_inqi, reload_inhi): Fix mode of op0.
16108 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
16109 reload_outhi_help): Likewise. Use define_insn_and_split.
62e88293 16110
1ef82ef2
ZW
16111 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
16112 as well as $29 dead.
62e88293 16113
2f3321ca
EB
161142004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
16115
16116 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
16117 "tls_object" for thread-local objects.
16118 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
16119 "#tls" for thread-local sections.
16120 * configure.ac (thread-local checks): Specify --fatal-warnings in
16121 every binutils-specific checks. For sparc*-*-*, test whether the
16122 OS is Solaris and the tools are native and act accordingly.
16123 * configure: Rebuild.
16124
6fe37bc4
JL
161252004-01-19 Jeff Law <law@redhat.com>
16126
16127 * contrib.texi: Update Paolo Carlini's entry. New entries for
16128 Jerry Quinn and Petur Runolfsson.
1ef82ef2 16129
68f48f39
RS
161302004-01-19 Roger Sayle <roger@eyesopen.com>
16131
16132 * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
16133 size, don't use the larger zero-extending loads.
16134
5c9948f4
RH
161352004-01-19 Richard Henderson <rth@redhat.com>
16136
16137 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
16138 * alpha.md (UNSPEC_NT_LDA): Remove.
16139 (UNSPEC_CVTLQ, cvtlq): New.
16140 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
16141 (extendsidi2_fix): Remove.
16142 (extendsidi2 splitter): Use cvtlq.
16143 (extendsidi2 fp peepholes): Remove.
16144 (cvtql): Use SFmode instead of SImode.
16145 (fix_trunc?fsi): Update to match.
16146 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
16147 (movsi): Rename from movsi_nofix, remove f alternatives.
16148 (movsi_nt_vms): Similarly.
16149 (movsi_fix, movsi_nt_vms_fix): Remove.
16150 (nt_lda): Remove.
16151 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
16152
9b0436b7
JH
161532004-01-19 Jan Hubicka <jh@suse.cz>
16154
16155 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
16156 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
16157 list.
16158 (cgraph_remove_unreachable_nodes): New function
16159 (cgraph_decide_inlining_of_small_function): Fix pasto.
16160 (cgraph_decide_inlining_incrementally): Fix pasto.
16161 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
16162
8c80adb7
SB
161632004-01-19 Steven Bosscher <stevenb@suse.de>
16164
16165 * gengtype.c (header_file): Make it static.
16166 (write_types_process_field, write_enum_defn): Minor whitespace fixes.
16167 * gengtype.h (header_file): No longer extern.
16168
0ede749d
KH
161692004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16170
16171 * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
16172 * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
16173 * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
16174
41cbdcd0
KH
161752004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16176
16177 * stmt.c (HAVE_casesi): Define it not already defined.
16178 (HAVE_tablejump): Likewise.
16179 (expand_end_case_type): Resort to the binary tree method if
16180 neither casesi or tablejump is available.
16181
5cfc5f84
DJ
161822004-01-18 Daniel Jacobowitz <drow@mvista.com>
16183
16184 * final.c (final_scan_insn): Make non-static again.
16185 * output.h (final_scan_insn): Re-add prototype.
16186 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
16187 to final_scan_insn call.
16188 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
16189 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
16190 * config/pa/pa.c (output_lbranch, output_call): Likewise.
16191 * config/sh/sh.c (print_slot): Likewise.
16192 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
16193 (output_sibcall, sparc_flat_function_epilogue): Likewise.
16194
3348b696
JH
161952004-01-18 Jan Hubicka <jh@suse.cz>
16196
16197 * basic-block.h (try_redirect_by_replacing_jump): Declare.
16198 * cfgcleanup.c (try_optimize_cfg): Use it.
16199 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
16200 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
16201 Kill hack.
16202 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
16203
16204 Revert:
16205 2004-01-16 Geoffrey Keating <geoffk@apple.com>
16206
16207 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
16208 even after reload, just don't remove the actual jump tables.
16209
72d89d35
KH
162102004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16211
16212 * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
16213
07b50aad
KH
162142004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16215
16216 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
16217 the size of a pointer in bytes.
16218
6e46ab25
RS
162192004-01-18 Roger Sayle <roger@eyesopen.com>
16220
16221 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
16222 live "next" variable, which could lead to an infinite loop.
16223
3ce5437a
AP
162242004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
16225
b4be9e8e
AP
16226 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
16227 block.
16228
3ce5437a
AP
16229 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
16230 Check for NULL in the chain and remove repeated code.
16231
20c361f3
JH
162322004-01-18 Jan Hubicka <jh@suse.cz>
16233
16234 * coverage.c (checksum_string): Rename to ...
16235 (coverage_checksum_string): ... this one, Use crc32_string; recognize
16236 names containing random number and zero the number out in order to get
16237 match.
16238
cacb5bba
RS
162392004-01-18 Richard Sandiford <rsandifo@redhat.com>
16240
16241 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
16242
daf2f129
JM
162432004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
16244
16245 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
16246 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
16247 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
16248 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
16249 doc/trouble.texi: Remove trailing whitespace.
16250
b85aed9e
RS
162512004-01-18 Richard Sandiford <rsandifo@redhat.com>
16252
1c0f3fac 16253 PR target/7618
b85aed9e
RS
16254 * config/mips/mips.c: Include cfglayout.h.
16255 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
16256 (mips_unspec_offset_high): Add temporary register argument.
16257 (mips_load_call_address): New function, split out from...
16258 (mips_expand_call): ...here.
16259 (mips_output_cplocal): New function.
16260 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
16261 (mips_emit_loadgp): New function, split out from...
16262 (mips_expand_prologue): ...here.
16263 (mips_output_mi_thunk): New function.
16264
e5d95b69
BI
162652004-01-17 Bernardo Innocenti <bernie@develer.com>
16266
16267 * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
16268 mcpu32): Remove redundant checks for implied target predefines.
16269
19d66194
AP
162702004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
16271
16272 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
16273 Return type is unsigned int not int.
16274 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
16275 Likewise.
16276
95fef11f
JM
162772004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
16278
16279 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
16280 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
16281 "GNU/Linux" and "Microsoft Windows" terminology.
16282
3ab51846
JM
162832004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
16284
16285 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
16286 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
16287 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
16288 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
16289 @smallexample instead of @example.
16290
cfbed37c
ZL
162912004-01-17 Ziemowit Laski <zlaski@apple.com>
16292
16293 * objc/objc-act.c (build_objc_method_call): Use target
1ef82ef2 16294 hooks instead of macros to determine if ..._stret
cfbed37c
ZL
16295 dispatchers should be used (NeXT runtime only).
16296
bef5105b
RS
162972004-01-17 Roger Sayle <roger@eyesopen.com>
16298
16299 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
16300 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
16301
dd3adcf8
DJ
163022004-01-17 Daniel Jacobowitz <drow@mvista.com>
16303
16304 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
16305 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
16306 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
16307 macros.
16308 * reload1.c (emit_reload_insns): Use them.
16309 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
16310 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
16311 for NULL PATTERN.
16312
589fe865
DJ
163132004-01-17 Daniel Jacobowitz <drow@mvista.com>
16314
16315 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
16316 (final_scan_insn): Update to take an additional SEEN argument. Emit
16317 a line note after the prologue. Make static.
16318 (line_note_exists): Remove.
16319 (final): Don't initialize line_note_exists. Update call to
16320 final_scan_insn.
16321 * output.h (final_scan_insn): Remove prologue.
16322 * function.c (set_insn_locators): Update comment.
16323 (thread_prologue_and_epilogue_insns): Add a comment.
16324
95727fb8
AP
163252004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
16326
16327 PR target/10781
16328 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
16329 Prototype.
16330 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
16331 New function.
16332 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
16333 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
16334 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
16335
f2e16e97
JH
163362004-01-17 Jan Hubicka <jh@suse.cz>
16337
26c0473b
JH
16338 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
16339 commit.
16340
f2e16e97
JH
16341 * toplev.c (HAVE_conditional_execution): Provide default.
16342 (rest_of_handle_reorder_blocks): For conditional_execution target
16343 update liveness once after all transformations
16344 (rest_of_compilation): Do crossjumping before ce3.
16345
f103e34d
GK
163462004-01-17 Geoffrey Keating <geoffk@apple.com>
16347
16348 * alias.c (new_alias_set): Mark last_alias_set for PCH.
16349 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
16350 for PCH.
16351 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
16352 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
16353 (get_TOC_alias_set): Mark 'set' for PCH.
16354
ab530ea8
GK
163552004-01-16 Geoffrey Keating <geoffk@apple.com>
16356
16357 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
16358 even after reload, just don't remove the actual jump tables.
16359
53dd3be3 163602004-01-17 J. Brobecker <brobecker@gnat.com>
e7d23ce3
B
16361
16362 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
16363 Remove checks for is_ada() and TREE_UNSIGNED.
16364 (subrange_type_die): Emit a byte_size attribute if the subrange
16365 type size is different from the base type size.
16366 (modified_type_die): Replace call to is_ada_subrange_type() by
16367 call to is_subrange_type().
16368
8582b18a
AP
163692004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
16370
16371 * config/sh/sh.c: Include ggc.h.
16372
73e61092
GK
163732004-01-16 Geoffrey Keating <geoffk@apple.com>
16374
16375 * Makefile.in (MD5_H): New.
16376 (fold-const.o): Depend on md5.h.
16377 (dwarf2out.o): Likewise.
16378 (cppfiles.o): Likewise.
16379 * cppfiles.c: Include md5.h.
16380 (should_stack_file): Check against list read from PCH file.
16381 (struct pchf_data): New.
16382 (pchf): New variable.
16383 (struct pchf_adder_info): New.
16384 (pchf_adder): New.
16385 (pchf_save_compare): New.
16386 (_cpp_save_file_entries): New.
16387 (_cpp_read_file_entries): New.
16388 (struct pchf_compare_data): New.
16389 (pchf_compare): New.
16390 (check_file_against_entries): New.
16391 * cpphash.h (_cpp_save_file_entries): Prototype.
16392 (_cpp_read_file_entries): Prototype.
16393 * cpppch.c (cpp_write_pch_state): Write the list of headers.
16394 (cpp_read_state): Read the list of headers.
16395
3b75d796
JH
163962004-01-17 Jan Hubicka <jh@suse.cz>
16397
16398 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
16399 builtin_expect specially.
16400 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
16401 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
16402 * invoke.texi (max-inline-insns-single): Set to 100.
16403 (large-function-insns): Set to 3000.
16404
cf551fba
EC
164052004-01-16 Eric Christopher <echristo@redhat.com>
16406 Chandrakala Chavva <cchavva@redhat.com>
16407
16408 * cppcharset.c (one_iso88591_to_utf8): New function.
16409 (convert_iso88591_utf8): Ditto. Use.
16410 (conversion_tab): Use.
16411 (_cpp_input_to_utf8): New function.
16412 (_cpp_init_iconv_buffer): Ditto.
16413 (_cpp_close_iconv_buffer): Ditto.
16414 * cpphash.h: Prototype new functions.
16415 (cpp_buffer): Add input_cset_desc.
16416 * cppinit.c: Add input_charset default.
16417 * cpplib.c (cpp_push_buffer): Support init and
16418 close of iconv.
16419 * cpplib.h (cpp_options): Add input_charset.
16420
510d1e80
KH
164212004-01-16 Kazu Hirata <kazu@cs.umass.edu>
16422
16423 * system.h (ASM_OUTPUT_SECTION_NAME): Poison.
16424 * config/alpha/unicosmk.h: Remove a commented-out definition
16425 of ASM_OUTPUT_SECTION_NAME.
16426 * config/stormy16/stormy16.h: Likewise.
16427
fb2c2608
RO
164282004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16429
16430 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
16431 (alpha___extern_prefix_sys_stat): ... this.
16432 Apply to <sys/mount.h>, too.
16433 Tweak to match more variations.
16434 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
16435
16436 * fixinc/inclhack.def (alpha___extern_prefix,
cf551fba 16437 alpha___extern_prefix_standards): New hacks to obey
c53bdcf5 16438 __PRAGMA_EXTERN_PREFIX.
fb2c2608
RO
16439 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
16440 test.
16441 * fixinc/tests/base/standards.h: Likewise.
cf551fba 16442
fb2c2608
RO
16443 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
16444 variations.
16445 New testcase.
16446 * fixinc/tests/base/pthread.h: Handle it.
cf551fba 16447
fb2c2608
RO
16448 * fixincl/inclhack.def (bad_lval): Sort file list.
16449 Add many missing files up to Tru64 UNIX V5.1B.
16450 * gcc/fixinc/tests/base/libgen.h: Renamed to ...
16451 * gcc/fixinc/tests/base/dirent.h: ... this to match new file list
16452 order.
cf551fba 16453
fb2c2608
RO
16454 * fixinc/fixincl.x: Regenerate.
16455
79a76d65
MM
164562004-01-16 Mark Mitchell <mark@codesourcery.com>
16457
16458 * version.c (version_string): Change to 3.5.0.
16459 * doc/include/gcc-common.texi (version-GCC): Likewise.
16460
965514bd
JH
164612004-01-16 Jan Hubicka <jh@suse.cz>
16462
16463 * i386.md (load_tp_di): Fix pasto.
16464
16465 PR opt/13608
16466 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
16467
16468 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
16469 pp_c_character_constant, pp_c_floating_constant,
16470 pp_c_additive_expression, pp_c_shift_expression,
16471 pp_c_equality_expression, pp_c_and_expression,
16472 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
16473 pp_c_logical_and_expression): Remove inline modifier.
16474 * dwarf2out.c (get_AT): Likewise.
16475 * et-forest.c (et_splay): Likewise.
16476 * ra.h (ra_alloc, ra_calloc): Likewise
16477
87b483a1
KH
164782004-01-16 Kazu Hirata <kazu@cs.umass.edu>
16479
16480 * config/frv/frv-protos.h: Fix comment formatting.
16481 * config/frv/frv.c: Likewise.
16482 * config/frv/frv.h: Likewise.
16483 * config/frv/frv.md: Likewise.
16484 * config/frv/frvbegin.c: Likewise.
16485 * config/frv/frvend.c: Likewise.
16486
16201823
KH
164872004-01-16 Kazu Hirata <kazu@cs.umass.edu>
16488
16489 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
16490 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
16491 LINKER_DOES_NOT_WORK_WITH_DWARF2.
16492 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
16493
115df136
R
164942004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
16495
5ed5fd90 16496 PR 11864
115df136
R
16497 * postreload.c (reload_cse_simplify_operands): Don't remove
16498 implicit extension from LOAD_EXTEND_OP.
16499
e24e7211
JH
165002004-01-16 Jan Hubicka <jh@suse.cz>
16501
8c80adb7
SB
16502 PR opt/11350
16503 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
e24e7211 16504 after reload.
8c80adb7
SB
16505 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
16506 rtl_try_redirect_by_replacing_branch): Likewise.
e24e7211 16507
b0fadda7
GK
165082004-01-15 Geoffrey Keating <geoffk@apple.com>
16509
b604074c
GK
16510 PR pch/13689
16511 * alias.c (struct alias_set_entry): Mark for GC.
16512 (alias_sets): Make static, mark for GC.
16513 (record_alias_subset): Use GC to allocate alias structures.
16514 * varray.c (element): Make generic varrays GCed.
16515
a6dd4094
GK
16516 PR pch/13361
16517 * c-typeck.c (constructor_asmspec): Delete.
16518 (struct initializer_stack): Delete field 'asmspec'.
16519 (start_init): Delete saving of asmspec.
16520 (finish_init): Don't update constructor_asmspec.
16521 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
16522 * stmt.c (expand_asm): Duplicate strings from tree.
16523 (expand_asm_operands): Likewise.
16524 * tree.c (tree_size): Update computation of size of STRING_CST.
16525 (make_node): Don't make STRING_CST nodes.
16526 (build_string): Allocate string with tree node.
16527 * tree.def (STRING_CST): Update comment.
16528 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
16529 (tree_string): Place contents of string in tree node.
16530 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
16531 from tree.
16532
b0fadda7
GK
16533 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
16534 altivec operands.
16535
e0a21ab9
KH
165362004-01-15 Kazu Hirata <kazu@cs.umass.edu>
16537
16538 * c-common.h: Fix comment formatting.
16539 * c-cppbuiltin.c: Likewise.
16540 * c-pragma.c: Likewise.
16541 * calls.c: Likewise.
16542 * collect2.c: Likewise.
16543 * cppcharset.c: Likewise.
16544 * cpptrad.c: Likewise.
16545 * dbxout.c: Likewise.
16546 * defaults.h: Likewise.
16547 * dwarf2out.c: Likewise.
16548 * fold-const.c: Likewise.
16549 * genautomata.c: Likewise.
16550 * genconditions.c: Likewise.
16551 * genflags.c: Likewise.
16552 * gengtype.c: Likewise.
16553 * integrate.c: Likewise.
16554 * loop.c: Likewise.
16555 * predict.c: Likewise.
16556 * sdbout.c: Likewise.
16557
f57fc998
ZW
165582004-01-15 Zack Weinberg <zack@codesourcery.com>
16559
16560 * config/ia64/ia64.md (*movti_internal): C output template
16561 extracted to ia64.c.
16562 (*movti_internal_reg): Delete.
16563 (reload_inti, reload_outti): Use the correct mode on operand 2
16564 in the first place, don't fix it up in the output template.
16565 (movtf, reload_ointf, reload_outtf): New expanders.
16566 (*movtf_internal): New define_insn_and_split.
16567 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
16568 make static; do not hand TFmode CONST_DOUBLEs to split_double.
16569 (ia64_split_tmode_move): New function, body mostly pulled
16570 from ia64.md:*movti_internal.
16571 (ia64_function_arg_words): New function, extracted common
16572 logic from ia64_function_arg et seq.
16573 (ia64_function_arg_offset): Likewise. Handle correctly the
16574 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
16575 (ia64_function_arg, ia64_function_arg_partial_nregs)
16576 (ia64_function_arg_advance): Use ia64_function_arg_words and
16577 ia64_function_arg_offset.
16578 (ia64_function_value): TCmode does not go in float regs.
16579 (ia64_secondary_reload_class): Also handle TFmode.
16580 * config/ia64/ia64-protos.h: Remove prototype for
16581 ia64_split_timode; add prototype for ia64_split_tmode_move.
16582
e9c4897b
KC
165832004-01-15 Kelley Cook <kcook@gcc.gnu.org>
16584
16585 * Makefile.in (MAINT): Make it an immediate assignment.
16586
5a67e41f
KH
165872004-01-15 Kazu Hirata <kazu@cs.umass.edu>
16588
16589 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
16590
340f6494
KH
165912004-01-15 Kazu Hirata <kazu@cs.umass.edu>
16592
16593 * config/h8300/coff.h: Replace Hitachi with Renesas.
16594 * config/h8300/elf.h: Likewise.
16595 * config/h8300/h8300-protos.h: Likewise.
16596 * config/h8300/h8300.c: Likewise.
16597 * config/h8300/h8300.h: Likewise.
16598 * config/h8300/h8300.md: Likewise.
16599 * config/h8300/lib1funcs.asm: Likewise.
16600
c954844a
AP
166012004-01-15 Andrew Pinski <apinski@apple.com>
16602
16603 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
16604 around it.
16605
34bf1fe3
KH
166062004-01-15 Kazu Hirata <kazu@cs.umass.edu>
16607
16608 * config/h8300/h8300.c (h8300_return_in_memory): New.
16609 (TARGET_STRUCT_VALUE_RTX): Likewise.
16610 (TARGET_RETURN_IN_MEMORY): Likewise.
16611 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
16612 (RETURN_IN_MEMORY): Likewise.
16613
e5396f90
RE
166142004-01-15 Richard Earnshaw <rearnsha@arm.com>
16615
16616 PR optimization/13375
16617 * gcse.c (handle_avail_expr): Just return if the source is not a
16618 single set.
16619
46049cff
RE
166202004-01-15 Richard Earnshaw <rearnsha@arm.com>
16621 Daniel Jacobowitz <drow@mvista.com>
16622
16623 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
16624 (EQUIV): Define.
16625 (ARM_FUNC_ALIAS): New macro.
16626 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
16627 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
16628
2fabc3d6
JDA
166292004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16630
16631 PR optimization/12372
16632 * calls.c (expand_call): Add call_fusage data for stack arguments in
16633 constant calls.
16634
3c9eb5f4
AM
166352004-01-15 Alan Modra <amodra@bigpond.net.au>
16636
16637 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
16638 (rs6000_elf_declare_function_name): Formatting.
16639 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
16640
c7866154
JH
166412004-01-15 Jan Hubicka <jh@suse.cz>
16642
16643 PR bootstrap/13692
16644 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
16645 previous patch.
16646
ad5d827d
RH
166472004-01-15 Richard Henderson <rth@redhat.com>
16648
16649 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
16650 integer regs of the same call-savedness.
16651
66e07510
AS
166522004-01-15 Andreas Schwab <schwab@suse.de>
16653
16654 PR bootstrap/13562
16655 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
16656 status for NOTB/NOTW/NEGW methods.
16657
7c12f388
KH
166582004-01-15 Kazu Hirata <kazu@cs.umass.edu>
16659
16660 * doc/invoke.texi: Update dump file names. Fix a typo.
16661
4a7bb550
KH
166622004-01-15 Kazu Hirata <kazu@cs.umass.edu>
16663
16664 * builtins.c (expand_builtin_va_end): Don't use
16665 EXPAND_BUILTIN_VA_END.
16666 * system.h (EXPAND_BUILTIN_VA_END): Poison.
16667 * config/d30v/d30v.h: Remove a commented-out definition of
16668 EXPAND_BUILTIN_VA_END.
16669 * config/stormy16/stormy16.h: Likewise.
16670
430fff02
KH
166712004-01-15 Kazu Hirata <kazu@cs.umass.edu>
16672
16673 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
16674 * targhooks.c (default_struct_value_rtx): Don't use
16675 STRUCT_VALUE_INCOMING_REGNUM.
16676
03787dfd
KC
166772004-01-15 Kelley Cook <kcook@gcc.gnu.org>
16678
16679 PR bootstrap/12744
16680 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
16681 GENINSRC and not parsedir. Define srcextra as a langhook.
16682 * configure: Regenerate.
16683 * Makefile.in: Suppress default .l.c rule. Don't substitute
16684 parsedir and delete all references throughout. Conditionally define
16685 rule for srcextra dependent on GENINSRC.
16686 (stmp-docobjdir): Delete.
16687 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
16688 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
16689 and gengtype-yacc.h back to source directory.
16690 (maintainer-clean): Delete all parse files in source directory.
16691 (distclean): Delete generated files.
16692
16693 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
16694 (objc-parse.c, objc-parse.y): Don't use parsedir.
16695 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
16696 directory if requested.
16697 (po-generated): Don't use parsedir.
16698 (objc.maintainer-clean): Delete above files from source directory.
16699
04ab46a4
KH
167002004-01-14 Kazu Hirata <kazu@cs.umass.edu>
16701
16702 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
16703
d624465f
KH
167042004-01-14 Kazu Hirata <kazu@cs.umass.edu>
16705
16706 * doc/tm.texi: Replace RETURN_IN_MEMORY with
16707 TARGET_RETURN_IN_MEMORY.
16708
e1be55d0
JH
167092004-01-15 Jan Hubicka <jh@suse.cz>
16710
16711 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
16712 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
16713 functions accepting SSE arguments
16714 (function_arg): Warn only when asked to warn.
16715 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
16716
f560bf91
JM
167172004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
16718
16719 * c-parse.in (stmts_and_decls): Make label at end of compound
16720 statement a hard error.
16721
95c755e9
JH
167222004-01-14 Jan Hubicka <jh@suse.cz>
16723
16724 * cgraph.c (create_edge): Use local.redefined_extern_inline.
16725 * cgraph.h (cgraph_local_info): Sort fields by size; add
16726 redefined_extern_inline
16727 (cgraph_global_info): Sort fields by size.
16728 (cgraph_node): Likewise.
16729 * cgraphunit.c (cgraph_finalize_function): Se
16730 local.redefined_extern_inline on redefinition.
16731 (cgraph_analyze_function): Use it; fix formating.
16732
84568e14
JH
167332004-01-14 Jan Hubicka <jh@suse.cz>
16734
16735 PR c++/10776
16736 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
16737 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
16738 bitmaps
16739 (cache_size): New variable
16740 (add_dependence): Update use; canonize early memory locations
16741 (sched_analyze_1): Likewise.
16742 (sched_analyze_2): Likewise.
16743 (init_dependency_caches): Initialize bitmaps.
16744 (free_dependency_caches): Free bitmaps
16745
3a179764
KH
167462004-01-14 Kazu Hirata <kazu@cs.umass.edu>
16747
16748 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
16749 targetm.calls.strict_argument_naming().
16750 * target.h: Likewise.
16751
b298f00f
RH
167522004-01-14 Richard Henderson <rth@redhat.com>
16753
16754 PR debug/13231
16755 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
16756 instructions.
16757
1bddbeb4
RH
167582004-01-14 Richard Henderson <rth@redhat.com>
16759
16760 PR c++/12491
16761 * except.c (struct eh_region): Add u.fixup.resolved.
16762 (resolve_one_fixup_region): Split out from ...
16763 (resolve_fixup_regions): ... here.
16764
4eb31d4f
KH
167652004-01-14 Kazu Hirata <kazu@cs.umass.edu>
16766
16767 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
16768
16f425fc
KH
167692004-01-14 Kazu Hirata <kazu@cs.umass.edu>
16770
16771 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
16772 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
16773 (STRUCT_VALUE): Remove.
16774
4850c982 167752004-01-14 Steven Bosscher <stevenb@suse.de>
616f6d84
SB
16776
16777 * system.h: Poison PROMOTED_MODE
16778 * integrate.c (expand_inline_function): Don't mention the
16779 PROMOTED_MODE.
16780 * loop.c (update_giv_derive): Same.
16781 * tree.h (DECL_RTL): Same.
16782
f9654065
R
167832004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
16784
16785 PR target/9365
16786 * sh.c (gen_block_redirect): Add special handling of RETURN.
16787 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
16788 far branch target (i.e. it's a return).
16789
abbe8578
KH
167902004-01-14 Kazu Hirata <kazu@cs.umass.edu>
16791
16792 * regrename.c (find_oldest_value_reg): Fix a warning.
16793
192c8d78
RE
167942004-01-14 Richard Earnshaw <rearnsha@arm.com>
16795
16796 PR bootstrap/12527
16797 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
16798 Move linux-gas.h and linux-elf.h before aout.h.
16799 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
16800 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
16801
e512ab39
KH
168022004-01-14 Kazu Hirata <kazu@cs.umass.edu>
16803
16804 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
16805 (CONST_INT, VOIDmode, ...).
16806
684bcee5
RE
168072004-01-14 Richard Earnshaw <rearnsha@arm.com>
16808
f57fc998 16809 * regrename.c (find_oldest_value_reg): If the replacement uses
684bcee5
RE
16810 multiple hard registers, check that all of them are in CLASS.
16811
e7844ffb
JH
168122004-01-14 Jan Hubicka <jh@suse.cz>
16813
16814 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
16815 impossible.
16816
73e232f0
KC
168172004-01-14 Kelley Cook <kcook@gcc.gnu.org>
16818
16819 * Makefile.in: Define MAINT from --enable-maintainer-mode.
16820
4d774ff8
HP
168212004-01-14 Hartmut Penner <hpenner@de.ibm.com>
16822
16823 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
16824 Calculate always vrsave_mask if TARGET_ALTIVEC.
16825 (rs6000_emit_prologue): Emit code for vrsave
16826 only if TARGET_ALTIVEC_VRSAVE.
16827 (rs6000_emit_epilogue): Likewise.
16828
fa1090f5
EB
168292004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
16830
16831 * config/sparc/sparc.md (tie_add32): Fix pasto.
16832 (tie_add64): Likewise.
16833
79551a56
ZD
168342004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16835
16836 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
16837
5b8d96f1
KH
168382004-01-13 Kazu Hirata <kazu@cs.umass.edu>
16839
16840 * config/iq2000/iq2000-protos.h: Fix comment formatting.
16841 * config/iq2000/iq2000.c: Likewise.
16842 * config/iq2000/iq2000.md: Likewise.
16843
b98d154e
B
168442004-01-14 J. Brobecker <brobecker@gnat.com>
16845
16846 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
16847 (subrange_type_die): Add handle for nameless subrange types.
16848
1a793acf
KH
168492004-01-13 Kazu Hirata <kazu@cs.umass.edu>
16850
16851 * config/h8300/h8300-protos.h: Replace do_movsi with
16852 h8300_expand_movsi.
16853 * config/h8300/h8300.c (do_movsi): Change to
16854 h8300_expand_movsi.
16855 * config/h8300/h8300.md (movsi): Replace do_movsi with
16856 h8300_expand_movsi.
16857 (movsf): Likewise.
16858
81ad9ded
KH
168592004-01-13 Kazu Hirata <kazu@cs.umass.edu>
16860
16861 * config/h8300/h8300.c (dosize): Change to
16862 h8300_emit_stack_adjustment. Update callers.
16863
3f0063ab
KH
168642004-01-13 Kazu Hirata <kazu@cs.umass.edu>
16865
16866 * config/h8300/h8300.md (movstrictqi): Add an alternative with
16867 the source being post_inc. Tighten the predicate for the
16868 destination to register_operand.
16869 (movstricthi): Likewise.
16870
abf843c4
KH
168712004-01-13 Kazu Hirata <kazu@cs.umass.edu>
16872
16873 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
16874 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
16875 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
16876
4b589eab
JH
168772004-01-14 Jan Hubicka <jh@suse.cz>
16878
d34cb6a1
JH
16879 Partial fix PR c++/12850
16880 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
16881 at zero nest level.
4b589eab 16882
9ff2cabc
BI
168832004-01-13 Bernardo Innocenti <bernie@develer.com>
16884
16885 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
f57fc998 16886 pseudo-register.
9ff2cabc 16887
a4d8ec65
DP
168882004-01-13 Devang Patel <dpatel@apple.com
16889
16890 PR debug/7078
f57fc998 16891 * dbxout.c (dbxout_symbol_name): Emit mangled names for
a4d8ec65 16892 NAMESPACE_DECL memebers.
f57fc998 16893
bfaba7a9
AP
168942004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
16895
16896 PR c++/12709
16897 * c-common.c (finish_fname_decls): Use the chain only if the
16898 tree is an expr_stmt.
16899
dfa849f3
VM
169002004-01-13 Vladimir Makarov <vmakarov@redhat.com>
16901
616f6d84 16902 * rtl.def: Add comment about new option in automata_option.
f57fc998 16903
dfa849f3
VM
16904 * genautomata.c (PROGRESS_OPTION): New macro.
16905 (progress_flag): New global variable.
16906 (gen_automata_option): Process `progress'.
16907 (transform_insn_regexps, check_unit_distributions_to_automata,
16908 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
16909 expand_automata, write_automata): Print about the progress only if
16910 progress_flag. Remove fflush.
16911 (initiate_automaton_gen): Process command line flag `-progress'.
16912
16913 * doc/md.texi: Describe the new option.
f57fc998 16914
9405162e
ZD
169152004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16916
16917 * cfg.c (dump_bb): Dump entry edges.
16918
f954388e
RE
169192004-01-13 Richard Earnshaw <rearnsha@arm.com>
16920
f57fc998 16921 * arm.c (thumb_legitimate_address_p): Only allow constant pool
f954388e
RE
16922 references from SImode.
16923 * arm.md (thumb_movhi_insn): Don't allow minipool references.
16924
0fe7abcc
KH
169252004-01-13 Kazu Hirata <kazu@cs.umass.edu>
16926
16927 * system.h (TEXT_SECTION): Poison.
16928 * varasm.c (text_section): Don't use TEXT_SECTION.
16929 * config/sh/sh.c (sh_file_start): Fix a comment typo.
16930 * doc/tm.texi (TEXT_SECTION): Remove.
16931
fdb07791
BE
169322004-01-13 Ben Elliston <bje@wasabisystems.com>
16933
16934 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
16935
56067bbe
JW
169362004-01-12 James E Wilson <wilson@specifixinc.com>
16937
16938 * unwind-libunwind.c: Delete.
16939
bc298aa7
ZW
169402004-01-12 Zack Weinberg <zack@codesourcery.com>
16941
16942 PR 13656
16943 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
16944 oldtype is set, set *newtypep or *oldtypep too. Do not set
16945 them at the very end.
16946 (validate_proto_after_old_defn): Restructure for comprehensibility;
16947 make error messages clearer.
16948
12a08b40
ZW
169492004-01-12 Zack Weinberg <zack@codesourcery.com>
16950
16951 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
16952 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
16953 * varray.c: No need to prototype error.
16954 (varray_check_failed): Wrap long string onto two lines.
16955 (varray_underflow): New function.
16956
faed5cc3
SB
169572004-01-13 Steven Bosscher <stevenb@suse.de>
16958
16959 PR c++/13376
16960 * function.h (struct function): Kill `name' field.
16961 (current_function_name): Make it an extern function.
16962 * function.c (current_function_name): New function.
16963 * graph.c: Update all uses of current_function_name.
16964 * gcse.c: Likewise.
16965 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
16966 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
16967 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
16968 instead of a strcmp with "main".
16969
2d327012
JH
169702004-01-13 Jan Hubicka <jh@suse.cz>
16971
0bb03c11
JH
16972 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
16973
2d327012
JH
16974 * cgraphunit.c (cgraph_optimize_function): Always do
16975 optimize_inline_calls when there is always_inline callee.
16976 (cgraph_decide_inlining): Fix formating.
16977 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
16978 functions.
16979 (expand_call_inline): Likewise.
16980 * toplev.h (sorry): Fix prototype.
16981
04cc79bb
RS
169822004-01-12 Roger Sayle <roger@eyesopen.com>
16983
16984 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
16985 conditional jumps that drop through to unconditional jumps or the
16986 end of the sequence.
16987
3416f5c2
JH
169882004-01-13 Jan Hubicka <jh@suse.cz>
16989
16990 * alias.c (new_alias_set): Construct the alias_set varray.
16991 (init_alias_once): Don't do it here.
16992
f92ed976
ME
169932004-01-12 Marc Espie <espie@openbsd.org>
16994
16995 * system.h: handle YYBYACC like YYBISON.
16996
ff2aaa93
JM
169972004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
16998
16999 PR target/10847
17000 * config.gcc: No longer includes conflicting header sparc/sol2.h when
17001 building on sparc64-*-openbsd*.
17002
c5ff9123
AP
170032004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
17004
17005 PR debug/13539
17006 * dbxout.c (dbxout_type): Protected inheritance is not
17007 private but protected.
17008
3cd2a183
RS
170092004-01-12 Richard Sandiford <rsandifo@redhat.com>
17010
17011 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
17012
5c881655
KH
170132004-01-12 Kazu Hirata <kazu@cs.umass.edu>
17014
17015 PR optimization/12508.
17016 * combine.c (try_combine): Remove a dead set in a parallel
17017 even if its destination is a subreg.
17018
17019 Revert:
17020 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
17021 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
17022 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
17023
a42f8ae7 170242004-01-12 Geoffrey Keating <geoffk@apple.com>
affad9a4
GK
17025
17026 * real.c: Update copyright date.
17027 * emit-rtl.c: Likewise.
17028 * rtl.h: Likewise.
17029 * dwarf2out.c: Likewise.
17030 * config/rs6000/darwin-ldouble.c: Likewise.
17031 * config/rs6000/rs6000.md: Likewise.
17032
4274207b
DE
170332004-01-12 David Edelsohn <edelsohn@gnu.org>
17034
17035 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
17036 TFmode to SImode libfuncs.
17037
06e4eab5
RS
170382004-01-12 Roger Sayle <roger@eyesopen.com>
17039
17040 PR middle-end/11397
17041 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
17042
432f982f
JH
170432004-01-12 Jan Hubicka <jh@suse.cz>
17044
17045 PR opt/12826
17046 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
17047 stored.
17048
17049 PR opt/12863
17050 * cfgcleanup.c (label_is_jump_target_p): Move to...
17051 * rtlanal.c (label_is_jump_target_p): ... here.
17052 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
17053 edges unified with branch edges.
17054
8064d930
RE
170552004-01-12 Richard Earnshaw <rearnsha@arm.com>
17056
17057 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
17058 high word of an integral CONST_DOUBLE.
17059
1c48f4be 170602004-01-12 Paul Brook <paul@codesourcery.com>
0786ca87
PB
17061
17062 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
17063
68d2b0bb 170642004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
07d7d2f4
R
17065
17066 PR target/13585
17067 * sh-protos.h (check_use_sfunc_addr): Declare.
17068 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
17069 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
17070
c65ecebc
JH
170712004-01-12 Jan Hubicka <jh@suse.cz>
17072
9ddb66ca
JH
17073 * alias.c: Invlude varray.h
17074 (alias_sets): Turn into varray.
17075 (get_alias_set_entry): Use VARRAY; mark inline.
17076 (mems_in_disjoint_alias_sets_p): Mark inline.
17077 (record_alias_subset): Use varray.
17078 (init_alias_once): Initialize varray.
17079 (new_alias_set): Grow array.
17080 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
17081
170822004-01-12 Jan Hubicka <jh@suse.cz>
17083
17084 Partial fix for PR opt/10776 II
c65ecebc
JH
17085 * cselib.c: Include params.h
17086 (cselib_invalidate_mem): Limit amount of nonconflicting memory
17087 locations.
17088 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
17089 * Makefile.in (cselib.o): Depend on params.h
17090
c0657872
RS
170912004-01-12 Richard Sandiford <rsandifo@redhat.com>
17092
17093 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
17094 simplify_unary_operation if the operand has a known mode.
17095
d2288d5d
HP
170962004-01-12 Hartmut Penner <hpenner@de.ibm.com>
17097
b40ee5d6 17098 PR target/13534
d2288d5d
HP
17099 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
17100 predicate to handle 'ld' conform addresses.
17101 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
17102 contraint.
17103 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
17104 are memory contraints.
12a08b40 17105 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
d2288d5d 17106 New prototype.
12a08b40 17107 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
d2288d5d
HP
17108 Change 'o' to 'Y' constraint.
17109 (*movdf_softfloat64): Ditto.
12a08b40 17110
c223cf45
BI
171112004-01-12 Bernardo Innocenti <bernie@develer.com>
17112
17113 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
17114 brace-enclosed syntax in all C output statements.
17115
5fc921c1
DE
171162004-01-12 David Edelsohn <edelsohn@gnu.org>
17117
17118 PR target/13401
17119 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
17120 Objective-C language type value is 14.
17121
48568ec7
MO
171222004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
17123
17124 PR c/12148
17125 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
17126 `int' in a number of places to make sure we always have a SImode
17127 and not a HImode. Add a 'L' suffix to a number of constants.
17128
124c9423
JDA
171292004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17130
17131 * pa.c: Don't include obstack.h.
17132
17133 * pa.md: Correct constraint in pattern for loading PIC label address.
17134
c924f70c
KK
171352004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
17136
17137 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
17138 before defining.
17139
53efeb8d
SB
171402004-01-11 Steven Bosscher <stevenb@suse.de>
17141
1eee14b9 17142 PR fortran/9972
53efeb8d
SB
17143 * toplev.c (rest_of_handle_inline): Also consider functions
17144 for deferral if the language is GNU F77.
17145
d4968a11
ZW
171462004-01-11 Zack Weinberg <zack@codesourcery.com>
17147
17148 * c-decl.c (diagnose_arglist_conflict): Add missing space to
17149 diagnostic messages.
17150
1759c760
JJ
171512004-01-11 Jakub Jelinek <jakub@redhat.com>
17152
17153 PR middle-end/13392
17154 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
17155 to drop through label. Don't fall back to SCC even when conditional
17156 jump has not been found.
17157
0bcf8261
JH
171582004-01-11 Jan Hubicka <jh@suse.cz>
17159
fb544601
JH
17160 * invoke.texi: Fix syntax error in previous patch.
17161
0bcf8261
JH
17162 Partial fix for PR opt/10776
17163 * Makefile.in (reload.o): Include param.h
17164 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
17165 * reload.c: Include params.h.
17166 (find_equiv_reg): Work limiting check.
17167 * invoke.texi: Document.
17168
bd9131c0
RS
171692004-01-11 Richard Sandiford <rsandifo@redhat.com>
17170
17171 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
17172 out-of-bounds accesses to string constants. Simplify mips16
17173 case accordingly.
17174
6732ee60
RS
171752004-01-11 Richard Sandiford <rsandifo@redhat.com>
17176
17177 PR optimization/13469
17178 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
17179 reload_cse_regs (-fnon-call-exceptions only).
17180
14bc6742
KH
171812004-01-11 Kazu Hirata <kazu@cs.umass.edu>
17182
17183 * config/mcore/lib1.asm: Fix comment formatting.
17184 * config/mcore/mcore-elf.h: Likewise.
17185 * config/mcore/mcore.c: Likewise.
17186 * config/mcore/mcore.h: Likewise.
17187 * config/mcore/mcore.md: Likewise.
17188
3c6e6fbf
ZW
171892004-01-10 Zack Weinberg <zack@codesourcery.com>
17190
17191 * c-decl.c (duplicate_decls): Break apart into...
17192 (diagnose_arglist_conflict, validate_proto_after_old_defn)
17193 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
17194 ... these new functions. Restructure for comprehensibility.
17195 Remove various archaic special cases. Always report the
17196 location of the previous declaration when a diagnostic is issued.
17197 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
17198 (match_builtin_function_types): Delete unnecessary forward declaration.
17199
1e8dcb41
ZW
172002004-01-10 Zack Weinberg <zack@codesourcery.com>
17201
17202 * genautomata.c (make_automaton, NDFA_to_DFA):
17203 Print progress bars with '.' characters instead of '*'.
17204 (build_automaton): Change notes to match.
17205
a2ab189d
KH
172062004-01-10 Kazu Hirata <kazu@cs.umass.edu>
17207
17208 * config/m32r/m32r.md: Use define_constants for unspec and
17209 unspec_volatile.
17210
cf7cb67e
JH
172112004-01-10 Jan Hubicka <jh@suse.cz>
17212
c8fdcfae 17213 PR opt/11635
cf7cb67e
JH
17214 * expr.c (expand_expr_real): More curefully expand union casts.
17215
0574200c
KH
172162004-01-10 Kazu Hirata <kazu@cs.umass.edu>
17217
17218 * config/m32r/m32r.md (flush_icache): Use 1 for
17219 unspec_volatile.
17220
a2a0019f
DE
172212004-01-10 David Edelsohn <edelsohn@gnu.org>
17222 James E Wilson <wilson@specifixinc.com>
17223
17224 PR debug/12860
17225 * dbxout.c (dbxout_symbol): Remove initialization of
17226 current_sym_code, current_sym_value, and current_sym_addr.
17227 (dbxout_symbol_location): Same.
17228 (dbxout_prepare_symbol): Zero current_sym_code,
17229 current_sym_value, and current_sym_addr.
17230
bb3f5384
RS
172312004-01-10 Richard Sandiford <rsandifo@redhat.com>
17232
17233 * tree.c (get_unwidened): Reorder conditions so that the null pointer
17234 check is done first.
17235
fbfb16e2
EC
172362004-01-09 Eric Christopher <echristo@redhat.com>
17237
17238 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
17239 if we're running mark_constant_function.
17240
cc23f3c7
JB
172412004-01-09 Jeff Bailey <jbailey@nisa.net>
17242
17243 PR target/12561
17244 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
17245
975421be
AP
172462004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
17247
17248 PR debug/11231
a2a0019f
DE
17249 * dbxout.c (dbxout_type_fields): Return if any item is
17250 error_mark_node or the type is error_mark_node.
975421be 17251
7e4bd541
GK
172522004-01-09 Geoffrey Keating <geoffk@apple.com>
17253
f01519dd
GK
17254 * config/rs6000/darwin-ldouble.c: Add big comment explaining
17255 exactly what is expected as a 'long double'.
17256 (_xlqadd): When a value to be returned is representable as a
17257 'double', just return it directly, do not construct it using a union.
17258 Also, correct final fixup.
17259 (_xlqmul): Likewise.
17260 (_xlqdiv): Likewise.
17261 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
17262
7e4bd541
GK
17263 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
17264
47069ecb
RH
172652004-01-09 Richard Henderson <rth@redhat.com>
17266
17267 * recog.c (constrain_operands): Validate mem operands.
17268
9813058e
JW
172692004-01-09 James E Wilson <wilson@specifixinc.com>
17270
17271 * gcc.c (init_spec): Remove -lunwind from shared case.
17272 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
17273
b0fd7d27
SE
172742004-01-09 Steve Ellcey <sje@cup.hp.com>
17275
17276 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
17277 * configure: Regenerate
17278
3897f229
JM
172792004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
17280
17281 PR c/11234
17282 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
17283 between function and object pointers.
17284 (digest_init): When comparing a pointer to function type to the
17285 target type, only apply TREE_TYPE once to the pointer to function
17286 type.
17287 * except.c (for_each_eh_label_1): Treat data as a pointer to a
17288 function pointer rather than casting it to a function pointer.
17289 (for_each_eh_label): Update caller.
17290 * recog.h (struct insn_data): Use a struct or union for output.
17291 * genoutput.c (output_insn_data): Update.
17292 * final.c (get_insn_template): Update.
17293
0fab64a3
MM
172942004-01-09 Mark Mitchell <mark@codesourcery.com>
17295
17296 * expr.h (expand_expr): Make it a macro, not a function.
17297 (expand_expr_real): New function.
17298 * expr.c (store_expr): Adjust logic for deciding whether or not to
17299 copy the value returned by expand_expr.
17300 (expand_expr): Rename to ...
17301 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
17302 calls to language hooks.
17303 * c-common.h (c_expand_expr): Adjust prototype.
17304 * c-common.c (c_expand_expr): Add alt_rtl parameter.
17305 * langhooks-def.h (lhd_expand_expr): Change prototype.
17306 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
17307 * langhooks.h (lang_hooks): Change type of expand_expr.
17308 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
17309 (last_expr_alt_rtl): Likewise.
17310 (expand_expr_stmt_value): Set last_expr_alt_rtl.
17311 (clear_last_expr): Clear it.
17312 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
17313 (expand_end_bindings): Save and restor last_expr_alt_rtl.
17314 * tree.def (RTL_EXPR): Give it an additional operand.
17315 * tree.h (RTL_EXPR_ALT_RTL): New macro.
9813058e 17316
df68f43b
KI
173172004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
17318
17319 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
900a35c8 17320 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
df68f43b 17321
58ebda9c
KH
173222004-01-09 Kazu Hirata <kazu@cs.umass.edu>
17323
17324 PR target/13380.
17325 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
17326 or (ne:SI (reg:CC 17) (const_int 0)).
17327 Be specific about modes wherever possible.
17328
81ad38a6
KH
173292004-01-09 Kazu Hirata <kazu@cs.umass.edu>
17330
17331 * config/m32r/m32r.c (m32r_expand_block_move): Call
17332 gen_movestrsi_internal with two more arguments.
17333 (m32r_output_block_move): Adjust operand numbers.
17334 Properly update the source and destination pointers.
17335 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
17336 'r+'. Change the set detinations to match_operand.
17337
b816f339
KH
173382004-01-09 Kazu Hirata <kazu@cs.umass.edu>
17339
17340 * final.c (FIRST_INSN_ADDRESS): Remove.
17341 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
17342 * system.h (FIRST_INSN_ADDRESS): Poison.
17343 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
17344 * config/m32r/m32r-protos.h: Remove the prototype for
17345 m32r_first_insn_address.
17346 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
17347 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
17348 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
17349
de99511b
B
173502004-01-09 J. Brobecker <brobecker@gnat.com>
17351
17352 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
17353 we just created.
17354 (is_ada_subrange_type): DIEs for enumeration subtypes should be
17355 emitted as subrange types too.
17356 (subrange_type_die): Add handling of enumeration subtypes.
17357
90e4e4c5
RH
173582004-01-08 Richard Henderson <rth@redhat.com>
17359
17360 PR opt/12441
17361 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
9813058e
JW
17362 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
17363 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
17364 (ix86_address_cost): Be prepared for SUBREGed registers.
17365 (legitimate_address_p): Accept SUBREGed registers.
90e4e4c5 17366
a6a5e4c9
KC
173672004-01-08 Kelley Cook <kcook@gcc.gnu.org>
17368
17369 * Makefile.in: Rename configure.in to configure.ac
17370 * doc/sourcebuild.texi: Likewise.
17371 * configure: Regenerate.
17372 * config.in: Regenerate.
17373
588f75d0
SH
173742004-01-08 Stuart Hastings <stuart@apple.com>
17375
17376 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
17377
6242fcd8
JH
173782004-01-08 Jan Hubicka <jh@suse.cz>
17379
17380 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
17381
a29077da
GK
173822004-01-08 Geoffrey Keating <geoffk@apple.com>
17383
ecb62ae7
GK
17384 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
17385 (UNSPEC_FIX_TRUNC_TF): New constant.
17386 (movtf_internal): Make splitter active only when insn is active.
17387 (extenddftf2): Rewrite to properly load zero into low part.
17388 (extenddftf2_internal): New.
17389 (extendsftf2): Rewrite.
17390 (truncdftf2): Correct length.
17391 (floatditf2): Delete.
17392 (fix_trunc_helper): New.
17393 (fix_trunctfdi2): Use fix_trunc_helper.
17394 (fix_trunctfsi2): Likewise.fix_trunc
17395 (fix_trunctfsi2_internal): New.
17396
a29077da
GK
17397 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
17398 addresses are legitimate on Darwin even when flag_pic.
17399 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
17400 non-offsettable addresses for loads of TFmode constants.
17401
cb1f9d03
KI
174022004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
17403
17404 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
17405 variables in the appropriate bss section.
17406
7ddb6568
AM
174072004-01-09 Alan Modra <amodra@bigpond.net.au>
17408
17409 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
17410 target_flags has MASK_POWERPC64 when -m64.
17411 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
17412 to 620, 630, power3, power4 and rs64a entries.
17413 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
17414
effdb493
RS
174152004-01-08 Richard Sandiford <rsandifo@redhat.com>
17416
17417 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
17418 floating-point constants.
17419
fbfd77b8
JB
174202004-01-08 J. Brobecker <brobecker@gnat.com>
17421
17422 * dwarf2out.c (subrange_type_die): Add context_die parameter.
17423 Create the subrange_type DIE using the given context DIE.
17424 (modified_type_die): Update call to subrange_type_die.
17425
174262004-01-08 Zack Weinberg <zack@codesourcery.com>
7ce27103
ZW
17427
17428 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
17429 Add multiple-include guard.
17430
ce1f50b2
HP
174312004-01-08 Hartmut Penner <hpenner@de.ibm.com>
17432
7ce27103
ZW
17433 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
17434 all vector constant loadable by vsplt*.
ce1f50b2
HP
17435 (output_vec_const_move): Likewise.
17436
bca63328
JM
174372004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
17438
17439 PR c/6024
17440 * c-typeck.c (comptypes): Only treat enumerated types in the same
17441 translation unit as compatible with each other when they are the
17442 same type.
17443 * doc/extend.texi: Update.
17444
85b58ca5
JM
174452004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
17446
17447 PR c/12165
17448 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
17449 array type from the array element type.
17450
93c9d1ba
AM
174512004-01-07 Alan Modra <amodra@bigpond.net.au>
17452
17453 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
17454 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
17455 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
17456 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
17457 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
17458
deae8de6
EC
174592004-01-06 Eric Christopher <echristo@redhat.com>
17460
17461 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
17462 (DWARF2_DEBUGGING_INFO): Define.
17463 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
17464 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
17465 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
17466 for irix as.
17467 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
17468 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
17469 * config/mips/iris5gas.h: Ditto.
17470 (DBX_DEBUGGING_INFO): Remove.
17471 (DWARF2_DEBUGGING_INFO): Ditto.
17472 (MIPS_DEBUGGING_INFO): Ditto.
17473 (PREFERRED_DEBUGGING_TYPE): Ditto.
17474 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
17475 (PREFERRED_DEBUGGING_TYPE): Ditto.
17476 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
17477 * config/mips/elf64.h: Ditto.
17478
fed2b316
JH
174792004-01-06 Jan Hubicka <jh@suse.cz>
17480
17481 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
17482 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
17483
64d961b8
GK
174842004-01-06 Geoffrey Keating <geoffk@apple.com>
17485
084f5a35
GK
17486 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
17487 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
17488 * config/rs6000/darwin-ldouble.c: New.
deae8de6 17489
550d1387
GK
17490 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
17491 for constants.
17492 (constant_subword): Delete.
17493 * rtl.h (constant_subword): Delete prototype.
17494 (immed_double_const): Is not in varasm.c.
17495 * simplify-rtx.c (simplify_immed_subreg): New.
17496 (simplify_subreg): Use simplify_immed_subreg.
17497
0c90aa3c
GK
17498 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
17499 than trying to generate RTL directly.
17500 (fix_trunctfsi2): Use expand_fix rather than trying to generate
17501 RTL directly.
17502
64d961b8
GK
17503 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
17504
72b38561
DE
175052004-01-06 David Edelsohn <edelsohn@gnu.org>
17506
17507 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
17508 function into a separate macro.
17509 (read_only_data_section): Add void argument.
17510 (private_data_section): Same.
17511 (read_only_private_data_section): Same.
17512 (toc_section): Same.
17513
9a609388
JH
175142004-01-06 Jan Hubicka <jh@suse.cz>
17515
0aaae060
JH
17516 * invoke.texi: Remove typo in last change.
17517
9a609388
JH
17518 PR target/10301
17519 * config.gcc: Accept opteron and athlon-64 as variants
17520 of k8.
17521 * i386.c (override_options): Likewise.
17522 * invoke.texi (i386 -mtune): Expand documentation.
17523
5d3cc252
KH
175242004-01-06 Kazu Hirata <kazu@cs.umass.edu>
17525
17526 * alias.c: Fix comment typos.
17527 * builtins.c: Likewise.
17528 * cfg.c: Likewise.
17529 * df.c: Likewise.
17530 * dominance.c: Likewise.
17531 * dwarf2out.c: Likewise.
17532 * emit-rtl.c: Likewise.
17533 * expr.c: Likewise.
17534 * final.c: Likewise.
17535 * fold-const.c: Likewise.
17536 * gcse.c: Likewise.
17537 * genattrtab.c: Likewise.
17538 * genrecog.c: Likewise.
17539 * gensupport.c: Likewise.
17540 * ggc-zone.c: Likewise.
17541 * integrate.c: Likewise.
17542 * local-alloc.c: Likewise.
17543 * loop.c: Likewise.
17544 * recog.c: Likewise.
17545 * regmove.c: Likewise.
17546 * reg-stack.c: Likewise.
17547 * reorg.c: Likewise.
17548 * rtlanal.c: Likewise.
17549 * rtl.h: Likewise.
17550 * sched-ebb.c: Likewise.
17551 * simplify-rtx.c: Likewise.
17552 * toplev.c: Likewise.
17553 * varasm.c: Likewise.
17554
95ea367d
KH
175552004-01-06 Kazu Hirata <kazu@cs.umass.edu>
17556
17557 * doc/install.texi: Fix typos.
17558 * doc/invoke.texi: Likewise.
17559 * doc/md.texi: Likewise.
17560
f26ef713
KI
175612004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
17562
17563 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
17564
bcf17554
JH
175652004-01-06 Jan Hubicka <jh@suse.cz>
17566
17567 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
17568 (function_arg_advance): Do not pass aggregates in SSE; deal handling
17569 of MMX_REGPARM.
17570 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
17571 add MMX_REGPARM.
17572 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
17573 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
17574 (MMX_REGPARM_MAX): Similarly for -mmmx.
17575
24746a42
KH
175762004-01-05 Kazu Hirata <kazu@cs.umass.edu>
17577
17578 * config/sh/linux.h: Fix comment formatting.
17579 * config/sh/netbsd-elf.h: Likewise.
17580 * config/sh/sh.c: Likewise.
17581 * config/sh/sh.h: Likewise.
17582 * config/sh/vxworks.h: Likewise.
17583
f7e7e318
KH
175842004-01-05 Kazu Hirata <kazu@cs.umass.edu>
17585
17586 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
17587 * toplev.c (output_file_directive): Don't use
17588 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
17589
80a08664
SB
175902004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl>
17591
17592 * toplev.c: Fix broken checkin of 2003-12-30.
17593
02fef853 175942004-01-05 Daniel Berlin <dberlin@dberlin.org>
deae8de6 17595
02fef853
DB
17596 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
17597 (USING_MMAP): We don't support non-mmap.
17598 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
17599 large objects.
17600 (struct page_entry): Remove bytes_free.
17601 (struct page_table_chain): Remove.
17602 (struct globals): Remove page_table member.
17603 (loookup_page_table_entry): Function deleted.
17604 (set_page_table_entry): Ditto.
17605 (ggc_allocated_p): No longer need page table lookups.
17606 (ggc_marked_p): Ditto.
17607 (alloc_small_page): Don't care about bytes_free anymore.
17608 (alloc_large_page): Round up size.
17609 (ggc_alloc_zone_1): Mark large objects as such, and calculate
deae8de6 17610 their size the new way.
02fef853
DB
17611 Remove page table lookups and setting.
17612 (ggc_get_size): Calculate large object size the new way.
17613 (sweep_pages): Redo to account for fact that we no longer have
17614 bytes_free.
17615 (ggc_collect): No longer need to reincrement bytes_free.
17616 (ggc_pch_alloc_object): Handle new large objects properly.
17617 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
17618
60b799fd
KH
176192004-01-05 Kazu Hirata <kazu@cs.umass.edu>
17620
17621 * doc/invoke.texi: Remove a page break.
17622
908c8c7e
KH
176232004-01-05 Kazu Hirata <kazu@cs.umass.edu>
17624
17625 * config/avr/avr.c (avr_output_function_prologue): Remove an
17626 extra pair of curly braces.
17627
8596d0a1
KH
176282004-01-05 Kazu Hirata <kazu@cs.umass.edu>
17629
17630 * config/mn10300/mn10300.c: Fix comment formatting.
17631 * config/mn10300/mn10300.h: Likewise.
17632
1e2d4dc1
RK
176332004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17634
17635 * tree.h: Update documentation on nothrow_flag.
17636 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
17637 types.
17638
b6e69d94
KH
176392004-01-05 Kazu Hirata <kazu@cs.umass.edu>
17640
17641 * doc/invoke.texi: Remove traces of dead ports.
17642
1cf959cb
RS
176432004-01-05 Richard Sandiford <rsandifo@redhat.com>
17644
17645 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
17646 option.
17647
f6149877
RS
176482004-01-05 Richard Sandiford <rsandifo@redhat.com>
17649
17650 PR target/12945
17651 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
b56c0023 17652 counter labels.
f6149877
RS
17653 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
17654 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
17655 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
17656 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
17657 (mips_symbol_insns): Don't trust the local/global classification.
17658 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
17659 (override_options): Make -mabicalls -fno-unit-at-a-time imply
17660 -mno-explicit-relocs.
17661 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
17662 between local and global symbols.
17663
a6008bd8
RS
176642004-01-05 Richard Sandiford <rsandifo@redhat.com>
17665
17666 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
17667 (mips_preferred_reload_class): Declare.
17668 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
17669 (EXTRA_CONSTRAINT): Update accordingly.
17670 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
17671 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
17672 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
17673 mips_dangerous_for_la25_p.
17674 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
17675 if mips_dangerous_for_la25_p.
17676
d7b3c085
BI
176772004-01-05 Bernardo Innocenti <bernie@develer.com>
17678
17679 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
deae8de6 17680 warning.
d7b3c085 17681
ca9bc441
NN
176822004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
17683
17684 * configure.ac: Use AC_PROG_CPP_WERROR.
17685 * configure: Regenerate.
17686
016d7f3e
ZW
176872004-01-04 Zack Weinberg <zack@codesourcery.com>
17688
17689 * .cvsignore: Add autom4te.cache.
17690
5a4b3afd
RS
176912004-01-04 Richard Sandiford <rsandifo@redhat.com>
17692
17693 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
17694 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
17695 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
17696 then architecture options, then ABI options. General rewording.
17697
928a5ba9
JM
176982004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
17699
17700 PR c/3414
17701 * doc/extend.texi: Clarify definition of malloc attribute.
17702
dc0bfe6a
JH
177032004-01-04 Jan Hubicka <jh@suse.cz>
17704
17705 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
17706 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
17707 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
17708 (cgraph_inline_p): Add extra argument reason.
17709 * cgraphunit.c: Minor formating fixes.
17710 cgraph_first_inlined_callee): New functions.
17711 (record_call_1): Record builtins too.
17712 (cgraph_analyze_function): Update inline_failed messages.
17713 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
17714 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
17715 (cgraph_check_inline_limits): Likewise; Add argument reason.
17716 (cgraph_set_inline_failed): New static function.
17717 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
17718 reasons.
17719 (cgraph_inline_p): Add new argument reason.
17720 * tree-inline.c (expand_call_inline): Update warning.
17721
ba479fd2
NN
177222004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
17723
914c5af7
NN
17724 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
17725 with modern equivalents.
17726 * configure: Regenerate.
17727
016d7f3e
ZW
17728 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
17729 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
17730 * configure: Regenerate.
78c9cb99 17731
d44f1a00
NN
17732 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
17733
ba479fd2
NN
17734 * configure.in: Rename to configure.ac.
17735 * configure.ac: Renamed from configure.in; make minimum necessary
17736 changes for autoconf 2.5x.
17737 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
17738 * configure: Regenerate with autoconf 2.57.
17739
031a26c5
KH
177402004-01-03 Kazu Hirata <kazu@cs.umass.edu>
17741
17742 * config/mips/linux.h: Fix comment formatting.
17743 * config/mips/mips.c: Likewise.
17744 * config/mips/mips.h: Likewise.
17745 * config/mips/mips.md: Likewise.
17746 * config/mips/netbsd.h: Likewise.
17747 * config/mips/windiss.h: Likewise.
17748
b87cfcfb
RH
177492004-01-02 Richard Henderson <rth@redhat.com>
17750
17751 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
17752 for sse and 387; add suppression for mmx.
17753
36579663
AP
177542004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
17755
9d85830f
AP
17756 * loop.c (loop_optimize): Free all loops_info's mems.
17757
016d7f3e 17758 * c-typeck.c (finish_init): Free spelling_base before
36579663 17759 setting it again.
016d7f3e 17760
36579663
AP
17761 * cfgloop.c (flow_loops_find): Always free the sbitmap
17762 headers.
17763
17764 * predict.c (estimate_probability): Free bbs after being
17765 done with it.
17766
3864b6fe
KH
177672004-01-02 Kazu Hirata <kazu@cs.umass.edu>
17768
17769 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
17770 const_8bit_operand and call_address_operand.
17771
8b6bd5d7
JH
177722004-01-02 Jan Hubicka <jh@suse.cz>
17773
17774 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
17775 when there is nothing to inline but warnings are requested.
17776 (cgraph_decide_inlining): Fix memory leak.
17777
9b9bd3b2
JH
177782004-01-02 Jan Hubicka <jh@suse.cz>
17779
17780 * expr.c (store_constructor): Fix pasto in previous patch.
17781
43f3a59d
KH
177822004-01-02 Kazu Hirata <kazu@cs.umass.edu>
17783
17784 * config/i386/cygming.h: Fix comment formatting.
17785 * config/i386/djgpp.h: Likewise.
17786 * config/i386/gthr-win32.c: Likewise.
17787 * config/i386/i386-interix.h: Likewise.
17788 * config/i386/i386.c: Likewise.
17789 * config/i386/i386.h: Likewise.
17790 * config/i386/openbsd.h: Likewise.
17791 * config/i386/winnt.c: Likewise.
17792 * config/i386/xm-mingw32.h: Likewise.
17793
daef8bbd
JM
177942004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
17795
17796 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
17797 copyright and last modification dates.
17798
7e081a0c
AJ
177992004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
17800
17801 * doc/install.texi (Specific): Mention x86_64.
17802
ac3f5df7
HPN
178032004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
17804
17805 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
17806 Call force_operand on plus_constant result.
17807
997404de
JH
178082004-01-01 Jan Hubicka <jh@suse.cz>
17809
17810 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
17811 * expr.c (store_constructor): Use vec_init pattern.
17812 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
17813 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
17814 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
17815 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
17816 New patterns.
17817 (sse2_unpc?pd): Fix pattern.
17818 (sse2_movlpd): Kill.
17819 (sse2_movsd): Deal with movlpd too.
17820 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
17821 (ix86_expand_vector_init): New.
17822 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
17823 * md.texi (vec_set, vec_extract): Document
17824
b684a3df
JH
178252003-12-31 Jan Hubicka <jh@suse.cz>
17826
17827 PR opt/13473
17828 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
17829 ASM input operands
17830
17831 PR opt/12617
17832 * toplev.c (dump_file_index): Reorder ce3 and bbro.
17833 (dump_file): Likewise.
17834 (rest_of_compilation): Likewise.
17835
17836 PR debug/13367
17837 * cgraph.c (cgraph_function_possibly_inlined): Even with
17838 flag_really_no_inline we inline always_inline functions.
17839 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
17840 for non-always_inline functions when there is flag_really_no_inline.
17841 (cgraph_decide_inlining): Limit work done when not inlining.
17842 (cgraph_decide_inlining_incrementally): Likewise.
17843 (cgraph_optimize_function): Check whether something got inlined.
17844 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
17845 extern inline functions when not inlining.
17846
17847 * opts.c (decode_options): Disable crossjumping at -O1
17848 * invoke.texi (-O1): Document change.
a55f4481 17849
cd14f58c 17850See ChangeLog.10 for earlier changes.
This page took 2.155675 seconds and 5 git commands to generate.