OSDN Git Service

cbc5bc6f5c2c808cbc89568d2be67691f2f2b525
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2004-11-03 Jeff Law  <law@redhat.com>
2
3         * stmt.c (expand_case): Speed up code to detect duplicate case
4         label targets and count unique case label targets.
5
6 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
7
8         * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
9
10 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
11
12         * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
13
14 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
15
16         * tree-cfg.c (find_taken_edge): Abort if we are given a
17         statement that is neither COND_EXPR nor SWITCH_EXPR.
18
19 2004-11-02  Zdenek Dvorak  <dvorakz@suse.cz>
20
21         * fold-const.c (fold): Reassociate also (x - mult) + mult and
22         (mult - x) + mult.  Cast operands of expression after applying
23         distributive law to the correct types.  Apply distributive law
24         to a * c - b * c for all non-float types.
25
26 2004-11-02  Geoffrey Keating  <geoffk@apple.com>
27
28         * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
29         because we don't want to run them now; instead, set them to
30         stmp-install-fixproto or stmp-install-fixinc.
31         * Makefile.in (stmp-install-fixproto): New.
32         (stmp-install-fixinc): New.
33         * configure: Regenerate.
34
35 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
36
37         * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
38         of bitmap_xor.
39
40 2004-11-02  Ziemowit Laski  <zlaski@apple.com>
41
42         * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
43         (c_types_compatible_p): Move function definition...
44         * c-objc-common.c (c_types_compatible_p): ...here.
45         * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
46         c-lang.c.
47
48 2004-11-02  Steven Bosscher  <stevenb@suse.de>
49
50         * cfgloop.h (struct loop): Update comment.
51         * cse.c (cse_main): Remove obsolete comment.
52
53         * expr.h (gen_cond_trap): Move prototype under functions provided
54         by optabs.c.
55         (canonicalize_condition, get_condition): Move to...
56         * rtl.h (canonicalize_condition, get_condition): ...here.
57         (branch_target_load_optimize): Add comment that this function is
58         in bt-load.c.
59         * loop.c (canonicalize_condition, get_condition): Move to...
60         * rtlanal.c (canonicalize_condition, get_condition): ...here.
61         * sched-deps.c (get_condition): Rename to sched_get_condition.
62         (add_dependence): Update this caller.
63  
64 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
65
66         PR tree-opt/16808
67         * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
68         that the vops get marked for renaming.
69
70 2004-11-02  Andreas Krebbel  <krebbel1@de.ibm.com>
71
72         * config/s390/s390.md ("movcc"): Set type attribute.
73
74 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
75
76         * tree-phinodes.c (add_phi_arg): Add an assertion that the
77         edge already exists.
78
79 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
80
81         * tree-phinodes.c (remove_phi_arg_num): Do not zero the
82         element that's being removed.
83
84 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
85
86         * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
87         arguments using PENDING_STMT.
88         (thread_block): Call copy_phis_to_block after redirecting an
89         edge.
90
91 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
92
93         * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
94         bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
95         bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
96         (bitmap_ior_and_compl_into): Produce bool.
97         (bitmap_union_of_diff): Rename to ...
98         (bitmap_ior_and_compl): ... here. Produce bool.
99         * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
100         bitmap_operation directly.
101         (bitmap_union_of_diff): Rename to ...
102         (bitmap_ior_and_compl): ... here. Return bool, use
103         bitmap_operation directly.
104         * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
105         (df_ru_transfer_function, df_lr_transfer_function): Likewise.
106         * global.c (modify_bb_reg_pav): Likewise.
107
108         * bitmap.h (bitmap_equal_p): Return bool.
109         (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
110         * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
111         (bitmap_intersect_p, bitmap_intersect_compl_p): New.
112         * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
113         bitmap_intersect_compl_p.
114         * ifcvt (dead_or_predicable): Likewise.
115
116 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
117
118         PR rtl-optimization/17104
119         * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
120         loads in zero_extend.
121
122 2004-11-02  Danny Smith  <dannysmith@users.sourceforge.net>
123
124         PR debug/18242
125         * toplev.c (debug_type_names): Remove "dwarf-1".
126
127 2004-11-02  Ben Elliston  <bje@au.ibm.com>
128
129         * timevar.h (timevar_get): Remove. 
130         * timevar.c (timevar_get): Remove unused function.
131
132 2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
133
134         * doc/include/texinfo.tex: Update from Texinfo CVS.
135
136 2004-11-02  Ben Elliston  <bje@au.ibm.com>
137
138         * cppdefault.h (cpp_SYSROOT): Remove.
139         * cppdefault.c (cpp_SYSROOT): Likewise.
140
141 2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
142
143         PR tree-optimization/16447
144         * tree-cfg.c (bsi_commit_one_edge_insert): Rename from 
145         bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
146         (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
147         * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
148         * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
149         * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
150         (same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
151         (identical_copies_p): New.  Return true is two copies are the same.
152         (identical_stmt_lists_p): New.  Return true if stmt lists are the same.
153         (analyze_edges_for_bb): New.  Determine how best to insert edge stmts 
154         for a basic block.
155         (perform_edge_inserts): New.  Determine what to do with all stmts that
156         have been inserted on edges.
157         (remove_ssa_form):  Analyze and commit edges from here.
158
159 2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
160
161         PR bootstrap/18232
162         * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
163         (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
164         (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
165         (EXECUTE_IF_AND_IN_BITMAP): Likewise.
166
167 2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
168
169         PR c/18239
170         * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
171         parameter declarations.
172
173 2004-11-01  Andreas Krebbel  <krebbel1@de.ibm.com>
174
175         * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
176         (s390_secondary_input_reload_class)
177         (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
178         register.
179         (s390_expand_cmpmem): Enable cmpmem implementation.
180         * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
181         Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
182         (REG_CLASS_FROM_LETTER): New constraint 'c' added.
183         * config/s390/s390.md ("movcc"): New insn pattern.
184         * doc/md.texi: Document 'c' constraint for s390.
185
186 2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
187
188         PR c++/18064
189         * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
190         extension.
191
192 2004-10-16  Daniel Berlin  <dberlin@dberlin.org>
193
194         Fix PR tree-optimization/17672
195         Fix PR tree-optimization/18168
196         
197         * lambda-code.c (lambda_lattice_compute_base): Fix reversed
198         assert test.
199         (gcc_tree_to_linear_expression): Add extra to existing constant.
200         (depth_of_nest): Factor out function used in various places.
201         (gcc_loop_to_lambda_loop): Clean up code a little bit. No
202         functional changes.
203         (find_induction_var_from_exit_cond): Stop guessing, and just
204         get the right answer :).
205         (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
206         Print out message about result of attempt to create perfect nest.
207         (lbv_to_gcc_expression): Add type argument, use it to do math
208         and induction variable creation.
209         (lle_to_gcc_expression): Ditto.
210         (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
211         oldiv. Pass type argument to lle_to_gcc_expression and 
212         lbv_to_gcc_expression.
213         Reset number of iterations after transformation.
214         (perfect_nestify): Remove useless pre-allocation, and cleanup
215         a small amount.
216
217         * tree-data-ref.c (build_classic_dist_vector): Return false for
218         dependences completely outside of the loop nest we asked about.
219         (build_classic_dir_vector): Ditto.
220         (compute_data_dependences_for_loop): Only add dependence relations
221         inside the loop we asked about.
222         
223         * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
224         Compute immediate uses.
225         
226         * tree-optimize.c: Move linear_transform_loops to before ivcanon.
227         
228 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
229
230         * tree-cfg.c (thread_jumps): Fix a comment typo.
231
232 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
233
234         * tree-cfg.c (thread_jumps): Fix a comment typo.
235
236 2004-10-31  Nicolas Pitre <nico@cam.org>
237
238         * config/arm/ieee754-sf.S (floatdisf): Fix regression with
239         values smaller than 2^32.
240
241 2004-10-31 Jeff Law  <law@redhat.com>
242
243         * cfgloop.h (struct loop): Remove unused "nodes" field.
244         * timevar.def (TV_TREE_LOOP_BOUNDS): New.
245         * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
246         instead of calling flow_bb_inside_loop_p for every basic block
247         in the function.
248         * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
249
250 2004-10-31  Graham Stott <graham.stott@btinternet.com>
251
252         * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo.  Use
253         INT_5_BITS instead of VAL_5_BITS_P.
254
255 2004-10-31  Roger Sayle  <roger@eyesopen.com>
256
257         PR middle-end/14521
258         * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
259         for consistent quoting in diagnostic messages.
260         (expand_call_inline): Likewise.
261         * tree-optimize.c (tree_rest_of_compilation): Likewise.
262         * tree-ssa.c (warn_uninitialized_var): Likewise.
263         (warn_uninitialized_phi): Likewise.
264
265 2004-10-31  Richard Sandiford  <rsandifo@redhat.com>
266
267         * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
268         mode check.
269
270 2004-10-31  Kazu Hirata  <kazu@cs.umass.edu>
271
272         * c-common.c: Fix a comment typo.
273
274 2004-10-31  Jason Merrill  <jason@redhat.com>
275
276         PR middle-end/17526
277         * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
278         aggregate types that are not BLKmode.
279
280 2004-10-30  Ziemowit Laski  <zlaski@apple.com>
281
282         * c-common.h (objc_lookup_ivar): Add second parameter to
283         prototype.
284         * c-typeck.c (build_external_ref): After looking up symbol,
285         pass it to objc_lookup_ivar() to decide whether it or the
286         ivar should be used, rather than deciding the issue locally.
287         * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
288         which is simply returned in the non-ObjC case.
289
290 2004-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
291
292         * sdbout.c (sdbout_symbol): Do not output type .def statements
293         for builtin types.
294
295 2004-10-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
296
297         * c-common.c (catenate_strings): New.
298         (c_parse_error): Use it.  Don't over-escape.
299
300 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
301
302         * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
303         modify the for loop expressions for it.  Remove unnecessary casts.
304         (sh_expand_prologue): Declare reg as unsigned.
305         (sh_gimplify_va_arg_expr): Initinalize lab_over.
306         (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
307
308 2004-10-30  Geoffrey Keating  <geoffk@apple.com>
309
310         * doc/invoke.texi (Darwin Options): Improve description of
311         how the subtype is chosen.
312
313 2004-10-30  Roger Sayle  <roger@eyesopen.com>
314
315         PR middle-end/18096
316         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
317         the stack adjustment, "size", is valid for Pmode.  If the stack
318         frame is too large, generate a trap insn and issue a warning.
319
320 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
321
322         * tree-ssa-dom.c: Fix comment typos.
323
324 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
325
326         * config/sh/sh.c (prepare_move_operands): Use operands[0]
327         for the output rtl if no_new_pseudos is set.  Remove redundant
328         line.
329
330 2004-10-30  Joseph S. Myers  <joseph@codesourcery.com>
331
332         PR c/16666
333         * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
334         determining whether to copy parameter types from a previous
335         prototype declaration.
336
337 2004-10-29  Roger Sayle  <roger@eyesopen.com>
338
339         PR rtl-optimization/17581
340         * cselib.c (cselib_process_insn): The last instruction of a libcall
341         block, with the REG_RETVAL note, should be considered in the libcall.
342         * gcse.c (do_local_cprop): Allow constants to be propagated outside
343         of libcall blocks.
344         (adjust_libcall_notes): Use simplify_replace_rtx instead of
345         replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
346
347 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
348
349         * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
350
351 2004-10-29 Jeff Law  <law@redhat.com>
352
353         * tree-ssa-dom.c (struct edge_info): New structure holding
354         edge equivalences and edge redirection information.
355         (get_eq_expr_value, record_dominating_conditions): Kill.
356         (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
357         Call record_edge_info.
358         (allocate_edge_info, free_edge_info): New.
359         (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
360         rather than cprop_into_phis.  Free all edge infos before threading
361         jumps.
362         (thread_across_edge): Allocate new edge info structures as needed
363         and store the redirection target into the edge info structure
364         instead of the edge's AUX field.
365         (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
366         (record_equivalence_from_incoming_edge): Lose unnecessary argument.
367         Revamp code which finds and records equivalences associated with
368         edges to use saved data in the edge_info structure.
369         (record_equivalencs_from_phis): Similarly.
370         (dom_opt_finalize_block): Revamp code which finds and records
371         equivalences associated with edges to use saved data in the
372         edge_info structure.
373         (build_and_record_new_cond): New function.
374         (record_conditions): Use build_and_record_new_cond to record
375         dominating conditions.
376         (record_edge_info): New function.
377         (record_range): Tighten test for conditions which create
378         useful range records.
379
380 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
381
382         * config/i386/darwin.h (ASM_SPEC): Simplify.
383         (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
384         * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
385         (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
386         * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
387         (LINK_SPEC): Do pass -arch here.  Handle -force_cpusubtype_ALL
388         in all cases.  Pass the right -arch or -arch_only based on -mcpu.
389         (ASM_SPEC): Handle -force_cpusubtype_ALL.
390         * doc/invoke.texi (Darwin Options): Improve documentation for
391         Darwin linker (and libtool) switches.
392
393         * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
394
395 2004-10-29  Stan Shebs  <shebs@apple.com>
396
397         * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
398
399 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
400
401         * tree-phinodes.c (allocate_phi_node): New.
402         (make_phi_node, resize_phi_node): Use it.
403
404 2004-10-29  David Edelsohn  <edelsohn@gnu.org>
405
406         * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
407         * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
408
409 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
410
411         * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
412         the whole PHI node.
413         * tree.h (tree_phi_node): Tell the garbage collector to chase
414         num_args arguments.
415
416 2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
417
418         * opts.c (decode_options): Lower the crossjump threshold for -Os.
419
420 2004-10-29  Diego Novillo  <dnovillo@redhat.com>
421
422         * tree.h (struct tree_ssa_name): Remove field 'equiv'.
423
424 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
425
426         * bitmap.h (bitmap_empty_p): New.
427         (bitmap_and, bitmap_and_into, bitmap_and_compl,
428         bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
429         bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
430         operation macros.
431         (bitmap_ior_and_compl): Rename to ...
432         (bitmap_ior_and_compl_into): ... here.
433         * bitmap.c (bitmap_equal_p): Use bitmap_xor.
434         (bitmap_ior_and_compl): Rename to ...
435         (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
436         flag.
437         (bitmap_union_of_diff): Use renamed bitmap functions.
438         * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
439         XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
440         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
441         * df.c (df_bb_rd_local_compute)
442         * flow.c (calculate_global_regs_live,
443         init_propagate_block_info): Likewise.
444         * ifcvt.c (find_if_case_1, find_if_case_2,
445         dead_or_predicable): Likewise.
446         * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
447         reset_conflicts, conflicts_between_webs): Likewise.
448         * ra-rewrite.c (reloads_to_loads, rewrite_program2,
449         detect_web_parts_to_rebuild): Likewise.
450         * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
451         * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
452         * tree-sra.c (decide_instantiations): Likewise.
453         * tree-ssa-alias.c (create_name_tags,
454         merge_pointed_to_info): Likewise.
455         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
456         * tree-ssa-loop-im.c (move_computations): Likewise.
457         * tree-ssa-operands.c (get_call_expr_operands): Likewise.
458         * tree-ssa-pre.c (fini_pre): Likewise.
459         * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
460         * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
461         * tree-vectorizer.c (vectorize_loops): Likewise.
462
463 2004-10-29  Nick Clifton  <nickc@redhat.com>
464
465         config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
466         adding the PIC register to the fixed_regs array, also add it
467         to the call_used_regs array.  
468
469 2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
470
471         * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
472         with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
473
474 2004-10-28  Daniel Berlin  <dberlin@dberlin.org>
475
476         * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
477         (rewrite_blocks): Modify argument, and use it to decide which
478         function to call.
479         (rewrite_def_def_chains): Call rewrite_blocks with true here.
480         (rewrite_into_ssa): and call it with false here.
481         
482 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
483
484         * tree-phinodes.c (add_phi_arg): Turn an "if" that always
485         triggers into gcc_assert.
486
487 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
488
489         PR tree-optimization/16728
490         * tree-flow.h (get_ptr_info): Declare.
491         * tree-ssa-alias.c (get_ptr_info): Make extern.
492         * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
493         alias information.
494
495 2004-10-28  Stan Shebs  <shebs@apple.com>
496
497         * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
498         * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
499         case.
500
501 2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
502
503         * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
504         prevent their later unnecessary registration.
505         (mf_build_check_statement_for): Remove "addr" argument, and
506         related "__mf_value" generated code.  Update callers.
507         (mf_decl_eligible_p): New function, factored from mx_register_decls.
508         (mx_register_decls): Call it.
509         (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
510         to restore support for complex nested expressions.
511         (mudflap_enqueue_decl): Simplify.  Move registration call emission
512         out ...
513         (mudflap_finish_file): ... to here.
514         (mudflap_enqueue_constant): Remove dump code.
515
516 2004-10-28  Zack Weinberg  <zack@codesourcery.com>
517
518         PR 18199
519         * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
520         (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
521         (dbxout_finish_complex_stabs): Update to match.
522         (dbxout_symbol_location): Call emit_pending_bincls_if_required
523         and FORCE_TEXT before DBX_STATIC_BLOCK_START.  Use
524         dbxout_begin_complex_stabs_noforcetext.
525         * xcoffout.h (DBX_FINISH_STABS): Restore special case for
526         N_GSYM, using new SYM parameter.  Correct logic for special
527         cases for N_FUN.
528
529         * varasm.c (function_section): If DECL is NULL_TREE, don't try
530         to do anything else.  Do not call get_insns if cfun or
531         cfun->emit are NULL.
532
533 2004-10-28  Adam Nemet  <anemet@lnxw.com>
534
535         PR middle-end/18160
536         * c-typeck.c (c_mark_addressable): Issue error if address of a
537         register variable is taken.  Use "%qD" to print DECL_NAME.
538
539 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
540
541         * opts.c (decode_options): Don't run PRE at -Os.
542
543 2004-10-28  Richard Henderson  <rth@redhat.com>
544
545         * config/alpha/alpha.md (movqicc_internal): Allow exactly one
546         zero in the conditional.
547         (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
548
549 2004-10-28  Richard Henderson  <rth@redhat.com>
550
551         * cse.c (memory_extend_rtx): Remove.
552         (cse_main): Don't set it.
553         (cse_insn): Use a local buffer instead.
554
555 2004-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
556
557         * profile.c (branch_prob): Call to init_edge_profiler added.
558         * rtl-profile.c (rtl_init_edge_profiler): New function.
559         (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
560         call to safe_insert_insn_on_edge.
561         (rtl_profile_hooks): rtl_init_edge_profiler added.
562         * tree-profile.c (tree_init_edge_profiler): New function.
563         (tree_profile_hooks): tree_init_edge_profiler added.
564         * value-prof.h (profile_hooks) init_edge_profiler prototype added.
565
566 2004-10-28  Nick Clifton  <nickc@redhat.com>
567
568         * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
569         emit_jump_insn() to generate the return instruction.
570
571 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
572
573         * tree-phinodes.c: Remove trailing whitespace.
574
575 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
576
577         * tree-ssa-loop-ivopts.c: Fix a comment typo.
578         * doc/invoke.texi: Fix a typo.
579
580 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
581
582         * Makefile.in (OBJS-common): Remove duplicates.
583
584 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
585
586         * lambda-code.c (nestify_update_pending_stmts): Remove.
587         (perfect_nestify): Use flush_pending_stmts instead of
588         nestify_update_pending_stmts.
589         * tree-cfg.c (tree_make_forwarder_block): Use
590         flush_pending_stmts.
591         * tree-flow.h: Add a prototype for flush_pending_stmts.
592         * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
593         Use flush_pending_stmts.
594         (lv_update_pending_stmts): Remove.
595         (tree_ssa_loop_version): Use flush_pending_stmts instead of
596         lv_update_pending_stmts.
597         * tree-ssa.c (flush_pending_stmts): New.
598
599 2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
600
601         PR target/15286
602         * final.c (alter_subreg): Compute correct offset to use with
603         paradoxical SUBREGs of memory operands.
604         * recog.c (general_operand): Allow paradoxical SUBREGs of
605         memory operands after reload.
606         * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
607         has failed when passed a hard register.
608
609 2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
610
611         * function.c (assign_parm_setup_block): Handle parallels correctly.
612
613 2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
614
615         * final.c (shorten_branches): Initialize flags structure.
616
617 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
618
619         * tree.c (int_cst_node, int_cst_hash_table): New variables.
620         (init_ttree): Initialize them.
621         (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
622         (build_int_cst_wide): Use hash table for oversized integers.
623
624 2004-10-28  Nick Clifton  <nickc@redhat.com>
625
626         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
627         begin_label.
628
629 2004-10-27  Richard Henderson  <rth@redhat.com>
630
631         PR middle-end/18163
632         * expr.c (emit_group_load): Don't go force temporary for memory
633         or concat source.
634         (emit_group_store): Similarly.
635
636 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
637
638         PR other/18186
639         * common.opt (--param): Fix spelling of parameter.
640
641 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
642
643         PR tree-opt/17529
644         * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
645         Don't fold statement.
646         <case ASM_EXPR>: Fold the statement.
647
648 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
649
650         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
651         <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
652
653 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
654
655         * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
656         doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
657         doc/libgcc.texi, doc/md.texi, doc/passes.texi,
658         doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
659
660 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
661
662         * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
663         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
664         punctuation outside quotes.
665
666 2004-10-27  David Mosberger  <davidm@hpl.hp.com>
667             James E Wilson  <wilson@specifixinc.com>
668
669         PR target/13158
670         * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
671         sibcall alloc instruction.
672         (process_set): Handle sibcall alloc instruction.
673
674 2004-10-27  Geoffrey Keating  <geoffk@apple.com>
675
676         * config/rs6000/rs6000.c (rs6000_attribute_table): Add
677         SUBTARGET_ATTRIBUTE_TABLE.
678         * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
679         (SUBTARGET_ATTRIBUTE_TABLE): Define.
680         * config/darwin.c (darwin_handle_weak_import_attribute): New.
681         (HAVE_DEAD_STRIP): Delete.
682         (no_dead_strip): Don't test HAVE_DEAD_STRIP.
683         * config/darwin-protos.h (darwin_handle_weak_import_attribute):
684         Prototype.
685
686         * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
687
688         * config/darwin.h (GTHREAD_USE_WEAK): Define.
689
690 2004-10-28  Ben Elliston  <bje@au.ibm.com>
691
692         * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
693         (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
694         * params.h (SRA_MAX_STRUCTURE_SIZE): New.
695         (SRA_FIELD_STRUCTURE_RATIO): Likewise.
696         * tree-sra.c: Include "params.h".
697         (decide_block_copy): Use new parameters.
698         * doc/invoke.texi (Optimize Options): Document new SRA pass
699         parameters sra-max-structure-size and sra-field-structure-ratio.
700
701 2004-10-27  Nicolas Pitre <nico@cam.org>
702
703         * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
704
705 2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
706
707         PR tree-optimization/18048
708         * fold-const.c (try_move_mult_to_index): New function.
709         (fold): Use try_move_mult_to_index.
710         * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
711         * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
712         an all-ones unsigned constant without extra bits.
713         * tree.c (build_low_bits_mask): New function.
714         * tree.h (build_low_bits_mask): Declare.
715
716 2004-10-27  David Edelsohn  <edelsohn@gnu.org>
717
718         PR target/17956
719         * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
720         final condition.
721         (minsf3): Same.
722         (maxdf3): Same.
723         (mindf3): Same.
724
725 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
726
727         * tree-cfg.c (thread_jumps): Speed up by reordering the two
728         conditions for entering basic blocks into worklist.
729
730 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
731
732         * tree-cfg.c (thread_jumps): Speed up by pretending to have
733         ENTRY_BLOCK_PTR in worklist.
734
735 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
736
737         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
738         <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
739
740 2004-10-27  Daniel Berlin <dberlin@dberlin.org>
741
742         Fix PR tree-optimization/17133
743
744         * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
745         def kill operand.
746
747         * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
748         (get_v_must_def_result_ptr): Modify for new structure of
749         v_must_defs array.
750         (get_v_must_def_kill_ptr): New.
751         (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
752         (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
753         (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
754         (op_iter_init): Initialize new mustu members.
755         (op_iter_next_mustdef): New function.
756         (op_iter_init_mustdef): Ditto.
757
758         * tree-flow.h (rewrite_def_def_chains): New function.
759
760         * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
761         (ssa_mark_def_sites): Ditto.
762         (rewrite_stmt): Ditto.
763         (ssa_rewrite_stmt): Ditto.
764         (rewrite_blocks): Factor out from rewrite_into_ssa.
765         (mark_def_block_sites): Ditto.
766         (rewrite_def_def_chains): New function, just rewrites def-def
767         chains without phi node insertion.
768
769         * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
770
771         * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
772
773         * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
774         they include the rhs now.
775
776         * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
777         V_MUST_DEF_RESULT.
778
779         * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
780         Update callers.
781         (mark_really_necessary_kill_operand_phis): New function.
782         (perform_tree_ssa_dce): Call it.
783         (pass_dce): Add TODO_fix_def_def_chains.
784         (pass_cd_dce): Ditto.
785
786         * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
787         well.
788         (rewrite_mem_refs): Ditto.
789
790         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
791         as well.
792
793         * tree-ssa-operands.c (allocate_v_may_def_optype):
794         v_may_def_operand_type_t became v_def_use_operand_type_t.
795         (allocate_v_must_def_optype) Ditto.
796         (finalize_ssa_v_must_defs): Update for new operand type, as well
797         as setting the use portion as well.
798         (copy_virtual_operands): Copy the kill operand as well.
799         (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
800         V_MUST_DEF_RESULT.
801
802         * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
803         v_def_use_operand_type.
804         (v_must_def_optype_d): Use v_def_use_operand_type.
805         (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
806         (V_MUST_DEF_KILL_*): New macros.
807         (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
808         members.
809         Rename existing must_i and num_v_must members to mustd_i and
810         num_v_mustd.
811         (SSA_OP_VMUSTDEFKILL): New flag.
812         (SSA_OP_VIRTUAL_KILLS): New flag.
813         (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
814         (SSA_OP_ALL_KILLS): New flag.
815         (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
816
817         * tree-ssa.c (verify_ssa): Verify virtual kills as well.
818
819         * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
820         became V_MUST_DEF_RESULT.
821         (rename_variables_in_bb): Rename kill pointer as well.
822
823         * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
824         immediate uses.
825
826 2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
827
828         * dbxout.c (dbxout_source_line): Move declaration of begin_label to
829         the block that needs it.
830
831 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
832
833         * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
834         ATTRIBUTE_UNUSED.
835
836 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
837
838         * c-lex.c (cb_def_pragma): Clean up code for making location
839         palatable to diagnostic.c.
840
841 2004-10-27  Steven Bosscher  <stevenb@suse.de>
842
843         PR tree-optimization/17757
844         * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
845         without any PHI arguments left.  Make sure the argument that
846         we're supposed to remove exists at all.
847
848 2004-10-27  Paul Brook  <paul@codesourcery.com>
849
850         * configure.ac: Don't test for [build] __cxa_atexit when building a
851         cross compiler.
852         * configure: Regenerate.
853
854 2004-10-27  Paul Brook  <paul@codeosurcery.com>
855
856         * configure.ac: Use build_exeext not host_exeext when lookin for
857         target tools.
858         * configure: Regenerate.
859
860 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
861
862         * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
863
864 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
865             patch originally created by Kelley Cook  <kcook@gcc.gnu.org>
866
867         PR middle-end/14684
868         * opts.c (OPT_fprofile_generate): Default to -funroll-loops
869         to match -fprofile-use.
870
871 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
872
873         * config/rs6000/rs6000.c: Fix a comment typo.
874
875 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
876
877         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
878         counter.
879
880 2004-10-27  Andreas Schwab  <schwab@suse.de>
881
882         * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
883         unused.
884         (default_stabs_asm_out_constructor): Likewise.
885
886 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
887
888         * builtins.c (fold_builtin_unordered_cmp): Always bring both
889         operands to the same type.
890
891 2004-10-26  James E Wilson  <wilson@specifixinc.com>
892
893         PR target/18010
894         * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
895
896 2004-10-26  Zack Weinberg  <zack@codesourcery.com>
897
898         * dbxout.c: Include obstack.h.
899         (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
900         default definition.
901         (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
902         Default-define here.
903         (DBX_CONTIN_LENGTH): Move definition with others.
904         (DBX_FINISH_STABS): New target macro.
905         (current_sym_code, current_sym_value, current_sym_addr)
906         (current_sym_nchars, CHARS, dbxout_continue)
907         (print_int_cst_octal, print_octal, print_wide_int)
908         (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
909         (stabstr_ob, stabstr_last_contin_point): New variables.
910         (NUMBER_FMT_LOOP): New improper macro.
911         (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
912         (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
913         (dbxout_stab_value_internal_label_diff, dbxout_stabd)
914         (dbxout_begin_stabn, dbxout_begin_stabn_sline)
915         (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
916         (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
917         (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
918         (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
919         New functions and/or proper function-like macros.
920         (CONTIN): Use stabstr_continue, unconditionally.
921         (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
922         (dbxout_init): Initialize stabstr_ob.  Check
923         NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
924         if it was used.  Use the new interfaces.
925         (dbxout_source_file): Remove file argument; always write to
926         asm_out_file.  Use the new interfaces.
927         (dbxout_type_method_1): Remove second argument which is always
928         DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
929         (dbxout_type_methods): Remove write-only variables.  Use the
930         new interfaces.
931         (dbxout_parms): Refactor to remove code duplicated in each of
932         several successive if-else-if blocks.  Use the new interfaces.
933         (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
934         (dbxout_source_line, dbxout_finish, dbxout_type_index)
935         (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
936         (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
937         (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
938         (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
939         Use the new interfaces.
940         * Makefile.in (dbxout.o): Update dependencies.
941
942         * defaults.h: Don't define ASM_STABD_OP.
943         * output.h: Prototype new dbxout_* interfaces.
944         * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
945         * varasm.c: Don't define ASM_STABS_OP.
946         (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
947         Use the new dbxout.c interfaces.  Call sorry if neither
948         DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
949
950         * xcoffout.h: Don't define ASM_STABS_OP.
951         (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
952         (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
953         (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
954         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
955         do { ... } while (0) idiom.
956
957         * config/alpha/alpha.c (num_source_filenames): Export.
958         * config/alpha/alpha.h (num_source_filenames): Declare.
959         (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
960         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
961         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
962         Always use .debugsym.  Update commentary.
963         * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
964         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
965         * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
966         Use new interfaces.
967         * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
968         (macho_branch_islands): Use new interfaces.
969
970         * doc/tm.texi: Update.
971
972 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
973
974         * expr.c (emit_group_store): Do not treat floats as BLKmode.
975         (emit_group_load): Same.
976
977 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
978
979         * c-parse.in (datadef): Use pedwarn rather than error and warning
980         for diagnostic in case of no declaration specifiers.
981
982 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
983
984         PR bootstrap/15747
985         * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
986         reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
987         can be used to work around this.
988
989 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
990
991         * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
992         doubles.
993
994 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
995
996         * stmt.c (expand_case): Update a comment.
997
998 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
999
1000         * stmt.c (expand_case): Put an assertion that index_expr is
1001         never INTEGER_CST.  Don't special case for constant
1002         index_expr.
1003
1004 2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
1005
1006         PR 18162
1007         * c-parse.in (designator): Finish with a semi-colon.
1008
1009 2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
1010
1011         * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
1012         into rotlsi3.
1013
1014 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
1015
1016         * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
1017         a default case only.
1018
1019 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
1020
1021         * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
1022         e500 doubles.
1023         (spe_build_register_parallel): New.
1024         (rs6000_spe_function_arg): Handle e500 doubles.
1025         (function_arg): Same.
1026         (spe_func_has_64bit_regs_p): Same.
1027         (rs6000_function_value): Same.
1028         (rs6000_libcall_value): Same.
1029         (legitimate_lo_sum_address_p): Return false for e500 doubles.
1030
1031         * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
1032         doubles.
1033         (DATA_ALIGNMENT): Same.
1034         (CANNOT_CHANGE_MODE_CLASS): Same.
1035
1036 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
1037
1038         * expr.c (emit_group_load): Handle floats.
1039         (emit_group_store): Same.
1040
1041 2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
1042
1043         * c-lex.c (get_nonpadding_token): Remove.
1044         (c_lex_with_flags): Push timevar and eat padding here.  Improve
1045         stray token diagnostic.
1046         (lex_string): Replace logic with switch statement, eat padding
1047         token here.
1048
1049 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
1050
1051         PR 18149
1052         * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
1053
1054 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
1055
1056         * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
1057         to 'non-weak'.
1058         (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
1059         (ASM_MAKE_LABEL_LINKONCE): Delete.
1060         (ASM_WEAKEN_DECL): New.
1061         (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
1062         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1063         (TEXT_SECTION_ASM_OP): Add a tab.
1064         (DATA_SECTION_ASM_OP): Likewise.
1065         (SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
1066         data_section on every section change.
1067         (EXTRA_SECTIONS): Add a bunch of new extra sections.
1068         (EXTRA_SECTION_FUNCTIONS): Likewise.
1069         (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
1070         (JCR_SECTION_NAME): Define.
1071         (TARGET_SECTION_TYPE_FLAGS): Don't define.
1072         * config/darwin.c (darwin_encode_section_info): A symbol is defined
1073         in this file if it is not weak.
1074         (textcoal_section): Delete.
1075         (datacoal_section): Delete.
1076         (darwin_make_decl_one_only): Delete.
1077         (machopic_select_section): Handle functions.
1078         (darwin_asm_named_section): Add a tab.
1079         (darwin_section_type_flags): Delete.
1080         (darwin_unique_section): Delete contents.
1081         (darwin_emit_unwind_label): Add a tab.  Make decls weak if
1082         DECL_WEAK is set.
1083         * config/darwin-protos.h (darwin_section_type_flags): Delete.
1084         (darwin_make_decl_one_only): Delete.
1085         (text_coal_section): New.
1086         (text_unlikely_section): New.
1087         (text_unlikely_coal_section): New.
1088         (const_coal_section): New.
1089         (data_coal_section): New.
1090         (const_data_coal_section): New.
1091         * varasm.c (function_section): Honour
1092         USE_SELECT_SECTION_FOR_FUNCTIONS.
1093         * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
1094         TARGET_USES_WEAK_UNWIND_INFO is in effect.
1095         * dbxout.c (dbxout_source_file): Don't change sections while
1096         a function is being output.
1097
1098 2004-10-25  David Ayers  <d.ayers@inode.at>
1099
1100         * c-common.h: Remove RID_ID.
1101         * c-parse.in: Remove OBJECTNAME and references to RID_ID.
1102         (typespec_reserved_attr): Add rule for TYPENAME
1103         non_empty_protocolrefs.
1104         (yylexname): Remove special handling of RID_ID.
1105
1106 2004-10-25  James E Wilson  <wilson@specifixinc.com>
1107
1108         * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
1109
1110 2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
1111
1112         PR c/16667
1113         * c-parse.in (array_designator): New.
1114         (designator): Use it.
1115         (initelt): Only permit array_designator without '=', not ".foo".
1116
1117 2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
1118         * gcc/Makefile.in: removed ggc for cgraphunit.
1119         * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
1120         * gcc/cgraph.h: removed static var analysis data structures and calls.
1121         * gcc/cgraphunit.c:
1122         cgraph_mark_local_and_external_functions:changed name to
1123                 cgraph_mark_local_functions
1124         (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
1125         cgraph_reset_static_var_maps,get_global_static_vars_info,
1126         get_global_statics_not_read,get_global_statics_not_written,searchc,
1127         cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
1128         check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
1129         scan_for_static_refs,cgraph_characterize_statics_local,
1130         clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
1131         removed.
1132         (cgraph_optimize,init_cgraph): removed calls to static vars analysis
1133         * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
1134         analysis
1135         * gcc/tree-flow.h static_vars_info: removed
1136         * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
1137         removed calls to static vars analysis.
1138         get_call_expr_operands: removed callee variable.
1139
1140 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
1141
1142         * cfg.c (unchecked_make_edge, redirect_edge_succ,
1143         redirect_edge_pred): Use VEC_safe_push instead of
1144         VEC_safe_insert.
1145         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1146
1147 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
1148
1149         * cfgloopmanip.c (loopify): Take two more arguments true_edge
1150         and false_edge.
1151         * cfgloop.h: Adjust the corresponding prototype.
1152         * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
1153         * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
1154
1155 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
1156
1157         * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1158         DECL_INCOMING_RTL is NULL.
1159
1160 2004-10-25  Steven Bosscher  <stevenb@suse.de>
1161
1162         * timevar.def (TV_FIND_REFERENCED_VARS): New.
1163         * tree-dfa.c (pass_referenced_var): Use it.
1164
1165 2004-10-25  Roger Sayle  <roger@eyesopen.com>
1166             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1167
1168         * cse.c: Change encoding of quantity numbers to avoid undefined
1169         pointer arithmetic on qty_table.
1170         (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1171         (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1172         (new_basic_block): Assign "real" quantity numbers from zero.
1173         (delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
1174         REG_QTY to its unique negative value.
1175         (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1176         (cse_main): Don't include max_reg when determining max_qty.
1177         (cse_basic_block): Avoid subtracting a large offset from qty_table,
1178         which causes undefined C99 behaviour.  Only allocate needed memory.
1179
1180 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
1181
1182         * stmt.c (expand_case): Remove an obsolete comment.
1183
1184 2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
1185
1186         PR middle-end/17407
1187         * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
1188         layout_type as it is already done by build_array_type.
1189         * tree.c (build_array_type): Layout the type even
1190
1191 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
1192
1193         * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
1194
1195 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
1196
1197         * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
1198         with wider-than-32-bit HOST_WIDE_INTs.
1199
1200 2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
1201
1202         * config/mips/mips.c(mips_output_filename): Remove unused
1203         array ltext_label_name
1204
1205 2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
1206
1207         * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
1208
1209 2004-10-25  Ben Elliston  <bje@au.ibm.com>
1210
1211         * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
1212
1213 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
1214
1215         * predict.c (predict_loops): Call scev_finalize instead of
1216         scev_reset.
1217
1218 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
1219
1220         * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
1221         config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
1222         config/sh/ushmedia.h, config/sparc/elf.h,
1223         config/sparc/sp64-elf.h: Update copyright.
1224
1225 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
1226
1227         * stmt.c (expand_case): Handle the default label outside of
1228         the for loop.  Remove code to handle a missing default label.
1229
1230 2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
1231
1232         * dbxout.c (dbxout_function_decl): Don't use
1233         DBX_OUTPUT_FUNCTION_END.
1234         * system.h: Poison DBX_OUTPUT_FUNCTION_END.
1235         * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
1236
1237 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
1238
1239         PR middle-end/17967
1240         * tree-cfg.c (remove_usless_stmts_cond):  Don't Fold statement.
1241
1242 2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
1243
1244         * tree-ssa-dom.c (record_equality): Use loop depth to determine
1245         which way to record the equality as well.
1246         (loop_depth_of_name): New function.
1247
1248 2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1249
1250         PR middle-end/17793
1251         * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
1252         through the operand if it is a useless type conversion.
1253
1254 2004-10-23  Ben Elliston  <bje@au.ibm.com>
1255
1256         * cfg.c (remove_edge): Use VEC_unordered_remove.
1257         (redirect_edge_succ): Likewise.
1258         (redirect_edge_pred): Likewise.
1259         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1260
1261 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1262
1263         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
1264         beyond its end.
1265
1266 2004-10-22  Eric Christopher  <echristo@redhat.com>
1267
1268         * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1269         saves.
1270
1271 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
1272
1273         * config/rs6000/spe.md (spe_extendsfdf2): New.
1274         (movdf_e500_double): New.
1275         (spe_truncdfsf2): New.
1276         (spe_absdf2): New.
1277         (spe_nabsdf2): New.
1278         (spe_negdf2): New.
1279         (sub_adddf3): New.
1280         (spe_subdf3): New.
1281         (spe_muldf3): New.
1282         (spe_floatsidf2): New.
1283         (spe_floatunssidf2): New.
1284         (fix_truncdfsi2): New.
1285         (spe_fixuns_truncdfsi2): New.
1286
1287         * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
1288         (fpr_truncdfsf2): New.
1289         (negdf2): Change to expander.
1290         (fpr_negdf2): New.
1291         (fpr_nabsdf2): Name pattern.
1292         (adddf3): Change to expander.
1293         (fpr_adddf3): Nem.
1294         (subdf3): Change to expander.
1295         (fpr_subdf3): New.
1296         (muldf3): Change to expander.
1297         (fpr_muldf3): New.
1298         (divdf3): Change to expander.
1299         (fpr_divdf3): New.
1300         (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
1301         (cmpdf): Allow for TARGET_E500_DOUBLE.
1302
1303 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1304
1305         * c-semantics.c (re_push_stmt_list): Remove.
1306         * c-common.h: Remove the corresponding prototype.
1307
1308 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1309
1310         * stmt.c (asm_op_is_mem_input): Remove.
1311         * tree.h: Remove the corresponding prototype.
1312
1313 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1314
1315         * tree-gimple.c (is_gimple_constructor_elt): Remove.
1316         * tree-gimple.h: Remove the corresponding prototype.
1317
1318 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1319
1320         * varasm.c (get_pool_mode_for_function, get_pool_offset):
1321         Remove.
1322         * rtl.h: Remove the corresponding prototypes.
1323
1324 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1325
1326         * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
1327         edge information when we commit ourselves to threading a
1328         particular jump.
1329
1330 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1331
1332         * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
1333         into worklist instead of their indexes.
1334
1335 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1336
1337         * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
1338         final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
1339         lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
1340         pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
1341         tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
1342         tree-scalar-evolution.c, tree-ssa-dom.c,
1343         tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
1344         tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
1345         tree-vectorizer.c, vec.h: Fix comment formatting.
1346
1347 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1348
1349         * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
1350         libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
1351
1352 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1353
1354         * config/ptx4.h, config/mcore/mcore-pe.h,
1355         config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
1356
1357 2004-10-22  Peter Barada <peter@the-baradas.com>
1358
1359         * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1360         * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1361         renaming of non-live registers in interrupt functions.
1362         * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1363
1364 2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
1365
1366         * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
1367         Use integer for loop counter.
1368         (num_ending_zeros): New function.
1369         (number_of_iterations_cond): Use num_ending_zeros.
1370
1371 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
1372
1373         * config.gcc: Add support for --enable-e500_double.
1374
1375         * config/rs6000/e500-double.h: New file.
1376
1377         * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
1378         TARGET_E500_DOUBLE.
1379
1380         * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
1381         TARGET_E500_DOUBLE.
1382
1383         * config/rs6000/linuxspe.h: Same.
1384
1385         * doc/invoke.texi (Option Summary): Document new options for
1386         mfloat-gprs.
1387         (RS/6000 and PowerPC Options): Same.
1388
1389         * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
1390         function.
1391         (rs6000_override_options): Use it.  Use
1392         SUB3TARGET_OVERRIDE_OPTIONS.
1393         Add 8548 to processor_target_table.
1394         (rs6000_legitimate_address): Handle e500 doubles.
1395         (rs6000_legitimize_address): Same.
1396         (rs6000_legitimize_reload_address): Same.
1397         (rs6000_hard_regno_nregs): Same.
1398         (spe_func_has_64bit_regs_p): Same.
1399         (emit_frame_save): Same.
1400         (gen_frame_mem_offset): Same.
1401         (rs6000_dwarf_register_span): Same.
1402         (rs6000_generate_compare): Same.
1403         (easy_fp_constant): Same.
1404         (legitimate_offset_address_p): Same.
1405
1406         * config/rs6000/spe.md: (cmdfeq_gpr): New.
1407         (tstdfeq_gpr): New.
1408         (cmpdfgt_gpr): New.
1409         (tstdfgt_gpr): New.
1410         (tstdfgt_gpr): New.
1411         (cmpdflt_gpr): New.
1412         (tstdflt_gpr): New.
1413         Add new constants.
1414
1415 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
1416
1417         * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1418
1419 2004-10-21  Zack Weinberg  <zack@codesourcery.com>
1420
1421         * dbxout.c: Remove unnecessary #undefs.
1422         (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
1423         (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
1424         definition into use sites.
1425         (cwd): Make local to dbxout_init.
1426         (dbxout_init): Restructure cwd-using logic for clarity.  Use
1427         IS_DIR_SEPARATOR.
1428         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
1429         STABS_GCC_MARKER folded in here.
1430         * system.h: Poison now-unused macros.
1431         * doc/tm.texi: Remove documentation of now-unused macros.
1432
1433 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
1434
1435         PR c/17538
1436         * c-opts.c (push_command_line_include): Use the current file
1437         name instead of the main one.
1438
1439 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
1440
1441         PR objc/17923
1442         * tree.c (staticp): A CONST_DECL has static storage if either
1443         TREE_STATIC or DECL_EXTERNAL is set.
1444         * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
1445         have null names.
1446
1447 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1448
1449         * expr.c (store_expr): Remove dont_store_target.
1450
1451 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1452
1453         * tree-cfg.c (thread_jumps): Speed up by using a worklist.
1454
1455 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1456
1457         * tree-cfg.c (thread_jumps): Move a part of it to ...
1458         (thread_jumps_from_bb): ... here.
1459
1460 2004-10-21  David Edelsohn  <edelsohn@gnu.org>
1461
1462         * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
1463         * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
1464
1465 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
1466
1467         * expr.c (store_expr): Clean up by renaming want_value to
1468         call_param_p.
1469
1470 2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
1471
1472         * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
1473         fixup pc here.
1474
1475 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
1476
1477         PR 18004.
1478         * expmed.c (store_bit_field): Pass original 'value' before
1479         recursing.
1480
1481 2004-10-21  Nicolas Pitre <nico@cam.org>
1482
1483         * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
1484         * config/arm/ieee754-df.S: Ditto.
1485
1486 2004-10-20  Zack Weinberg  <zack@codesourcery.com>
1487
1488         * dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
1489         (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
1490         Default to 0.
1491         (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
1492         When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
1493         an internal label and an N_SLINE .stabn whose value is the
1494         difference between that label and the function entry label.
1495         (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
1496         but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
1497         label and an N_SO stab with an empty string referring to it.
1498         (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
1499         of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
1500         (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
1501         (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
1502         macro is never defined.
1503         * sdbout.c (sdbout_source_line_counter): Delete.
1504         (PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
1505         (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
1506         only two arguments.
1507         * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
1508
1509         * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
1510         * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
1511         definitions (identical to default).
1512         * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1513         * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
1514         Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
1515         DBX_OUTPUT_MAIN_SOURCE_FILE_END.
1516         * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1517         * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
1518         Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
1519         * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
1520         * config/alpha/alpha.c: Move declaration of num_source_filenames up.
1521         (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
1522         (sym_lineno): Delete.
1523         (alpha_output_filename): Do not emit N_SOL stabs here.  Remove
1524         now-unused variable.
1525         (alpha_output_lineno): Delete.
1526         * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
1527         * config/mips/mips.c (mips_output_filename): Don't use
1528         ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
1529         (mips_output_lineno): Delete.
1530         (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
1531         * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
1532         SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
1533         * config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
1534         * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
1535         * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
1536         * config/mmix/mmix.h: Likewise.
1537         * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
1538         * config/mmix/mmix-protos.h: Don't prototype it.
1539         * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
1540         no need to #undef ASM_OUTPUT_SOURCE_LINE.
1541         * config/arm/aout.h: Remove RISCiX-specific definition of
1542         DBX_OUTPUT_MAIN_SOURCE_FILENAME.
1543         * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
1544         ASM_OUTPUT_SOURCE_LINE.
1545         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
1546         DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
1547         * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
1548
1549         * doc/tm.texi: Update.
1550
1551 2004-10-20  Richard Henderson  <rth@redhat.com>
1552
1553         * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
1554
1555 2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1556
1557         * configure.ac: Revert my previous patch.
1558         * configure: Regenerate.
1559
1560 2004-10-20  Ben Elliston  <bje@au.ibm.com>
1561
1562         * config/rs6000/rs6000.c
1563         (rs6000_va_start): Use build_va_arg_indirect_ref.
1564         (rs6000_gimplify_va_arg): Likewise.
1565
1566 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
1567
1568         PR java/15575
1569         * configure.ac: Declare AM_LANGINFO_CODESET.
1570         * aclocal.m4: Define AM_LANGINFO_CODESET.
1571         * configure, config.in: Rebuilt.
1572
1573 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1574
1575         * expr.c (store_expr): Remove code that is run when
1576         want_value & 1 is nonzero.
1577
1578 2004-10-20  Mark Mitchell  <mark@codesourcery.com>
1579
1580         * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1581         from function pointer to void *.
1582
1583 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1584
1585         PR target/18032
1586         * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1587         the frame pointer adjustment when exception handling is enabled.
1588
1589 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1590
1591         * stor-layout.c: Fix a comment typo.
1592
1593 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1594
1595         * expr.c (store_field): Remove two arguments value_mode and
1596         unsignedp.
1597         (expand_assignment, store_constructor_field,
1598         expand_expr_real_1): Adjust calls to store_field.
1599
1600 2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
1601
1602         * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1603
1604         PR target/17317
1605         * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1606         REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1607         base and index register for loads.
1608
1609         * config/arc/t-arc: Fix multilib handling.
1610
1611 2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
1612
1613         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1614         don't inspect BLOCK_FOR_INSN for barriers.
1615         * emit-rtl.c (emit_barrier_before): Revert last change.
1616         (emit_barrier_after, emit_barrier): Ditto.
1617
1618         * doc/extend.texi (Extended Asm): Warn and provide example
1619         solution for using a call-clobbered asm register.
1620         (Local Reg Vars): Similar.  Cross-reference example.
1621
1622 2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
1623
1624         * tree-cfg.c (group_case_labels): Look at the second to last
1625         case statement for combing with the default case.
1626
1627 2004-10-19  Richard Hendeson  <rth@redhat.com>
1628
1629         PR 17962
1630         * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
1631
1632 2004-10-19  Richard Hendeson  <rth@redhat.com>
1633
1634         * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
1635         succeeds, only expand the result.
1636
1637 2004-10-19  Richard Hendeson  <rth@redhat.com>
1638
1639         PR middle-end/17885
1640         * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
1641         of INDIRECT_REF.
1642
1643 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
1644
1645         * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
1646         loop with goto.
1647
1648 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
1649
1650         * expr.c (expand_assignment): Remove the last argument.
1651         Change the return type to void.
1652         * expr.h: Update the prototype of expand_assignment.
1653         * function.c (assign_parm_setup_reg): Update a call to
1654         expand_assignment.
1655         * stmt.c (expand_asm_expr): Likewise.
1656
1657 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
1658
1659         * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
1660         unnecessary assignments to temp.  Return const0_rtx.
1661
1662 2004-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1663
1664         * config/sh/sh.c (sh5_schedule_saves): Fix typo.
1665
1666 2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
1667
1668         * configure.ac (powerpc-*-darwin*): Require assembler to support
1669         .machine directive.
1670         * configure: Regenerate.
1671
1672 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1673
1674         * reload1.c (ior_hard_reg_set): Remove.
1675         (finish_spills): Use IOR_HARD_REG_SET instead of
1676         ior_hard_reg_set.
1677
1678 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1679
1680         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
1681         the currently visited word to right.
1682
1683 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1684
1685         PR middle-end/18045
1686         * expmed.c (expand_smod_pow2): Handle modes whose size
1687         is greater than that of HOST_WIDE_INT.
1688
1689 2004-10-18  Ziemowit Laski  <zlaski@apple.com>
1690
1691         * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
1692
1693 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1694             Roger Sayle  <roger@eyesopen.com>
1695
1696         PR middle-end/17813
1697         * dojump.c (discard_pending_stack_adjust): New function.
1698         (clear_pending_stack_adjust): Call it.
1699         * expr.h (discard_pending_stack_adjust): Declare it.
1700         * explow.c (emit_stack_save): Emit pending stack adjustments
1701         before saving the stack pointer.
1702         (emit_stack_restore): Discard pending stack adjustments before
1703         restoring the stack pointer.
1704
1705 2004-10-18  Richard Henderson  <rth@redhat.com>
1706
1707         * c-common.c (handle_mode_attribute): Allow scalar->vector
1708         type changes yet.
1709
1710 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1711
1712         * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
1713         value to expand_assignment.
1714
1715 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1716
1717         * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
1718         thread_jumps.
1719         (thread_jumps): Iterate until no new forwarder block arises.
1720
1721 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1722
1723         * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
1724         (thread_jumps): Use forwardable as cache of
1725         tree_forwarder_block_p throughout the function.
1726
1727 2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>
1728
1729         * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
1730
1731 2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>
1732
1733         PR middle-end/15014
1734         PR middle-end/16973
1735         * tree-cfg.c (remove_bb): If we have a label expression in the
1736         basic block and the label we have taken the address, move the
1737         label expression to the basic block which is previous in the
1738         linked list.
1739         (tree_verify_flow_info): Fix printing out the label name of the
1740         problematic label expression.
1741
1742 2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>
1743
1744         PR rtl-optimization/18002
1745         * simplify-rtx.c (mode_signbit_p): Externalize function...
1746         * rtl.h (mode_signbit_p): ... to here.
1747         * combine.c (simplify_shift_const): Recognize PLUS signbit as
1748         canonical form of XOR signbit and move to outer op.
1749
1750 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
1751
1752         * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
1753         Update all callers.
1754         * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
1755         Don't call fold_stmt more than once, use bsi_replace.
1756
1757 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
1758
1759         PR tree-optimization/17656
1760         * tree-ssa.c (replace_immediate_uses): When replacing a
1761         constant, if the call to fold_stmt produced a different
1762         statement, get an appropriate statement pointer by scanning
1763         STMT's basic block.
1764
1765 2004-10-18  Richard Henderson  <rth@redhat.com>
1766
1767         * pointer-set.c (hash1): Don't use libm functions in fallback case.
1768
1769 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
1770
1771         PR bootstrap/17684
1772         * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1773         (stage1-start): Remove and copy libunwind.a and
1774         libunwind*$(SHLIB_EXT) instead of libunwind*.
1775         (stage2-start): Likewise.
1776         (stage3-start): Likewise.
1777         (stage4-start): Likewise.
1778         (stageprofile-start): Likewise.
1779         (stagefeedback-start): Likewise.
1780
1781         * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1782         the shared library to be created and don't remove the existing
1783         shared library.
1784         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1785         * config/i386/t-nwld (SHLIB_LINK): Likewise.
1786         * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1787         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1788         * config/sh/t-linux (SHLIB_LINK): Likewise.
1789         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1790         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1791         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1792         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1793
1794         * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1795         files.
1796
1797 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1798
1799         * basic-block.h (reg_set_iterator): New.
1800         (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
1801         (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
1802         (EXECUTE_IF_AND_IN_REG_SET): Likewise.
1803         * caller-save.c (save_call_clobbered_regs): Adjust to the new
1804         style.
1805         * cfgcleanup.c (thread_jump): Likewise.
1806         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1807         * conflict.c (conflict_graph_compute): Likewise.
1808         * flow.c (verify_local_live_at_start, update_life_info,
1809         initialize_uninitialized_subregs, propagate_one_insn,
1810         init_propagate_block_info, free_propagate_block_info,
1811         propagate_block, dump_regset): Likewise.
1812         * global.c (global_conflicts): Likewise.
1813         * graph.c (start_bb): Likewise.
1814         * local-alloc.c (update_equiv_regs): Likewise.
1815         * loop.c (load_mems): Likewise.
1816         * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
1817         find_reg, finish_spills): Likewise.
1818         * resource.c (mark_target_live_regs): Likewise.
1819         * sched-deps.c (sched_analyze_insn): Likewise.
1820         * sched-rgn.c (sched-rgn.c): Likewise.
1821         * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1822
1823 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
1824
1825         * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1826         operand 1 instead of 2
1827
1828 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1829
1830         * loop-unroll.c: Fix comment typos.
1831
1832 2004-10-18  Revital Eres  <eres@il.ibm.com>
1833
1834         * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
1835         * loop-unroll.c: Include varray.h.
1836         (struct var_to_expand, struct opt_info): Rename split_ivs_info to
1837         opt_info and expand it to support variable expansion.
1838         (analyze_insns_in_loop): Rename analyze_ivs_to_split and
1839         expand it to support variable expansion.
1840         (pt_info_start_duplication): Rename si_info_start_duplication.
1841         (apply_opt_in_copies): Rename split_ivs_in_copies and add support
1842         to the variable expansion optimization.
1843         (free_opt_info): Rename free_si_info.
1844         (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
1845         expand_var_during_unrolling, insert_var_expansion_initialization,
1846         combine_var_copies_in_loop_exit, release_var_copies,
1847         get_expansion): New functions.
1848         (peel_loop_completely, unroll_loop_constant_iterations,
1849         unroll_loop_runtime_iterations, peel_loop_simple,
1850         unroll_loop_stupid): Change uses of struct si_info
1851         to struct opt_info
1852         and add uses of fvariable-expansion-in-unroller flag.
1853         * params.def: Add parameter to restrict the number of expansions.
1854         * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
1855         the number of expansions.
1856         * common.opt: (fvariable-expansion-in-unroller): New flag.
1857         * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
1858
1859 2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
1860
1861         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
1862         __GXX_MERGED_TYPEINFO_NAMES to 0.
1863
1864 2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
1865
1866         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1867         handle barriers in a bb by checking that it points to a NULL bb.
1868         * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
1869         (emit_barrier_after, emit_barrier): Ditto.
1870
1871 2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
1872
1873         * doc/extend.texi (Attribute Syntax): Clarify details of
1874         attributes on parameters.
1875
1876 2004-10-17  Zdenek Dvorak  <dvorakz@suse.cz>
1877
1878         * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
1879         loop.
1880
1881 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1882
1883         Revert:
1884         2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1885
1886         * c-typeck.c (default_function_array_conversion): Always create
1887         &a[0] for array types.
1888         (build_unary_op): Do not fold &a[x] into a + x.
1889
1890 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1891
1892         PR middle-end/17925
1893         * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
1894         block if there is a goto with a locus.
1895
1896 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
1897
1898         * config/elfos.h, config/gofast.h, config/interix.h,
1899         config/netbsd.h, config/svr3.h, config/vxworks.h,
1900         config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1901         config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1902         config/alpha/netbsd.h, config/arm/arm-modes.def,
1903         config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1904         config/cris/aout.h, config/frv/frv-modes.def,
1905         config/i386/beos-elf.h, config/i386/gas.h,
1906         config/i386/i386-coff.h, config/i386/i386-modes.def,
1907         config/i386/linux.h, config/i386/linux64.h,
1908         config/i386/mingw32.h, config/i386/netbsd-elf.h,
1909         config/i386/netbsd64.h, config/i386/sco5.h,
1910         config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1911         config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1912         config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1913         config/mips/mips-modes.def, config/mips/sdb.h,
1914         config/mips/vr.h, config/mips/vxworks.h,
1915         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1916         config/pa/pa32-linux.h, config/rs6000/40x.md,
1917         config/rs6000/7450.md, config/rs6000/8540.md,
1918         config/rs6000/linuxspe.h, config/rs6000/power4.md,
1919         config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1920         config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1921         config/s390/s390-modes.def, config/sh/elf.h,
1922         config/sh/sh-modes.def, config/sh/sh64.h,
1923         config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1924         config/stormy16/stormy16.md, config/v850/v850-protos.h,
1925         config/vax/vax.md: Update copyright.
1926
1927 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
1928
1929         * expr.c (expand_expr_real_1): Remove an obsolete comment.
1930
1931 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1932
1933         * c-typeck.c (default_function_array_conversion): Always create
1934         &a[0] for array types.
1935         (build_unary_op): Do not fold &a[x] into a + x.
1936
1937 2004-10-17  Jakub Jelinek  <jakub@redhat.com>
1938
1939         * pointer-set.c (hash1): Use integer part of 2^64 / phi
1940         instead 2^32 / phi if long is 64-bit.
1941
1942 2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1943
1944         * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1945         RID_PTRVALUE.
1946         * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1947         declarations.
1948         (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1949         __ptrextent__, __ptrvalue and __ptrvalue__.
1950         (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1951         entries.
1952
1953 2004-10-16  Dale Johannesen  <dalej@apple.com>
1954
1955         * c-common.c (c_common_get_alias_set):  Use GGC for type_hash_table.
1956
1957 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1958
1959         PR tree-optimization/17766
1960         * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1961         (dom_info_available_p): Declare.
1962         * cfghooks.c (split_block, make_forwarder_block): Use
1963         dom_info_available_p.
1964         * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1965         free_dominance_info, verify_dominators): Ditto.
1966         (dom_info_available_p): New function.
1967         * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1968         (thread_jumps): Use dom_info_available_p.
1969         * tree-complex.c (expand_complex_div_wide): Ditto.
1970         * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1971
1972 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1973
1974         * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1975         (find_best_candidate): Take also important candidates into account.
1976         (find_optimal_iv_set): Initialize important_candidates bitmap.
1977
1978 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1979
1980         PR tree-optimization/17560
1981         * predict.c (tree_estimate_probability): Mark irreducible
1982         loops.
1983
1984 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1985
1986         PR rtl-optimization/17723
1987         * cfgcleanup.c (merge_memattrs): Handle case when
1988         MEM_SIZE == NULL_RTX.
1989
1990 2004-10-15  Andrew Pinski  <pinskia@physics.uc.edu>
1991
1992         * toplev.c (dump_file_name): Change type to be const.
1993
1994 2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
1995
1996         * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
1997         non_lvalue to stop something being a null pointer constant.
1998
1999 2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
2000
2001         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
2002         available for TARGET_FPRS.
2003         (FUNCTION_VALUE_REGNO_P): Same.
2004
2005 2004-10-15  Geoffrey Keating  <geoffk@apple.com>
2006
2007         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2008         -maltivec in same style as other ISA options.
2009
2010 2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
2011
2012         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
2013         definition.
2014
2015 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
2016
2017         * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
2018         collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
2019         gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
2020         genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
2021         gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
2022         gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
2023         lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
2024         predict.def, predict.h, protoize.c, reload.h, resource.h,
2025         rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
2026         tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
2027         unwind-sjlj.c, value-prof.h: Update copyright.
2028
2029 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
2030
2031         * pointer-set.c, tree-vectorizer.c: Fix comment typos.
2032
2033 2004-10-15  Diego Novillo  <dnovillo@redhat.com>
2034
2035         * tree-optimize.c (execute_one_pass): Stop timer right after
2036         executing the pass.
2037
2038 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2039
2040         Revert:
2041         2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2042         PR middle-end/17967
2043         Revert:
2044                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
2045                 (remove_useless_stmts_1):  Fold trees we know how to fold.
2046
2047 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
2048
2049         * configure.ac: Add .machine power4 directive when testing for
2050         mfcr field.
2051         * configure: Regenerate.
2052
2053 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
2054
2055         * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
2056
2057 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2058
2059         * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
2060         always.
2061
2062 2004-10-14  Daniel Jacobowitz  <dan@codesourcery.com>
2063
2064         * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
2065         for 'f' if !TARGET_FPRS.
2066
2067 2004-10-14  Richard Henderson  <rth@redhat.com>
2068
2069         PR debug/14492
2070         * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
2071
2072 2004-10-14  Richard Henderson  <rth@redhat.com>
2073
2074         PR c/17023
2075         * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
2076         as error_mark_node.
2077         * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
2078         instaed of current_function_decl non-null.
2079
2080 2004-10-14  Matt Austern  <austern@apple.com>
2081
2082         * pointer-set.c: New file, special-purpose hash table.
2083         * pointer-set.h: New file.
2084         * tree.h (struct pointer_set_t): Declare as opaque type.
2085         (tree_walk): Last argument is pointer_set_t* now.
2086         * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
2087         (walk_type_fields):
2088         (walk_tree): Convert from htab_t to pointer_set_t for keeping
2089         track of which nodes have already been visited.
2090         (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
2091         * cgraphunit.c (cgraph_create_edges): Likewise.
2092         (cgraph_characterize_statics_local): Likewise.
2093         * tree-dfa.c (collect_dfa_stats): Likewise.
2094         * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
2095         pointer_set_t* now.
2096         * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
2097         * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
2098         of walk_subtrees is pointer_set_t* now.
2099         * Makefile.in (OBJS-common): add pointer-set.o
2100         (tree-inline.o): Depends on pointer-set.h
2101         (tree-dfa.o): Likewise
2102         (cgraphunit.o): Likewise
2103
2104 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
2105
2106         * config/rs6000/darwin.h (ASM_SPEC): Delete.
2107         (TARGET_ASM_FILE_START): Define.
2108         * config/darwin.h (ASM_SPEC): Define.
2109         * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
2110         -mlong-double-128, it's the default.  Update comment about reason
2111         for force_cpusubtype_ALL.
2112         * config/rs6000/darwin-vecsave.asm: Supply .machine.
2113         * config/rs6000/darwin-world.asm: Likewise.
2114         * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
2115         (symbolic_operand): Delete #if 0ed code.
2116
2117 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2118
2119         * stmt.c (add_case_node): Make sure that we have integer
2120         constant before calling tree_int_cst_compare.
2121
2122 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
2123
2124         PR middle-end/17967
2125         Revert:
2126                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
2127                 (remove_useless_stmts_1):  Fold trees we know how to fold.
2128
2129 2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
2130
2131         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
2132         config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
2133         -m64.
2134
2135 2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2136
2137         * reload.c (find_reloads): When reloading a PLUS with constant
2138         operand, make sure the constant is pushed to the constant pool
2139         if required.
2140         * config/s390/s390.c (s390_secondary_input_reload_class): Remove
2141         reload bug workaround.
2142         (s390_expand_plus_operand): Likewise.
2143
2144 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
2145
2146         * opts.c (common_handle_option): Do not enable
2147         flag_speculative_prefetching for -fprofile-generate/use.
2148
2149 2004-10-14  Devang Patel  <dpatel@apple.com>
2150
2151         PR 17635
2152         * tree-if-conv.c (process_phi_nodes): Process latch block.
2153         (combine_blocks): Process latch block and update loop structure.
2154
2155 2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
2156
2157         * tree-vectorizer.c (vect_generate_tmps_on_preheader):
2158         (vect_update_ivs_after_vectorizer):
2159         (vect_transform_for_unknown_loop_bound):
2160         (tree_duplicate_loop_to_edge):
2161         (allocate_new_names):
2162         (rename_use_op):
2163         (rename_def_op):
2164         (rename_variables_in_bb):
2165         (free_new_names):
2166         (rename_variables_in_loop):
2167         (copy_phi_nodes):
2168         (update_phis_for_duplicate_loop):
2169         (update_phi_nodes_for_guard):
2170         (make_loop_iterate_ntimes):
2171         (tree_duplicate_loop_to_edge_cfg):
2172         (add_loop_guard):
2173         (vect_analyze_loop_with_symbolic_num_of_iters):
2174         (verify_loop_for_duplication):
2175         (vect_gen_niters_for_prolog_loop):
2176         (vect_update_niters_after_peeling):
2177         (vect_update_inits_of_dr):
2178         (vect_update_inits_of_drs):
2179         (vect_build_loop_niters):
2180         (vect_do_peeling_for_alignment): New functions.
2181         (vect_transform_loop): Add unknown and known but indivisible loop
2182         bound support; add peeling for unalignment support.
2183         (vect_analyze_loop_form): Support symbolic number of iterations.
2184         (vect_transform_loop_bound): New input parameter.
2185         (vect_get_loop_niters): Change input parameter type.
2186         (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
2187         (vectorizable_store): Allow unaligned access.
2188         (vectorize_loops): Add rewrite_into_loop_closed_ssa.
2189         (vect_analyze_data_refs_alignment): Allowed one unaligned
2190         store.
2191         * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
2192         to use tree.
2193         (LOOP_VINFO_INT_NITERS): New macro.
2194         (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2195         (do_peeling_for_alignment):
2196         (unaligned_drs): New members of _loop_vec_info.
2197         (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
2198
2199 2004-10-14  Ranjit Mathew  <rmathew@hotmail.com>
2200
2201         * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
2202         (struct tree_string): Remove "const" qualifier for "str".
2203
2204 2004-10-14  Ira Rosen  <irar@il.ibm.com>
2205
2206         * tree-vectorizer.c (vect_analyze_data_refs): Call
2207         vect_get_base_and_bit_offset to get memory tag for array ref.
2208         (vect_create_addr_base_for_vector_ref): Remove redundant checks.
2209
2210 2004-10-14  Richard Earnshaw  <rearnsha@arm.com>
2211
2212         * configure.ac: Use $LN_S for creating symlinks (not $LN).
2213         * configure: Regenerate.
2214
2215 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2216
2217         * doc/install.texi (*-*-solaris2*): Update with info about kernel
2218         patches to solve spurious testsuite failures.
2219
2220 2004-10-14  Dorit Naishlos  <dorit@il.bim.com>
2221
2222         * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
2223         Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
2224         (vect_analyze_operations): Make sure the vectorization factor > 1. Add
2225         gcc_assert under ENABLE_CHECKING.
2226         (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
2227         get_vectype_for_scalar_type).
2228
2229         (vect_get_vec_def_for_operand): Remove redundant variables.
2230         (vect_transform_loop): Likewise.
2231
2232 2004-10-14  Richard Sandiford  <rsandifo@redhat.com>
2233
2234         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
2235         global for -mcaller-super-interworking.
2236         (CALLER_INTERWORKING_SLOT_SIZE): New macro.
2237         * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
2238         CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
2239         not need a frame pointer.
2240         (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
2241         the soft frame pointer offset.
2242         (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
2243         * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
2244         _interwork_{r7,r11}_call_via_rN if some arguments are passed on
2245         the stack.  Use frame_pointer_needed to choose between them.
2246         * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
2247         (interwork_with_frame): New macro.
2248         (interwork): Add _interwork_{r7,r11}_call_via_rN().
2249
2250 2004-10-14  Ben Elliston  <bje@au.ibm.com>
2251
2252         PR other/17900
2253         * diagnostic.c (trim_filename): Fix logic bug in walking backwards
2254         up the filename looking for a previous directory separator.
2255
2256 2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
2257
2258         * c-tree.h (enum c_typespec_kind, struct c_typespec,
2259         parser_xref_tag): New.
2260         (struct c_declspecs): Add tag_defined_p.  Adjust definition of
2261         typedef_p.
2262         (declspecs_add_type): Adjust prototypes.
2263         * c-parse.in (%union): Add tstype.
2264         (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
2265         typespec_reserved_attr, typespec_nonreserved_nonattr,
2266         structsp_attr, structsp_nonattr): Change to tstype.  Update
2267         actions.
2268         * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
2269         (declspecs_add_type): Update to take struct c_typespec argument.
2270         Set tag_defined_p and typedef_p as appropriate.
2271         (xref_tag): Rename to parser_xref_tag and replace by wrapper.
2272         Update to return struct c_typespec.
2273         (shadow_tag_warned): Don't let empty declarations with qualifiers
2274         or storage class specifiers redeclare a tag if a previous
2275         declaration is visible.
2276
2277 2004-10-13  Richard Henderson  <rth@redhat.com>
2278
2279         PR debug/15860
2280         * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2281         for DECL_INCOMING_RTL.
2282
2283 2004-10-14  Hans-Peter Nilsson  <hp@axis.com>
2284
2285         PR target/17984
2286         * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
2287         trunc_int_for_mode for constants used in shortened mode.
2288
2289 2004-10-13  Richard Henderson  <rth@redhat.com>
2290
2291         PR c/17384
2292         * c-common.c (handle_mode_attribute): Disallow mode changes that
2293         alter the CODE of the top-level type.
2294
2295         * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
2296         integer from internal limits macros.
2297         * config/i386/mm3dnow.h (__v2sf): Fix base type.
2298
2299 2004-10-13  Richard Henderson  <rth@redhat.com>
2300
2301         PR debug/13841
2302         * function.c (instantiate_decl): Recurse for CONCAT.
2303
2304 2004-10-13  David Edelsohn  <edelsohn@gnu.org>
2305
2306         * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
2307         andi./andis.
2308         (anddi3): Same.
2309         (extzvdi_internal1): Add attribute "compare".
2310         (extzvdi_internal2): Same.
2311
2312 2004-10-12  Tom Tromey  <tromey@redhat.com>
2313
2314         * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
2315
2316 2004-10-13  Dale Johannesen  <dalej@apple.com>
2317
2318         * doc/extend.texi (Extended Asm):  Rewrite asm volatile description.
2319
2320 2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
2321
2322         * toplev.c (compile_file): Call mudflap_finish_file from here ...
2323         * c-decl.c (c_write_global_declarations): ... instead of here ...
2324         * cp/decl.c (cp_finish_file): ... and here.
2325         * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
2326
2327 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
2328
2329         * tree-ssa-dom.c (record_range): Free the element if we are not
2330         going to use it.
2331
2332 2004-10-13  Tom Tromey  <tromey@redhat.com>
2333
2334         PR java/15578:
2335         * gcc.c (option_map): Added --extdirs and --encoding.
2336
2337 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2338
2339         PR target/14454
2340         * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
2341         sparc_can_output_mi_thunk.
2342         (sparc_output_mi_thunk): Simplify handling of delta offset.  Add
2343         handling of vcall offset.
2344         (sparc_can_output_mi_thunk): New predicate.
2345         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
2346         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
2347         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
2348
2349         * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
2350
2351         * config/sparc/sparc.md (movdi): Remove redundant test.
2352
2353 2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
2354
2355         * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
2356         TDF_IPA from -fdump-tree-*-all.
2357
2358 2004-10-13  Paul Brook  <paul@codesourcery.com>
2359
2360         * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
2361         * config/arm/arm.c (thumb_find_work_register): Update comments.
2362         (arm_load_pic_register): Add argument for scratch register.
2363         (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
2364         * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
2365
2366 2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
2367
2368         * tree-data-ref.c: Fix comment typos.
2369
2370 2004-10-13  Jakub Jelinek  <jakub@redhat.com>
2371             Zdenek Dvorak  <dvorakz@suse.cz>
2372
2373         PR tree-optimization/17724
2374         * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
2375
2376 2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
2377
2378         * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
2379         (altivec_builtin_mask_for_store): Likewise.
2380         (altivec_init_builtins): Use lang_hooks.builtin_function to
2381         create the decls for builtin_altivec_mask_for_load/store.
2382
2383 2004-10-13  Nick Clifton  <nickc@redhat.com>
2384
2385         * config/c4x/c4x.c: Remove inclusion of loop.h.
2386
2387 2004-10-12  Ben Elliston  <bje@au.ibm.com>
2388
2389         * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
2390         (ei_container): New; renamed.
2391         (ei_start, ei_last): New macros.
2392         (ei_start_1, ei_last_1): Renamed from ei_start.
2393         (ei_last_1, ei_end_p): Use ei_container() where applicable.
2394         (ei_one_before_end_p, ei_next, ei_edge): Likewise.
2395         * gcse.c (remove_reachable_equiv_notes): Use ei_container().
2396
2397 2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
2398
2399         * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
2400         * cfgloop.c (initialize_loops_parallel_p): New.
2401         (flow_loops_find): Initialize the parallel_p field to true for all
2402         the loops.
2403         * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
2404         (estimate_numbers_of_iterations_loop): Infers the loop bounds from
2405         the size of the data accessed in the loop.
2406         (struct nb_iter_bound): Moved...
2407         * cfgloop.h (struct nb_iter_bound): ... here.
2408         (estimated_nb_iterations, parallel_p): New fields in struct loop.
2409         (record_estimate): Declare extern here.
2410         * tree-chrec.c: Fix comments.
2411         (nb_vars_in_chrec): New function.
2412         * tree-chrec.h (nb_vars_in_chrec): Declared here.
2413         * tree-data-ref.c: Don't include lambda.h, that is already included
2414         in tree-data-ref.h.
2415         (tree_fold_divides_p): Don't check for integer_onep.
2416         (tree_fold_bezout): Removed.
2417         (gcd): New static duplicated function.
2418         (int_divides_p, dump_subscript): New.
2419         (dump_data_dependence_relation): Use dump_subscript.
2420         (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
2421         estimate_niter_from_size_of_data): New.
2422         (analyze_array_indexes, analyze_array): Call
2423         estimate_niter_from_size_of_data during the detection of array
2424         references.  Pass in a pointer to the statement that contains the
2425         array reference.
2426         (all_chrecs_equal_p): New.
2427         (compute_distance_vector): Renamed compute_subscript_distance.
2428         Deal with multivariate conflict functions.
2429         (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
2430         DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
2431         (non_affine_dependence_relation): New.
2432         (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
2433         analyze_siv_subscript, analyze_miv_subscript,
2434         analyze_overlapping_iterations, subscript_dependence_tester):
2435         Initialize and return last_conflicts function.
2436         (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
2437         compute_overlap_steps_for_affine_1_2): New.
2438         (analyze_siv_subscript_affine_cst): Removed.
2439         (analyze_subscript_affine_affine): Disprove dependences based on the
2440         iteration domains.  Solve the univariate dependence case as before,
2441         but use lambda_matrix_right_hermite instead of tree_fold_bezout.
2442         Implement the multivariate case of 2 versus 1 variables.
2443         (build_classic_dist_vector, build_classic_dir_vector): Implement some
2444         unhandled cases.
2445         (find_data_references_in_loop): Compute and initialize
2446         loop->estimated_nb_iterations and loop->parallel_p.
2447         (analyze_all_data_dependences): Modify the debug dump order.
2448         * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
2449         subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
2450         (SUB_LAST_CONFLICT, subscript->last_conflict,
2451         data_dependence_relation->affine_p, data_dependence_relation->size_vect,
2452         DDR_AFFINE_P, DDR_SIZE_VECT): New.
2453         (find_data_references_in_loop, initialize_data_dependence_relation,
2454         dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
2455
2456 2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
2457
2458         * configure: Regenerate.
2459
2460 2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
2461
2462         PR 17892
2463         * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
2464         (simplify_rhs_and_lookup_avail_expr): Disallow associativity
2465         and constant folding of floating point MULT_EXPR/PLUS_EXPR
2466         expressions.
2467
2468 2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
2469
2470         * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
2471         (s390_gimplify_va_arg): Likewise.
2472
2473 2004-10-12  Daniel Jacobowitz  <dan@debian.org>
2474
2475         * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
2476         (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
2477         (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
2478         * regclass.c (record_address_regs): Remove ifdef.  Use
2479         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2480         * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
2481         definition.
2482         (scan_rtx_address, replace_oldest_value_addr): Use
2483         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2484         * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
2485         unnecessary definitions.
2486         (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
2487         and MODE_BASE_REG_REG_CLASS.
2488         * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
2489         (MODE_BASE_REG_REG_CLASS): Define.
2490         (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
2491         (REG_MODE_OK_FOR_REG_BASE_P): Define.
2492         * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
2493         REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
2494
2495 2004-10-12  Daniel Berlin <dberlin@dberlin.org>
2496
2497         * tree-ssa-alias.c (verify_name_tags): New function.
2498         (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
2499         (verify_alias_info): Call verify_name_tags.
2500
2501 2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
2502
2503         PR rtl-optimization/17931
2504         * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
2505         ZERO_EXTRACT in it.
2506
2507 2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
2508
2509         * arm.c (arm_print_operand): Use output_operand_lossage where possible
2510         rather than aborting.
2511
2512 2004-10-12  Paul Brook  <paul@coudesourcery.com>
2513
2514         * config.gcc: Add armv6{k,z,zk}
2515         * config/arm/arm-cores.def: Add arm1176 and mpcore.
2516         * config/arm/tune.md: Regenerate.
2517         * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
2518         Define.
2519         (all_architectures): Add armv6k, armv6z, armv6zk.
2520         * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
2521         * doc/invoke.texi: Document new arch and cpu values.
2522
2523 2004-10-12  Paul Brook  <paul@coodesourcery.com>
2524
2525         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
2526         meabi=4.
2527
2528 2004-10-12  Paul Brook  <paul@codesourcery.com>
2529
2530         * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
2531         Handle negative constants.
2532
2533 2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
2534
2535         PR c/17301
2536         * c-typeck.c (convert_arguments): Return error_mark_node if there
2537         are too few arguments.
2538         (build_function_call): Handle error_mark_node return from
2539         convert_arguments.
2540
2541 2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
2542
2543         * configure.ac (symbolic_link): Replace with $LN_S.
2544         (Assembler/Linker): Hard link from gas and binutils trees.
2545         * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
2546         * configure: Regenerate.
2547
2548 2004-10-12  Paul Brook  <paul@codesourcery.com>
2549
2550         * configure.ac: Don't look for host assembler when building a canadian
2551         cross.
2552         * configure: Regenerate.
2553
2554 2004-10-11  Roger Sayle  <roger@eyesopen.com>
2555
2556         PR other/17361
2557         * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
2558         (c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
2559         line options for "-lang-asm" and if found allow any of the C-family
2560         front-end options.
2561         (c_common_handle_option): Remove last use of permit_fortran_options.
2562
2563 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2564
2565         * config/s390/s390.c (print_operand): Support 'S' format flag.
2566         * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2567         ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2568         ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2569         ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2570         ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2571         ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2572         ("*movstricthi"): Likewise.
2573         ("*load_multiple_di", "*load_multiple_si"): Likewise.
2574         ("*store_multiple_di", "*store_multiple_si"): Likewise.
2575         ("*sethiqisi", "*sethihisi"): Likewise.
2576         ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2577         ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2578         ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2579         ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2580         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2581
2582         ("*tmhi_full"): Fix incorrect op_type attribute.
2583
2584         ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2585         ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2586         ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2587         ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2588
2589 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
2590
2591         PR middle-end/16266
2592         * function.c (temp_slots_at_level): Fix typo which creates too
2593         many temp stack slots levels.
2594
2595 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2596
2597         * config/s390/s390.c (s390_trampoline_template): Generate shorter
2598         trampoline code.
2599         (s390_trampoline_instantiate): Adapt.
2600         * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2601
2602 2004-10-11  Roger Sayle  <roger@eyesopen.com>
2603
2604         PR middle-end/17657
2605         * stmt.c (add_case_node): Add additional type argument.  Declare
2606         as static to match prototype.  Convert the upper and lower bounds
2607         to the specified index type.  Optimize away case ranges/values
2608         that are outside the index type's bounds.  Truncate case ranges
2609         that span the index type's bounds.
2610         (expand_case): Avoid unnessary computation and memory allocation
2611         when index type is error_mark_node.  Pass index_type as required
2612         by change to add_case_node API.  No need to convert case range
2613         bounds to index_type, this is now done by add_case_node.
2614
2615 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2616
2617         * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2618         * config/s390/s390.c (s390_offset_p): New function.
2619         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2620         "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2621         transform Q->Q alternatives to *clc pattern.
2622         ("*clc"): Move.
2623         ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2624         "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2625         to transform Q->Q alternatives to *mvc pattern.
2626         ("*mvc"): Move.  Add peephole to merge adjacent MVCs.
2627         ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
2628         "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
2629         transform Q->Q alternatives to *nc pattern.
2630         ("*nc"): New insn.  New peephole to merge adjacent NCs.
2631         ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
2632         "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
2633         transform Q->Q alternatives to *oc pattern.
2634         ("*oc"): New insn.  New peephole to merge adjacent OCs.
2635         ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
2636         transform Q->Q alternatives to *xc pattern.
2637         ("*xc"): New insn.  New peephole to merge adjacent XCs.
2638         ("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
2639
2640 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
2641
2642         * gimplify.c (gimple_push_condition): Make sure that we don't
2643         have any saved condition cleanup if we were at the top level.
2644
2645 2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
2646
2647         * config/frv/frv.md (*adddi3_internal): Change name to...
2648         (adddi3): ...replacing the exisiting define_expand.  Combine
2649         alternatives.  Fix the range of the constant constraints ('J' instead
2650         of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
2651         to extract the lower and upper halves of the DImode operands.
2652         Always use addi3_lower and adddi3_upper, not the subdi3 forms.
2653         (adddi3_lower): Fix the range of the constant constraints and
2654         remove the bogus operands[2] check.
2655         (adddi3_upper): Use gpr_or_int10_operand as the predicate for
2656         operand 2.  Use addxi to handle constant operands.
2657         (subdi3_lower, subdi3_upper): Don't handle constant operands.
2658
2659 2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
2660
2661         * gengtype-lex.l: Add commented } & ) characters to unconfuse
2662         editor's paren matching. Allow #define inside a struct.
2663
2664 2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
2665
2666         PR middle-end/17703
2667         part of PR c++/17657
2668         * fold-const.c (fold_build_cleanup_point_expr): New function.
2669         * tree.h (fold_build_cleanup_point_expr): Prototype.
2670
2671 2004-10-10  Eric Christopher  <echristo@redhat.com>
2672
2673         * dwarf2out.c: Move attribute to subprogram declaration
2674         instead of subroutine type.
2675
2676 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
2677
2678         * basic-block.h: Remove the prototypes for can_hoist_insn_p,
2679         hoist_insn_after, and hoist_insn_to_edge.
2680         * rtl.h: Remove the prototypes for reg_referenced_between_p,
2681         no_jumps_between_p, and insn_dependent_p.
2682         * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
2683         insn_dependent_p, insn_dependent_p_1, hoist_test_store,
2684         can_hoist_insn_p, hoist_update_store, hoist_insn_after,
2685         hoist_insn_to_edge): Remove.
2686
2687 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2688
2689         PR c/17881
2690         * c-decl.c (grokparms): Don't warn for parameters of incomplete
2691         type in declarations that are not definitions except for the case
2692         of parameters of void type.
2693
2694 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
2695
2696         * tree-cfg.c: Fix comment typos.
2697
2698 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2699
2700         PR c/17301
2701         * builtins.c (expand_builtin_va_start): Check for too few
2702         arguments to va_start.
2703
2704 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2705
2706         PR c/17189
2707         * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
2708         fields a pedwarn.  Pedwarn here for unnamed structs/unions if
2709         pedantic.
2710         * c-parse.in (component_decl): Don't pedwarn here for unnamed
2711         fields.
2712
2713 2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
2714
2715         PR tree-optimization/17906
2716         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
2717         copy non-gimple reg arguments.
2718
2719 2004-10-09  Roger Sayle  <roger@eyesopen.com>
2720
2721         PR rtl-optimization/17853
2722         * simplify-rtx.c (simplify_relational_operation): Correct comment.
2723         Reorganize handling of comparison operations with floating point
2724         results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
2725         Likewise, introduce support for comparison operations with vector
2726         result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
2727
2728         * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
2729         * doc/tm.texi: Likewise.
2730
2731 2004-10-09  Steven Bosscher  <stevenb@suse.de>
2732
2733         * regs.h (struct reg_info_def): Remove the last_node_uid and
2734         changes_mode fields.
2735         (REGNO_LAST_NOTE_UID): Don't define.
2736         * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
2737         * regmove.c (copy_src_to_dest): Likewise.
2738
2739 2004-10-09  Roger Sayle  <roger@eyesopen.com>
2740
2741         PR middle-end/17894
2742         * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
2743         relational comparison operator op needs to be swapped/reversed when
2744         C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
2745
2746 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2747
2748         PR tree-opt/17902
2749         * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
2750         instead of bsi_start.
2751         (value_replacement): Likewise.
2752         (abs_replacement): Likewise
2753
2754 2004-10-09  Steven Bosscher  <stevenb@suse.de>
2755
2756         * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
2757         (expand_gimple_cond_expr, expand_gimple_tailcall,
2758         expand_gimple_basic_block): Use it to dump RTL for each stmt.
2759         (tree_expand_cfg): Announce full RTL function dump.
2760         * tree-optimize.c (execute_one_pass): Use normal RTL printing,
2761         not the graph version.
2762         * tree-pretty-print.c (dump_generic_node): Allow empty statements
2763         in the arms of a COND_EXPR for lowered nodes.
2764
2765 2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
2766
2767         * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
2768         atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
2769         strtoufix16, strtoufix32, strtoufix64): Declare.
2770
2771 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2772
2773         * c-lex.c (interpret_float): Give a pedwarn rather than a warning
2774         for an out-of-range floating point constant.
2775         * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
2776         warning if the target format does not support infinities.
2777
2778 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2779
2780         * emit-rtl.c (last_label_num, base_label_num): Remove.
2781         (max_label_num): Always return label_num.
2782         (set_new_last_label_num, restore_emit_status): Remove.
2783         (init_emit): Don't initialize last_label_num.
2784         * function.c (pop_function_context_from): Don't call
2785         restore_emit_status.
2786         * function.h: Remove the prototype for restore_emit_status.
2787         * rtl.h: Remove the prototype for set_new_last_label_num.
2788
2789 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2790
2791         * stmt.c (expand_decl_init): Remove.
2792         * tree.h: Remove the corresponding prototype.
2793
2794 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2795
2796         * integrate.c (try_constants, subst_constants, mark_stores):
2797         Remove.
2798         * integrate.h: Remove the prototype for try_constants.
2799
2800 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2801
2802         * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
2803         (convert_for_assignment): Handle ic_argpass_nonproto.  Add
2804         comments about its relevance to errors.
2805         (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
2806
2807 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2808
2809         PR c/16999
2810         * c-ppoutput.c (cb_ident): Don't quote string as it is already
2811         quoted.
2812
2813 2004-10-08  Diego Novillo  <dnovillo@redhat.com>
2814
2815         * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
2816         reference_node_pool.
2817
2818 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2819
2820         * tree-cfg.c: Fix a comment typo.
2821
2822 2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
2823
2824         * config/s390/s390.c (s390_register_info): Don't save fprs for
2825         -msoft-float.
2826         (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
2827
2828 2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
2829
2830         * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
2831         (TARGET_DEFAULT): Use symbolic values.
2832         * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
2833         (TARGET_DEFAULT): Use symbolic values.
2834         * config/s390/s390.c (s390_backchain_string): Initialize to
2835         TARGET_DEFAULT_BACKCHAIN.
2836
2837 2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2838
2839         * builtins.c (expand_builtin_mempcpy): Move tree handling code to
2840         fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
2841         code.
2842         (expand_builtin_strcat): Accept a type parameter.
2843         (fold_builtin_mempcpy): Accept a type and endp parameter.
2844
2845         * builtins.c (expand_builtin_strncpy): Delete duplicate code.
2846         Accept an `exp' instead of an `arglist'.
2847
2848 2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
2849
2850         * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
2851         reverting my 2004-09-07 patch to use build_int_cst.
2852
2853 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2854
2855         PR target/17245
2856         * config/sparc/sparc.c (input_operand): Remove redundant code
2857         for handling LO_SUM.
2858         (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
2859         <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
2860         Otherwise only accept it for TFmode if quad move insns are available.
2861
2862 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2863
2864         * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
2865         common cases will be caught earlier than others.
2866
2867 2004-10-08  Michael Matz  <matz@suse.de>
2868
2869         * loop-doloop.c (doloop_optimize): Extend count.
2870
2871 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2872
2873         * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
2874         (prefetch): Convert to expander.
2875
2876 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2877
2878         * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
2879         first argument of CALL.
2880         (tls_local_dynamic): Likewise.
2881
2882 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2883
2884         * c-typeck.c (enum impl_conv): New.
2885         (convert_for_assignment): Use it.  Take tree for function called
2886         instead of its name.  Handle ObjC selectors for diagnostics at
2887         start of function.  Select diagnostic text within the function
2888         using full sentences for diagnsotics.  Use %qE to name functions
2889         in diagnostics.
2890         (convert_arguments, build_modify_expr,
2891         c_convert_parm_for_inlining, digest_init, c_finish_return): Update
2892         callers to convert_for_assignment.
2893         (warn_for_assignment): Remove.
2894
2895 2004-10-08  Nick Clifton  <nickc@redhat.com>
2896
2897         * config/sh/symbian.c (symbian_possibly_export_base_class):
2898         Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2899         TYPE_CONTAINS_VPTR_P.
2900
2901 2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2902
2903         * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2904         fixed registers form all_used_regs. Update call_really_used_regs.
2905         (CALL_REALLY_USED_REGISTERS): Define.
2906         * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2907         with call_really_used_regs.
2908
2909 2004-10-08  Alan Modra  <amodra@bigpond.net.au>
2910
2911         * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2912         for -profile as well as -p and -pg.
2913
2914 2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
2915
2916         * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2917
2918 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2919
2920         * tree-cfg.c (tree_block_forwards_to): Remove.
2921         * tree-flow.h: Remove the corresponding prototype.
2922
2923 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2924
2925         * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2926         for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2927
2928 2004-10-07  Geoffrey Keating  <geoffk@apple.com>
2929
2930         Radar 3813796
2931         * config/rs6000/rs6000.c (rs6000_generate_compare): When
2932         flag_trapping_math is in effect, don't generate subtract
2933         instructions.
2934
2935 2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
2936
2937         * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2938         * config/s390/s390.c (s390_narrow_logical_operator): New function.
2939         (s390_extra_constraint_str): Add 'A' constraints.
2940         (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2941         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2942         (CONSTRAINT_LEN): Likewise.
2943         * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2944         ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2945         ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2946         ("*iordi3"): Add OI alternative and splitter.
2947         ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2948         ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2949         ("*xordi3"): Add XI alternative and splitter.
2950         ("*xorsi3", "*xorhi3"): Likewise.
2951
2952 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2953
2954         * config/mips/mips.c (mips_function_rodata_section): New function.
2955         (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2956
2957 2004-10-07  Devang Patel  <dpatel@apple.com>
2958
2959         * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2960         UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2961         UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2962         UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2963         UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2964         UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2965         UNSPEC_VCONDU_V16QI): New constant defines.
2966         (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2967         vconduv16qi): New patterns.
2968         * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2969         * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2970         (get_vec_cmp_insn): Same.
2971         (get_vsel_insn): Same.
2972         (rs6000_emit_vector_compare): Same.
2973         (rs6000_emit_vector_select): Same.
2974         (INSN_NOT_AVAILABLE): New.
2975
2976 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
2977
2978         PR tree-optimization/17749
2979         * tree-tailcall.c (find_tail_calls): Check that parameter is
2980         a gimple_reg.
2981
2982 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2983
2984         * config/ia64/ia64.c: Fix a comment typo.
2985
2986 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2987
2988         * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2989
2990 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2991
2992         PR c++/17115
2993         * tree-inline.c (expand_call_inline): Do not warn for functions
2994         marked with attribute noinline.
2995
2996 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2997
2998         PR target/17862
2999         * config/sparc/sparc.c (sparc_output_mi_thunk): Set
3000         current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
3001
3002         * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
3003         of 0 as 4th argument to pass_by_reference.
3004         Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
3005
3006 2004-10-06  Eric Christopher  <echristo@redhat.com>
3007
3008         * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
3009         attribute.
3010
3011 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
3012
3013         PR target/17770
3014         * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
3015
3016 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
3017
3018         PR rtl-optimization/17791
3019         * loop-doloop.c (doloop_modify): Take number of iterations as
3020         argument.
3021         (doloop_optimize): Extend or shorten the number of iterations
3022         when changing mode of counter register.
3023         * loop-iv.c (lowpart_subreg): Export.
3024         * rtl.h (lowpart_subreg): Declare.
3025
3026 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
3027
3028         PR tree-optimization/17806
3029         * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
3030         * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
3031         flags moved to split_edge.
3032
3033 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3034
3035         PR middle-end/17835
3036         * expmed.c (expand_sdiv_pow2): Force a stack adjustment
3037         before tentatively building the conditional move sequence.
3038
3039 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
3040
3041         PR target/16815
3042         * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
3043         check.
3044         * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
3045         function_arg_padding.
3046
3047 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
3048
3049         PR bootstrap/17857
3050         * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
3051
3052 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
3053
3054         * hooks.c (hook_int_void_1, hook_void_int): Remove.
3055         * hooks.h: Remove the corresponding prototypes.
3056
3057 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
3058
3059         PR middle-end/17849
3060         * tree-nested.c (walk_stmt_info): Add changed field.
3061         (convert_nonlocal_reference): Set changed to when we
3062         change a decl to unnested decl.
3063         <case ADDR_EXPR>: Instead of checking if the immediate part
3064         of the ADDR_EXPR changed, check the field changed.
3065         Use recompute_tree_invarant_for_addr_expr instead of unsetting
3066         TREE_INVARIANT.
3067         (convert_local_reference):  Set changed to when we
3068         change a decl to unnested decl.
3069         <case ADDR_EXPR>: Instead of checking if the immediate part
3070         of the ADDR_EXPR changed, check the field changed.
3071         Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
3072
3073 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
3074
3075         * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3076         * dwarf2out.c (dwarf2out_init): Remove references to
3077         DWARF2_GENERATE_TEXT_SECTION_LABEL.
3078         * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
3079         * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3080
3081 2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
3082
3083         * c-typeck.c (convert_arguments): Take expression for called
3084         function rather than its name.  Handle ObjC selectors directly
3085         rather than relying on warn_for_assignment to do so.  Call warning
3086         directly rather than warn_for_assignment.  Use %qE in diagnostics.
3087         Say "argument" rather than "arg" in diagnostics.
3088         (build_function_call): Update call to convert_arguments.
3089
3090 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
3091
3092         PR debug/17787
3093         * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
3094         ENUMs specially instead of just saying we do.
3095
3096 2004-10-06  Eric Christopher  <echristo@redhat.com>
3097
3098         * dwarf2.h: Sync with include/elf/dwarf2.h
3099
3100 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3101
3102         * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
3103         and TREE_VEC nodes.
3104
3105 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3106
3107         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
3108         to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
3109
3110 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3111
3112         * lambda-code.c (compute_nest_using_fourier_motzkin): New
3113         function.
3114         (lambda_compute_auxillary_space): Split from here.
3115
3116 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
3117
3118         * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
3119         * tree-flow.h: Add prototype.
3120         * lambda-code.c (invariant_in_loop_and_outer_loops): Use
3121         expr_invariant_in_loop.
3122
3123 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
3124
3125         * tree-cfg.c (thread_jumps): Remove a duplicate check for
3126         EXIT_BLOCK_PTR.
3127
3128 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3129
3130         * config/s390/s390-protos.h (s_imm_operand): Remove.
3131         (s390_pool_operand): Add prototype.
3132         * config/s390/s390.c (general_s_operand): Remove.
3133         (s_imm_operand): Remove.
3134         (s_operand): Merge contents of general_s_operand.
3135         (s390_pool_operand): New function.
3136         * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
3137         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
3138         ("*cmpdi_ccu"): Merge Q->Q alternative.
3139         ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
3140         ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
3141         ("*cli"): Remove.
3142         ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
3143         ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
3144         ("*movstricthi"): Use memory_operand instead of s_imm_operand.
3145
3146 2004-10-06  Steve Ellcey  <sje@cup.hp.com>
3147
3148         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
3149         call ia64_function_arg_boundary.
3150         * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
3151         * config/ia64/ia64.c (ia64_function_arg_boundary): New.
3152         (ia64_function_arg_advance): Do not put 128 bit floats into
3153         FP registers.
3154
3155 2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3156
3157         * builtins.c (expand_builtin_strcpy): Delete duplicate code.
3158         Accept an expression instead of an arglist.
3159         (expand_builtin_stpcpy): Accept an expression instead of an
3160         arglist.
3161
3162 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3163
3164         PR target/16007
3165         * doc/install.texi (*-*-solaris2*): Mention potential problem
3166         with Sun assembler + GNU linker and C++ programs.
3167         Document status of binutils 2.15 release.
3168
3169 2004-10-06  Jan Hubicka  <jh@suse.cz>
3170
3171         * cse.c (cse_main): Kill push/pop context.
3172
3173 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
3174
3175         * pretty-print.c: Include tree.h.
3176         (pp_base_prepare_to_format): New function, logic from
3177         text_specifies_location.
3178         (pp_base_format_text): Use gcc_assert.
3179         * pretty-print.h (pp_prepare_to_format): New macro.
3180         (pp_base_prepare_to_format): Prototype.
3181         * diagnostic.c (text_specifies_location): Delete.
3182         (bug_report_request): Delete.
3183         (diagnostic_set_info): Don't call text_specifies_location.
3184         (diagnostic_action_after_output): Put text from
3185         bug_report_request inline here.  Use gcc_unreachable.
3186         (diagnostic_report_current_function): Fix comment.
3187         (diagnostic_report_diagnostic): Clarify logic for error recursion.
3188         Call pp_prepare_to_format before diagnostic_starter.
3189         (trim_filename): Use IS_DIR_SEPARATOR.
3190         (fatal_error, internal_error): Use gcc_unreachable.
3191         (error_recursion): Call diagnostic_action_after_output to
3192         issue the bug_report_request message and exit.
3193         * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
3194
3195         * c-parse.in: Add list of diagnostic messages to insulate
3196         translation template from version of yacc/bison used to
3197         compile the grammar.
3198
3199 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
3200
3201         PR 16406
3202         * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
3203
3204 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3205
3206         * basic-block.h: Remove the prototype for
3207         flow_preorder_transversal_compute.
3208         * cfganal.c (dfst_node): Remove.
3209         (flow_preorder_transversal_compute): Likewise.
3210         * rtl.h: Remove the prototype for get_jump_table_offset.
3211         * rtlanal.c (get_jump_table_offset): Remove.
3212
3213 2004-10-05  Richard Henderson  <rth@redhat.com>
3214
3215         PR 17756
3216         * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
3217
3218 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
3219
3220         PR bootstrap/17817
3221         * Makefile.in: Stage the build directory too.
3222
3223 2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
3224
3225         * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
3226
3227         * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
3228         (frv_emit_move): Same.
3229
3230         * config/frv/frv.c (frv_emit_move): New.
3231         (frv_legitimize_address): New.
3232
3233         * config/frv/frv.md ("movsi"): Call frv_emit_move.
3234         ("movqi"): Same.
3235         ("movhi"): Same.
3236         ("movdi"): Same.
3237         ("movsf"): Same.
3238         ("movdf"): Same.
3239
3240 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3241
3242         * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
3243         system headers.
3244
3245 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3246
3247         * c-decl.c (pushdecl): When an extern declaration at block scope
3248         refers to a visible entity with internal linkage, use the old DECL
3249         rather than the new one.
3250
3251 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3252
3253         * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
3254         comments.
3255
3256 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3257
3258         * tree-cfg.c (thread_jumps): Remove a duplicate check for
3259         an infinite loop.
3260
3261 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3262
3263         * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
3264         of FOR_BB_BETWEEN.  Remove a useless check for unreachable
3265         blocks.
3266
3267 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3268
3269         * tree-cfg.c (cleanup_tree_cfg): Don't call
3270         delete_unreachable_blosk() after thread_jumps().
3271         (thread_jumps): Always remove basic blocks as they become
3272         unreachable.
3273
3274 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3275
3276         * tree-cfg.c (cleanup_tree_cfg): Remove variable
3277         something_changed.  Simplify the while loop.
3278
3279 2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3280
3281         * builtins.c (expand_builtin_memmove): Delete duplicate code
3282         and accept a tree type for the result.
3283         (expand_builtin_bcopy): Accept a tree type for the result.
3284         (fold_builtin_memmove): Accept an arglist and tree type for
3285         the result.
3286
3287 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
3288
3289         * config/s390/s390.c (s390_dump_pool): Remove return value.
3290         Use gen_pool_align, gen_pool_section_start/end instead of
3291         gen_pool_start/end_31/64.
3292         * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
3293         (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
3294         ("pool_start_31", "pool_end_31"): Remove.
3295         ("pool_start_64", "pool_end_64"): Likewise.
3296         ("pool_align", "pool_section_start", "pool_section_end": New insns.
3297
3298         * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
3299         (TARGET_CANNOT_COPY_INSN_P): Define.
3300         (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
3301         (struct constant_pool): New member 'execute'.
3302         (s390_add_execute, s390_find_execute): New functions.
3303         (s390_execute_label, s390_execute_target): Likewise.
3304         (s390_dump_pool): Output in-pool execute target templates.
3305         (s390_dump_execute): New function.
3306         (s390_alloc_pool, s390_free_pool): Handle execute templates.
3307         (s390_mainpool_start, s390_mainpool_finish): Likewise.
3308         (s390_chunkify_start, s390_chunkify_finish): Likewise.
3309         * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
3310         ("*execute"): New insn pattern.
3311         ("movmem_short", "*movmem_short"): Use splitters to generate
3312         explicit execute pattern, remove embedded execute.
3313         ("clrmem_short", "*clrmem_short"): Likewise.
3314         ("cmpmem_short", "*cmpmem_short"): Likewise.
3315
3316 2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
3317
3318         * tree-ssa.c (verify_ssa): Verify phi arguments only
3319         contain renamed names.
3320
3321 2004-10-05  Alan Modra  <amodra@bigpond.net.au>
3322
3323         * config/rs6000/linux.h: Formatting, whitespace.
3324         * config/rs6000/linux64.h: Likewise.
3325         * config/rs6000/rs6000-protos.h: Likewise.
3326         * config/rs6000/rs6000.c: Likewise.
3327         (easy_vector_splat_const): Add fall thru comments.
3328         (output_vec_const_move): Likewise.
3329
3330 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
3331
3332         * Makefile.in: Update -Wno-error exceptions for move to build dir.
3333
3334 2004-10-05  Chao-Ying Fu  <fu@mips.com>
3335             Richard Sandiford  <rsandifo@redhat.com>
3336
3337         * doc/invoke.texi (-mpaired-single): Link to the new description of the
3338         built-in functions.  Document dependencies.
3339         (-mips3d): Add link here too.
3340         * doc/extend.texi (MIPS Paired-Single Support): New section.
3341
3342 2004-10-04  Chao-ying Fu  <fu@mips.com>
3343
3344         * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
3345
3346 2004-10-04  Diego Novillo  <dnovillo@redhat.com>
3347
3348         * tree-ssa-dom.c (tree_ssa_dominator_optimize):
3349         Initialize OPT_STATS to 0.
3350
3351 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
3352
3353         * tree-data-ref.c: Fix comment typos.
3354
3355 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
3356
3357         * tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
3358         the predicate cannot be computed, don't initialize the result to
3359         false.
3360
3361 2004-10-01  Eric Christopher  <echristo@redhat.com>
3362
3363         * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
3364         locally defined enum.
3365         * dwarf2out.c (add_calling_convention_attribute): Don't
3366         emit DW_CC_normal.
3367
3368 2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
3369
3370         PR c/17178, PR c/17820
3371         * c-decl.c (pop_scope): Do not warn about unused static
3372         variables as they warned in the middle-end.
3373
3374 2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3375
3376         * builtins.c (expand_builtin_memcpy): Delete duplicate code
3377         and make the first parameter the expression not the arglist.
3378
3379 2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
3380
3381         * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
3382         as valid modes to expand address expressions.
3383
3384 2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
3385
3386         * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
3387         c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
3388         c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
3389         code formatting conventions.
3390
3391 2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
3392
3393         * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
3394
3395 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
3396
3397         PR tree-optimization/16632
3398         * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
3399         fold (A & C) == D into 0, fold ~C.  Similarly, for the case
3400         where | is used instead of &.
3401
3402 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
3403
3404         * ginclude/stddef.h: Fix a comment typo.
3405
3406 2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3407
3408         PR target/17443
3409         * config.gcc (i?86-*-solaris2*): Restore correct logic
3410         for --enable-threads option.
3411         (sparc64-*-solaris2*): Likewise.
3412         (sparc-*-solaris2*): Likewise.
3413
3414 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
3415
3416         * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
3417         (OS_MISSING_POWERPC64): Move, and comment.
3418         * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
3419         (OS_MISSING_POWERPC64): Move, and comment.
3420
3421 2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
3422
3423         * arm.c (output_call_mem): Add missing \t.
3424
3425 2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3426
3427         * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
3428         expand_builtin_strncmp): Delete duplicate code.
3429
3430 2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
3431
3432         * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
3433         take check-base and -limit arguments.
3434         (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
3435         check ranges for ARRAY_REF and COMPONENT_REF.
3436         (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
3437         instrumentation.
3438
3439 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
3440
3441         * c-objc-common.c (c_tree_printer): Correct description of %E.
3442         Don't fall through after printing an expression.
3443
3444 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
3445
3446         * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
3447
3448 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
3449
3450         * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
3451         delete_unrechable_blocks() only when necessary.
3452
3453 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
3454
3455         * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
3456         (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
3457         (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
3458         __gthread_recursive_mutex_unlock): New functions.
3459
3460 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
3461
3462         * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
3463         * config/s390/tpf-eh.c: Remove file.
3464         * config/s390/tpf-unwind.h: New file.
3465         * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
3466         (MD_UNWIND_SUPPORT): Define.
3467
3468 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
3469
3470         * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
3471
3472 2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
3473
3474         * config/s390/s390-protos.h (s390_comparison): Add prototype.
3475         * config/s390/s390.c (s390_comparison): New function.
3476         (s390_branch_condition_mask): Return -1 for invalid comparisons.
3477         (s390_branch_condition_mnemonic): Assert valid comparison.
3478         * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
3479         * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
3480         "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
3481         s390_comparison instead of comparison_operator.
3482
3483         * config/s390/s390.md (UNSPEC_CMPINT): New constant.
3484         ("cmpmemdi"): Remove.
3485         ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
3486         ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
3487         ("cmpint_si"): Rename to ...
3488         ("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
3489         ("cmpint_di", "*cmpint_di"): Likewise.
3490         * config/s390/s390.c (s390_canonicalize_comparison): Remove
3491         redundant UNSPEC_CMPINT conversions.
3492         (s390_expand_cmpmem): Adapt to cmpint pattern changes.
3493
3494 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
3495
3496         * collect2.c (COLLECT_PARSE_FLAG): Remove.
3497         (main): Remove a reference to COLLECT_PARSE_FLAG
3498         * system.h: Poison COLLECT_PARSE_FLAG.
3499