OSDN Git Service

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