OSDN Git Service

26597bb1aafe9c7590b96bddf8ed7cf7b7cdad0d
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
2
3         PR tree-optimization/24483
4         * tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
5         field to elts if possible.
6
7 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
8
9         PR middle-end/23155
10         * gimplifier.c (gimplify_expr): Create a temporary for lvalue
11         CONSTRUCTOR.
12
13 2005-11-03  Daniel Berlin  <dberlin@dberlin.org>
14
15         Fix PR tree-optimization/24351
16
17         * tree-ssa-structalias.c (struct variable_info): Add
18         collapsed_into.
19         (get_varinfo_fc): New function to follow collapsing.
20         (new_var_info): Set collapsed_to to NULL.
21         (dump_constraint): Follow collapsing.
22         (build_constraint_graph): Handle collapsing.
23         (do_simple_structure_copy): Return false if something bad
24         happened.
25         (collapse_rest_of_var): New function.
26         (do_structure_copy): Collapse if do_simple_structure_copy returns
27         false.
28         
29 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
30
31         PR middle-end/24589
32         * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
33         expressions to a statement list instead of gimplifying them.
34
35 2005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
36
37         PR rtl-optimization/23585
38         * rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
39         that can't trap plus a constant integer, if the mode has zero size.
40
41 2005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
42
43         PR target/24620
44         * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
45         as operand 2.
46         ("*insv<mode>_reg_extimm"): Likewise.
47
48 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
49
50         PR c/24329
51         * c-pretty-print.c (pp_c_type_specifier): Do not recurse if
52         c_common_type_for_mode returns an unnamed type.
53
54 2005-11-02  Richard Henderson  <rth@redhat.com>
55
56         PR target/9350
57         PR target/24374
58         * dwarf2out.c (dwarf2out_reg_save_reg): New.
59         (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
60         * function.c (assign_parms): Use calls.internal_arg_pointer.
61         (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
62         code.
63         * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
64         (TARGET_CALLS): Add it.
65         * target.h (struct gcc_target): Add calls.internal_arg_pointer.
66         * targhooks.c (default_internal_arg_pointer): New.
67         * targhooks.h (default_internal_arg_pointer): Declare.
68         * tree.h (dwarf2out_reg_save_reg): Declare.
69         * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
70         * config/i386/i386.c (dbx_register_map): Add return column.
71         (dbx64_register_map, svr4_dbx_register_map): Likewise.
72         (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
73         (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
74         (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
75         (ix86_save_reg): Save force_align_arg_pointer.
76         (ix86_emit_save_regs): Make regno unsigned.
77         (ix86_emit_save_regs_using_mov): Likewise.
78         (ix86_expand_prologue): Handle force_align_arg_pointer.
79         (ix86_expand_epilogue): Likewise.
80         * config/i386/i386.h: (dbx_register_map): Update.
81         (dbx64_register_map, svr4_dbx_register_map): Update.
82         (struct machine_function): Add force_align_arg_pointer.
83         * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
84         (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
85         (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
86
87 2005-11-02  Jan Hubicka  <jh@suse.cz>
88
89         PR target/23303
90         * i386.md: Add peep2 for simplyfing array accesses.
91
92 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
93
94         PR target/24615
95         * config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
96         * config/s390/s390.c (s390_decompose_shift_count): New function.
97         (s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
98         (print_shift_count_operand): Use s390_decompose_shift_count.
99         * config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
100         Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
101
102 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
103
104         PR target/24600
105         * loop.c (loop_givs_rescan): Use force_operand to expand
106         complex GIVs.
107
108 2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
109
110         PR 22429
111         * fold-const.c (build_range_check): Use unsigned when signed
112         overflow is undefined also.  If etype is subtype, make sure that
113         the subtraction is in the supertype.
114
115 2005-11-02  Richard Henderson  <rth@redhat.com>
116
117         PR target/24178
118         * config/alpha/alpha.c (get_aligned_mem): Honor alignment given
119         by MEM_ALIGN.
120
121 2005-11-01  Richard Henderson  <rth@redhat.com>
122
123         PR 21518
124         * loop.c (scan_loop): Do not propagate computations to a hard
125         register destination with SMALL_REGISTER_CLASSES.
126
127 2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
128
129         * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
130         costs for MULT inside PLUS or MINUS.
131
132 2005-11-01  Bob Wilson  <bob.wilson@acm.org>
133
134         * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
135         (TRAMPOLINE_SIZE): Round up to 60.
136         * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
137
138 2005-10-31  James E. Wilson  <wilson@specifix.com>
139
140         PR debug/24444
141         * dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
142         ifdef.  Put ifdefs around call in gen_subprogram_die.
143         (compute_frame_pointer_to_cfa_displacement): Likewise.
144         (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
145         not defined.
146         
147         PR rtl-optimization/17356
148         *  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
149         add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
150
151 2005-10-31  Jan Hubicka  <jh@suse.cz>
152
153         PR middle-end/24093
154         * cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
155
156         PR target/20928
157         * i386.c (legitimize_pic_address): Deal with large immediates.
158
159         PR profile/20815
160         * coverage.c (coverage_checksum_string): Fix code to stip random seeds
161         from symbol names while computing checkup.
162
163         PR profile/24487
164         * predict.c (predict_loops): Do not estimate more than
165         MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
166         * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
167
168 2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
169         
170         PR tree-optimization/19097
171         * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
172
173 2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
174
175         * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
176
177 2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
178
179         PR middle-end/23492
180         * tree-inline.c (setup_one_parameter): If the init_stmt
181         is NULL, don't insert the statement.
182
183 2005-10-30  Jan Hubicka  <jh@suse.cz>
184
185         PR tree-optimization/24172
186         * tree-inline.c (copy_body_r): Unshare the substituted value first.
187
188 2005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
189
190         * config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
191         constants for hosts with long != 32 bits.
192
193 2005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
194
195         PR middle-end/24093
196         * ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
197
198 2005-10-28  Aldy Hernandez  <aldyh@redhat.com>
199
200         * config/ms1/ms1.h (TARGET_MS1_64_001): New.
201         (TARGET_MS1_16_002): New.
202         (TARGET_MS1_16_003): New.
203
204         * config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
205         ("*decrement_and_branch_until_zero_no_clobber"): New.
206         Add corresponding splitter for decrement_and_branch_until_zero
207         instruction.
208         Key all decrement_and_branch_until_zero patterns off of
209         TARGET_MS1_16_003.
210
211 2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
212
213         PR middle-end/24362
214         * tree-complex.c (extract_component): Treat RESULT_DECL
215         like the rest of the decls.
216
217 2005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
218
219         * config/ia64/ia64.c (ia64_output_function_profiler): Emit an
220         indirect call to _mcount if the function needs a static chain.
221
222 2005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
223             Caroline Tice  <ctice@apple.com>
224
225         PR rtl-optimization/24460
226         * dwarf2out.c (have_switched_text_sections): New boolean variable.
227         (dwarf2out_switch_text_section): Set it to true instead of
228         incrementing separate_line_info_table_in_use.
229         (output_loc_list): Additionally test have_switched_text_sections.
230         (output_ranges): Likewise.
231         (dwarf2out_finish): Likewise.
232         * varasm.c (assemble_start_function): Do not call
233         insert_section_boundary_note.
234         (assemble_end_function): If flag_reorder_blocks_and_partition,
235         switch to the function's section before emitting the .size directive.
236         * bb-reorder.c (insert_section_boundary_note): Staticify.
237         (rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
238         * output.h (insert_section_boundary_note): Delete.
239
240 2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
241
242         PR c/23103
243         * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
244         instead of pointer equality when comparing types.
245
246 2005-10-24  James E. Wilson  <wilson@specifix.com>
247
248         * sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
249         add_dependence_list_and_free calls.
250
251 2005-10-24  Steven Bosscher  <stevenb@suse.de>
252
253         * contrib.texi: Add the names of the LLNL folks who donated
254         Cray pointer support for gfortran.
255
256 2005-10-24  Steven Bosscher  <stevenb@suse.de>
257
258         PR tree-optimization/24225
259         * profile.c (branch_prob): Look from end to start through a
260         basic block when looking for a locus.
261
262 2005-10-24  Richard Henderson  <rth@redhat.com>
263
264         * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
265         parallel.
266         (hppa_expand_prologue): Likewise.
267
268 2005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
269
270         * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
271         (NO_DEFERRED_PROFILE_COUNTERS): Define.
272         * pa.h (NO_PROFILE_COUNTERS): Define.
273         * pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
274         (funcdef_nos): New vector to hold label numbers of deferred profile
275         counters.
276         (output_deferred_profile_counters): New function.
277         (hppa_profile_hook): Push label number onto funcdef_nos.
278         (pa_hpux_file_end): Call output_deferred_profile_counters if
279         NO_DEFERRED_PROFILE_COUNTERS is false.
280
281         * pa-protos.h (get_deferred_plabel): New prototype.
282         * pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
283         Make global.
284         (output_call): Adjust calls.
285
286 2005-10-24  Alan Modra  <amodra@bigpond.net.au>
287
288         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
289         peculiarity of GOT/TOC section usage.
290
291 2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
292
293         PR objc/24435
294          * c-common.c (constant_string_class_name): Add documentation.
295
296 2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
297
298         PR target/23832
299         * recog.c (peephole2_optimize): Increment peep2_current_count
300         only when the slot is empty.
301
302 2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
303
304         PR ada/23957
305         * except.c (output_function_exception_table): Call
306         assemble_external_libcall if we need a personality function.
307
308 2005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
309
310         PR rtl-optimization/24460
311         * bb-reorder.c (fix_crossing_unconditional_branches): Do not
312         set the basic block for barriers.
313
314 2005-10-21  Janis Johnson  <janis187@us.ibm.com>
315
316         * var-tracking.c (vt_initialize): Initialize post.
317
318 2005-10-21  Devang Patel  <dpatel@apple.com>
319
320         PR/24220
321         * c-common.c (vector_types_convertible_p): Check vector element type.
322         
323 2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
324
325         * config/sh/sh.c (prepare_move_operands): Handle the address
326         constant which is a tls symbolic address plus a constant.
327
328 2005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
329
330         PR driver/24473
331         * gcc.c (main): Use the correct counter for erroring out
332         about mulitple files.
333
334 2005-10-21  Alan Modra  <amodra@bigpond.net.au>
335
336         PR target/24465
337         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
338         use r2 for 64-bit tls .got access.
339
340 2005-10-21  Paolo Bonzini  <bonzini@gnu.org>
341
342         * dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
343         TRUTH_OR_EXPR.
344
345 2005-10-20  Steven Bosscher  <stevenb@suse.de>
346
347         PR tree-optimization/24307
348         * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
349
350 2005-10-20  Alexandre Oliva  <aoliva@redhat.com>
351
352         PR middle-end/24295
353         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
354         alias targets.
355         * varasm.c (find_decl_and_mark_needed): After cgraph global info
356         is ready, stop marking functions, but still mark variables.
357
358 2005-10-20  Richard Guenther  <rguenther@suse.de>
359
360         PR c++/24439
361         * fold-const.c (invert_truthvalue): Handle COND_EXPR with
362         void type operands.
363
364 2005-10-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
365
366         PR rtl-optimization/23585
367         * rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
368         (rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
369         (may_trap_p_1): New predicate extracted from...
370         (may_trap_p): ... here.  Invoke may_trap_p_1.
371         (may_trap_or_fault_p): New predicate.
372         * rtl.h (may_trap_or_fault_p): Declare it.
373         * reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
374         instead of may_trap_p.
375         (steal_delay_list_from_fallthrough): Likewise.
376         (fill_simple_delay_slots): Likewise.
377         (fill_slots_from_thread): Likewise.
378         * function.c (pad_to_arg_alignment): Rework comment about
379         SPARC_STACK_BOUNDARY_HACK.
380         * config/sparc/sparc.h: Likewise.
381
382 2005-10-19  Adrian Straetling  <straetling@de.ibm.com>
383
384         * config/s390/s390.c (s390_expand_insv): New.
385         * config/s390/s390-protos.h (s390_expand_insv): Declare.
386         * config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
387         ("icm_hi"): Remove mode attribute.
388         ("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
389         Adjust all uses.
390         ("*extracthi", "*extractqi"): Remove.
391         (extv<mode>", "*extzv<mode>"): New.
392         ("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
393         "*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
394
395 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
396
397         * cfgexpand.c (discover_nonconstant_array_refs_r,
398         discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
399         (tree_expand_cfg): Call discover_nonconstant_array_refs.
400         * tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
401         discover_nonconstant_array_refs.
402
403 2005-10-19  Steven Bosscher  <stevenb@suse.de>
404
405         PR c/23228
406         * c-decl.c (pop_scope): Don't warn about an unused variable
407         if it is marked with TREE_NO_WARNING.
408         (duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
409         somenow mismatch and olddecl is to be replaced.
410
411 2005-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
412
413         PR middle-end/23199
414         * cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
415         whether registers live on the edge can be saved/restored.
416
417 2005-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
418
419         * config/sh/sh.c (fixup_mova): Skip notes.
420
421 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
422
423         * config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
424         * config/s390/s390.c (s390_hard_regno_rename_ok): New function.
425         (s390_can_eliminate): Handle BASE_REGNUM elimination.
426         (s390_initial_elimination_offset): Likewise.
427         (s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
428         register on TARGET_ZARCH targets.
429         * config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
430         (INITIAL_FRAME_POINTER_OFFSET): Remove.
431         (REG_ALLOC_ORDER): Move BASE_REGNUM lower.
432         (ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
433
434 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
435
436         * config/s390/s390.md: Comment describing output modifiers updated.
437         * config/s390/s390.c (print_operand): Likewise.
438
439 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
440
441         * config/s390/s390.c (override_options): Added check for -mstack-size
442         64k limitation.
443         * doc/invoke.texi: Mention that limit in the documenation.
444
445 2005-10-18  Paolo Bonzini  <bonzini@gnu.org>
446
447         PR #19672
448         * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
449
450 2005-10-18  Daniel Berlin <dberlin@dberlin.org>
451
452         Fix PR tree-optimization/24231
453
454         * tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
455         (compute_avail): Ditto.
456
457 2005-10-18  Richard Henderson  <rth@redhat.com>
458
459         PR target/24428
460         * config/i386/i386.c (legitimate_constant_p): Check
461         SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
462         if LABEL_REF.
463         (legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
464         (legitimate_pic_address_disp_p): Reorg CONST checking to make
465         sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
466         directly.
467         (print_operand_address): Likewise.
468         * config/i386/predicates.md (x86_64_immediate_operand): Test
469         SYMBOL_REF_TLS_MODEL properly inside CONST.
470         (x86_64_zext_immediate_operand): Likewise.
471         (global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
472         initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
473         * config/i386/i386-protos.h: Remove predicates.md entries.
474
475 2005-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
476
477         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
478         Check that elements of TYPE_METHODS are FUNCTION_DECLs.
479
480 2005-10-17  Alexey Starovoytov  <alexey.starovoytov@sun.com>
481             Ian Lance Taylor <ian@airs.com>
482
483         PR middle-end/23522
484         * fold-const.c (fold_widened_comparison): Do not allow range based
485         constant folding when right operand cannot be unwidened.
486
487 2005-10-17  Richard Henderson  <rth@redhat.com>
488
489         * builtins.c (expand_builtin_synchronize): Build a new-style asm
490         with a memory clobber.
491
492 2005-10-17  James E Wilson  <wilson@specifix.com>
493
494         PR rtl-optimization/17356
495         * cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
496         checking for EDGE_EH.
497
498 2005-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
499
500         * config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
501         the slot on an even boundary for any type with 16-byte alignment.
502
503 2005-10-17  Hans-Peter Nilsson  <hp@axis.com>
504
505         PR target/23424
506         * md.texi (Modifiers) <%>: Clarify that % doesn't work
507         after register allocation.
508
509 2005-10-17  DJ Delorie  <dj@redhat.com>
510
511         * config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
512         as frame related.
513
514 2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
515
516         PR c++/22551
517         * c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
518         overflow flags.
519
520 2005-10-17  Kaz Kojima  <kkojima@gcc.gnu.org>
521
522         * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
523         to 2 if it's already non-zero.
524         (OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
525         is set and warn about it if flag_schedule_insns is 1.
526
527 2005-10-17  Paul Woegerer  <paul.woegerer@nsc.com>
528
529         * config/crx/crx.md: Compare-and-branch instructions need to
530         invalidate CC.
531
532 2005-10-17  Uros Bizjak  <uros@kss-loka.si>
533
534         PR target/24315
535         * config/i386/i386.md (*pushdi2_rex64 splitter)
536         (*movdi_1_rex64 splitter, *ashldi3_1 splitter)
537         (*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
538         flow2 pass only when (optimize > 0 && flag_peephole2).
539
540 2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
541
542         PR driver/22544
543         * gcc.c (have_c): New static variable.
544         (have_o): Likewise.
545         (process_command): Remove declation of have_c.
546         Set have_o to 1 when handling -o.
547         (main): Add a fatel error if there are multiple
548         files specified and -o and -c/-S is passed witout
549         -combine or multiple languages.
550
551 2005-10-16  Daniel Berlin  <dberlin@dberlin.org>
552
553         Fix PR tree-optimization/22444
554         * tree-ssa-alias.c (compute_flow_insensitive_aliasing):
555         Assert that we don't hit something with subvars.
556         (setup_pointers_and_addressables): Don't add things with subvars,
557         because we'll already process the subvars for aliasing purposes.
558
559 2005-10-16  Hans-Peter Nilsson  <hp@axis.com>
560
561         PR target/23424
562         * config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
563         ("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
564         ("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
565         ("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
566         ("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
567         swapped, alternatives for the R constraint.
568
569         PR middle-end/24341
570         * builtins.c (get_builtin_sync_mode): Make unlimited
571         mode_for_size request.
572
573 2005-10-15  Richard Henderson  <rth@redhat.com>
574
575         * gimplify.c (gimplify_var_or_parm_decl): Split out from ...
576         (gimplify_expr): ... here.
577         (gimplify_compound_lval): Use it in initial scan loop.  Allow
578         fb_lvalue in base expression.
579
580 2005-10-15  Richard Henderson  <rth@redhat.com>
581
582         PR 23714
583         * builtins.c (expand_builtin_trap): Export.
584         * expr.h (expand_builtin_trap): Declare.
585         * expr.c (expand_assignment): Emit a trap for integral offsets 
586         from registers that weren't reduced to bitpos.
587
588         * tree-cfg.c (mark_array_ref_addressable_1): Remove.
589         (mark_array_ref_addressable): Remove.
590         * tree-flow.h (mark_array_ref_addressable): Remove.
591         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
592
593 2005-10-15  James E Wilson  <wilson@specifix.com>
594
595         PR target/24232
596         * sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
597         (add_dependence_list_and_free): Likewise.
598         (sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
599         call.
600
601 2005-10-15  Diego Novillo  <dnovillo@redhat.com>
602
603         PR 23141
604         PR 23142
605         * tree-vrp.c (vrp_meet): Fix the intersection of equivalence
606         sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
607         anti-range.
608         (vrp_visit_phi_node): Only prevent infinite iterations when
609         the previous result and the new result are both VR_RANGEs.
610
611 2005-10-15  Ranjit Mathew  <rmathew@gcc.gnu.org>
612
613         * tree-into-ssa.c (mark_def_sites): Correct minor typo in
614         function comment.
615
616 2005-10-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
617
618         PR c/23439
619         * c-parser.c (c_parser_for_statement): Use location of RID_FOR
620         to initialize loc.
621
622 2005-10-14  Per Bothner  <per@bothner.com>
623
624         PR preprocessor/21250
625         * c-ppoutput.c (print_line): Print internal line 0 as 1.
626
627 2005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
628
629         PR c++/22551
630         * c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
631         overflow flags.  Refactor some conditionals.
632
633 2005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
634
635         PR tree-opt/21304
636         * tree-dfa.c (add_referenced_var): Only look at decls which
637         have TREE_CONSTANT or TREE_READONLY set instead of if
638         !TREE_PUBLIC or !TREE_CONSTANT.
639
640 2005-10-13  James E Wilson  <wilson@specifix.com>
641
642         * doc/invoke.texi: For -x, add f95-cpp-input.
643         * doc/install.texi: For --enable-languages doc, change f95 to fortran.
644
645 2005-10-12  Sebastian Pop  <pop@cri.ensmp.fr>
646
647         PR tree-optimization/24262
648         * tree-data-ref.c (analyze_offset_expr): Check that init is invariant
649         in loop all the time.
650
651 2005-10-12  Richard Henderson  <rth@redhat.com>
652
653         PR c/24255
654         * tree.h (DECL_TRANSPARENT_UNION): Remove.
655         * function.c (assign_parm_find_data_types): Don't support it.
656         * print-tree.c (print_node): Likewise.
657         * c-common.c (handle_transparent_union_attribute): Likewise.
658         Use build_duplicate_type.
659         * tree-inline.c (remap_type_1): Split out of remap_type;
660         properly remap aggregate fields.
661         (build_duplicate_type): New.
662         * doc/extend.texi (Variable Attributes): Remove documentation
663         for transparent_union.
664
665 2005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
666
667         PR target/24284
668         * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
669         (gen_stack_pointer_dec): Likewise.
670
671 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
672
673         PR middle-end/21275
674         PR middle-end/21766
675         * target.h (struct gcc_target): Add valid_dllimport_attribute_p
676         target hook.
677         (struct cxx): Add adjust_class_at_definition target hook.
678         * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
679         defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
680         (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to 
681         hook_void_tree. Add to TARGET_CXX.
682         * tree.h (struct decl_with_vis): Rename non_addr_const_p field to
683         dllimport_flag.
684         (DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
685         * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
686         instead of attribute. Check for dllexport override.  Warn if
687         inconsistent dll linkage. Don't lose old dllimport if decl has
688         had address referenced.   Tweak lookup of dllimport atribute.  
689         (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
690         for target specific rules.  Don't add dllimport attribute if
691         DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
692         dllimport attribute. 
693         (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
694         * varasm.c (initializer_constant_valid_p): Replace
695         DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
696
697         PR target/21801
698         PR target/23589
699         * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to 
700         'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
701         (i[34567]86-*-mingw32*): Likewise.
702
703         * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
704         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
705                         
706         * config/i386/winnt.c (i386_pe_dllimport_p): Factor out
707         C++-specific code. Change return value to bool. 
708         (i386_pe_dllimport_p): Likewise.
709         (associated_type): Simplify and make language-independent
710         (i386_pe_encode_section_info): Replace override of ambiguous
711         dllimport symbol refs with a gcc_assert.
712         (i386_pe_valid_dllimport_attribute_p): Define.
713         * config/i386/winnt-cxx.c: New file. Define C++ versions of
714         i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
715         i386_pe_adjust_class_at_definition.
716         * config/i386/winnt-stubs.c: New file. Define stub versions of
717         lang-specific functions.
718         * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
719         i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, 
720         i386_pe_adjust_class_at_definition.
721         (i386_pe_valid_dllimport_attribute_p): Declare. 
722         * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
723         (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
724         * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
725
726         PR target/19704
727         * config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
728         dllimport attribute with test of DECL_DLLIMPORT_P.
729
730 2005-10-12  Adrian Straetling <straetling@de.ibm.com>
731
732         * combine.c (make_extraction): Correct offset computation.
733
734 2005-10-12  Hans-Peter Nilsson  <hp@axis.com>
735
736         * config/cris/t-linux (LIMITS_H_TEST): Define.
737
738 2005-10-12  Richard Henderson  <rth@redhat.com>
739
740         PR rtl-opt/23324
741         * cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
742
743 2005-10-12  Richard Guenther  <rguenther@suse.de>
744
745         * Makefile.in (CGRAPH_H): Depend on $(TREE_H).
746
747 2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
748
749         PR c++/19964
750         * stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
751         DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
752         type.
753
754 2005-10-12  Richard Guenther  <rguenther@suse.de>
755
756         PR c++/23799
757         * varasm.c (output_constant): Correct typo from previous
758         patch by DJ.
759
760 2005-10-11  Ian Lance Taylor  <ian@airs.com>
761
762         PR rtl-optimization/13931
763         * combine.c: Revert patch of 2003-05-14, and:
764         (try_combine): Only set elim_i1 and elim_i2 if the destination is
765         completely killed in the appropriate insn.
766         (distribute_notes): Don't skip multiple hard register test for
767         elim_i1 and elim_i2.
768
769 2005-10-11  Richard Henderson  <rth@redhat.com>
770
771         PR c/24255
772         * c-typeck.c (convert_for_assignment): Use build_constructor_single
773         to initialize a transparent union instead of a nop_expr.
774
775 2005-10-11  Richard Henderson  <rth@redhat.com>
776
777         * Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
778         * tree-ssa-dce.c: Include tree-scalar-evolution.h.
779         (tree_ssa_dce_loop): Call scev_reset.
780
781         PR tree-opt/24300
782         * Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
783         * tree-ssa-dce.c: Include cfgloop.h.
784         (tree_ssa_dce_loop, pass_dce_loop): New.
785         * tree-pass.h (pass_dce_loop): Declare it.
786         * passes.c (init_optimization_passes): Use it.
787
788 2005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
789
790         PR middle-end/24263 
791         * convert.c (convert_to_real): Revert 2005-10-05 patch.
792         Only apply the optimization for rounding builtins if the inner
793         cast is also an extension.
794
795 2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
796
797         PR tree-opt/23946
798         * tree-ssa-ccp.c (execute_fold_all_builtins): Call
799         mark_new_vars_to_rename instead of update_stmt.
800
801 2005-10-11  Bernd Schmidt  <bernd.schmidt@analog.com>
802
803         * config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
804
805 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
806
807         * config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
808         for setting MMX register to 0 rather than mmx.
809
810 2005-10-10  Steve Ellcey  <sje@cup.hp.com>
811
812         PR target/12098
813         * configure.ac: Move gas check from mips specific case to common case.
814         Do check for GNU as for mips*-*-* and *-*-hpux* targets.
815         * configure: Regenerate
816         * doc/install.texi: Update.
817
818 2005-10-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
819
820         PR target/24284
821         * config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
822
823 2005-10-10  Maciej W. Rozycki  <macro@linux-mips.org>
824
825         * gcc.c (do_spec_1): Accept numeric characters in file name
826         suffixes.
827
828 2005-10-10  Nick Clifton  <nickc@redhat.com>
829
830         * config/arm/arm.c: Remove extraneous whitespace.  Remove comment
831         describing the deleted arm_gen_rotated_half_load function.
832
833 2005-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
834
835         * config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
836         __fpscr_values.
837
838 2005-10-09  Daniel Jacobowitz  <dan@codesourcery.com>
839
840         * config.gcc (arm*-*-linux*): Remove redundant extra_parts and
841         gnu_ld assignments.
842         * config/arm/t-linux-eabi (LIB1ASMFUNCS)
843         (EXTRA_MULTILIB_PARTS): Define.
844         * config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
845         (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
846         (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
847         * config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
848         (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
849         (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
850
851 2005-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
852
853         PR tree-optimization/24226
854         * tree-cfg.c (remove_bb): Clean up unreachable loops.
855         * tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
856         * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
857         Export.
858
859 2005-10-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
860
861         * config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
862
863 2005-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
864
865         PR target/24136
866         * config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
867         Rewrite for no need for the early clobber.
868
869 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
870
871         Merge from csl-arm-branch:
872         2005-09-07  Paul Brook  <paul@codesourcery.com>
873         * config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
874         space to string.
875
876         2005-04-30  Paul Brook  <paul@codesourcery.com>
877         * config/arm/bpabi.h (TARGET_DEFAULT): Define.
878         * config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
879
880         2005-03-07  Daniel Jacobowitz  <dan@codesourcery.com>
881         * config/arm/arm.c (arm_all_abis): Add aapcs-linux.
882         (arm_override_options): Use TARGET_AAPCS_BASED.
883         * config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
884         (PTRDIFF_TYPE): Use int for AAPCS.
885         (DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
886         * config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
887         (DEFAULT_SHORT_ENUMS): Delete.
888         * doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
889
890         2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>
891         * config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
892         * config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
893         * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
894
895         2004-12-03  Mark Mitchell  <mark@codesourcery.com>
896         * config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
897
898         2004-11-22  Mark Mitchell  <mark@codesourcery.com>
899         * config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
900  
901         2004-11-19  Mark Mitchell  <mark@codesourcery.com>
902         * config.gcc (arm*-*-linux-gnueabi): Add it.
903         * config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
904         redefining it.
905         (TARGET_OS_CPP_BUILTINS): Likeiwse.
906         * config/arm/linux-eabi.h: New file.
907         * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
908         (LINUX_TARET_LINK_SPEC): Likewise.
909         (LINK_SPEC): Use it.
910         * config/arm/t-linux-eabi: New file.
911
912 2005-10-08  Steven Bosscher  <stevenb@suse.de>
913
914         PR other/22202
915         * params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
916         spaces.
917         (PARAM_SMS_DFA_HISTORY): Likewise.
918
919 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
920
921         PR middle-end/23150
922         * calls.c (mem_overlaps_already_clobbered_arg_p): New.
923         (load_register_parameters): Call it.
924         (check_sibcall_argument_overlap_1): Likewise.
925         (store_one_arg): Likewise.
926
927 2005-10-07  James E. Wilson  <wilson@specifix.com>
928
929         * config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
930         DImode not VECINT24 for operand 2.
931
932         PR target/23644
933         * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
934         -mtune-arch.
935
936         PR target/24193
937         * config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
938         fr_spill): Use destination_operand for operand 0.
939
940 2005-10-07  DJ Delorie  <dj@redhat.com>
941
942         * varasm.c (output_constant): Limit error to expanding
943         conversions.
944
945 2005-10-07  Richard Guenther  <rguenther@suse.de>
946
947         PR middle-end/24227
948         * fold-const.c (fold_binary): Fix operand types during folding
949         of X op (A, Y).  Evaluation order of the side-effects of
950         X and A are frontend-defined, so ensure we honour that even for
951         tcc_comparison class operands; eased by removing duplicate code.
952
953 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
954
955         * stor-layout.c (layout_type): Do not allow alignment of array
956         elements to be greater than their size.
957
958 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
959
960         * config.host (hppa*-*-hpux*): Change out_host_hook_obj and
961         host_xmake_file.
962         (hppa*-*-linux*): Ditto.
963         (ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
964         * config/host-hpux.c: New.
965         * config/x-hpux: New.
966         * config/pa/x-hpux: Remove.
967         * config/pa/x-linux: Remove.
968         * config/pa/pa-host.c: Remove.
969
970 2005-10-07  Jeff Law  <law@redhat.com>
971
972         * tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
973         determine whether or not to try and thread outgoing edges.
974
975 2005-10-07  David Edelsohn  <edelsohn@gnu.org>
976
977         * config/rs6000/rs6000.md (eqsi_power): New.
978         (neg_eq0si): Add TARGET_POWER to final condition.
979         (neg_eqsi): Same.
980
981 2005-10-06  Richard Henderson  <rth@redhat.com>
982
983         * config/rs6000/rs6000.c: Revert last change.
984
985 2005-10-06  Richard Henderson  <rth@redhat.com>
986
987         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
988         (TARGET_CANNOT_FORCE_CONST_MEM): Use it.
989
990 2005-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
991
992         PR middle-end/22216
993         PR middle-end/23651
994         * cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
995         out return_label and naked_return_label.
996
997 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
998         
999         * tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
1000         change.
1001
1002 2005-10-06  Richard Henderson  <rth@redhat.com>
1003
1004         PR tree-opt/22237
1005         * tree-inline.c (declare_return_variable): Handle modify_dest not
1006         being a DECL.
1007
1008 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
1009         
1010         Fix PR tree-optimization/22488
1011         * tree-ssa-structalias.c (check_for_overlaps): New function.
1012         (create_variable_info_for): Use it.
1013
1014 2005-10-06  Richard Henderson  <rth@redhat.com>
1015
1016         PR debug/24070
1017         * dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
1018         (dwarf2out_start_source_file): Print it.
1019
1020 2005-10-06  Geoffrey Keating  <geoffk@apple.com>
1021
1022         * config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
1023
1024 2005-10-06  Richard Henderson  <rth@redhat.com>
1025
1026         PR 23706
1027         * mode-switching.c (optimize_mode_switching): Clear transp bit
1028         for block with incomming abnormal edges.
1029
1030         * config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
1031         (fpscr_set_from_mem): Use them.
1032         * config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
1033         (fpscr postinc splitters): Rewrite as peephole2+split.
1034
1035 2005-10-06  David Edelsohn  <edelsohn@gnu.org>
1036
1037         * config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
1038         (eq<mode>_compare): Same.
1039
1040 2005-10-06  Richard Guenther  <rguenther@suse.de>
1041
1042         PR tree-optimization/24238
1043         * tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
1044
1045 2005-10-06  Daniel Jacobowitz  <dan@codesourcery.com>
1046
1047         * acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
1048         here.  Use AC_PATH_PROG for environment variables instead of
1049         test -x.
1050         * configure.ac: Update calls to gcc_AC_CHECK_TOOL.  Use it for
1051         objdump also.
1052         * configure: Regenerated.
1053
1054 2005-10-06  Richard Earnshaw  <richard.earnshaw@arm.com>
1055
1056         PR target/23783
1057         * arm.md (call): If the address isn't a SYMBOL_REF or a register,
1058         then force it into a register.
1059         (call_value): Likewise.
1060
1061 2005-10-06  Richard Henderson  <rth@redhat.com>
1062
1063         PR 24049
1064         * passes.c (init_optimization_passes): Move pass_lower_vector_ssa
1065         under pass_vectorize.  Clear TODO_ggc_collect from the dce pass
1066         under pass_vectorize.
1067
1068 2005-10-05  Devang Patel  <dpatel@apple.com>
1069
1070         PR Debug/23205
1071         * dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
1072         handling constants. Check NAMESPACE_DECL context for constants.
1073         
1074 2005-10-05  Eric Christopher  <echristo@apple.com>
1075
1076         * doc/md.texi (Standard Names): Fix name of pushm1 pattern.
1077
1078 2005-10-05  Richard Henderson  <rth@redhat.com>
1079
1080         PR 23714
1081         * tree-cfg.c (mark_array_ref_addressable_1): New.
1082         (mark_array_ref_addressable): New.
1083         * tree-flow.h (mark_array_ref_addressable): Declare.
1084         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
1085
1086 2005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
1087
1088         PR middle-end/20606
1089         PR middle-end/24069
1090         * reload.c (subst_reloads): When adding a REG_LABEL to a
1091         jump instruction, also update JUMP_LABEL.
1092
1093 2005-10-05  David Edelsohn  <edelsohn@gnu.org>
1094
1095         * params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
1096         * bb-reorder.c (copy_bb_p): Use it.
1097         * doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
1098
1099 2005-10-05  Richard Henderson  <rth@redhat.com>
1100
1101         PR target/23602
1102         * toplev.c (process_options): Warn about unsupported combinations
1103         of unwind tables and omit-frame-pointer.
1104         * config/i386/i386.c (override_options): Similarly.  Enable
1105         accumulate-outgoing-args if not explicitly disabled.
1106
1107 2005-10-05  Steve Ellcey  <sje@cup.hp.com>
1108
1109         * vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
1110         Handle big endian vs. small endian.
1111         (vec_initv2sf): Handle big endian vs. small endian.
1112         (*vec_extractv2sf_1): Ditto.
1113
1114 2005-10-05  Dale Johannesen  <dalej@apple.com>
1115
1116         * convert.c (convert_to_real):  Don't convert
1117         (float)floor(double d) to floorf((float)d).
1118
1119 2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>
1120
1121         * config/arm/arm.md (insv): Use gen_int_mode in more places.
1122
1123 2005-10-05  Andrew MacLeod  <amacleod@redhat.com>
1124
1125         PR tree-optimization/18587
1126         * tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
1127         (build_defs, build_uses, build_v_may_defs, build_v_must_defs,
1128         build_vuses): Change to VEC type.
1129         (opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
1130         opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
1131         opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
1132         opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
1133         (get_name_decl): New.  Return DECL_UID of base variable.
1134         (operand_build_cmp): New.  qsort comparison routine.
1135         (operand_build_sort_virtual): New.  Sort virtual build vector.
1136         (init_ssa_operands, fini_ssa_operands): Use VEC routines.
1137         (FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
1138         (FINALIZE_BASE): Use get_name_decl.
1139         (finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
1140         finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
1141         (start_ssa_stmt_operands, append_def, append_use, append_vuse,
1142         append_v_may_def, append_v_must_def): Replace opbuild_* routines with
1143         direct VEC_* manipulations.
1144         (build_ssa_operands): Call operand_build_sort_virtual.
1145         (copy_virtual_operand, create_ssa_artficial_load_stmt,
1146         add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
1147         with direct VEC_* manipulations.
1148         * tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
1149         with direct VEC manipulations.
1150
1151 2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
1152
1153         PR tree-optimization/21419
1154         PR tree-optimization/24146
1155         PR tree-optimization/24151
1156
1157         * c-typeck.c (readonly_error): Handle USE being lv_asm.
1158         (build_asm_expr): Call it if outputs are read-only.
1159         * gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419.
1160
1161 2005-10-05  Billy Biggs  <billy.biggs@gmail.com>
1162             Paolo Bonzini  <bonzini@gnu.org>
1163
1164         PR target/23809
1165
1166         * doc/extend.texi (x86 Built-ins): Document that -msse and friends
1167         enable the instructions and not just the built-ins.
1168         * doc/invoke.texi (x86 Options): Likewise.
1169
1170 2005-10-04  Geoffrey Keating  <geoffk@apple.com>
1171
1172         * config/i386/t-darwin (SHLIB_VERPFX): Fix typo.
1173
1174         * doc/invoke.texi (Option Summary): Correct spelling
1175         of -mmacosx-version-min.
1176
1177 2005-10-04  Devang Patel  <dpatel@apple.com>
1178
1179         * c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
1180         real types.
1181
1182 2005-10-04  Steve Ellcey  <sje@cup.hp.com>
1183
1184         * tree-vect-transform.c (vect_create_epilog_for_reduction):
1185         Use BYTES_BIG_ENDIAN instead of BITS_BIG_ENDIAN.
1186
1187 2005-10-04  Adrian Straetling  <straetling@de.ibm.com>
1188
1189         * config/s390/s390.md ("TDSI","DP"): New mode macros.
1190         ("TE","tg"): New mode attributes.
1191         ("sync_compare_and_swap<mode>"): Replace with a define_expand.
1192         ("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
1193         ("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
1194         dword_mode and one for GPRmode.
1195
1196 2005-10-04  Ian Lance Taylor  <ian@airs.com>
1197
1198         PR preprocessor/13726
1199         * c-ppoutput.c (cb_include): Add comments parameter, and print out
1200         any comments passed in.
1201
1202 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
1203
1204         * tree.c (annotate_with_file_line): Fix typo.
1205
1206 2005-10-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1207
1208         PR ada/19382
1209         * builtins.c (fold_builtin_memcmp): When constructing the pointer
1210         type used to access data in the inlined length == 1 case, use
1211         build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
1212         (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
1213
1214 2005-10-04  Uros Bizjak  <uros@kss-loka.si>
1215
1216         * config/i386/i386.h (TARGET_FISTTP): Enable also for
1217         TARGET_SSE3 and only for TARGET_80387.
1218         * config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
1219         (fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
1220         Do not depend on TARGET_80387.
1221
1222 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
1223
1224         * tree.c (last_annotated_node): Change type to location_t*.
1225         (annotate_with_file_line): Reflect the change of
1226         last_annotated_node type.
1227
1228 2005-10-04  Richard Guenther  <rguenther@suse.de>
1229
1230         PR c/23576
1231         * c-decl.c (grokdeclarator): Don't write to fields
1232         of error_mark_node.
1233
1234 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
1235
1236         PR middle-end/23125
1237         * c-decl.c (finish_decl): Use set_user_assembler_name even for
1238         register variables.
1239         * varasm.c (make_decl_rtl): If a register variable does not
1240         have a set user assmbler name, error out.
1241         Decode the asmspec is now name+1 bypassing '*'.
1242
1243 2005-10-04  Steven Bosscher  <stevenb@suse.de>
1244
1245         PR tree-optimization/23049
1246         * tree-ssa-dom.c (thread_across_edge): Make sure that the condition
1247         of a COND_EXPR is folded before calling fold on the whole rhs of a
1248         conditional assignment.
1249         * doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
1250         document that a COND_EXPR may appear there.
1251
1252 2005-10-03  Diego Novillo  <dnovillo@redhat.com>
1253
1254         PR 23445
1255         * tree-vrp.c (extract_range_from_assert): If the new numeric
1256         range created out of the assertion contradicts the existing
1257         numeric range of the ASSERT_EXPR variable, make the new range
1258         varying.
1259
1260 2005-10-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1261
1262         * config/sh/sh.c (sh_register_move_cost): Add case for moving
1263         from T_REGS to FP register class.
1264
1265 2005-10-03  Richard Henderson  <rth@redhat.com>
1266
1267         PR 24135
1268         * tree-nested.c (convert_nl_goto_reference): Lookup a translation
1269         before creating a new one.
1270
1271 2005-10-03  David Edelsohn  <edelsohn@gnu.org>
1272
1273         * config/rs6000/t-aix43 (LDFLAGS): New.
1274         * config/rs6000/t-aix52 (LDFLAGS): New.
1275
1276 2005-10-03  Ian Lance Taylor  <ian@airs.com>
1277
1278         * gimplify.c (find_single_pointer_decl_1): New static function.
1279         (find_single_pointer_decl): New static function.
1280         (internal_get_tmp_var): For a formal variable, set restrict base
1281         information if appropriate.
1282         * alias.c (find_base_decl): If a VAR_DECL has a restrict base,
1283         return it.
1284         * tree.h (DECL_BASED_ON_RESTRICT_P): Define.
1285         (DECL_GET_RESTRICT_BASE): Define.
1286         (SET_DECL_RESTRICT_BASE): Define.
1287         (decl_restrict_base_lookup): Declare.
1288         (decl_restrict_base_insert): Declare.
1289         (struct tree_decl_with_vis): Add based_on_restrict_p field.
1290         * tree.c (restrict_base_for_decl): New static variable.
1291         (init_ttree): Initialize restrict_base_for_decl.
1292         (copy_node_stat): Copy restrict base information.
1293         (decl_restrict_base_lookup): New function.
1294         (decl_restrict_base_insert): New function.
1295         (print_restrict_base_statistics): New static function.
1296         (dump_tree_statistics): Call print_restrict_base_statistics.
1297
1298 2005-10-02  Diego Novillo  <dnovillo@redhat.com>
1299
1300         PR 24142
1301         * tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
1302         case of anti-ranges.
1303
1304 2005-10-02  Andrew Pinski  <pinskia@physics.uc.edu>
1305
1306         PR c/18851
1307         * c-typeck.c (tagged_tu_seen): Rename to ...
1308         (tagged_tu_seen_cache): this and add val field.
1309         (comptypes): Move functional to comptypes_internal
1310         and free tagged_tu_seen.
1311         (comptypes_internal): New function and call comptypes_internal
1312         instead of comptypes. Speed up by sibcalling
1313         tagged_types_tu_compatible_p.
1314         (alloc_tagged_tu_seen): New function
1315         (free_all_tagged_tu_seen_up_to): New function.
1316         (tagged_types_tu_compatible_p): Return the val of the seen two
1317         types.
1318         Add that the two types are the same to tagged_tu_seen_base
1319         if they are and call comptypes_internal instead of comptypes.
1320         <case UNION_TYPE>: Speed up common type where the fields are
1321         in the same order.
1322         (function_types_compatible_p): Call comptypes_internal instead of
1323         comptypes.
1324         (type_lists_compatible_p): Likewise.
1325         (all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
1326
1327 2005-10-02  Matthias Klose  <doko@debian.org>
1328
1329         * doc/invoke.texi: Fix typo and speling error.
1330
1331 2005-10-01  Richard Henderson  <rth@redhat.com>
1332
1333         * tree-stdarg.c (execute_optimize_stdarg): Process PHI nodes too.
1334
1335 2005-10-01  Mark Mitchell  <mark@codesourcery.com>
1336
1337         * config/arm/unknown-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define
1338         using --start-group and --end-group.
1339
1340 2005-10-01  Diego Novillo  <dnovillo@redhat.com>
1341
1342         * tree-vrp.c (value_inside_range, range_includes_zero_p): Add
1343         FIXME note regarding quirky semantics.
1344
1345 2005-10-01  Diego Novillo  <dnovillo@redhat.com>
1346
1347         PR 24141
1348         * tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
1349         non-null range as a last resort.
1350
1351 2005-10-01  James A. Morrison  <phython@gcc.gnu.org>
1352             Diego Novillo  <dnovillo@redhat.com>
1353
1354         PR 23604
1355         * tree-vrp.c (extract_range_from_assert): For !=
1356         assertions, only build an anti-range if LIMIT is a
1357         single-valued range.
1358
1359 2005-09-30  Richard Earnshaw  <richard.earnshaw@arm.com>
1360
1361         * arm.md (movqi): On thumb when optimizing, handle loading from
1362         memory by describing this as taking a subreg of a zero-extended load
1363         into an SImode register.
1364         (movhi): Likewise.
1365
1366 2005-09-30  Daniel Jacobowitz  <dan@codesourcery.com>
1367
1368         * reload1.c (merge_assigned_reloads): Do not change any
1369         RELOAD_FOR_OUTPUT_ADDRESS reloads.
1370
1371 2005-09-30  Geoffrey Keating  <geoffk@apple.com>
1372
1373         * Makefile.in (LIPO_FOR_TARGET): Define.
1374         (STRIP_FOR_TARGET): Define.
1375
1376         * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
1377         before creating new ones.  Do symlinks before creating the actual
1378         targets.
1379
1380         * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
1381         to work out which multilibs are actually being built.
1382
1383 2005-09-30  Kazu Hirata  <kazu@codesourcery.com>
1384
1385         * tree-vect-transform.c, config/ms1/ms1.md,
1386         config/s390/s390.c, config/v850/v850.md: Fix comment typos.
1387         Follow spelling conventions.
1388         * doc/invoke.texi, doc/md.texi: Fix typos.
1389
1390 2005-09-30  Andrew Macleod  <amacleod@redat.com>
1391
1392         PR tree-optimization/21430
1393         * tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
1394         use operands, and set stmt pointer if need be.
1395         (FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
1396         tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
1397         present.
1398
1399 2005-09-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1400
1401         PR middle-end/24053
1402         * stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
1403
1404 2005-09-29  Mark Mitchell  <mark@codesourcery.com>
1405
1406         * optabs.c (expand_binop): Initialize first_pass_p.
1407
1408 2005-09-29  Jakub Jelinek  <jakub@redhat.com>
1409
1410         PR middle-end/24109
1411         * c-decl.c (c_write_global_declarations_1): If any
1412         wrapup_global_declaration_2 call returned true, restart the loop.
1413
1414 2005-09-29  Daniel Berlin  <dberlin@dberlin.org>
1415
1416         Fix PR tree-optimization/24117
1417         * tree-ssa-structalias.c (find_func_aliases): Strip nops
1418         before considering whether to use anyoffset.
1419
1420 2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
1421
1422         Revert this patch:
1423
1424         2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
1425
1426         * optabs.c (expand_binop): Use swap_commutative_operands_with_target
1427         to order operands.
1428         (swap_commutative_operands_with_target): New.
1429
1430 2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
1431
1432         PR c/21419
1433         * gimplify.c (gimplify_asm_expr): Raise an error if an output is
1434         read-only.
1435
1436 2005-09-29  Steven Bosscher  <stevenb@suse.de>
1437
1438         PR tree-optimization/23911
1439         * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
1440         and IMAGPART_EXPR too.
1441
1442 2005-09-28  Mark Mitchell  <mark@codesourcery.com>
1443
1444         PR 17886
1445         * expmed.c (expand_shift): Move logic to reverse rotation
1446         direction when  rotating by constants ...
1447         * optabs.c (expand_binop): ... here.
1448         * config/i386/i386.md (rotrdi3): Handle 32-bit mode.
1449         (ix86_rotrdi3): New pattern.
1450         (rotldi3): Handle 32-bit mode.
1451         (ix86_rotldi3): New pattern.
1452
1453 2005-09-29  Alan Modra  <amodra@bigpond.net.au>
1454
1455         PR target/24102
1456         * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
1457         check for numbers that need no bit twiddle.
1458
1459 2005-09-28  Geoffrey Keating  <geoffk@apple.com>
1460
1461         * config/rs6000/t-darwin8: Uncomment contents, allow -m64
1462         multilib to be built.
1463
1464         * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
1465         (stage1-start): Delete old libgcc and libunwind before moving
1466         anything into the stage directory.
1467         (stage2-start): Likewise.
1468         (stage3-start): Likewise.
1469         (stage4-start): Likewise.
1470         (stageprofile-start): Likewise.
1471         (stagefeedback-start): Likewise.
1472         * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
1473         header in tm_file and CPU-specific t-darwin in tmake_file.
1474         (i[34567]86-*-darwin*): Don't change tm_file.
1475         (powerpc-*-darwin*): Don't change tm_file or tmake_file.
1476         * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
1477         shared library stub for target OS version.
1478         * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
1479         (SHLIB_LINK): Don't make SHLIB_SOLINK.
1480         (SHLIB_INSTALL): Don't install SHLIB_SOLINK.
1481         (libgcc_s.%.dylib): New.
1482         (LIBGCC): Define.
1483         (install-darwin-libgcc-stubs): New.
1484         (INSTALL_LIBGCC): New append.
1485         * config/i386/darwin-libgcc.10.4.ver: New.
1486         * config/i386/darwin-libgcc.10.5.ver: New.
1487         * config/i386/t-darwin: New.
1488         * config/rs6000/darwin-libgcc.10.4.ver: New.
1489         * config/rs6000/darwin-libgcc.10.5.ver: New.
1490         * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
1491         * config/rs6000/t-darwin (SHLIB_VERPFX): Define.
1492
1493 2005-09-28  Paul Brook  <paul@codesourcery.com>
1494
1495         * config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
1496         denormals.
1497
1498 2005-09-28  Richard Guenther  <rguenther@suse.de>
1499
1500         PR tree-optimization/23853
1501         * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
1502         host_integerp to verify misalignment value.
1503
1504 2005-09-28  Richard Henderson  <rth@redhat.com>
1505
1506         * builtins.c (get_builtin_sync_mode): New.
1507         (expand_builtin_sync_operation): Pass in mode argument.
1508         (expand_builtin_compare_and_swap): Likewise.
1509         (expand_builtin_lock_test_and_set): Likewise.
1510         (expand_builtin_lock_release): Likewise.
1511         (expand_builtin): Update to match.
1512
1513 2005-09-28  Nick Clifton  <nickc@redhat.com>
1514
1515         * config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
1516         formatting.  Add check to PLUS case to ensure that the offset is
1517         within an acceptable range.
1518
1519         * config/v850/v850.md (casesi): Disable the generation of the
1520         switch pattern as it is not being handled properly at the moment.
1521
1522         * config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
1523         for when the high words are identical.
1524
1525 2005-09-27  Richard Henderson  <rth@redhat.com>
1526
1527         * pretty-print.c (pp_base_format): Fix typo for %>.
1528
1529 2005-09-27  Daniel Berlin  <dberlin@dberlin.org>
1530             Devang Patel  <dpatel@apple.com>
1531
1532         PR tree-optimization/23625
1533         * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
1534         LABEL_EXPR, assertion check.
1535
1536 2005-09-27  J"orn Rennecke <joern.rennecke@st.com>
1537
1538         * optabs.c (no_conflict_move_test): Check if a result of a
1539         to-be-moved insn would be clobbered by an originally
1540         preceding insn.
1541
1542 2005-09-27  Jeff Law  <law@redhat.com>
1543
1544         * passes.c (init_optimization_passes): Replace copy propagation
1545         passes immediately after DOM with phi-only copy propagation
1546         pases.  Add phi-only copy propagation pass after first DOM pass.
1547         * tree-pass.h (pass_phi_only_copy_prop): Declare.
1548         * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
1549         If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
1550         (execute_copy_prop): Accept new PHI_ONLY argument.  Pass it along
1551         to init_copy_prop.  Callers updated.
1552         (do_phi_only_copy_prop): New function.
1553         (pass_phi_only_copy_prop): New pass descriptor.
1554
1555 2005-09-27  Nick Clifton  <nickc@redhat.com>
1556
1557         * libgcc2.c (__popcount_tab): Remove redundant prototype.
1558
1559 2005-09-26  Jason Merrill  <jason@redhat.com>
1560
1561         PR c++/13764
1562         * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
1563
1564         * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
1565
1566 2005-09-26  James E Wilson  <wilson@specifix.com>
1567
1568         * config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
1569         copyright.  Add gcc copyright plus libgcc exception.
1570         * config/ia64/crtfastmath.asm: Remove glibc copyright.  Add gcc
1571         copyright.
1572         * config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
1573
1574 2005-09-26  Jeff Law  <law@redhat.com>
1575
1576         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
1577         about when to iterate.
1578
1579 2005-09-23  Fariborz Jahanian <fjahanian@apple.com>
1580
1581         PR target/23847
1582         * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
1583         for __complex__ double in -mcpu=G5 mode.
1584
1585 2005-09-26  Sebastian Pop  <pop@cri.ensmp.fr>
1586
1587         PR tree-optimization/23942
1588         * Makefile.in (SCEV_H): Depends on PARAMS_H.
1589         * tree-scalar-evolution.c: Include params.h.
1590         (t_bool): New enum.
1591         (follow_ssa_edge, follow_ssa_edge_in_rhs,
1592         follow_ssa_edge_in_condition_phi_branch,
1593         follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
1594         Change return type to t_bool.  Use a parameter to limit the size of
1595         trees that are walked before stopping
1596         (analyze_evolution_in_loop): Initialize the limit to 0.
1597         (follow_ssa_edge): Give up by returning t_dont_know if the limit
1598         exceeds PARAM_SCEV_MAX_EXPR_SIZE.
1599
1600 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
1601
1602         PR middle-end/23831
1603         * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
1604         simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
1605
1606 2005-09-26    Fariborz Jahanian <fjahanian@apple.com>
1607
1608         * combine.c (make_extraction): Check for valid use of subreg.
1609
1610 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
1611
1612         PR target/24055
1613         * config/i386/i386.md ("*fistdi2_1"): New pattern.
1614         ("*fist<mode>2_1"): Use only HImode and SImode register operands.
1615         ("fist<mode>2_with_temp"): Use only register operands.
1616
1617 2005-09-26  J"orn Rennecke <joern.rennecke@st.com>
1618
1619         * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
1620         CALL_INSN_FUNCTION_USAGE.
1621
1622 2005-09-26  Richard Guenther  <rguenther@suse.de>
1623
1624         PR middle-end/15855
1625         * gcse.c: Include hashtab.h, define ldst entry hashtable.
1626         (pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
1627         (ldst_entry): Use the hashtable instead of list-walking.
1628         (find_rtx_in_ldst): Likewise.
1629         (free_ldst_entry): Free the hashtable.
1630         (compute_ld_motion_mems): Create the hashtable.
1631         (trim_ld_motion_mems): Remove entry from hashtable if
1632         removing it from list.
1633         (compute_store_table): Likewise^2.
1634         (store_motion): Free hashtable in case we did not see
1635         any stores.
1636
1637 2005-09-25  Kazu Hirata  <kazu@codesourcery.com>
1638
1639         * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
1640         and arg1 if we are passing them to fold_build2.
1641
1642 2005-09-25  Dan Nicolaescu  <dann@ics.uci.edu>
1643
1644         PR 23828
1645         * config/i386/i386.c (ix86_function_regparm): Fix the test for
1646         a nested function.
1647
1648 2005-09-25  Richard Henderson  <rth@redhat.com>
1649
1650         * config/alpha/alpha.c (tls_symbolic_operand_1): Trust
1651         SYMBOL_REF_TLS_MODEL to be correct.
1652
1653 2005-09-24  Richard Henderson  <rth@redhat.com>
1654
1655         * ipa-type-escape.c (discover_unique_type): Remove dead code at
1656         end of function.  Reindent.
1657
1658 2005-09-24  Ian Lance Taylor  <ian@airs.com>
1659
1660         * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
1661         NEGATE_EXPR/BIT_NOT_EXPR case.
1662
1663 2005-09-24  Richard Henderson  <rth@redhat.com>
1664
1665         * c-common.c (handle_mode_attribute): When not modifying in place,
1666         create subtypes for enumerations.
1667         (sync_resolve_return): Use TYPE_MAIN_VARIANT.
1668         * gimplify.c (create_tmp_from_val): Likewise.
1669
1670 2005-09-24  Alexandre Oliva  <aoliva@redhat.com>
1671
1672         * config/i386/i386.md (*tls_global_dynamic_64,
1673         *tls_local_dynamic_base_64): Add missing mode to call.
1674         (tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
1675
1676 2005-09-24  Jan Hubicka  <jh@suse.cz>
1677
1678         * cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
1679         (cgraph_clone_node): Likewise.
1680         * cgraph.h (cgraph_clone_edge): Update prototype.
1681         (cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
1682         duplicated prototypes; add updating argument.
1683         * cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
1684         * ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
1685         updating profile.
1686         (cgraph_mark_inline_edge): Likewise.
1687         (cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
1688         (cgraph_flatten_node): Likewise.
1689         (cgraph_decide_recursive_inlining): Likewise.
1690         (cgraph_decide_inlining_of_small_function): Likewise.
1691         * tree-optimize.c (tree_rest_of_compilation): Likewise.
1692
1693 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
1694             Pete Steinmetz <steinmtz@us.ibm.com>
1695
1696         * config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
1697         (rldic.): Set type to "compare".
1698         (rldicr.): Same.
1699         (movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR.  Set type to
1700         mfjmpr for MFCTR/MFLR.
1701         (movdf_hardfloat64): Same.
1702         (movdf_softfloat64): Same.  Correct order of store and move types.
1703         (movti_string): Set type to store_ux/load_ux.
1704         (load_multiple): Set type to load_ux.
1705         (store_multiple): Set type to store_ux.
1706         (movmemsi): Set type to store_ux.
1707         (output_cbranch direct_return): Set type to jmpreg.
1708         (stmw): Set type to store_ux.
1709         (lmw): Set type to load_ux.
1710         * config/rs6000/40x.md (ppc403-store): Increase latency to 2.
1711         * config/rs6000/440.md (ppc440-store): Increase latency to 6.
1712         * config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
1713         * config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
1714         * config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
1715         * config/rs6000/rios1.md (rios1-store): Increase latency to 2.
1716         (rios1-fpstore): Increase latency to 3.
1717         * config/rs6000/rios2.md (rios2-store): Increase latency to 2.
1718         * config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
1719
1720 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
1721             Andrew Pinski  <pinskia@physics.uc.edu>
1722
1723         * config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
1724         operand2 constraint to "b".
1725         (sync_<fetchop_name>di_internal): Same.
1726         (sync_old_<fetchop_name>si_internal): Change operand3 constraint
1727         to "b".
1728         (sync_old_<fetchop_name>di_internal): Same.
1729         (sync_new_<fetchop_name>si_internal): Same.
1730         (sync_new_<fetchop_name>di_internal): Same.
1731
1732 2005-09-23  J"orn Rennecke <joern.rennecke@st.com>
1733
1734         PR middle-end/23991
1735         * final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
1736         case, define as macros.
1737
1738         PR rtl-optimization/23837
1739         *  optabs.c (no_conflict_move_test): Don't set must_stay for a
1740         clobber / clobber match between dest and p->first.
1741
1742         * optabs.c (emit_libcall_block): Use no_conflict_move_test.
1743         (no_conflict_move_test): Update comments.
1744
1745 2005-09-22  Ranjit Mathew  <rmathew@gcc.gnu.org>
1746
1747         * doc/install.texi: Update URL for Jacks.
1748         * doc/sourcebuild.texi: Likewise.
1749
1750 2005-09-22  David Edelsohn  <edelsohn@gnu.org>
1751
1752         PR target/24007
1753         * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
1754         registers when choosing register preferences.
1755         (movdf_hardfloat64): Same.
1756
1757 2005-09-22  Andreas Krebbel  <krebbel1@de.ibm.com>
1758
1759         * expmed.c (expand_shift): Don't use the target of the rotate as
1760         target for the first expanded shift insn.
1761         * testsuite/gcc.dg/20050922-1.c: Testcase added.
1762
1763 2005-09-21  Zdenek Dvorak  <dvorakz@suse.cz>
1764
1765         PR tree-optimization/22438
1766         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
1767         preserved iv rhs rewriting specially.
1768
1769 2005-09-21  Daniel Berlin  <dberlin@dberlin.org>
1770
1771         * tree-data-ref.c (analyze_array_indexes): Only estimate when
1772         estimate_only  is true.
1773         * tree-flow.h (ref_contains_indirect_ref): New prototype.
1774         * tree-flow-inline.h (ref_contains_indirect_ref): Moved from
1775         tree-ssa-structalias.c
1776         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
1777         ref_contains_indirect_ref.
1778         * tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
1779
1780 2005-09-21  DJ Delorie  <dj@redhat.com>
1781
1782         * config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
1783         MASK_PTR_A0D0.
1784         (mn10300_return_in_memory): Support variable size types also.
1785         (mn10300_pass_by_reference): Likewise.
1786         (mn10300_function_value): New.
1787         * config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
1788         (FUNCTION_OUTGOING_VALUE): Likewise.
1789         * config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
1790         * doc/invoke.texi: Document it.
1791
1792 2005-09-21  Uros Bizjak  <uros@kss-loka.si>
1793
1794         PR target/22585
1795         * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
1796         force integer op1 into register for XFmode compares.
1797
1798 2005-09-21  Kazu Hirata  <kazu@codesourcery.com>
1799
1800         PR middle-end/23971
1801         * expmed.c (alg_code): Add alg_impossible.
1802         (alg_hash_entry): Add cost.
1803         (synth_mult): Record alg_impossible in the hash table if
1804         multiplication by a given integer is impossble within the
1805         limit.  Speed up using alg_impossible.
1806
1807 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
1808
1809         * tree-ssa-structalias.c (get_constraint_for_component_ref): Add
1810         argument.  Allow and set any offset if needs_anyoffset is passed
1811         in.
1812         (get_constraint_for): Add argument here too.
1813         Pass it down.
1814         (do_structure_copy): Pass NULL to get_constraint_for.
1815         (handle_ptr_arith): Ditto.
1816         (find_func_aliases): Ditto.
1817
1818 2005-09-20  J"orn Rennecke <joern.rennecke@st.com>
1819
1820         PR rtl-optimization/23898
1821         * output.h (get_attr_min_length): Declare.
1822         * final.c (get_attr_length_1): New function, broken out of:
1823         (get_attr_length).
1824         (get_attr_min_length): New function.
1825         * bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
1826         (duplicate_computed_gotos): Likewise.
1827         * genattr.c (insn_min_length): Generate declaration.
1828         * genattrtab.c (min_fn, min_attr_value): New functions.
1829         (make_length_attrs): Generate insn_min_length.
1830
1831 2005-09-20  Steve Ellcey  <sje@cup.hp.com>
1832
1833         * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
1834
1835 2005-09-20  Richard Henderson  <rth@redhat.com>
1836
1837         PR tree-optimization/24059
1838         * expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
1839         EXPAND_STACK_PARM.
1840
1841 2005-09-20  Joseph S. Myers  <joseph@codesourcery.com>
1842
1843         * c.opt (fextended-identifiers): New.
1844         * c-opts.c (c_common_handle_option): Handle
1845         -fextended-identifiers.
1846         * doc/cpp.texi: Update documentation of extended identifiers.
1847         * doc/cppopts.texi (-fextended-identifiers): Document.
1848
1849 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
1850
1851         PR tree-optimization/23929
1852         * tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
1853         if expr is NULL.
1854
1855         PR tree-optimization/23818
1856         * tree-stdarg.c (execute_optimize_stdarg): Call
1857         calculate_dominance_info.
1858
1859 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
1860
1861         * tree-data-ref.c (get_number_of_iters_for_loop): New function.
1862         (analyze_siv_subscript_cst_affine): Add weak SIV test.
1863         (compute_overlap_steps_for_affine_1_2): Use
1864         get_number_of_iters_for_loop.
1865         (analyze_subscript_affine_affine): Check whether difference is
1866         zero first.
1867         Use get_number_of_iters_for_loop.
1868         Check whether overlap occurs outside of bounds.
1869         (analyze_miv_subscript): Use get_number_of_iters_for_loop.
1870
1871 2005-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
1872
1873         * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
1874         base register if possible.
1875
1876 2005-09-20  Zdenek Dvorak  <dvorakz@suse.cz>
1877
1878         PR tree-optimization/18463
1879         * tree-chrec.c (chrec_convert): Return fold_converted chrec if
1880         converting it directly is not possible.
1881         (chrec_convert_aggressive): New function.
1882         * tree-chrec.h (chrec_convert_aggressive): Declare.
1883         * tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
1884         Fold chrec conversions aggressively if asked to.
1885         (instantiate_parameters): Modified because of changes in
1886         instantiate_parameters_1.
1887
1888 2005-09-19  Richard Henderson  <rth@redhat.com>
1889
1890         * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
1891         (reduc_splus_v2df): New.
1892
1893 2005-09-19  Richard Sandiford  <richard@codesourcery.com>
1894
1895         * config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
1896         (ADDITIONAL_REGISTER_NAMES): Add missing comma.  Remove final comma.
1897
1898 2005-09-19  Richard Henderson  <rth@redhat.com>
1899
1900         * config/i386/sse.md (vcondu<SSEMODE124>): Rename from
1901         vcondu<SSEMODE12>.
1902
1903 2005-09-19  Richard Henderson  <rth@redhat.com>
1904
1905         * config/ia64/ia64.c (ia64_expand_widen_sum): New.
1906         (ia64_expand_dot_prod_v8qi): New.
1907         * config/ia64/ia64-protos.h: Update.
1908         * config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
1909         widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
1910         sdot_prodv8qi, sdot_prodv4hi): New.
1911         (reduc_splus_v2sf): Rename from reduc_plus_v2sf.
1912
1913 2005-09-19  Richard Henderson  <rth@redhat.com>
1914
1915         PR 23941
1916         * real.c (exact_real_truncate): Return false if the format cannot
1917         represent the number as a normal.
1918
1919         * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
1920         for a memory source.
1921
1922 2005-09-19  Dorit Nuzman  <dorit@il.ibm.com>
1923
1924         * tree-ssa-operands.c (swap_tree_operands): Export.
1925         * tree.h (swap_tree_operands): Declare.
1926         * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
1927         Call swap_tree_operands.
1928
1929 2005-09-19  Richard Henderson  <rth@redhat.com>
1930
1931         * tree-flow.h (merge_alias_info): Declare.
1932         * tree-ssa-copy.c (merge_alias_info): Export.
1933         * tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
1934         (vect_create_data_ref_ptr): Use create_iv directly.
1935         (vectorizable_load): Use correct types for integer constants.
1936         (vect_generate_tmps_on_preheader): Likewise.
1937         (vect_gen_niters_for_prolog_loop): Likewise.
1938
1939 2005-09-19  Steven Bosscher  <stevenb@suse.de>
1940
1941         PR rtl-optimization/23943
1942         * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
1943
1944 2005-09-18  Jan Hubicka  <jh@suse.cz>
1945
1946         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
1947
1948 2005-09-18  Eric Botcazou  <ebotcazou@adacore.com>
1949
1950         * varasm.c (output_constant): Do not abort on conversions to union
1951         types between different sizes.
1952
1953 2005-09-18  Richard Guenther  <rguenther@suse.de>
1954
1955         PR middle-end/23944
1956         * gimplify.c (fold_indirect_ref_rhs): Fix thinko in
1957         fallback.
1958
1959 2005-09-18  Paul Brook  <paul@codesourcery.com>
1960
1961         * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
1962
1963 2005-09-17  Richard Henderson  <rth@redhat.com>
1964
1965         * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
1966         * tree-ssa-loop.c (pass_vect_dce): Remove.
1967         * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
1968         of pass_vectorize.
1969
1970 2005-09-17  Richard Henderson  <rth@redhat.com>
1971
1972         * tree-pass.h (pass_vect_dce): Declare.
1973         * passes.c (init_optimization_passes): Add it.
1974         * tree-flow.h (tree_ssa_dce): Declare.
1975         * tree-ssa-dce.c (tree_ssa_dce): Export.
1976         * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
1977         (gate_tree_vectorize): ... here.
1978         (pass_vect_dce): New.
1979
1980 2005-09-17  Jan Hubicka  <jh@suse.cz>
1981
1982         * except.c (struct eh_status): Turn region_array into vec.
1983         (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
1984         convert_from_eh_region_ranges, find_exception_handler_labels,
1985         current_function_has_exception_handlers, assign_filter_values,
1986         build_post_landing_pads, dw2_build_landing_pads,
1987         sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
1988         sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
1989         foreach_reachable_handler, can_throw_internal_1,
1990         convert_to_eh_region_ranges, verify_eh_tree): Update uses of
1991         region_array.
1992         (duplicate_eh_region_1): Update region_array.
1993         (duplicate_eh_regions): Resize region_array and avoid recomputing.
1994
1995 2005-09-17  David Edelsohn  <edelsohn@gnu.org>
1996
1997         PR middle-end/22067
1998         * expmed.c (expand_mult): Substitute simple register for op0 when
1999         computing max_cost.
2000
2001 2005-09-17  Richard Henderson  <rth@redhat.com>
2002
2003         * expr.c (emit_move_via_integer): Add force argument, pass it on
2004         to emit_move_change_mode.  Update callers.
2005         (emit_move_complex): Pass true to new force argument.
2006         * function.c (expand_function_end): Move expand_eh_return call
2007         earlier.  Merge sub-word complex values into a pseudo before
2008         copying to the return hard register.
2009
2010 2005-09-17  Eric Botcazou  <ebotcazou@adacore.com>
2011
2012         * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
2013         between different sizes.
2014
2015 2005-09-16  Paolo Bonzini  <bonzini@gnu.org>
2016
2017         PR 23903
2018
2019         * passes.c (init_optimization_passes): Register dump files for
2020         IPA passes first.
2021
2022 2005-09-16  Andreas Krebbel  <krebbel1@de.ibm.com>
2023
2024         * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
2025         * config/s390/s390.c (s390_overlap_p): New function.
2026         * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
2027         peephole2, "*xc" peephole2): Added overlap check to the peephole2
2028         condition.
2029
2030 2005-09-16  Richard Guenther  <rguenther@suse.de>
2031
2032         * ipa-pure-const.c (static_execute): Free auxiliar information.
2033         * ipa-type-escape.c (discover_unique_type): Free temporary key.
2034         * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
2035
2036 2005-09-15  DJ Delorie  <dj@redhat.com>
2037
2038         * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
2039
2040 2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
2041
2042         * optabs.c (expand_binop): Use swap_commutative_operands_with_target
2043         to order operands.
2044         (swap_commutative_operands_with_target): New.
2045
2046 2005-09-15  Daniel Berlin  <dberlin@dberlin.org>
2047
2048         * tree-data-ref.c (analyze_array_indexes): Add estimate_only
2049         parameter.
2050         Update callers.
2051         (estimate_iters_using_array): New function.
2052         * tree-data-ref.h (estimate_iters_using_array): Prototype
2053         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
2054         Use estimate_iters_using_array instead of analyze_array.
2055
2056 2005-09-15  Eric Botcazou  <ebotcazou@adacore.com>
2057
2058         * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
2059         as addressable.
2060
2061 2005-09-15  Michael Matz  <matz@suse.de>
2062
2063         * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
2064
2065 2005-09-14  Daniel Berlin  <dberlin@dberlin.org>
2066
2067         PR tree-optimization/23835
2068         * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
2069         (create_name_tags): Rewrite to be not O(num_ssa_names^2).
2070
2071 2005-09-14  Richard Henderson  <rth@redhat.com>
2072
2073         * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
2074         (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
2075
2076 2005-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
2077
2078         * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
2079         in the ARRAY_TYPE case.
2080
2081 2005-09-14  Eric Botcazou  <ebotcazou@adacore.com>
2082
2083         * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
2084
2085 2005-09-14  Uros Bizjak  <uros@kss-loka.si>
2086
2087         PR middle-end/22480
2088         * tree-vect-transform.c (vectorizable_operation): Return false for
2089         scalar shift operations and for vector shift operations with
2090         non-invariant shift arguments.  Use scalar tree operand op1 as
2091         a shift operand when vector shift insn pattern uses scalar shift
2092         operand.
2093         * Makefile.in (tree-vect-transform.o): Depend on recog.h.
2094
2095 2005-09-14  Olivier Hainque  <hainque@adacore.com>
2096
2097         * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
2098         value if it has side-effects.
2099
2100 2005-09-14  David Edelsohn  <edelsohn@gnu.org>
2101
2102         PR target/22068
2103         * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
2104
2105 2005-09-14  Alan Modra  <amodra@bigpond.net.au>
2106
2107         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
2108         passed as NAME as if it were label at start of function code.
2109
2110 2005-09-13  Kaz Kojima  <kkojima@gcc.gnu.org>
2111
2112         * config/sh/sh.md (*movv4sf_i): Add general register cases to
2113         the constraints.
2114
2115 2005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
2116
2117         * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
2118         as early clobber.  Rewrite so the PIC register is not implicitly used.
2119
2120 2005-09-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2121
2122         * tree.c (annotate_with_file_line): Compare line numbers before
2123         file names.
2124
2125 2005-09-13  Uros Bizjak  <uros@kss-loka.si>
2126
2127         PR target/23816
2128         * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
2129         (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
2130
2131 2005-09-13  Ian Lance Taylor  <ian@airs.com>
2132
2133         * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
2134         than a HOST_WIDEST_INT to gen_doloop_begin.
2135
2136 2005-09-13  Diego Novillo  <dnovillo@redhat.com>
2137
2138         * tree-dfa.c (dump_variable): Guard against NULL annotations.
2139
2140 2005-09-13  Zdenek Dvorak  <dvorakz@suse.cz>
2141
2142         PR tree-optimize/23817
2143         * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
2144
2145 2005-09-13  Alan Modra  <amodra@bigpond.net.au>
2146
2147         PR target/23774
2148         * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
2149         word before changing the stack pointer.  Use gen_frame_mem for MEMs.
2150         Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
2151         (restore_stack_nonlocal): Likewise.
2152         (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
2153
2154 2005-09-12  Ian Lance Taylor  <ian@airs.com>
2155
2156         PR g++/7874
2157         * c.opt (ffriend-injection): New C++ option.
2158         * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
2159         (C++ Dialect Options): Document -ffriend-injection.
2160
2161 2005-09-12  Josh Conner  <jconner@apple.com>
2162
2163         PR middle-end/23237
2164         * ipa-reference.c (static_execute): Don't mark variables in
2165         named sections TREE_READONLY.
2166
2167 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
2168
2169         * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
2170         stack_tie.
2171
2172 2005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
2173
2174         * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
2175         V_MUST_DEF instead of just the first_use_p.
2176         Don't mark the virtual variables for renaming on the statement which
2177         is being removed.
2178         (pass_dse): Remove TODO_update_ssa.
2179
2180 2005-09-12  J"orn Rennecke <joern.rennecke@st.com>
2181
2182         PR middle-end/23290
2183         * stor-layout.c (compute_record_mode): For records with a single
2184         field, actually check the field's mode size against the type size.
2185
2186         * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
2187         registers for TARGET_SHMEDIA.
2188         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
2189         GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
2190         of GENERAL_REGS and FP_REGS.
2191
2192 2005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
2193
2194         * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
2195
2196 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
2197
2198         * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
2199         CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
2200         are omitted.  Exclude stack_tie insn too.
2201
2202 2005-09-11  David Edelsohn  <edelsohn@gnu.org>
2203
2204         PR rtl-optimization/23098
2205         * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
2206         0.0f is easy.
2207         * config/rs6000/rs6000.md (movdf splitter): Use
2208         const_double_operand predicate for TARGET_POWERPC64.
2209         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
2210         SYMBOL_REF method to ABI_V4.
2211
2212         * config/rs6000/altivec.md (build_vector_mask_for_load): Use
2213         replace_equiv_address.
2214         * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
2215         rs6000_sr_alias_set and MEM_NOTRAP.
2216         (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
2217
2218 2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
2219
2220         * tree.c (contains_placeholder_p) <tcc_expression>: Properly
2221         handle CALL_EXPR again.
2222
2223 2005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
2224
2225         * arm/predicates.md (alignable_memory_operand): Delete.
2226
2227 2005-09-10  Richard Henderson  <rth@redhat.com>
2228
2229         PR debug/23806
2230         * dbxout.c (dbxout_expand_expr): New.
2231         (dbxout_symbol): Use it.
2232
2233 2005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
2234
2235         * arm.c (arm_gen_rotated_half_load): Delete.
2236         (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
2237         (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
2238         (thumb_set_return_address): Likewise.
2239         (thumb_load_double_from_address): Use adjust_address.
2240         * arm.md (splits calling arm_gen_rotated_half_load): Delete.
2241         (extendhsisi2_mem, movhi_bytes): Use change_address.
2242         (movhi): Use widen_memory_access.
2243         (reload_out_df): Use replace_equiv_address.
2244         * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
2245
2246 2005-09-09  Richard Henderson  <rth@redhat.com>
2247
2248         PR debug/20998
2249         * dbxout.c: Include expr.h.
2250         (dbxout_global_decl): Don't suppress for DECL_RTL unset.
2251         (dbxout_symbol): Handle DECL_VALUE_EXPR.
2252         * Makefile.in (dbxout.o): Add EXPR_H.
2253
2254 2005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
2255
2256         PR tree-optimization/23509
2257         * tree-cfg.c (replace_uses_by): Use replace_exp.
2258         * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
2259         pointers have name_mem_tag or type_mem_tag set.
2260
2261 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
2262
2263         * tree-chrec.c (evolution_function_is_invariant_rec_p): Use
2264         CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
2265         of wrongly accessing operands.
2266
2267 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
2268
2269         * Makefile.in (tree-chrec.o): Depends on SCEV_H.
2270         * tree-chrec.c: Include tree-scalar-evolution.h.
2271         (chrec_convert): Instantiate the base and step before calling
2272         scev_probably_wraps_p that would fail on parametric evolutions.
2273         Collect all the fails into a single section failed_to_convert,
2274         print a diagnostic, and return chrec_dont_know instead of calling
2275         fold_convert.
2276         * tree-scalar-evolution.c (loop_closed_phi_def): New.
2277         (instantiate_parameters_1): Avoid instantiation of loop closed ssa
2278         phi nodes.
2279         (scev_const_prop): Don't replace the definition of a loop closed ssa
2280         phi node by itself, or by another loop closed ssa phi node.
2281         * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
2282         that base and step are defined.
2283
2284 2005-09-09  Richard Guenther  <rguenther@suse.de>
2285
2286         PR c++/23624
2287         * fold-const.c (fold_ternary): Check truth_value_p before
2288         calling invert_truthvalue.
2289
2290 2005-09-09  Nick Clifton  <nickc@redhat.com>
2291
2292         * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
2293         * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
2294         dimension of these arrays.
2295         * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
2296         these arrays.
2297         * longlong.h: Only provide a prototype for the __clz_tab[] array
2298         if this header has not been included from libgcc2.h.
2299         * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
2300         defining own types.
2301         Provide prototypes for exported functions.
2302         Use the __clz_tab[] and __popcount_tab[] arrays provided by
2303         libgcc2.c.
2304
2305 2005-09-08  Josh Conner  <jconner@apple.com>
2306
2307         PR c++/21135
2308         PR c++/23180
2309         * expr.c (expand_expr_addr_expr_1): Don't invoke
2310         expand_simple_binop for EXPAND_INITIALIZER.
2311
2312 2005-09-08  Richard Henderson  <rth@redhat.com>
2313
2314         PR debug/23190
2315         * toplev.c (wrapup_global_declaration_1): Split out ...
2316         (wrapup_global_declaration_2): ... from ...
2317         (wrapup_global_declarations): ... here.  Return bool.
2318         (check_global_declaration_1): Split out ...
2319         (check_global_declarations): from here.
2320         (emit_debug_global_declarations): New.
2321         * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
2322         check_global_declaration_1, emit_debug_global_declarations): Declare.
2323         * c-decl.c (c_write_global_declarations_1): Don't create a vector
2324         of decls.  Call wrapup_global_declaration_1,
2325         wrapup_global_declaration_2, check_global_declaration_1 directly.
2326         (c_write_global_declarations_2): New.
2327         (ext_block): New.
2328         (c_write_global_declarations): Call c_write_global_declarations_2.
2329         * langhooks.c (write_global_declarations): Call
2330         emit_debug_global_declarations.
2331
2332         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
2333         remove decls that have DECL_RTL_SET_P.
2334         * passes.c (rest_of_decl_compilation): Invoke
2335         cgraph_varpool_finalize_decl for all but functions.
2336
2337 2005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2338
2339         * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
2340         the result of a conversion if the new min and max cannot be compared.
2341
2342 2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
2343
2344         * config/s390/s390.c (s390_sr_alias_set): Variable removed.
2345         (override_options): Setting s390_sr_alias_set removed.
2346         (save_fpr, save_gprs): Set alias set to vararg or frame.
2347         (restore_fpr, restore_gprs, s390_emit_prologue): Replace
2348         s390_sr_alias_set with get_frame_alias_set ().
2349         (s390_gimplify_va_arg): Replace s390_sr_alias_set with
2350         get_varargs_alias_set ().
2351
2352 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
2353
2354         PR objc/20574
2355         PR objc/19324
2356         * c-parser.c (c_parser_objc_method_definition): If the next
2357         token is not "{", error out and don't start the function.
2358
2359 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
2360
2361         * tree-vrp.c (extract_range_from_expr): Move the check for non
2362         nullness after the check for gimple invariant.
2363
2364 2005-09-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2365
2366         * tree.c (host_integerp, tree_low_cst): Correct function comment.
2367
2368 2005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2369
2370         PR target/23747
2371         * config/m32r.md (movmemsi_internal): Canonicalize order of
2372         operands in PLUS component of template.
2373
2374 2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>
2375
2376         * reload1.c (fixup_eh_region_note): Remove assertion.
2377         (fixup_abnormal_edges): Reverted removal of call to
2378         find_many_sub_basic_blocks made on 2005-08-31.
2379
2380 2005-09-07  Richard Henderson  <rth@redhat.com>
2381
2382         * function.c (ARG_POINTER_CFA_OFFSET): Move ...
2383         * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
2384         (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
2385         * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
2386         rearrange for better packing.
2387         (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
2388         (lookup_cfa_1): Remove inline marker.
2389         (cfa_equal_p): Split out of ...
2390         (def_cfa_1): ... here.  Use INVALID_REGNUM.
2391         (build_cfa_loc): Handle !cfa->indirect.
2392         (frame_pointer_cfa_offset): New.
2393         (dbx_reg_number): Assert register elimination performed; do
2394         leaf register remapping.
2395         (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
2396         (eliminate_reg_to_offset): New.
2397         (based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
2398         for verifiably local stack frame addresses; re-base to CFA.
2399         (mem_loc_descriptor): Remove can_use_fbreg argument.
2400         (concat_loc_descriptor, loc_descriptor): Likewise.
2401         (containing_function_has_frame_base): Remove.
2402         (rtl_for_decl_location): Don't do register elimination or
2403         leaf register remapping here.
2404         (secname_for_decl): Split out from ..
2405         (add_location_or_const_value_attribute): ... here.
2406         (convert_cfa_to_loc_list): New.
2407         (compute_frame_pointer_to_cfa_displacement): New.
2408         (gen_subprogram_die): Use them.
2409         * tree.h (frame_base_decl): Remove.
2410         * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
2411         (prologue_stack_adjust): Remove.
2412         (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
2413         (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
2414         (set_frame_base_location): Remove.
2415         (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
2416         (dump_attrs_list, dump_dataflow_set): Use string concatenation.
2417         (vt_add_function_parameters): Don't eliminate_regs.
2418         (vt_initialize): Don't create frame_base_decl.
2419
2420 2005-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2421
2422         * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
2423         version of GNU binutils for 4.x and later.
2424
2425 2005-09-06  Mark Mitchell  <mark@codesourcery.com>
2426
2427         * ggc-page.c (ggc_push_context): Remove.
2428         (ggc_pop_context): Likewise.
2429         * ggc.h (ggc_push_context): Remove.
2430         (ggc_pop_context): Likewise.
2431
2432 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
2433
2434         PR target/8973
2435         * config/arc/arc.c (arc_output_function_epilogue): Update flags while
2436         returning from an interrupt handler.
2437
2438 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
2439
2440         PR target/8972
2441         * config/arc/arc.c (output_shift): Add check for loop count when
2442         optimizing.
2443
2444 2005-09-06  Steven Bosscher  <stevenb@suse.de>
2445
2446         * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
2447         form manually.
2448         (abs_replacement): Likewise.
2449         (pass_phiopt): Remove TODO_update_ssa.
2450
2451 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
2452
2453         PR c/23075
2454         * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
2455         if "return with no value, in function returning non-void" warning
2456         has been issued.
2457         * tree-cfg.c (execute_warn_function_return): Don't look at
2458         RETURN_EXPRs with TREE_NO_WARNING set.
2459
2460         PR target/22362
2461         * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
2462         for internal functions doesn't use registers used by global registers
2463         variables.  Use fewer register parameters if there are global register
2464         variables.
2465
2466 2005-09-06  Olivier Hainque  <hainque@adacore.com>
2467             Eric Botcazou  <ebotcazou@adacore.com>
2468
2469         PR middle-end/14997
2470         * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
2471         when we would be extracting outside its bit span (bitpos+bitsize
2472         larger than its mode), possible with some VIEW_CONVERT_EXPRs from
2473         Ada unchecked conversions.
2474
2475 2005-09-06  Steven Bosscher  <stevenb@suse.de>
2476
2477         * tree-ssa-pre.c (try_look_through_load): New function.
2478         (compute_avail): Use it to try to look through loads for some
2479         more useful expressions.
2480
2481 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
2482
2483         * simplify-rtx.c (simplify_binary_operation_1): Correct the
2484         condition for detecting cases like (a&a) and (a^a).
2485
2486 2005-09-06  Keith Besaw  <kbesaw@us.ibm.com>
2487
2488         * common.opt: Add option ftree-vect-loop-version.
2489         * params.def: Add --param vect-max-version-checks.
2490         * doc/invoke.texi: Document ftree-vect-loop-version and
2491         --param vect-max-version-checks.
2492         * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
2493         may_misalign_stmts and defines for accessors.
2494         * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
2495         LOOP_VINFO_MAY_MISALIGN_STMTS.
2496         (destroy_loop_vec_info): VEC_free for
2497         LOOP_VINFO_MAY_MISALIGN_STMTS.
2498         * tree-vect-analyze.c (vect_compute_data_ref_alignment):
2499         Update documentation.
2500         (vect_update_misalignment_for_peel): New.
2501         (vect_enhance_data_refs_alignment): Update to choose loop
2502         peeling or loop versioning if appropriate for the (potentially)
2503         unaligned data references in the loop.
2504         (vect_analyze_data_refs_alignment): Remove call to
2505         vect_enhance_data_refs_alignment so the checks can be done
2506         earlier.
2507         (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
2508         and move up call to vect_analyze_data_refs_alignment.
2509         * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
2510         (vect_transform_loop): Add call to loop_version.
2511
2512 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
2513
2514         PR rtl-optimization/23098
2515         * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
2516         * simplify-rtx.c (constant_pool_reference_p): New function.
2517         * rtl.h (constant_pool_reference_p): New prototype.
2518         * config/i386/i386.md (pushf split, mov[sdx]f split): Use
2519         constant_pool_reference_p in condition and
2520         avoid_constant_pool_reference in preparation statements.
2521
2522 2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>
2523
2524         * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
2525         STRICT_LOW_PART SETs.
2526
2527 2005-09-06  Alan Modra  <amodra@bigpond.net.au>
2528
2529         PR middle-end/21460
2530         * except.c (sjlj_emit_function_enter): Find the function begin
2531         note even when it's not in first basic block.
2532
2533 2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>
2534
2535         * acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
2536         AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
2537         * aclocal.m4: Regenerate.
2538
2539 2005-09-05  DJ Delorie  <dj@redhat.com>
2540
2541         * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
2542         of macro.
2543
2544 2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
2545
2546         * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
2547         config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
2548         config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
2549         Follow spelling conventions.
2550         * doc/invoke.texi: Follow spelling conventions.
2551
2552 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
2553
2554         * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
2555         * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
2556         * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
2557
2558 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
2559
2560         PR target/23683
2561         * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
2562         (output_stack_adjust): Use gen_tmp_stack_mem.
2563         (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
2564         (sh_set_return_address, sh_allocate_initial_value): Likewise.
2565         (sh_get_pr_initial_val): Likewise.
2566         (sh_builtin_saveregs): Use gen_frame_mem and change_address.
2567         (sh_initialize_trampoline): Likewise.  Also use adjust_address.
2568         * sh.md (divsi_inv_m0): Use gen_const_mem.
2569         (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
2570         (movdf_i4+1): Use gen_tmp_stack_mem.
2571         (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
2572         (fpu_switch+2): Likewise.
2573         (movv4sf_i, movv16sf_i): Use adjust_address.
2574         (symGOT_load): Set MEM_NOTRAP_P bit.
2575
2576 2005-09-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2577
2578         PR target/23721
2579         * pa.c (emit_move_sequence): Fix typo in last change.
2580
2581 2005-09-03  Jakub Jelinek  <jakub@redhat.com>
2582
2583         PR rtl-optimization/23454
2584         * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
2585         is true.
2586
2587 2005-09-03  Richard Henderson  <rth@redhat.com>
2588             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2589
2590         PR middle-end/23671
2591         * pa.c (emit_move_sequence): Use replace_equiv_address instead of
2592         gen_rtx_MEM.
2593
2594 2005-09-02  Nicolas Pitre <nico@cam.org>
2595
2596         * config/arm/arm.c (arm_legitimize_address): Limit the value passed
2597         to bit_count to 32 bits.
2598
2599 2005-08-31  Mark Mitchell  <mark@codesourcery.com>
2600
2601         PR c++/23167
2602         * gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
2603         generating synthetic loads from volatile lvalues.
2604
2605 005-09-02  Nick Clifton  <nickc@redhat.com>
2606
2607         * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
2608         __ctzhi2, __clzhi2): New functions.
2609
2610 2005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>
2611
2612         PR middle-end/23547
2613         * tree-nested.c (struct var_map_elt): Mark with GTY.
2614         (struct nesting_info): Mark with GTY.  Mark var_map's param is struct
2615         var_map_elt.
2616         (lookup_field_for_decl): Allocate new element in GC memory.
2617         (lookup_tramp_for_decl): Likewise.
2618         (convert_nl_goto_reference): Likewise
2619         (create_nesting_tree): Allocate info in GC memory. Likewise for
2620         info->var_map.
2621         (free_nesting_tree): Free with ggc_free instead of free.
2622         (root): New static variable.
2623         (lower_nested_functions): Remove root as local variable.  And zero out
2624         root at the end of the function.
2625
2626 2005-09-02  J"orn Rennecke <joern.rennecke@st.com>
2627
2628         PR rtl-optimization/20365
2629         * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
2630         to short.  New member ix.
2631         (simplify_plus_minus_op_data_cmp): Break ties using ix member.
2632         (simplify_plus_minus): Initialize ix members before calling qsort.
2633
2634 2005-09-02  Zdenek Dvorak  <dvorakz@suse.cz>
2635
2636         PR tree-optimization/23626
2637         * tree-cfg.c (replace_uses_by): Clean up eh info.
2638
2639 2005-09-01  DJ Delorie  <dj@redhat.com>
2640
2641         * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
2642         fprintf.
2643
2644 2005-09-01  David Edelsohn  <edelsohn@gnu.org>
2645
2646         * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
2647         (rs6000_split_multireg_move): Use replace_equiv_address instead of
2648         gen_rtx_MEM.
2649
2650 2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2651
2652         * c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
2653         do not issue warning for a variable definition following
2654         a declaration.
2655
2656 2005-09-01  Richard Henderson  <rth@redhat.com>
2657
2658         PR 23668
2659         * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
2660         conversion to CONST_VECTOR.
2661
2662 2005-09-01  Richard Henderson  <rth@redhat.com>
2663
2664         PR 23676
2665         * reload1.c (reload_as_needed): Check !CALL_P before calling
2666         fixup_eh_region_note.
2667         * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
2668
2669 2005-09-01  DJ Delorie  <dj@redhat.com>
2670
2671         * varasm.c (output_constant): Let the target resolve
2672         conversions of addresses to non-default pointer sizes.
2673
2674 2005-09-01  Nicolas Pitre <nico@cam.org>
2675
2676         * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
2677         to alow matching ARM pre-indexed addressing mode.
2678         (arm_override_options): Remove now irrelevant comment.
2679
2680 2005-09-01  Phil Edwards  <phil@codesourcery.com>
2681
2682         * config.gcc (i*86-wrs-vxworks):  Update.  Split out vxworksae target.
2683         * config/i386/t-vxworks:  Update multilibs for VxWorks 6 and RTP mode.
2684         * config/i386/vxworks.h:  Likewise.
2685         * config/i386/t-vxworksae:  New file, for VxWorks AE.
2686         * config/i386/vxworksae.h:  Likewise.
2687
2688 2005-09-01  Sebastian Pop  <pop@cri.ensmp.fr>
2689
2690         PR tree-optimization/23410
2691         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
2692         sequence is not wrapping during the first step.
2693
2694 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
2695
2696         PR debug/7241
2697         * dwarf2out.c (base_type_die): Compare char_type_node with
2698         TYPE_MAIN_VARIANT (type), not type.
2699
2700 2005-09-01  Richard Guenther  <rguenther@suse.de>
2701
2702         PR tree-optimization/15366
2703         * common.opt: Add -finline-functions-called-once.
2704         Put -fearly-inlining in alphabetically ordered place.
2705         * doc/invoke.texi: Document new option.
2706         * ipa-inline.c (cgraph_decide_inlining): Honour
2707         flag_inline_functions_called_once.
2708
2709 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
2710
2711         PR rtl-optimization/23478
2712         * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
2713         (alloc_qty): Initialize it.
2714         (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
2715         (combine_regs): Combine also n_throwing_calls_crossed fields.
2716         (find_free_reg): Don't attempt to caller-save pseudos crossing
2717         calls that might throw.
2718         * global.c (struct allocno): Add throwing_calls_crossed field.
2719         (global_alloc): Revert 2005-08-22 change.  Initialize
2720         throwing_calls_crossed.
2721         (find_reg): Don't attempt to caller-save pseudos crossing calls that
2722         might throw.
2723
2724 2005-09-01  Alan Modra  <amodra@bigpond.net.au>
2725
2726         PR target/23649
2727         * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
2728         (mask64_operand): Reinstate code prior to 2005-06-11 change.
2729         (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
2730         (and64_2_operand): Tweak to use predicate.
2731         (and_operand): Adjust for mask_operand changes.
2732         * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
2733         (print_operand): Likewise.
2734         (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
2735         (mask64_1or2_operand): Delete.
2736         * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
2737         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
2738         (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
2739         (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
2740         * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
2741         (rotldi3_internal4): Likewise.
2742         (rotldi3_internal5, rotldi3_internal5 split): Likewise.
2743         (rotldi3_internal6, rotldi3_internal6 split): Likewise.
2744         (ashldi3_internal7): Likewise.
2745         (ashldi3_internal8, ashldi3_internal8 split): Likewise.
2746         (ashldi3_internal, ashldi3_internal9 split): Likewise.
2747         (anddi3 split): Don't match mask64_operand.
2748         (anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
2749         (anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
2750         splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
2751         't' splitter predicate.
2752         (movdi_internal64 + 2): Revert 2005-06-11 change.
2753
2754 2005-08-31  DJ Delorie  <dj@redhat.com>
2755
2756         * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
2757         (m32c_asm_integer): Add support for 32 bit pointers.
2758
2759 2005-08-31  Richard Henderson  <rth@redhat.com>
2760
2761         * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
2762         component-like references for setting MEM_NOTRAP_P.
2763
2764         * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
2765         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
2766
2767 2005-08-31  Richard Henderson  <rth@redhat.com>
2768
2769         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
2770         into a pseudo before applying gen_lowpart.
2771
2772 2005-08-31  Geoffrey Keating  <geoffk@apple.com>
2773
2774         * doc/install.texi (Specific): Update cctools version required
2775         for full functionality.
2776         * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
2777         linkers as -macosx_version_min.
2778
2779 2005-08-31  J"orn Rennecke <joern.rennecke@st.com>
2780
2781         PR target/21255
2782         * sh.c (print_operand, %R and %S): Add handling of floating point
2783         registers, memory, constants and invalid operands.
2784
2785 2005-08-31  Daniel Berlin  <dberlin@dberlin.org>
2786
2787         * ipa-pure-const.c: Change dump name.
2788
2789 2005-08-31 Uros Bizjak <uros@kss-loka.si>
2790
2791         PR target/23570
2792         * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
2793         to "reg_or_0_operand".
2794         (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
2795
2796 2005-08-31  Dale Johannesen  <dalej@apple.com>
2797
2798         * loop-iv.c (iv_number_of_iterations):  Fix overflow check for
2799         loops that count down.
2800
2801 2005-08-31  Richard Henderson  <rth@redhat.com>
2802
2803         PR rtl-opt/23601
2804         * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
2805         (fixup_eh_region_note): New.
2806         (reload_as_needed): Call it.
2807         (fixup_abnormal_edges): Allow all throwing insns to be deleted;
2808         don't call find_many_sub_basic_blocks; call verify_flow_info.
2809         * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
2810         (keep_stack_depressed): Likewise.
2811         (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
2812
2813 2005-08-31  Richard Henderson  <rth@redhat.com>
2814
2815         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
2816         fp return matching.
2817
2818 2005-08-31  Fariborz Jahanian <fjahanian@apple.com>
2819
2820         * expr.c (expand_expr_real_1): Compare size of address
2821         mode to target's address mode size in deciding expansion of
2822         the constant address.
2823
2824 2005-08-31  Richard Guenther  <rguenther@suse.de>
2825
2826         PR middle-end/23477
2827         * expr.c (all_zeros_p): New function.
2828         (expand_expr_real_1): Handle the case of an all-zero
2829         non-addressable constructor separately.
2830
2831 2005-08-31  Adrian Straetling  <straetling@de.ibm.com>
2832
2833         * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
2834         arguments, adjust all callers.
2835         (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
2836
2837 2005-08-30  Richard Henderson  <rth@redhat.com>
2838
2839         PR target/23630
2840         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
2841         whenever the mode sizes match.
2842
2843 2005-08-31  Alan Modra  <amodra@bigpond.net.au>
2844
2845         * calls.c (load_register_parameters): Fix comment typo.
2846         * expr.c (emit_push_insn): Comment formatting.
2847
2848 2005-08-30  Ian Lance Taylor  <ian@airs.com>
2849
2850         * config/i386/x-cygwin (host-cygwin): Change dependency from
2851         hosthooks-def.h to $(HOSTHOOKS_DEF_H).
2852
2853 2005-08-29  Geoffrey Keating  <geoffk@apple.com>
2854
2855         * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
2856         parts of 'vals'.
2857
2858 2005-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
2859
2860         PR middle-end/23408
2861         * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
2862         call to ggc_collect.
2863
2864 2005-08-29  Paolo Bonzini  <bonzini@gnu.org>
2865
2866         PR bootstrap/21268
2867         * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
2868         beginning.  Remove $(INCLUDES) from all the rules, if following
2869         $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
2870
2871 2005-08-29  Jakub Jelinek  <jakub@redhat.com>
2872
2873         PR middle-end/23484
2874         * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
2875         fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
2876         not constant, but maxlen is, don't set len to maxlen, rather
2877         set maxlen to len if len is a constant.
2878
2879 2005-08-29  Zdenek Dvorak  <dvorakz@suse.cz>
2880
2881         PR tree-optimization/23475
2882         * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
2883         and counts.
2884
2885 2005-08-28  Daniel Berlin  <dberlin@dberlin.org>
2886
2887         Fix PR middle-end/22455
2888
2889         * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
2890         Checksum only the parts of the tree that exist for the tree code.
2891
2892 2005-08-28  Dale Johannesen  <dalej@apple.com>
2893
2894         * config/i386/i386.c (nocona_cost):  Increase MOVE_RATIO.
2895
2896 2005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>
2897
2898         * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
2899
2900 2005-08-28  Richard Henderson  <rth@redhat.com>
2901
2902         * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
2903         * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
2904         of char_type_node.
2905
2906 2005-08-28  Jakub Jelinek  <jakub@redhat.com>
2907
2908         PR ada/23593
2909         * builtins.c (get_memory_rtx): Don't strip nops
2910         in between COMPONENT_REFs.
2911
2912 2005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>
2913
2914         PR middle-end/23463
2915         * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
2916         types.
2917         (gimplify_modify_expr): Check for zero sized types and gimplify the
2918         rhs and lhs as statements.
2919
2920 2005-08-27  John David Anglin  <dave.anflin@nrc-cnrc.gc.ca>
2921
2922         PR libgcj/23508
2923         * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
2924         state for return address column of signal frames.
2925
2926 2005-08-27  David Edelsohn  <edelsohn@gnu.org>
2927
2928         PR target/23539
2929         * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
2930         bytes >= 2 not bytes == 2.
2931         (expand_block_move): Same.
2932
2933 2005-08-27  Richard Guenther  <rguenther@suse.de>
2934
2935         PR target/23575
2936         * config/i386/sse.md (sse2_movsd): Add missing closing
2937         braces.
2938
2939 2005-08-27  Paul Brook  <paul@codesourcery.com>
2940
2941         * genrecog.c (enum decision_type): Add DT_num_insns.
2942         (struct decision_test): Add u.num_insns.
2943         (add_to_sequence): Add DT_num_insns test.
2944         (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
2945         (write_cond, debug_decision_2): Ditto.
2946         (change_state): Assume peep2_next_insn never fails.
2947         Remove "afterward" argument.
2948         (write afterward, write_tree): Update to match.
2949         * recog.c (peep2_current_count): New variable.
2950         (peep2_next_insn): Check it.
2951         (peephole2_optimize): Set peep2_current_count.
2952         * recog.h (peep2_current_count): Declare.
2953
2954 2005-08-26  Josh Conner  <jconner@apple.com>
2955
2956         PR middle-end/23584
2957         * ipa-pure-const.c (check_tree): Check for volatile-ness
2958         when considering a dereference.
2959
2960 2005-08-27  Jakub Jelinek  <jakub@redhat.com>
2961
2962         * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
2963
2964 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
2965
2966         PR rtl-optimization/23561
2967         * builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
2968         a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
2969         at most LEN bytes long memory fits into the field.
2970         (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
2971         expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
2972         expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
2973
2974 2005-08-26  Richard Henderson  <rth@redhat.com>
2975
2976         PR rtl-opt/23560
2977         * loop.c (biased_biv_may_wrap_p): New.
2978         (maybe_eliminate_biv_1): Use it to suppress non-equality
2979         comparison transformations.  Delete disabled code.
2980
2981 2005-08-26  Ian Lance Taylor  <ian@airs.com>
2982
2983         * combine.c (make_extraction): Avoid reference outside object.
2984
2985 2005-08-26  J"orn Rennecke <joern.rennecke@st.com>
2986
2987         * stor-layout.c (finalize_type_size): Restore behaviour for
2988         non-aggregate types to the status quo ante of the patch for
2989         pr 23467.  Document why it matters.
2990
2991 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
2992
2993         PR c/23506
2994         * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
2995         array by one element, initialize the BT_LAST element with NULL.
2996
2997 2005-08-26  David Edelsohn  <edelsohn@gnu.org>
2998
2999         * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
3000         optimizing for size.
3001         (plus_eqsi): Same.
3002         (compare_plus_eqsi): Same.
3003         (plus_eqsi_compare): Same.
3004         (neg_eq0<mode>): Same.
3005         (neg_eq<mode>): Same.
3006
3007         * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
3008         PROCESSOR_POWER4.
3009
3010 2005-08-26  Nick Clifton  <nickc@redhat.com>
3011
3012         * config/v850/v850.c (ep_memory_operand): Return FALSE if
3013         TARGET_EP is not defined.
3014         * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
3015         TARGET_EP is enabled.
3016         (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
3017         * config/v850/v850.md (save_all_interrupt): Only use the EP
3018         register if TARGET_EP is defined.
3019         (restore_all_interrupt): Likewise.
3020         * config/v850/lib1funcs.asm: Update functions so that the EP
3021         register is only used if __EP__ is defined.
3022
3023 2005-08-26  David Ung  <davidu@mips.com>
3024
3025         * config/mips/mips.c (mips_expand_prologue): Handle case when
3026         generating for MIPS16 and the outgoing argument area is more than
3027         SMALL_OPERAND. Use the frame pointer as temporary to generate the
3028         add instruction.
3029
3030 2005-08-26  Paul Woegerer  <paul.woegerer@nsc.com>
3031
3032         * config/crx/crx.md: Make doloop_end pattern usage controllable
3033         via mloop-nesting=<max-nesting> command line switch. Make sure
3034         the combiner cannot use doloop_end_<mode> in an illegal way.
3035         * config/crx/crx.c: Use regs up to r6 for argument passing.
3036         Refine crx_address_cost (non cst4 displacements are expensive).
3037         * config/crx/crx.opt: Add switch for mloop-nesting=.
3038
3039 2005-08-26  Adrian Straetling  <straetling@de.ibm.com>
3040
3041         * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
3042         (UNSPEC_MVST): New constant.
3043
3044 2005-08-26  Andreas Krebbel  <krebbel1@de.ibm.com>
3045
3046         * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
3047         Reject operands containing eliminable registers.
3048         * testsuite/gcc.dg/20050825-1.c: New testcase.
3049
3050 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
3051             Jan Hubicka  <jh@suse.cz>
3052
3053         * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
3054
3055 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
3056
3057         PR tree-optimization/23546
3058         * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
3059         and REAL_CST nodes.
3060
3061 2005-08-24  Pete Steinmetz  <steinmtz@us.ibm.com>
3062
3063         * params.def (PARAM_MIN_SPEC_PROB): New.
3064         * sched-rgn.c (MIN_PROBABILITY): Delete.
3065         (compute_trg_info): Convert to PARAM_VALUE.
3066         * doc/invoke.texi (param): Document min-spec-prob.
3067
3068 2005-08-24  Fariborz Jahanian <fjahanian@apple.com>
3069
3070         * config/darwin.h: define __PIC__
3071         * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
3072         TARGET_OS_CPP_BUILTINS macro.
3073
3074 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
3075
3076         * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
3077         yesterday.
3078
3079 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
3080
3081         * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
3082         to duplicate_block.
3083         * cfghooks.c (duplicate_block): Added position where to place
3084         new block as argument.
3085         * cfghooks.h (duplicate_block): Declaration changed.
3086         * cfglayout.c (copy_bbs): Add argument after.  Pass it to
3087         duplicate_block.
3088         * cfglayout.h (copy_bbs): Declaration changed.
3089         * cfgloop.h (loop_version): Declaration changed.
3090         * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
3091         position to copy_bbs.
3092         (loop_version): Pass position to duplicate_loop_to_header_edge.
3093         Add place_after argument and position new blocks according to
3094         it.
3095         * modulo-sched.c (sms_schedule): Pass place_after argument
3096         to loop_version.
3097         * tracer.c (tail_duplicate): Pass argument to duplicate_block.
3098         * tree-cfg.c (split_edge_bb_loc): New function.
3099         (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
3100         to determine position of new blocks.
3101         * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
3102         to loop_version.
3103         * tree-ssa-threadupdate.c (create_block_for_threading): Pass
3104         argument to duplicate_block.
3105         * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
3106         Pass position to copy_bbs.
3107
3108 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
3109
3110         * fold-const.c (ptr_difference_const): Use
3111         cst_and_fits_in_hwi instead of host_integerp.
3112
3113 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
3114
3115         * config/darwin.c (gen_pic_offset): New.
3116         (machopic_indirect_data_reference,  machopic_legitimize_pic_address):
3117         Use it.
3118
3119 2005-08-23  Zdenek Dvorak  <dvorakz@suse.cz>
3120
3121         PR tree-optimization/23486
3122         * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
3123
3124 2005-08-23  Phil Edwards  <phil@codesourcery.com>
3125
3126         * config.gcc (*-*-vxworks*):  Update tm_file, add extra_options,
3127         remove use_collect2.
3128         (powerpc-wrs-vxworks):  Update, split out *-*-vxworksae target.
3129
3130         * target-def.h (TARGET_HAVE_CTORS_DTORS):  Allow target
3131         configuration files to override the default value.
3132
3133         * config/t-vxworks:  Remove INSTALL_ASSERT_H.  Define STMP_FIXPROTO,
3134         EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
3135         * config/vx-common.h:  New file, split out from...
3136         * config/vxworks.h:  here.  Update for VxWorks 6.x and RTP mode.
3137         * config/vxworksae.h:  New file, for VxWorks AE.
3138         * config/vxworks.opt:  New file.
3139         * config/vxlib.c:  Update for VxWorks 6.
3140
3141         * config/rs6000/t-vxworks (MULTILIB_OPTIONS):  New list.  Adjust
3142         other MULTILIB_* variables appropriately.
3143         (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS):  Correct from t-ppccomm.
3144         * config/rs6000/t-vxworksae:  New file, adjust multilibs for AE.
3145         * config/rs6000/vxworks.h:  Update for VxWorks 6.
3146         * config/rs6000/vxworksae.h:  New file, mostly placeholder for now.
3147
3148 2005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>
3149
3150         PR target/20799
3151         * config/darwin.c (machopic_select_section): Remove the hack to
3152         mark "::operator new" and "::operator delete" for coalescing
3153         even though they are not weak.
3154
3155 2005-08-24  Alan Modra  <amodra@bigpond.net.au>
3156
3157         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
3158         * configure: Regenerate.
3159
3160 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
3161
3162         PR middle-end/23517
3163         * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
3164         between vectors.
3165         * convert.c (convert_to_integer, convert_to_vector): Likewise.
3166         * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
3167         Likewise.
3168
3169 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
3170
3171         * config/rs6000/predicates.md (equality_operator): New.
3172         * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
3173         comparison with a large constant.
3174
3175 2005-08-23  Mark Mitchell  <mark@codesourcery.com>
3176
3177         * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
3178
3179 2005-08-23  J"orn Rennecke <joern.rennecke@st.com>
3180
3181         * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
3182         registers is even, and we have a hardware double precision fp,
3183         align the buffer.
3184         (sh_gimplify_va_arg_expr): For floating point arguments, consider
3185         size of current argument when checking if argument was passed in
3186         registers.
3187
3188         * sh.c (sh_attr_renesas_p): Handle error_mark_node.
3189
3190         PR middle-end/23467
3191         * stor-layout.c (finalize_type_size): Dont override
3192         existing alignment with a smaller alignment from the mode.
3193
3194 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
3195
3196         * lambda-code.c (lambda_vector_lexico_pos): Moved...
3197         * lambda.h (lambda_vector_lexico_pos): ... here.
3198         * tree-data-ref.c (build_classic_dist_vector): Return false when
3199         the distance vector is lexicographically negative.
3200
3201 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
3202
3203         PR tree-optimization/23511
3204         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
3205         handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
3206
3207 2005-08-23  Jakub Jelinek  <jakub@redhat.com>
3208
3209         PR tree-optimization/22043
3210         * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
3211         * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
3212         If ALLOW_FLEXARR, handle types ending with flexible array member.
3213         Pass false as second argument to recursive count_type_elements calls.
3214         (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
3215         argument to count_type_elements call.
3216         * tree-sra.c (decide_block_copy): Likewise.
3217         * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
3218         for a constant-sized object, set cleared as well.  Pass true as
3219         second argument to count_type_elements call.
3220
3221 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
3222
3223         PR target/21571
3224         * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
3225         from legitimate_small_data_p, and make global.  Update use.
3226         Remove forward declaration.
3227         * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
3228         Declare.
3229         * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
3230
3231 2005-08-23  David Edelsohn  <edelsohn@gnu.org>
3232
3233         * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
3234         of scratch intermediates.
3235         (eq<mode>_compare): Same.
3236         (neg_eq0<mode>): New.
3237         (neg_eq<mode>): Convert to define_insn_and_split.
3238
3239 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
3240
3241         PR target/23070
3242         * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
3243         stdarg functions, set/clear the fp marker even when no variable
3244         args are passed.
3245         * config/rs6000/sysv4.opt (mprototype): Describe.
3246
3247 2005-08-22  Jakub Jelinek  <jakub@redhat.com>
3248
3249         PR rtl-optimization/23478
3250         * regs.h (reg_info): Add throw_calls_crossed.
3251         (REG_N_THROWING_CALLS_CROSSED): Define.
3252         * flow.c (allocate_reg_life_data): Initialize
3253         REG_N_THROWING_CALLS_CROSSED.
3254         (propagate_one_insn, attempt_auto_inc): Update
3255         REG_N_THROWING_CALLS_CROSSED.
3256         * global.c (global_alloc): Don't allocate pseudos across
3257         calls that may throw.
3258
3259 2005-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
3260
3261         PR c/18715
3262         * c-common.c (c_do_switch_warnings): Look for a node where the enum's
3263         value is inbetween the range if we did not find an exact match.
3264
3265 2005-08-22  Aldy Hernandez  <aldyh@redhat.com>
3266
3267         * doc/invoke.texi (Option Summary): Add ms1 options.
3268         * doc/extend.texi: Document interrupt handler attribute for ms1.
3269         * doc/md.texi: Document ms1 constraints.
3270         * config.gcc: Add ms1-*-elf.
3271         * config/ms1/ms1.h: New.
3272         * config/ms1/ms1.c: New.
3273         * config/ms1/ms1.md: New.
3274         * config/ms1/ms1-protos.h: New.
3275         * config/ms1/ABI.txt: New.
3276         * config/ms1/crti.asm: New.
3277         * config/ms1/crtn.asm: New.
3278         * config/ms1/lib2extra-funcs.c: New.
3279         * config/ms1/t-ms1: New.
3280         * config/ms1/ms1.opt: New.
3281
3282 2005-08-22 Ira Rosen <irar@il.ibm.com>
3283
3284         * config/rs6000/altivec.md (xorv4sf3): New.
3285         (negv4sf2, neg<mode>2): Likewise.
3286
3287 2005-08-21  H.J. Lu  <hongjiu.lu@intel.com>
3288
3289         PR target/23485
3290         * config/ia64/ia64.md (divsi3): Check divide by zero.
3291         (udivsi3): Likewise.
3292         (divdi3): Likewise.
3293         (udivdi3): Likewise.
3294
3295 2005-08-21  Jakub Jelinek  <jakub@redhat.com>
3296
3297         * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
3298         up to elem_bitsize bits, not max_bitsize.
3299
3300 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
3301
3302         PR tree-optimization/23433
3303         * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
3304         REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
3305
3306 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
3307
3308         PR tree-optimization/23434
3309         * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
3310         the iteration bound is not an INTEGER_CST.
3311
3312 2005-08-21  Dorit Nuzman  <dorit@il.ibm.com>
3313
3314         * tree-vect-transform.c (get_initial_def_for_reduction): Set
3315         need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
3316         NULL if need_epilog_adjust is false.
3317         (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
3318         Case 3 always peels first itration, not just for PLUS case, and no need
3319         to use scalar_initial_def here. Create an epilog adjustment only if
3320         scalar_initial_def is not NULL.
3321
3322         (vectorizable_reduction): Remove assert.
3323
3324 2005-08-20  H.J. Lu  <hongjiu.lu@intel.com>
3325
3326         PR target/23485
3327         * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
3328         (__moddi3): Likewise.
3329         (__udivdi3): Likewise.
3330         (__umoddi3): Likewise.
3331         (__divsi3): Likewise.
3332         (__modsi3): Likewise.
3333         (__udivsi3): Likewise.
3334         (__umodsi3): Likewise.
3335
3336 2005-08-20  Jakub Jelinek  <jakub@redhat.com>
3337
3338         * tree-pass.h (TDF_GRAPH): Define.
3339         * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
3340         * passes.c (finish_optimization_passes): Only call
3341         finish_graph_dump_file if TDF_GRAPH is set.
3342         (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
3343         NULL.  Set TDF_GRAPH bit.
3344         (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
3345
3346 2005-08-20  Richard Earnshaw  <richard.earnshaw@arm.com>
3347
3348         * arm.h (arm_stack_offsets): Add locals_base field.
3349         * arm.c (arm_get_frame_offsets): Compute it.
3350         (thumb_compute_initial_elimination offset): Make the Thumb frame
3351         pointer point to the base of the local variables.
3352         (thumb_expand_prologue): Update accordingly.
3353         (thumb_expand_epilogue): Likewise.
3354
3355         * arm.md (thumb_movhi_clobber): Make this insn a define_expand.  Change
3356         mode of clobbered scratch to DImode.  Handle a case that's known to
3357         need this.
3358
3359 2005-08-19  David Edelsohn  <edelsohn@gnu.org>
3360
3361         * config/rs6000/rs6000.md (gt0<mode>): Delete.
3362         (gt0<mode>_compare): Delete.
3363         (neg_gt0<mode>): Delete.
3364
3365 2005-08-19  Eric Christopher  <echristo@apple.com>
3366
3367         * optabs.h: Change CTI_ to COI_.
3368         * optabs.c: Ditto.
3369
3370 2005-08-19  James E Wilson  <wilson@specifix.com>
3371
3372         * builtins.c (expand_builtin_return_addr): Set
3373         current_function_accesses_prior_frames when count != 0.  Use
3374         frame_pointer_rtx when count == 0.
3375         * function.h (struct function): Add accesses_prior_frames field.
3376         (current_function_accesses_prior_frames): Define.
3377         * reload1.c (init_elim_table): Check
3378         current_function_accesses_prior_frames.
3379         * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
3380
3381 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
3382
3383         * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
3384         indicator.  Return true if the flowgraph changed during
3385         cleanup.
3386
3387 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
3388
3389         PR 23476
3390         * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
3391         conditional expression before testing its value.
3392
3393 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
3394
3395         * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
3396
3397 2005-08-19  Devang Patel  <dpatel@apple.com>
3398
3399         PR tree-optimization/23048
3400         * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
3401         third parameter. Check whether latch is dominated by exit
3402         block or not.
3403         (if_convertible_loop_p): Supply exit block itself to
3404         if_convertible_bb_p.
3405
3406 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
3407
3408         PR target/23473
3409         * arm.md (arm_load_pic_register): Change argument to the mask of
3410         saved registers.  Call thumb_find_work_register if we need a
3411         scratch register on Thumb.
3412         (arm_expand_prologue): Pass empty register set to
3413         arm_load_pic_register.
3414         (thumb_expand_prologue): Pass live_regs_mask directly to
3415         arm_load_pic_register.
3416         * arm-protos.h (arm_load_pic_register): Update prototype.
3417
3418 2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
3419
3420         * sh.c (find_sole_member): New function.
3421         (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
3422         if the record's alignment is larger than the size of its only member.
3423
3424 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
3425
3426         PR target/23436
3427         * arm.c (thumb_legitimize_reload_address): New function.
3428         * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
3429         * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
3430
3431 2005-08-19  Paul Woegerer  <paul.woegerer@nsc.com>
3432
3433         * config/crx/crx.c: Implement crx_decompose_address. Reject
3434         symbolic displacements since CRX register relative adressing
3435         mode can't handle unsigned 32-bit values as displacements.
3436         * config/crx/crx.h: Simplify definitions, remove redundant
3437         parenthesis and obsolete macros.
3438         * config/crx/crx.opt: Add new switch for debugging addresses.
3439         * config/crx/crx-protos.h: Add new declarations for above.
3440
3441 2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
3442
3443         PR middle-end/20624
3444         * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
3445         looking past it.
3446
3447 2005-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3448
3449         * collect2.c (dup2): Delete.
3450         * configure.ac: Don't check for dup2.
3451
3452         * config.in, configure: Regenerate.
3453
3454 2005-08-18  J"orn Rennecke <joern.rennecke@st.com>
3455
3456         * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
3457         record with the type of its only member.
3458
3459 2005-08-18  David Edelsohn  <edelsohn@gnu.org>
3460
3461         * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
3462         define_insn_and_split.
3463         (plus_ltu<mode>_compare): Same.
3464         (gtu<mode>_compare): Same.
3465         (plus_gtu<mode>_compare): Same.
3466
3467 2005-08-18  Dorit Nuzman  <dorit@il.ibm.com>
3468
3469         PR tree-optimization/22228
3470         * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
3471         todo_flags_start.
3472         * tree-vect-transform.c (vect_transform_loop): Mark the variables that
3473         are recorded in vect_vnames_to_rename for renaming.
3474         * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
3475         (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
3476         in vect_vnames_to_rename.
3477         (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
3478         * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
3479
3480 2005-08-18  Jan Hubicka  <jh@suse.cz>
3481
3482         PR c++/22034
3483         * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
3484         info only for local statics, not for member variables.
3485
3486 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3487
3488         * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
3489
3490 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3491
3492         * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
3493
3494 2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>
3495
3496         PR middle-end/16045
3497         * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
3498
3499 2005-08-17  James E Wilson  <wilson@specifix.com>
3500
3501         * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
3502         array size check.
3503
3504 2005-08-17  David Edelsohn  <edelsohn@gnu.org>
3505
3506         * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
3507         (leu<mode>_compare): Same.
3508         (plus_leu<mode>): Same.
3509         (neg_leu<mode>): Same.
3510         (and_neg_leu<mode): Same.
3511         (ltu<mode>_compare): Same.
3512         (plus_ltu<mode>): Same.
3513         (geu<mode>): Same.
3514         (geu<mode>_compare): Same.
3515         (plus_geu<mode>): Same.
3516         (neg_geu<mode>): Same.
3517         (and_neg_geu<mode>): Same.
3518         (plus_gt<mode>): Same.
3519         (gtu<mode>_compare): Same.
3520         (plus_gtu<mode>): Same.
3521
3522 2005-08-17  Erik Christiansen  <erik@dd.nec.com.au>
3523
3524         * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
3525         Move call_table_data to end.  Delete spurious .text.
3526         (callt_save_all_interrupt): Fix comment typo.
3527
3528 2005-08-17  James E Wilson  <wilson@specifix.com>
3529             Kevin Winchester  <winchester@amirix.com>
3530
3531         PR target/21684
3532         * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
3533
3534 2005-08-17  Uros Bizjak  <uros@kss-loka.si>
3535
3536         PR target/23268
3537         * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
3538         ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
3539
3540 2005-08-17  J"orn Rennecke <joern.rennecke@st.com>
3541
3542         * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
3543         record with the type of its only member if the modes don't match.
3544
3545         * varasm.c (decode_reg_name): Skip empty additional register names.
3546
3547 2005-08-16  Zdenek Dvorak  <dvorakz@suse.cz>
3548
3549         * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
3550         lsm_tmp_name_length): New.
3551         (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
3552         (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
3553
3554 2005-08-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3555             Andreas Krebbel  <krebbel1@de.ibm.com>
3556
3557         * config.gcc: Added z9-109 switch.
3558         * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
3559         "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
3560         "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
3561         "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
3562         "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
3563         for "z9_109" cpu attribute.
3564         * config/s390/s390.c (z9_109_cost): New processor cost structure.
3565         (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
3566         (s390_handle_arch_option): Added z9-109 switch.
3567         (override_options): Set respective cost function for z9-109.
3568         (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
3569         (legitimate_reload_constant_p): Accept extended immediates.
3570         (print_operand): Three new output modifiers added: k, m and o.
3571         (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
3572         (s390_output_mi_thunk): Use extended immediate when possible.
3573         * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
3574         (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
3575         (CONSTRAINT_LEN): Added length of O constraint.
3576         (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
3577         * config/s390/s390.md ("cpu"): New value z9_109 added.
3578         ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
3579         "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
3580         "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
3581         "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
3582         "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
3583         ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
3584         "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
3585         "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
3586         ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
3587         "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
3588         "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
3589         "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
3590         "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
3591         "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
3592         "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
3593         immediates.
3594         ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
3595         "zero_extend<mode>si2"): Allow memory operands and don't manually emit
3596         insns for TARGET_EXTIMM.
3597
3598 2005-08-17  Andreas Krebbel  <krebbel1@de.ibm.com>
3599
3600         * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
3601
3602 2005-08-17  Nick Clifton  <nickc@redhat.com>
3603
3604         * config/stormy16/stormy16.c (xstormy16_encode_section_info):
3605         Call default_encode_section_info.
3606
3607 2005-08-17  Steven Bosscher  <stevenb@suse.de>
3608
3609         PR tree-optimization/21574
3610         * tree-ssa-ccp.c (likely_value): If the right hand side is a
3611         constant, return CONSTANT.
3612         (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
3613         (ccp_fold, visit_assignment): Likewise.
3614         (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
3615
3616 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
3617
3618         * c-typeck.c (build_function_call): Call fold_buildN_initializer or
3619         fold_buildN instead of buildN then fold_initializer or fold.
3620         (build_unary_op): Likewise.
3621         (build_binary_op): Likewise.
3622         * fold-const.c (fold_initializer): Remove.
3623         (fold_build1_initializer): New function.
3624         (fold_build2_initializer): New function.
3625         (fold_build3_initializer): New function.
3626         * tree.h (fold_initializer): Remove.
3627         (fold_build1_initializer): New function.
3628         (fold_build2_initializer): New function.
3629         (fold_build3_initializer): New function.
3630
3631 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
3632
3633         * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
3634         (try_move_mult_to_index): Call fold_build2 instead of build2.
3635         (fold_binary): Don't call fold after calls to try_move_mult_to_index.
3636         * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
3637         fold_binary_to_constant.
3638         (infer_loop_bounds_from_undefined): Call fold_build2 instead of
3639         fold (build.
3640         * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
3641         check if A == gcd (A, B).  Remove TYPE argument.
3642         (analyze_offset) Use fold_build2 instead of fold (build.
3643         (create_data_ref): Likewise.
3644         (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
3645         * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
3646         then fold.
3647
3648 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
3649
3650         * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
3651         ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
3652
3653 2005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>
3654
3655         PR tree-opt/23402
3656         * gimplify.c (zero_sized_type): New function.
3657         (gimplify_modify_expr_rhs): If we have a zero sized type,
3658         replace the statement with an empty statement.
3659
3660 2005-08-16  H.J. Lu  <hongjiu.lu@intel.com>
3661
3662         * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
3663         fxsave.
3664
3665 2005-08-16  Ian Lance Taylor  <ian@airs.com>
3666
3667         * doc/tm.texi (Label Output): Correct typo.
3668
3669 2005-08-16  Steven Bosscher  <stevenb@suse.de>
3670
3671         PR target/23376
3672         * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
3673         force_operand will work later on using have_insn_for.
3674
3675 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3676
3677         * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
3678
3679 2005-08-16  Ian Lance Taylor  <ian@airs.com>
3680
3681         PR c++/23337
3682         * gimplify.c (gimplify_init_ctor_eval): If we see an element of
3683         vector type, don't try to construct it element by element.  Add an
3684         assertion that we use a FIELD_DECL when building a COMPONENT_REF.
3685
3686 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3687
3688         * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
3689
3690 2005-08-16  Geoffrey Keating  <geoffk@apple.com>
3691
3692         * doc/invoke.texi (Precompiled Headers): Document some more options
3693         which are known to be safe.
3694
3695 2005-08-16  James E Wilson  <wilson@specifix.com>
3696
3697         PR tree-optimization/21105
3698         * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
3699         TREE_OVERFLOW check.
3700
3701 2005-08-16  David Edelsohn  <edelsohn@gnu.org>
3702
3703         * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
3704         (neg_ltu<mode>): Same.
3705         (gtu<mode>): Same.
3706         (neg_gtu<mode>): Same.
3707
3708 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3709
3710         * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
3711         (fold_builtin_isdigit): Use fold_buildN.
3712         (build_function_call_expr): Likewise.
3713         * c-typeck.c (c_finish_loop): Likewise.
3714
3715 2005-08-16  J"orn Rennecke <joern.rennecke@st.com>
3716             Richard Shann <rshann@superh.com>
3717
3718         PR middle-end/20396:
3719         * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
3720
3721 2005-08-16  Sebastian Pop  <pop@cri.ensmp.fr>
3722
3723         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
3724
3725 2005-08-15  Richard Earnshaw  <richard.earnshaw@arm.com>
3726
3727         PR target/23355
3728         * arm.c (thumb_compute_save_reg_mask): Use similar logic to
3729         arm_compure_save_reg0_reg12_mask to determine when the PIC register
3730         must be saved.
3731
3732 2005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3733
3734         PR middle-end/23369
3735         * fold-const.c (build_range_check): Disable optimization for function
3736         pointer expressions on targets that require function pointer
3737         canonicalization.
3738
3739 2005-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
3740
3741         * simplify-rtx.c (simplify_const_relational_operation): When
3742         extracting arguments of a COMPARE, recompute the mode as well.
3743
3744 2005-08-15  Ian Lance Taylor  <ian@airs.com>
3745
3746         * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
3747
3748 2005-08-15  DJ Delorie  <dj@redhat.com>
3749
3750         * config/m32c/mov.md (movqi_op): Immediates can't be moved to
3751         the stack.
3752         (movsi_splittable): Allow, but split, moves to the stack.
3753         * config/m32c/m32c.c (m32c_split_move): Always split moves to the
3754         stack.
3755
3756 2005-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3757
3758         * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
3759         * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
3760         * system.h (HOST_PTR_PRINTF): Don't define, poison it.
3761
3762         * bitmap.c, c-decl.c, config/i386/i386-interix.h,
3763         config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
3764         Delete HOST_PTR_PRINTF.
3765
3766         * configure, config.in: Regenerate.
3767
3768 2005-08-15  David Edelsohn  <edelsohn@gnu.org>
3769
3770         * config/rs6000/rs6000.md (QHSI): New mode macro.
3771         (wd): Extend mode attr for QImode and HImode
3772         (dbits): New mode attr.
3773         (zero_extend<mode>di2): Convert to mode macro.
3774
3775 2005-08-15  Steve Ellcey  <sje@cup.hp.com>
3776
3777         PR target/21841
3778         * doc/invoke.texi (-mgnu-ld): Update description.
3779         (-mhp-ld): Ditto.
3780
3781 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
3782
3783         PR 23391
3784         * Makefile.in (tree-chrec.o): Depends on real.h.
3785         * tree-chrec.c: Include real.h.
3786         (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
3787         chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
3788         * tree-scalar-evolution.c (add_to_evolution_1,
3789         interpret_rhs_modify_expr): Ditto.
3790
3791 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
3792
3793         PR 23386
3794         * tree-data-ref.c (estimate_niter_from_size_of_data): When
3795         step is negative compute the estimation from init downwards to zero.
3796
3797 2005-08-14  James A. Morrison  <phython@gcc.gnu.org>
3798
3799         * fold-const (fold_binary): Call fold_build2 instead of fold (build.
3800
3801 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
3802
3803         * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
3804         constraint.
3805         (legitimate_reload_constant_p): Fix handling of lliXX operands.
3806         Accept double-word constants that can be split.
3807         * config/s390/s390.md ("movti"): Use 'P' constraint.
3808         ("*movdi_31", "*movdf_31"): Likewise.
3809
3810 2005-08-14  Daniel Berlin  <dberlin@dberlin.org>
3811
3812         Fix PR tree-optimization/22615
3813
3814         * tree-ssa-structalias.c (solution_set_add): Handle
3815         first_vi_for_offset returning NULL.
3816         (do_da_constraint): Ditto.
3817         (do_sd_constraint): Ditto.
3818         (do_ds_constraint): Ditto
3819         (find_func_aliases): Ditto.
3820         (build_constraint_graph): RHS is allowed be ANYTHING.
3821         (first_vi_for_offset): Return NULL if we couldn't find anything at
3822         the offset.
3823
3824 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
3825
3826         * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
3827         over memory as first operand.
3828
3829 2005-08-14  H.J. Lu  <hongjiu.lu@intel.com>
3830
3831         PR target/23360
3832         * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
3833         available for setting it.
3834
3835 2005-08-14  Ira Rosen  <irar@il.ibm.com>
3836
3837         PR tree-optimization/23320
3838         * tree-data-ref.c (base_addr_differ_p): Add comment. Check
3839         data-refs' types instead of base object nullness. Add check for
3840         pointer type data-refs before first location comparison. Remove
3841         assert.
3842
3843 2005-08-14  Andreas Schwab  <schwab@suse.de>
3844
3845         * doc/md.texi (Machine Constraints): Fix misplaced @end table.
3846
3847 2005-08-13  James E Wilson  <wilson@specifix.com>
3848
3849         * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
3850         * doc/invoke.texi (-Wstack-protector, -fstack-protector,
3851         -fstack-protector-all, --param ssp-buffer-size): Document.
3852         (-Wvariadic-macros): Alphabetize.
3853         (-fsched-stalled-insns-dep): Add missing 'f'.
3854
3855         * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
3856         macros.
3857
3858 2005-08-13  David Edelsohn  <edelsohn@gnu.org>
3859
3860         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
3861         or indirect address operand.
3862         (EXTRA_ADDRESS_CONSTRAINT): New.
3863         * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
3864
3865 2005-08-13  Sebastian Pop  <pop@cri.ensmp.fr>
3866
3867         PR tree-optimization/22236
3868         * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
3869         successors and predecessors.
3870         * tree-chrec.c (chrec_convert): Before converting, check that
3871         sequences don't wrap.
3872         * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
3873         (analyze_array): Extern.
3874         (find_data_references_in_loop): Remove call to
3875         compute_estimated_nb_iterations.
3876         * tree-data-ref.h (analyze_array): Declared.
3877         * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
3878         single_ssa_def_operand, zero_ssa_operands): Fix documentation.
3879         * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
3880         * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
3881         condition.
3882         * tree-ssa-loop-ivcanon.c: Fix documentation.
3883         * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
3884         * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
3885         (infer_loop_bounds_from_undefined): New.
3886         (estimate_numbers_of_iterations_loop): Use
3887         infer_loop_bounds_from_undefined.
3888         (used_in_pointer_arithmetic_p): New.
3889         (scev_probably_wraps_p): Pass an extra parameter.  Call
3890         used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
3891         (convert_step): Fix documentation.
3892         * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
3893         Use initial_condition_in_loop_num and evolution_part_in_loop_num
3894         instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
3895         scev_probably_wraps_p.
3896
3897 2005-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
3898
3899         * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
3900         (s390_register_info): Ignore clobbered_regs information for fixed
3901         registers, and only fixed registers.
3902         (s390_init_frame_layout): Remove redundant call.
3903
3904 2005-08-12  Gerald Pfeifer  <gerald@pfeifer.com>
3905
3906         * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
3907         description of -Wold-style-casts.
3908
3909 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
3910             Jakub Jelinek  <jakub@redhat.com>
3911
3912         * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
3913         * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
3914         * config/s390/s390.c (print_operand): New output modifier 'G' added.
3915         (get_thread_pointer): Renamed to s390_get_thread_pointer.
3916         * config/s390/s390.md (stack_protect_set, stack_protect_test): If
3917         TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
3918         (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
3919         (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
3920         ("stack_protect_set", "stack_protect_test"): New expanders.
3921         ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
3922         "stack_protect_testdi"): New insn definitions.
3923
3924 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
3925
3926         * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
3927
3928 2005-08-12  Paul Brook  <paul@codesourcery.com>
3929
3930         * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
3931
3932 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
3933
3934         * config/s390/predicates.md (setmem_operand): New predicate.
3935         (shift_count_operand): Accept ANDs with special constants as
3936         operand.
3937         * config/s390/s390.c (print_shift_count_operand): Skip ANDs
3938         with special constants.
3939         * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
3940         shift_count_operand with setmem_operand.
3941
3942 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
3943
3944         * config/s390/s390.c (s390_extract_part, s390_single_part):
3945         Type cast added.
3946         (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
3947         (s390_output_mi_thunk): Don't use lg on 31 bit.
3948         * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
3949         ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
3950
3951 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
3952
3953         * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
3954         (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
3955         s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
3956         s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
3957         with one of the new macros.
3958
3959 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
3960
3961         * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
3962         Don't set save_return_addr_p.
3963         (s390_register_info): Make clobbered_regs not depending on
3964         save_return_addr_p.
3965
3966 2005-08-12  Kaz Kojima  <kkojima@gcc.gnu.org>
3967
3968         * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
3969         (LINK_COMMAND_SPEC): Add space after %(link_ssp).
3970
3971 2005-08-11  James E. Wilson  <wilson@specifix.com>
3972
3973         * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
3974
3975 2005-08-11  Jakub Jelinek  <jakub@redhat.com>
3976
3977         * dwarf2out.c (add_location_or_const_value_attribute): Prefer
3978         locations gathered by var-tracking in single entry loc_list
3979         over loc_descriptor_from_tree.
3980
3981         * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
3982         pass it down to loc_descriptor.
3983         (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
3984         (containing_function_has_frame_base): Move earlier in the file.
3985         (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
3986         instead of always assuming fbreg can't be used.
3987
3988 2005-08-11  David Edelsohn  <edelsohn@gnu.org>
3989
3990         * config/rs6000/altivec.md: Change constraint "m" to "Z".
3991         * config/rs6000/predicates.md (indexed_or_indirect_operand):
3992         Accept address wrapped in AND for Altivec.
3993         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
3994         Strip AND wrapping offset address for Altivec.
3995
3996 2005-08-11  Richard Henderson  <rth@redhat.com>
3997
3998         PR middle-end/23312
3999         * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
4000         before using TYPE_IS_SIZETYPE.
4001
4002 2005-08-11  Richard Henderson  <rth@redhat.com>
4003
4004         PR target/22225
4005         * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
4006         insn types not present on ev4.
4007         (alphaev5_insn_pipe): Similarly.
4008
4009 2005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
4010
4011         PR target/23250
4012         * arm.c (arm_override_options): If the user has selected callee-super-
4013         interworking, then enable normal interworking.
4014
4015 2005-08-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4016
4017         * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
4018         redefinition.
4019
4020 2005-08-11  Wu Zhou  <woodzltc@cn.ibm.com>
4021
4022         * doc/rtl.texi: Fix two typos.
4023
4024 2005-08-11  Richard Guenther  <rguenther@suse.de>
4025
4026         PR target/23289
4027         * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
4028         cases where we call to/from functions returning void.
4029
4030 2005-08-10  James A. Morrison  <phython@gcc.gnu.org>
4031
4032         PR c++/23225
4033         * tree.c (build_pointer_type_for_mode): Robustify.
4034
4035 2005-08-10  James E Wilson  <wilson@specifix.com>
4036
4037         * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
4038         (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
4039
4040         * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
4041         "cum->".
4042
4043 2005-08-10  Eric Christopher  <echristo@apple.com>
4044
4045         * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
4046         * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
4047         V2DFmode.
4048
4049 2005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>
4050
4051         PR target/21887
4052         * config/darwin.c (machopic_indirect_data_reference): Use a new register
4053         for the high part when generating dynamic-no-pic code.
4054
4055 2005-08-10  H.J. Lu  <hongjiu.lu@intel.com>
4056
4057         * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
4058         (x86_64-*-linux*): Likewise.
4059
4060         * config/i386/crtfastmath.c: New file.
4061         * config/i386/t-crtfm: Likewise.
4062
4063         * config/i386/linux.h (ENDFILE_SPEC): New.
4064         * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
4065
4066         * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
4067         crtfastmath.o.
4068
4069 2005-08-10  Dorit Nuzman  <dorit@il.ibm.com>
4070
4071         * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
4072         (vec_shl, vec_shr): Document new operations.
4073         * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
4074
4075 2005-08-10  David Edelsohn  <edelsohn@gnu.org>
4076
4077         * config/rs6000/predicates.md (indexed_or_indirect_address): New.
4078         * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
4079         change predicate to indexed_or_indirect_address.
4080
4081 2005-08-10  Richard Sandiford  <richard@codesourcery.com>
4082
4083         * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
4084         * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
4085         __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
4086         and __aeabi_uwrite8.
4087         * config/arm/unaligned-funcs.c: New file.
4088         * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
4089
4090 2005-08-09  Paolo Bonzini  <bonzini@gnu.org>
4091
4092         * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
4093         Add dump.
4094         * cfglayout.c (pass_insn_locators_initialize): Add dump.
4095         * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
4096         Add dump.
4097         * except.c (pass_convert_to_eh_region_ranges): Add dump.
4098         * final.c (pass_shorten_branches): Add dump.
4099         * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
4100         (pass_life): Rename dump.
4101         (rest_of_handle_flow2): Remove initial verify_flow_info.
4102         * function.c (pass_instantiate_virtual_regs): Add dump.
4103         * integrate.c (pass_initial_value_sets): Add dump.
4104         * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
4105         * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
4106         (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
4107         pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
4108         (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
4109         gate_rtl_unrool_and_peel_loops): New.
4110         (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
4111         rtl_doloop): Do not look at flags.
4112         * mode-switching.c (pass_mode_switching): Add dump.
4113         * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
4114         pass_split_before_regstack): Add dump.
4115         * regmove.c (pass_stack_adjustments): Add dump.
4116         * tree-optimize.c (pass_fixup_cfg): Add dump.
4117
4118 2005-08-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4119
4120         PR 23309
4121         * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
4122         deciding which instruction sequence to use.
4123
4124 2005-08-09  Dorit Nuzman  <dorit@il.ibm.com>
4125
4126         * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
4127         BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
4128
4129 2005-08-09  Richard Guenther  <rguenther@suse.de>