OSDN Git Service

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