OSDN Git Service

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