OSDN Git Service

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