OSDN Git Service

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