OSDN Git Service

* tree.c (contains_placeholder_p) <tcc_expression>: Properly
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
2
3         * tree.c (contains_placeholder_p) <tcc_expression>: Properly
4         handle CALL_EXPR again.
5
6 2005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
7
8         * arm/predicates.md (alignable_memory_operand): Delete.
9
10 2005-09-10  Richard Henderson  <rth@redhat.com>
11
12         PR debug/23806
13         * dbxout.c (dbxout_expand_expr): New.
14         (dbxout_symbol): Use it.
15
16 2005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
17
18         * arm.c (arm_gen_rotated_half_load): Delete.
19         (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
20         (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
21         (thumb_set_return_address): Likewise.
22         (thumb_load_double_from_address): Use adjust_address.
23         * arm.md (splits calling arm_gen_rotated_half_load): Delete.
24         (extendhsisi2_mem, movhi_bytes): Use change_address.
25         (movhi): Use widen_memory_access.
26         (reload_out_df): Use replace_equiv_address.
27         * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
28
29 2005-09-09  Richard Henderson  <rth@redhat.com>
30
31         PR debug/20998
32         * dbxout.c: Include expr.h.
33         (dbxout_global_decl): Don't suppress for DECL_RTL unset.
34         (dbxout_symbol): Handle DECL_VALUE_EXPR.
35         * Makefile.in (dbxout.o): Add EXPR_H.
36
37 2005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
38
39         PR tree-optimization/23509
40         * tree-cfg.c (replace_uses_by): Use replace_exp.
41         * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
42         pointers have name_mem_tag or type_mem_tag set.
43
44 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
45
46         * tree-chrec.c (evolution_function_is_invariant_rec_p): Use 
47         CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
48         of wrongly accessing operands.
49
50 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
51
52         * Makefile.in (tree-chrec.o): Depends on SCEV_H.
53         * tree-chrec.c: Include tree-scalar-evolution.h.
54         (chrec_convert): Instantiate the base and step before calling
55         scev_probably_wraps_p that would fail on parametric evolutions.
56         Collect all the fails into a single section failed_to_convert,
57         print a diagnostic, and return chrec_dont_know instead of calling
58         fold_convert.
59         * tree-scalar-evolution.c (loop_closed_phi_def): New.
60         (instantiate_parameters_1): Avoid instantiation of loop closed ssa
61         phi nodes.
62         (scev_const_prop): Don't replace the definition of a loop closed ssa
63         phi node by itself, or by another loop closed ssa phi node.
64         * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
65         that base and step are defined.
66
67 2005-09-09  Richard Guenther  <rguenther@suse.de>
68
69         PR c++/23624
70         * fold-const.c (fold_ternary): Check truth_value_p before
71         calling invert_truthvalue.
72
73 2005-09-09  Nick Clifton  <nickc@redhat.com>
74
75         * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
76         * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
77         dimension of these arrays.
78         * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
79         these arrays.
80         * longlong.h: Only provide a prototype for the __clz_tab[] array
81         if this header has not been included from libgcc2.h.
82         * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
83         defining own types.
84         Provide prototypes for exported functions.
85         Use the __clz_tab[] and __popcount_tab[] arrays provided by
86         libgcc2.c.
87
88 2005-09-08  Josh Conner  <jconner@apple.com>
89
90         PR c++/21135
91         PR c++/23180
92         * expr.c (expand_expr_addr_expr_1): Don't invoke
93         expand_simple_binop for EXPAND_INITIALIZER.
94
95 2005-09-08  Richard Henderson  <rth@redhat.com>
96
97         PR debug/23190
98         * toplev.c (wrapup_global_declaration_1): Split out ...
99         (wrapup_global_declaration_2): ... from ...
100         (wrapup_global_declarations): ... here.  Return bool.
101         (check_global_declaration_1): Split out ...
102         (check_global_declarations): from here.
103         (emit_debug_global_declarations): New.
104         * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
105         check_global_declaration_1, emit_debug_global_declarations): Declare.
106         * c-decl.c (c_write_global_declarations_1): Don't create a vector
107         of decls.  Call wrapup_global_declaration_1,
108         wrapup_global_declaration_2, check_global_declaration_1 directly.
109         (c_write_global_declarations_2): New.
110         (ext_block): New.
111         (c_write_global_declarations): Call c_write_global_declarations_2.
112         * langhooks.c (write_global_declarations): Call
113         emit_debug_global_declarations.
114
115         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
116         remove decls that have DECL_RTL_SET_P.
117         * passes.c (rest_of_decl_compilation): Invoke
118         cgraph_varpool_finalize_decl for all but functions.
119
120 2005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
121
122         * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
123         the result of a conversion if the new min and max cannot be compared.
124
125 2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
126
127         * config/s390/s390.c (s390_sr_alias_set): Variable removed.
128         (override_options): Setting s390_sr_alias_set removed.
129         (save_fpr, save_gprs): Set alias set to vararg or frame.
130         (restore_fpr, restore_gprs, s390_emit_prologue): Replace 
131         s390_sr_alias_set with get_frame_alias_set ().
132         (s390_gimplify_va_arg): Replace s390_sr_alias_set with
133         get_varargs_alias_set ().
134
135 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
136
137         PR objc/20574
138         PR objc/19324
139         * c-parser.c (c_parser_objc_method_definition): If the next
140         token is not "{", error out and don't start the function.
141
142 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
143
144         * tree-vrp.c (extract_range_from_expr): Move the check for non
145         nullness after the check for gimple invariant.
146
147 2005-09-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
148
149         * tree.c (host_integerp, tree_low_cst): Correct function comment.
150
151 2005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
152
153         PR target/23747
154         * config/m32r.md (movmemsi_internal): Canonicalize order of
155         operands in PLUS component of template.
156
157 2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>
158
159         * reload1.c (fixup_eh_region_note): Remove assertion.
160         (fixup_abnormal_edges): Reverted removal of call to 
161         find_many_sub_basic_blocks made on 2005-08-31.
162
163 2005-09-07  Richard Henderson  <rth@redhat.com>
164
165         * function.c (ARG_POINTER_CFA_OFFSET): Move ...
166         * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
167         (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
168         * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
169         rearrange for better packing.
170         (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
171         (lookup_cfa_1): Remove inline marker.
172         (cfa_equal_p): Split out of ...
173         (def_cfa_1): ... here.  Use INVALID_REGNUM.
174         (build_cfa_loc): Handle !cfa->indirect.
175         (frame_pointer_cfa_offset): New.
176         (dbx_reg_number): Assert register elimination performed; do
177         leaf register remapping.
178         (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
179         (eliminate_reg_to_offset): New.
180         (based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
181         for verifiably local stack frame addresses; re-base to CFA.
182         (mem_loc_descriptor): Remove can_use_fbreg argument.
183         (concat_loc_descriptor, loc_descriptor): Likewise.
184         (containing_function_has_frame_base): Remove.
185         (rtl_for_decl_location): Don't do register elimination or
186         leaf register remapping here.
187         (secname_for_decl): Split out from ..
188         (add_location_or_const_value_attribute): ... here.
189         (convert_cfa_to_loc_list): New.
190         (compute_frame_pointer_to_cfa_displacement): New.
191         (gen_subprogram_die): Use them.
192         * tree.h (frame_base_decl): Remove.
193         * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
194         (prologue_stack_adjust): Remove.
195         (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
196         (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
197         (set_frame_base_location): Remove.
198         (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
199         (dump_attrs_list, dump_dataflow_set): Use string concatenation.
200         (vt_add_function_parameters): Don't eliminate_regs.
201         (vt_initialize): Don't create frame_base_decl.
202
203 2005-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
204
205         * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
206         version of GNU binutils for 4.x and later.
207
208 2005-09-06  Mark Mitchell  <mark@codesourcery.com>
209
210         * ggc-page.c (ggc_push_context): Remove.
211         (ggc_pop_context): Likewise.
212         * ggc.h (ggc_push_context): Remove.
213         (ggc_pop_context): Likewise.
214
215 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
216
217         PR target/8973
218         * config/arc/arc.c (arc_output_function_epilogue): Update flags while
219         returning from an interrupt handler.
220
221 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
222
223         PR target/8972
224         * config/arc/arc.c (output_shift): Add check for loop count when
225         optimizing.
226
227 2005-09-06  Steven Bosscher  <stevenb@suse.de>
228
229         * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
230         form manually.
231         (abs_replacement): Likewise.
232         (pass_phiopt): Remove TODO_update_ssa.
233
234 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
235
236         PR c/23075
237         * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
238         if "return with no value, in function returning non-void" warning
239         has been issued.
240         * tree-cfg.c (execute_warn_function_return): Don't look at
241         RETURN_EXPRs with TREE_NO_WARNING set.
242
243         PR target/22362
244         * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
245         for internal functions doesn't use registers used by global registers
246         variables.  Use fewer register parameters if there are global register
247         variables.
248
249 2005-09-06  Olivier Hainque  <hainque@adacore.com>
250             Eric Botcazou  <ebotcazou@adacore.com>
251
252         PR middle-end/14997
253         * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
254         when we would be extracting outside its bit span (bitpos+bitsize
255         larger than its mode), possible with some VIEW_CONVERT_EXPRs from
256         Ada unchecked conversions.
257
258 2005-09-06  Steven Bosscher  <stevenb@suse.de>
259
260         * tree-ssa-pre.c (try_look_through_load): New function.
261         (compute_avail): Use it to try to look through loads for some
262         more useful expressions.
263
264 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
265
266         * simplify-rtx.c (simplify_binary_operation_1): Correct the 
267         condition for detecting cases like (a&a) and (a^a).
268
269 2005-09-06  Keith Besaw  <kbesaw@us.ibm.com>
270
271         * common.opt: Add option ftree-vect-loop-version.
272         * params.def: Add --param vect-max-version-checks.
273         * doc/invoke.texi: Document ftree-vect-loop-version and
274         --param vect-max-version-checks.
275         * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
276         may_misalign_stmts and defines for accessors.
277         * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
278         LOOP_VINFO_MAY_MISALIGN_STMTS.
279         (destroy_loop_vec_info): VEC_free for
280         LOOP_VINFO_MAY_MISALIGN_STMTS.
281         * tree-vect-analyze.c (vect_compute_data_ref_alignment):
282         Update documentation.
283         (vect_update_misalignment_for_peel): New.
284         (vect_enhance_data_refs_alignment): Update to choose loop
285         peeling or loop versioning if appropriate for the (potentially)
286         unaligned data references in the loop.
287         (vect_analyze_data_refs_alignment): Remove call to
288         vect_enhance_data_refs_alignment so the checks can be done
289         earlier.
290         (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
291         and move up call to vect_analyze_data_refs_alignment.
292         * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
293         (vect_transform_loop): Add call to loop_version.
294
295 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
296
297         PR rtl-optimization/23098
298         * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
299         * simplify-rtx.c (constant_pool_reference_p): New function.
300         * rtl.h (constant_pool_reference_p): New prototype.
301         * config/i386/i386.md (pushf split, mov[sdx]f split): Use
302         constant_pool_reference_p in condition and
303         avoid_constant_pool_reference in preparation statements.
304
305 2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>
306
307         * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for 
308         STRICT_LOW_PART SETs.
309
310 2005-09-06  Alan Modra  <amodra@bigpond.net.au>
311
312         PR middle-end/21460
313         * except.c (sjlj_emit_function_enter): Find the function begin
314         note even when it's not in first basic block.
315
316 2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>
317
318         * acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
319         AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
320         * aclocal.m4: Regenerate.
321
322 2005-09-05  DJ Delorie  <dj@redhat.com>
323
324         * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
325         of macro.
326
327 2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
328
329         * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
330         config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
331         config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
332         Follow spelling conventions.
333         * doc/invoke.texi: Follow spelling conventions.
334
335 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
336
337         * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
338         * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
339         * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
340
341 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
342
343         PR target/23683
344         * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
345         (output_stack_adjust): Use gen_tmp_stack_mem.
346         (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
347         (sh_set_return_address, sh_allocate_initial_value): Likewise.
348         (sh_get_pr_initial_val): Likewise.
349         (sh_builtin_saveregs): Use gen_frame_mem and change_address.
350         (sh_initialize_trampoline): Likewise.  Also use adjust_address.
351         * sh.md (divsi_inv_m0): Use gen_const_mem.
352         (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
353         (movdf_i4+1): Use gen_tmp_stack_mem.
354         (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
355         (fpu_switch+2): Likewise.
356         (movv4sf_i, movv16sf_i): Use adjust_address.
357         (symGOT_load): Set MEM_NOTRAP_P bit.
358
359 2005-09-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
360
361         PR target/23721
362         * pa.c (emit_move_sequence): Fix typo in last change.
363
364 2005-09-03  Jakub Jelinek  <jakub@redhat.com>
365
366         PR rtl-optimization/23454
367         * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
368         is true.
369
370 2005-09-03  Richard Henderson  <rth@redhat.com>
371             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
372
373         PR middle-end/23671
374         * pa.c (emit_move_sequence): Use replace_equiv_address instead of
375         gen_rtx_MEM.
376
377 2005-09-02  Nicolas Pitre <nico@cam.org>
378
379         * config/arm/arm.c (arm_legitimize_address): Limit the value passed
380         to bit_count to 32 bits.
381
382 2005-08-31  Mark Mitchell  <mark@codesourcery.com>
383
384         PR c++/23167
385         * gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
386         generating synthetic loads from volatile lvalues.
387
388 005-09-02  Nick Clifton  <nickc@redhat.com>
389
390         * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
391         __ctzhi2, __clzhi2): New functions.
392
393 2005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>
394
395         PR middle-end/23547
396         * tree-nested.c (struct var_map_elt): Mark with GTY.
397         (struct nesting_info): Mark with GTY.  Mark var_map's param is struct
398         var_map_elt.
399         (lookup_field_for_decl): Allocate new element in GC memory.
400         (lookup_tramp_for_decl): Likewise.
401         (convert_nl_goto_reference): Likewise
402         (create_nesting_tree): Allocate info in GC memory. Likewise for
403         info->var_map.
404         (free_nesting_tree): Free with ggc_free instead of free.
405         (root): New static variable.
406         (lower_nested_functions): Remove root as local variable.  And zero out
407         root at the end of the function.
408
409 2005-09-02  J"orn Rennecke <joern.rennecke@st.com>
410
411         PR rtl-optimization/20365
412         * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
413         to short.  New member ix.
414         (simplify_plus_minus_op_data_cmp): Break ties using ix member.
415         (simplify_plus_minus): Initialize ix members before calling qsort.
416
417 2005-09-02  Zdenek Dvorak  <dvorakz@suse.cz>
418
419         PR tree-optimization/23626
420         * tree-cfg.c (replace_uses_by): Clean up eh info.
421
422 2005-09-01  DJ Delorie  <dj@redhat.com>
423
424         * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
425         fprintf.
426
427 2005-09-01  David Edelsohn  <edelsohn@gnu.org>
428
429         * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
430         (rs6000_split_multireg_move): Use replace_equiv_address instead of
431         gen_rtx_MEM.
432
433 2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
434
435         * c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
436         do not issue warning for a variable definition following
437         a declaration.
438
439 2005-09-01  Richard Henderson  <rth@redhat.com>
440
441         PR 23668
442         * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
443         conversion to CONST_VECTOR.
444
445 2005-09-01  Richard Henderson  <rth@redhat.com>
446
447         PR 23676
448         * reload1.c (reload_as_needed): Check !CALL_P before calling
449         fixup_eh_region_note.
450         * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
451
452 2005-09-01  DJ Delorie  <dj@redhat.com>
453
454         * varasm.c (output_constant): Let the target resolve
455         conversions of addresses to non-default pointer sizes.
456
457 2005-09-01  Nicolas Pitre <nico@cam.org>
458
459         * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
460         to alow matching ARM pre-indexed addressing mode.
461         (arm_override_options): Remove now irrelevant comment.
462
463 2005-09-01  Phil Edwards  <phil@codesourcery.com>
464
465         * config.gcc (i*86-wrs-vxworks):  Update.  Split out vxworksae target.
466         * config/i386/t-vxworks:  Update multilibs for VxWorks 6 and RTP mode.
467         * config/i386/vxworks.h:  Likewise.
468         * config/i386/t-vxworksae:  New file, for VxWorks AE.
469         * config/i386/vxworksae.h:  Likewise.
470
471 2005-09-01  Sebastian Pop  <pop@cri.ensmp.fr>
472
473         PR tree-optimization/23410
474         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
475         sequence is not wrapping during the first step.
476
477 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
478
479         PR debug/7241
480         * dwarf2out.c (base_type_die): Compare char_type_node with
481         TYPE_MAIN_VARIANT (type), not type.
482
483 2005-09-01  Richard Guenther  <rguenther@suse.de>
484
485         PR tree-optimization/15366
486         * common.opt: Add -finline-functions-called-once.
487         Put -fearly-inlining in alphabetically ordered place.
488         * doc/invoke.texi: Document new option.
489         * ipa-inline.c (cgraph_decide_inlining): Honour
490         flag_inline_functions_called_once.
491
492 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
493
494         PR rtl-optimization/23478
495         * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
496         (alloc_qty): Initialize it.
497         (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
498         (combine_regs): Combine also n_throwing_calls_crossed fields.
499         (find_free_reg): Don't attempt to caller-save pseudos crossing
500         calls that might throw.
501         * global.c (struct allocno): Add throwing_calls_crossed field.
502         (global_alloc): Revert 2005-08-22 change.  Initialize
503         throwing_calls_crossed.
504         (find_reg): Don't attempt to caller-save pseudos crossing calls that
505         might throw.
506
507 2005-09-01  Alan Modra  <amodra@bigpond.net.au>
508
509         PR target/23649
510         * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
511         (mask64_operand): Reinstate code prior to 2005-06-11 change.
512         (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
513         (and64_2_operand): Tweak to use predicate.
514         (and_operand): Adjust for mask_operand changes.
515         * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
516         (print_operand): Likewise.
517         (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
518         (mask64_1or2_operand): Delete.
519         * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
520         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
521         (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
522         (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
523         * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
524         (rotldi3_internal4): Likewise.
525         (rotldi3_internal5, rotldi3_internal5 split): Likewise.
526         (rotldi3_internal6, rotldi3_internal6 split): Likewise.
527         (ashldi3_internal7): Likewise.
528         (ashldi3_internal8, ashldi3_internal8 split): Likewise.
529         (ashldi3_internal, ashldi3_internal9 split): Likewise.
530         (anddi3 split): Don't match mask64_operand.
531         (anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
532         (anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
533         splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
534         't' splitter predicate.
535         (movdi_internal64 + 2): Revert 2005-06-11 change.
536
537 2005-08-31  DJ Delorie  <dj@redhat.com>
538
539         * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
540         (m32c_asm_integer): Add support for 32 bit pointers.
541
542 2005-08-31  Richard Henderson  <rth@redhat.com>
543
544         * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
545         component-like references for setting MEM_NOTRAP_P.
546
547         * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
548         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
549
550 2005-08-31  Richard Henderson  <rth@redhat.com>
551
552         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
553         into a pseudo before applying gen_lowpart.
554
555 2005-08-31  Geoffrey Keating  <geoffk@apple.com>
556
557         * doc/install.texi (Specific): Update cctools version required
558         for full functionality.
559         * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
560         linkers as -macosx_version_min.
561
562 2005-08-31  J"orn Rennecke <joern.rennecke@st.com>
563
564         PR target/21255
565         * sh.c (print_operand, %R and %S): Add handling of floating point
566         registers, memory, constants and invalid operands.
567
568 2005-08-31  Daniel Berlin  <dberlin@dberlin.org>
569
570         * ipa-pure-const.c: Change dump name.
571
572 2005-08-31 Uros Bizjak <uros@kss-loka.si>
573
574         PR target/23570
575         * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
576         to "reg_or_0_operand".
577         (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
578
579 2005-08-31  Dale Johannesen  <dalej@apple.com>
580
581         * loop-iv.c (iv_number_of_iterations):  Fix overflow check for
582         loops that count down.
583
584 2005-08-31  Richard Henderson  <rth@redhat.com>
585
586         PR rtl-opt/23601
587         * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
588         (fixup_eh_region_note): New.
589         (reload_as_needed): Call it.
590         (fixup_abnormal_edges): Allow all throwing insns to be deleted;
591         don't call find_many_sub_basic_blocks; call verify_flow_info.
592         * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
593         (keep_stack_depressed): Likewise.
594         (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
595
596 2005-08-31  Richard Henderson  <rth@redhat.com>
597
598         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
599         fp return matching.
600
601 2005-08-31  Fariborz Jahanian <fjahanian@apple.com>
602
603         * expr.c (expand_expr_real_1): Compare size of address 
604         mode to target's address mode size in deciding expansion of 
605         the constant address.
606
607 2005-08-31  Richard Guenther  <rguenther@suse.de>
608
609         PR middle-end/23477
610         * expr.c (all_zeros_p): New function.
611         (expand_expr_real_1): Handle the case of an all-zero
612         non-addressable constructor separately.
613
614 2005-08-31  Adrian Straetling  <straetling@de.ibm.com>
615
616         * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
617         arguments, adjust all callers.
618         (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
619
620 2005-08-30  Richard Henderson  <rth@redhat.com>
621
622         PR target/23630
623         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
624         whenever the mode sizes match.
625
626 2005-08-31  Alan Modra  <amodra@bigpond.net.au>
627
628         * calls.c (load_register_parameters): Fix comment typo.
629         * expr.c (emit_push_insn): Comment formatting.
630
631 2005-08-30  Ian Lance Taylor  <ian@airs.com>
632
633         * config/i386/x-cygwin (host-cygwin): Change dependency from
634         hosthooks-def.h to $(HOSTHOOKS_DEF_H).
635
636 2005-08-29  Geoffrey Keating  <geoffk@apple.com>
637
638         * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
639         parts of 'vals'.
640
641 2005-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
642
643         PR middle-end/23408
644         * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
645         call to ggc_collect.
646
647 2005-08-29  Paolo Bonzini  <bonzini@gnu.org>
648
649         PR bootstrap/21268
650         * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
651         beginning.  Remove $(INCLUDES) from all the rules, if following
652         $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
653
654 2005-08-29  Jakub Jelinek  <jakub@redhat.com>
655
656         PR middle-end/23484
657         * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
658         fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
659         not constant, but maxlen is, don't set len to maxlen, rather
660         set maxlen to len if len is a constant.
661
662 2005-08-29  Zdenek Dvorak  <dvorakz@suse.cz>
663
664         PR tree-optimization/23475
665         * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
666         and counts.
667
668 2005-08-28  Daniel Berlin  <dberlin@dberlin.org>
669
670         Fix PR middle-end/22455
671
672         * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
673         Checksum only the parts of the tree that exist for the tree code.
674
675 2005-08-28  Dale Johannesen  <dalej@apple.com>
676
677         * config/i386/i386.c (nocona_cost):  Increase MOVE_RATIO.
678
679 2005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>
680
681         * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
682
683 2005-08-28  Richard Henderson  <rth@redhat.com>
684
685         * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
686         * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
687         of char_type_node.
688
689 2005-08-28  Jakub Jelinek  <jakub@redhat.com>
690
691         PR ada/23593
692         * builtins.c (get_memory_rtx): Don't strip nops
693         in between COMPONENT_REFs.
694
695 2005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>
696
697         PR middle-end/23463
698         * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
699         types.
700         (gimplify_modify_expr): Check for zero sized types and gimplify the
701         rhs and lhs as statements.
702
703 2005-08-27  John David Anglin  <dave.anflin@nrc-cnrc.gc.ca>
704
705         PR libgcj/23508
706         * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
707         state for return address column of signal frames.
708
709 2005-08-27  David Edelsohn  <edelsohn@gnu.org>
710
711         PR target/23539
712         * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
713         bytes >= 2 not bytes == 2.
714         (expand_block_move): Same.
715
716 2005-08-27  Richard Guenther  <rguenther@suse.de>
717
718         PR target/23575
719         * config/i386/sse.md (sse2_movsd): Add missing closing
720         braces.
721
722 2005-08-27  Paul Brook  <paul@codesourcery.com>
723
724         * genrecog.c (enum decision_type): Add DT_num_insns.
725         (struct decision_test): Add u.num_insns.
726         (add_to_sequence): Add DT_num_insns test.
727         (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
728         (write_cond, debug_decision_2): Ditto.
729         (change_state): Assume peep2_next_insn never fails.
730         Remove "afterward" argument.
731         (write afterward, write_tree): Update to match.
732         * recog.c (peep2_current_count): New variable.
733         (peep2_next_insn): Check it.
734         (peephole2_optimize): Set peep2_current_count.
735         * recog.h (peep2_current_count): Declare.
736
737 2005-08-26  Josh Conner  <jconner@apple.com>
738
739         PR middle-end/23584
740         * ipa-pure-const.c (check_tree): Check for volatile-ness
741         when considering a dereference.
742
743 2005-08-27  Jakub Jelinek  <jakub@redhat.com>
744
745         * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
746
747 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
748
749         PR rtl-optimization/23561
750         * builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
751         a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
752         at most LEN bytes long memory fits into the field.
753         (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
754         expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
755         expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
756
757 2005-08-26  Richard Henderson  <rth@redhat.com>
758
759         PR rtl-opt/23560
760         * loop.c (biased_biv_may_wrap_p): New.
761         (maybe_eliminate_biv_1): Use it to suppress non-equality
762         comparison transformations.  Delete disabled code.
763
764 2005-08-26  Ian Lance Taylor  <ian@airs.com>
765
766         * combine.c (make_extraction): Avoid reference outside object.
767
768 2005-08-26  J"orn Rennecke <joern.rennecke@st.com>
769
770         * stor-layout.c (finalize_type_size): Restore behaviour for
771         non-aggregate types to the status quo ante of the patch for
772         pr 23467.  Document why it matters.
773
774 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
775
776         PR c/23506
777         * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
778         array by one element, initialize the BT_LAST element with NULL.
779
780 2005-08-26  David Edelsohn  <edelsohn@gnu.org>
781
782         * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
783         optimizing for size.
784         (plus_eqsi): Same.
785         (compare_plus_eqsi): Same.
786         (plus_eqsi_compare): Same.
787         (neg_eq0<mode>): Same.
788         (neg_eq<mode>): Same.
789
790         * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
791         PROCESSOR_POWER4.
792
793 2005-08-26  Nick Clifton  <nickc@redhat.com>
794
795         * config/v850/v850.c (ep_memory_operand): Return FALSE if
796         TARGET_EP is not defined.
797         * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
798         TARGET_EP is enabled.
799         (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
800         * config/v850/v850.md (save_all_interrupt): Only use the EP
801         register if TARGET_EP is defined.
802         (restore_all_interrupt): Likewise.
803         * config/v850/lib1funcs.asm: Update functions so that the EP
804         register is only used if __EP__ is defined.
805
806 2005-08-26  David Ung  <davidu@mips.com>
807
808         * config/mips/mips.c (mips_expand_prologue): Handle case when
809         generating for MIPS16 and the outgoing argument area is more than
810         SMALL_OPERAND. Use the frame pointer as temporary to generate the
811         add instruction.
812
813 2005-08-26  Paul Woegerer  <paul.woegerer@nsc.com>
814
815         * config/crx/crx.md: Make doloop_end pattern usage controllable
816         via mloop-nesting=<max-nesting> command line switch. Make sure
817         the combiner cannot use doloop_end_<mode> in an illegal way.
818         * config/crx/crx.c: Use regs up to r6 for argument passing.
819         Refine crx_address_cost (non cst4 displacements are expensive).
820         * config/crx/crx.opt: Add switch for mloop-nesting=.
821
822 2005-08-26  Adrian Straetling  <straetling@de.ibm.com>
823
824         * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
825         (UNSPEC_MVST): New constant.
826
827 2005-08-26  Andreas Krebbel  <krebbel1@de.ibm.com>
828
829         * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
830         Reject operands containing eliminable registers.
831         * testsuite/gcc.dg/20050825-1.c: New testcase.
832
833 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
834             Jan Hubicka  <jh@suse.cz>
835
836         * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
837
838 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
839
840         PR tree-optimization/23546
841         * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
842         and REAL_CST nodes.
843
844 2005-08-24  Pete Steinmetz  <steinmtz@us.ibm.com>
845
846         * params.def (PARAM_MIN_SPEC_PROB): New.
847         * sched-rgn.c (MIN_PROBABILITY): Delete.
848         (compute_trg_info): Convert to PARAM_VALUE.
849         * doc/invoke.texi (param): Document min-spec-prob.
850
851 2005-08-24  Fariborz Jahanian <fjahanian@apple.com>
852
853         * config/darwin.h: define __PIC__
854         * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
855         TARGET_OS_CPP_BUILTINS macro.
856
857 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
858
859         * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
860         yesterday.
861
862 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
863
864         * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
865         to duplicate_block.
866         * cfghooks.c (duplicate_block): Added position where to place
867         new block as argument.
868         * cfghooks.h (duplicate_block): Declaration changed.
869         * cfglayout.c (copy_bbs): Add argument after.  Pass it to
870         duplicate_block.
871         * cfglayout.h (copy_bbs): Declaration changed.
872         * cfgloop.h (loop_version): Declaration changed.
873         * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
874         position to copy_bbs.
875         (loop_version): Pass position to duplicate_loop_to_header_edge.
876         Add place_after argument and position new blocks according to
877         it.
878         * modulo-sched.c (sms_schedule): Pass place_after argument
879         to loop_version.
880         * tracer.c (tail_duplicate): Pass argument to duplicate_block.
881         * tree-cfg.c (split_edge_bb_loc): New function.
882         (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
883         to determine position of new blocks.
884         * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
885         to loop_version.
886         * tree-ssa-threadupdate.c (create_block_for_threading): Pass
887         argument to duplicate_block.
888         * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
889         Pass position to copy_bbs.
890
891 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
892
893         * fold-const.c (ptr_difference_const): Use
894         cst_and_fits_in_hwi instead of host_integerp.
895
896 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
897
898         * config/darwin.c (gen_pic_offset): New.
899         (machopic_indirect_data_reference,  machopic_legitimize_pic_address):
900         Use it.
901
902 2005-08-23  Zdenek Dvorak  <dvorakz@suse.cz>
903
904         PR tree-optimization/23486
905         * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
906
907 2005-08-23  Phil Edwards  <phil@codesourcery.com>
908
909         * config.gcc (*-*-vxworks*):  Update tm_file, add extra_options,
910         remove use_collect2.
911         (powerpc-wrs-vxworks):  Update, split out *-*-vxworksae target.
912
913         * target-def.h (TARGET_HAVE_CTORS_DTORS):  Allow target
914         configuration files to override the default value.
915
916         * config/t-vxworks:  Remove INSTALL_ASSERT_H.  Define STMP_FIXPROTO,
917         EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
918         * config/vx-common.h:  New file, split out from...
919         * config/vxworks.h:  here.  Update for VxWorks 6.x and RTP mode.
920         * config/vxworksae.h:  New file, for VxWorks AE.
921         * config/vxworks.opt:  New file.
922         * config/vxlib.c:  Update for VxWorks 6.
923
924         * config/rs6000/t-vxworks (MULTILIB_OPTIONS):  New list.  Adjust
925         other MULTILIB_* variables appropriately.
926         (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS):  Correct from t-ppccomm.
927         * config/rs6000/t-vxworksae:  New file, adjust multilibs for AE.
928         * config/rs6000/vxworks.h:  Update for VxWorks 6.
929         * config/rs6000/vxworksae.h:  New file, mostly placeholder for now.
930
931 2005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>
932
933         PR target/20799
934         * config/darwin.c (machopic_select_section): Remove the hack to
935         mark "::operator new" and "::operator delete" for coalescing
936         even though they are not weak.
937
938 2005-08-24  Alan Modra  <amodra@bigpond.net.au>
939
940         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
941         * configure: Regenerate.
942
943 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
944
945         PR middle-end/23517
946         * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
947         between vectors.
948         * convert.c (convert_to_integer, convert_to_vector): Likewise.
949         * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
950         Likewise.
951
952 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
953
954         * config/rs6000/predicates.md (equality_operator): New.
955         * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
956         comparison with a large constant.
957
958 2005-08-23  Mark Mitchell  <mark@codesourcery.com>
959
960         * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
961
962 2005-08-23  J"orn Rennecke <joern.rennecke@st.com>
963
964         * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
965         registers is even, and we have a hardware double precision fp,
966         align the buffer.
967         (sh_gimplify_va_arg_expr): For floating point arguments, consider
968         size of current argument when checking if argument was passed in
969         registers.
970
971         * sh.c (sh_attr_renesas_p): Handle error_mark_node.
972
973         PR middle-end/23467
974         * stor-layout.c (finalize_type_size): Dont override
975         existing alignment with a smaller alignment from the mode.
976
977 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
978
979         * lambda-code.c (lambda_vector_lexico_pos): Moved...
980         * lambda.h (lambda_vector_lexico_pos): ... here.
981         * tree-data-ref.c (build_classic_dist_vector): Return false when
982         the distance vector is lexicographically negative.
983
984 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
985
986         PR tree-optimization/23511
987         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't 
988         handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
989
990 2005-08-23  Jakub Jelinek  <jakub@redhat.com>
991
992         PR tree-optimization/22043
993         * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
994         * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
995         If ALLOW_FLEXARR, handle types ending with flexible array member.
996         Pass false as second argument to recursive count_type_elements calls.
997         (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
998         argument to count_type_elements call.
999         * tree-sra.c (decide_block_copy): Likewise.
1000         * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
1001         for a constant-sized object, set cleared as well.  Pass true as
1002         second argument to count_type_elements call.
1003
1004 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
1005
1006         PR target/21571
1007         * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
1008         from legitimate_small_data_p, and make global.  Update use.
1009         Remove forward declaration.
1010         * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
1011         Declare.
1012         * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
1013
1014 2005-08-23  David Edelsohn  <edelsohn@gnu.org>
1015
1016         * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
1017         of scratch intermediates.
1018         (eq<mode>_compare): Same.
1019         (neg_eq0<mode>): New.
1020         (neg_eq<mode>): Convert to define_insn_and_split.
1021
1022 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
1023
1024         PR target/23070
1025         * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
1026         stdarg functions, set/clear the fp marker even when no variable
1027         args are passed.
1028         * config/rs6000/sysv4.opt (mprototype): Describe.
1029
1030 2005-08-22  Jakub Jelinek  <jakub@redhat.com>
1031
1032         PR rtl-optimization/23478
1033         * regs.h (reg_info): Add throw_calls_crossed.
1034         (REG_N_THROWING_CALLS_CROSSED): Define.
1035         * flow.c (allocate_reg_life_data): Initialize
1036         REG_N_THROWING_CALLS_CROSSED.
1037         (propagate_one_insn, attempt_auto_inc): Update
1038         REG_N_THROWING_CALLS_CROSSED.
1039         * global.c (global_alloc): Don't allocate pseudos across
1040         calls that may throw.
1041
1042 2005-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
1043
1044         PR c/18715
1045         * c-common.c (c_do_switch_warnings): Look for a node where the enum's
1046         value is inbetween the range if we did not find an exact match.
1047
1048 2005-08-22  Aldy Hernandez  <aldyh@redhat.com>
1049
1050         * doc/invoke.texi (Option Summary): Add ms1 options.
1051         * doc/extend.texi: Document interrupt handler attribute for ms1.
1052         * doc/md.texi: Document ms1 constraints.
1053         * config.gcc: Add ms1-*-elf.
1054         * config/ms1/ms1.h: New.
1055         * config/ms1/ms1.c: New.
1056         * config/ms1/ms1.md: New.
1057         * config/ms1/ms1-protos.h: New.
1058         * config/ms1/ABI.txt: New.
1059         * config/ms1/crti.asm: New.
1060         * config/ms1/crtn.asm: New.
1061         * config/ms1/lib2extra-funcs.c: New.
1062         * config/ms1/t-ms1: New.
1063         * config/ms1/ms1.opt: New.
1064
1065 2005-08-22 Ira Rosen <irar@il.ibm.com>
1066
1067         * config/rs6000/altivec.md (xorv4sf3): New.
1068         (negv4sf2, neg<mode>2): Likewise.
1069
1070 2005-08-21  H.J. Lu  <hongjiu.lu@intel.com>
1071
1072         PR target/23485
1073         * config/ia64/ia64.md (divsi3): Check divide by zero.
1074         (udivsi3): Likewise.
1075         (divdi3): Likewise.
1076         (udivdi3): Likewise.
1077
1078 2005-08-21  Jakub Jelinek  <jakub@redhat.com>
1079
1080         * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
1081         up to elem_bitsize bits, not max_bitsize.
1082
1083 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
1084
1085         PR tree-optimization/23433
1086         * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
1087         REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
1088
1089 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
1090
1091         PR tree-optimization/23434
1092         * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
1093         the iteration bound is not an INTEGER_CST.
1094
1095 2005-08-21  Dorit Nuzman  <dorit@il.ibm.com>
1096
1097         * tree-vect-transform.c (get_initial_def_for_reduction): Set
1098         need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
1099         NULL if need_epilog_adjust is false.
1100         (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
1101         Case 3 always peels first itration, not just for PLUS case, and no need
1102         to use scalar_initial_def here. Create an epilog adjustment only if
1103         scalar_initial_def is not NULL.
1104
1105         (vectorizable_reduction): Remove assert. 
1106
1107 2005-08-20  H.J. Lu  <hongjiu.lu@intel.com>
1108
1109         PR target/23485
1110         * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
1111         (__moddi3): Likewise.
1112         (__udivdi3): Likewise.
1113         (__umoddi3): Likewise.
1114         (__divsi3): Likewise.
1115         (__modsi3): Likewise.
1116         (__udivsi3): Likewise.
1117         (__umodsi3): Likewise.
1118
1119 2005-08-20  Jakub Jelinek  <jakub@redhat.com>
1120
1121         * tree-pass.h (TDF_GRAPH): Define.
1122         * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
1123         * passes.c (finish_optimization_passes): Only call
1124         finish_graph_dump_file if TDF_GRAPH is set.
1125         (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
1126         NULL.  Set TDF_GRAPH bit.
1127         (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
1128
1129 2005-08-20  Richard Earnshaw  <richard.earnshaw@arm.com>
1130
1131         * arm.h (arm_stack_offsets): Add locals_base field.
1132         * arm.c (arm_get_frame_offsets): Compute it.
1133         (thumb_compute_initial_elimination offset): Make the Thumb frame
1134         pointer point to the base of the local variables.
1135         (thumb_expand_prologue): Update accordingly.
1136         (thumb_expand_epilogue): Likewise.
1137
1138         * arm.md (thumb_movhi_clobber): Make this insn a define_expand.  Change
1139         mode of clobbered scratch to DImode.  Handle a case that's known to
1140         need this.
1141
1142 2005-08-19  David Edelsohn  <edelsohn@gnu.org>
1143
1144         * config/rs6000/rs6000.md (gt0<mode>): Delete.
1145         (gt0<mode>_compare): Delete.
1146         (neg_gt0<mode>): Delete.
1147
1148 2005-08-19  Eric Christopher  <echristo@apple.com>
1149
1150         * optabs.h: Change CTI_ to COI_.
1151         * optabs.c: Ditto.
1152
1153 2005-08-19  James E Wilson  <wilson@specifix.com>
1154
1155         * builtins.c (expand_builtin_return_addr): Set
1156         current_function_accesses_prior_frames when count != 0.  Use
1157         frame_pointer_rtx when count == 0.
1158         * function.h (struct function): Add accesses_prior_frames field.
1159         (current_function_accesses_prior_frames): Define.
1160         * reload1.c (init_elim_table): Check
1161         current_function_accesses_prior_frames.
1162         * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
1163
1164 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
1165
1166         * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
1167         indicator.  Return true if the flowgraph changed during
1168         cleanup.
1169
1170 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
1171
1172         PR 23476
1173         * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
1174         conditional expression before testing its value.
1175
1176 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
1177
1178         * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
1179
1180 2005-08-19  Devang Patel  <dpatel@apple.com>
1181
1182         PR tree-optimization/23048
1183         * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
1184         third parameter. Check whether latch is dominated by exit
1185         block or not.
1186         (if_convertible_loop_p): Supply exit block itself to
1187         if_convertible_bb_p.
1188
1189 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
1190
1191         PR target/23473
1192         * arm.md (arm_load_pic_register): Change argument to the mask of
1193         saved registers.  Call thumb_find_work_register if we need a
1194         scratch register on Thumb.
1195         (arm_expand_prologue): Pass empty register set to
1196         arm_load_pic_register.
1197         (thumb_expand_prologue): Pass live_regs_mask directly to
1198         arm_load_pic_register.
1199         * arm-protos.h (arm_load_pic_register): Update prototype.
1200
1201 2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
1202
1203         * sh.c (find_sole_member): New function.
1204         (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
1205         if the record's alignment is larger than the size of its only member.
1206
1207 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
1208
1209         PR target/23436
1210         * arm.c (thumb_legitimize_reload_address): New function.
1211         * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
1212         * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
1213
1214 2005-08-19  Paul Woegerer  <paul.woegerer@nsc.com>
1215
1216         * config/crx/crx.c: Implement crx_decompose_address. Reject
1217         symbolic displacements since CRX register relative adressing
1218         mode can't handle unsigned 32-bit values as displacements.
1219         * config/crx/crx.h: Simplify definitions, remove redundant
1220         parenthesis and obsolete macros.
1221         * config/crx/crx.opt: Add new switch for debugging addresses.
1222         * config/crx/crx-protos.h: Add new declarations for above.
1223
1224 2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
1225
1226         PR middle-end/20624
1227         * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
1228         looking past it.
1229
1230 2005-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1231
1232         * collect2.c (dup2): Delete.
1233         * configure.ac: Don't check for dup2.
1234
1235         * config.in, configure: Regenerate.
1236
1237 2005-08-18  J"orn Rennecke <joern.rennecke@st.com>
1238
1239         * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
1240         record with the type of its only member.
1241
1242 2005-08-18  David Edelsohn  <edelsohn@gnu.org>
1243
1244         * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
1245         define_insn_and_split.
1246         (plus_ltu<mode>_compare): Same.
1247         (gtu<mode>_compare): Same.
1248         (plus_gtu<mode>_compare): Same.
1249
1250 2005-08-18  Dorit Nuzman  <dorit@il.ibm.com>
1251
1252         PR tree-optimization/22228
1253         * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
1254         todo_flags_start.
1255         * tree-vect-transform.c (vect_transform_loop): Mark the variables that
1256         are recorded in vect_vnames_to_rename for renaming.
1257         * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
1258         (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
1259         in vect_vnames_to_rename.
1260         (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
1261         * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
1262
1263 2005-08-18  Jan Hubicka  <jh@suse.cz>
1264
1265         PR c++/22034
1266         * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
1267         info only for local statics, not for member variables.
1268
1269 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1270
1271         * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
1272
1273 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1274
1275         * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
1276
1277 2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>
1278
1279         PR middle-end/16045
1280         * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
1281
1282 2005-08-17  James E Wilson  <wilson@specifix.com>
1283
1284         * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1285         array size check.
1286
1287 2005-08-17  David Edelsohn  <edelsohn@gnu.org>
1288
1289         * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
1290         (leu<mode>_compare): Same.
1291         (plus_leu<mode>): Same.
1292         (neg_leu<mode>): Same.
1293         (and_neg_leu<mode): Same.
1294         (ltu<mode>_compare): Same.
1295         (plus_ltu<mode>): Same.
1296         (geu<mode>): Same.
1297         (geu<mode>_compare): Same.
1298         (plus_geu<mode>): Same.
1299         (neg_geu<mode>): Same.
1300         (and_neg_geu<mode>): Same.
1301         (plus_gt<mode>): Same.
1302         (gtu<mode>_compare): Same.
1303         (plus_gtu<mode>): Same.
1304
1305 2005-08-17  Erik Christiansen  <erik@dd.nec.com.au>
1306
1307         * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
1308         Move call_table_data to end.  Delete spurious .text.
1309         (callt_save_all_interrupt): Fix comment typo.
1310
1311 2005-08-17  James E Wilson  <wilson@specifix.com>
1312             Kevin Winchester  <winchester@amirix.com>
1313
1314         PR target/21684
1315         * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
1316
1317 2005-08-17  Uros Bizjak  <uros@kss-loka.si>
1318
1319         PR target/23268
1320         * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
1321         ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
1322
1323 2005-08-17  J"orn Rennecke <joern.rennecke@st.com>
1324
1325         * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
1326         record with the type of its only member if the modes don't match.
1327
1328         * varasm.c (decode_reg_name): Skip empty additional register names.
1329
1330 2005-08-16  Zdenek Dvorak  <dvorakz@suse.cz>
1331
1332         * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
1333         lsm_tmp_name_length): New.
1334         (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
1335         (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
1336
1337 2005-08-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1338             Andreas Krebbel  <krebbel1@de.ibm.com>
1339
1340         * config.gcc: Added z9-109 switch.
1341         * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
1342         "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
1343         "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
1344         "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
1345         "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
1346         for "z9_109" cpu attribute.
1347         * config/s390/s390.c (z9_109_cost): New processor cost structure.
1348         (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
1349         (s390_handle_arch_option): Added z9-109 switch.
1350         (override_options): Set respective cost function for z9-109.
1351         (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
1352         (legitimate_reload_constant_p): Accept extended immediates.
1353         (print_operand): Three new output modifiers added: k, m and o.
1354         (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
1355         (s390_output_mi_thunk): Use extended immediate when possible.
1356         * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
1357         (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
1358         (CONSTRAINT_LEN): Added length of O constraint.
1359         (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
1360         * config/s390/s390.md ("cpu"): New value z9_109 added.
1361         ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
1362         "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
1363         "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
1364         "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
1365         "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
1366         ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
1367         "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
1368         "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
1369         ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
1370         "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
1371         "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
1372         "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
1373         "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
1374         "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
1375         "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
1376         immediates.
1377         ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
1378         "zero_extend<mode>si2"): Allow memory operands and don't manually emit
1379         insns for TARGET_EXTIMM.
1380
1381 2005-08-17  Andreas Krebbel  <krebbel1@de.ibm.com>
1382
1383         * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
1384
1385 2005-08-17  Nick Clifton  <nickc@redhat.com>
1386
1387         * config/stormy16/stormy16.c (xstormy16_encode_section_info):
1388         Call default_encode_section_info.
1389
1390 2005-08-17  Steven Bosscher  <stevenb@suse.de>
1391
1392         PR tree-optimization/21574
1393         * tree-ssa-ccp.c (likely_value): If the right hand side is a
1394         constant, return CONSTANT.
1395         (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
1396         (ccp_fold, visit_assignment): Likewise.
1397         (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
1398
1399 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
1400
1401         * c-typeck.c (build_function_call): Call fold_buildN_initializer or
1402         fold_buildN instead of buildN then fold_initializer or fold.
1403         (build_unary_op): Likewise.
1404         (build_binary_op): Likewise.
1405         * fold-const.c (fold_initializer): Remove.
1406         (fold_build1_initializer): New function.
1407         (fold_build2_initializer): New function.
1408         (fold_build3_initializer): New function.
1409         * tree.h (fold_initializer): Remove.
1410         (fold_build1_initializer): New function.
1411         (fold_build2_initializer): New function.
1412         (fold_build3_initializer): New function.
1413
1414 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
1415
1416         * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
1417         (try_move_mult_to_index): Call fold_build2 instead of build2.
1418         (fold_binary): Don't call fold after calls to try_move_mult_to_index.
1419         * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
1420         fold_binary_to_constant.
1421         (infer_loop_bounds_from_undefined): Call fold_build2 instead of
1422         fold (build.
1423         * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
1424         check if A == gcd (A, B).  Remove TYPE argument.
1425         (analyze_offset) Use fold_build2 instead of fold (build.
1426         (create_data_ref): Likewise.
1427         (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
1428         * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
1429         then fold.
1430
1431 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
1432
1433         * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
1434         ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
1435
1436 2005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>
1437
1438         PR tree-opt/23402
1439         * gimplify.c (zero_sized_type): New function.
1440         (gimplify_modify_expr_rhs): If we have a zero sized type,
1441         replace the statement with an empty statement.
1442
1443 2005-08-16  H.J. Lu  <hongjiu.lu@intel.com>
1444
1445         * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
1446         fxsave.
1447
1448 2005-08-16  Ian Lance Taylor  <ian@airs.com>
1449
1450         * doc/tm.texi (Label Output): Correct typo.
1451
1452 2005-08-16  Steven Bosscher  <stevenb@suse.de>
1453
1454         PR target/23376
1455         * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
1456         force_operand will work later on using have_insn_for.
1457
1458 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1459
1460         * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
1461
1462 2005-08-16  Ian Lance Taylor  <ian@airs.com>
1463
1464         PR c++/23337
1465         * gimplify.c (gimplify_init_ctor_eval): If we see an element of
1466         vector type, don't try to construct it element by element.  Add an
1467         assertion that we use a FIELD_DECL when building a COMPONENT_REF.
1468
1469 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1470
1471         * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
1472
1473 2005-08-16  Geoffrey Keating  <geoffk@apple.com>
1474
1475         * doc/invoke.texi (Precompiled Headers): Document some more options
1476         which are known to be safe.
1477
1478 2005-08-16  James E Wilson  <wilson@specifix.com>
1479
1480         PR tree-optimization/21105
1481         * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1482         TREE_OVERFLOW check.
1483
1484 2005-08-16  David Edelsohn  <edelsohn@gnu.org>
1485
1486         * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
1487         (neg_ltu<mode>): Same.
1488         (gtu<mode>): Same.
1489         (neg_gtu<mode>): Same.
1490
1491 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1492
1493         * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
1494         (fold_builtin_isdigit): Use fold_buildN.
1495         (build_function_call_expr): Likewise.
1496         * c-typeck.c (c_finish_loop): Likewise.
1497
1498 2005-08-16  J"orn Rennecke <joern.rennecke@st.com>
1499             Richard Shann <rshann@superh.com>
1500
1501         PR middle-end/20396:
1502         * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
1503
1504 2005-08-16  Sebastian Pop  <pop@cri.ensmp.fr>
1505
1506         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
1507
1508 2005-08-15  Richard Earnshaw  <richard.earnshaw@arm.com>
1509
1510         PR target/23355
1511         * arm.c (thumb_compute_save_reg_mask): Use similar logic to
1512         arm_compure_save_reg0_reg12_mask to determine when the PIC register
1513         must be saved.
1514
1515 2005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1516
1517         PR middle-end/23369
1518         * fold-const.c (build_range_check): Disable optimization for function
1519         pointer expressions on targets that require function pointer
1520         canonicalization.
1521
1522 2005-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
1523
1524         * simplify-rtx.c (simplify_const_relational_operation): When
1525         extracting arguments of a COMPARE, recompute the mode as well.
1526
1527 2005-08-15  Ian Lance Taylor  <ian@airs.com>
1528
1529         * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
1530
1531 2005-08-15  DJ Delorie  <dj@redhat.com>
1532
1533         * config/m32c/mov.md (movqi_op): Immediates can't be moved to
1534         the stack.
1535         (movsi_splittable): Allow, but split, moves to the stack.
1536         * config/m32c/m32c.c (m32c_split_move): Always split moves to the
1537         stack.
1538
1539 2005-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1540
1541         * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
1542         * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
1543         * system.h (HOST_PTR_PRINTF): Don't define, poison it.
1544
1545         * bitmap.c, c-decl.c, config/i386/i386-interix.h,
1546         config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
1547         Delete HOST_PTR_PRINTF.
1548
1549         * configure, config.in: Regenerate.
1550
1551 2005-08-15  David Edelsohn  <edelsohn@gnu.org>
1552
1553         * config/rs6000/rs6000.md (QHSI): New mode macro.
1554         (wd): Extend mode attr for QImode and HImode
1555         (dbits): New mode attr.
1556         (zero_extend<mode>di2): Convert to mode macro.
1557
1558 2005-08-15  Steve Ellcey  <sje@cup.hp.com>
1559
1560         PR target/21841
1561         * doc/invoke.texi (-mgnu-ld): Update description.
1562         (-mhp-ld): Ditto.
1563
1564 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
1565
1566         PR 23391
1567         * Makefile.in (tree-chrec.o): Depends on real.h.
1568         * tree-chrec.c: Include real.h.
1569         (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
1570         chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
1571         * tree-scalar-evolution.c (add_to_evolution_1,
1572         interpret_rhs_modify_expr): Ditto.
1573
1574 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
1575
1576         PR 23386
1577         * tree-data-ref.c (estimate_niter_from_size_of_data): When
1578         step is negative compute the estimation from init downwards to zero.
1579
1580 2005-08-14  James A. Morrison  <phython@gcc.gnu.org>
1581
1582         * fold-const (fold_binary): Call fold_build2 instead of fold (build.
1583
1584 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
1585
1586         * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
1587         constraint.
1588         (legitimate_reload_constant_p): Fix handling of lliXX operands.
1589         Accept double-word constants that can be split.
1590         * config/s390/s390.md ("movti"): Use 'P' constraint.
1591         ("*movdi_31", "*movdf_31"): Likewise.
1592
1593 2005-08-14  Daniel Berlin  <dberlin@dberlin.org>
1594
1595         Fix PR tree-optimization/22615
1596
1597         * tree-ssa-structalias.c (solution_set_add): Handle
1598         first_vi_for_offset returning NULL.
1599         (do_da_constraint): Ditto.
1600         (do_sd_constraint): Ditto.
1601         (do_ds_constraint): Ditto
1602         (find_func_aliases): Ditto.
1603         (build_constraint_graph): RHS is allowed be ANYTHING.
1604         (first_vi_for_offset): Return NULL if we couldn't find anything at
1605         the offset.
1606
1607 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
1608
1609         * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
1610         over memory as first operand.
1611
1612 2005-08-14  H.J. Lu  <hongjiu.lu@intel.com>
1613
1614         PR target/23360
1615         * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
1616         available for setting it.
1617
1618 2005-08-14  Ira Rosen  <irar@il.ibm.com>
1619
1620         PR tree-optimization/23320
1621         * tree-data-ref.c (base_addr_differ_p): Add comment. Check
1622         data-refs' types instead of base object nullness. Add check for
1623         pointer type data-refs before first location comparison. Remove
1624         assert.
1625
1626 2005-08-14  Andreas Schwab  <schwab@suse.de>
1627
1628         * doc/md.texi (Machine Constraints): Fix misplaced @end table.
1629
1630 2005-08-13  James E Wilson  <wilson@specifix.com>
1631
1632         * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
1633         * doc/invoke.texi (-Wstack-protector, -fstack-protector,
1634         -fstack-protector-all, --param ssp-buffer-size): Document.
1635         (-Wvariadic-macros): Alphabetize.
1636         (-fsched-stalled-insns-dep): Add missing 'f'.
1637
1638         * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
1639         macros.
1640
1641 2005-08-13  David Edelsohn  <edelsohn@gnu.org>
1642
1643         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
1644         or indirect address operand.
1645         (EXTRA_ADDRESS_CONSTRAINT): New.
1646         * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
1647
1648 2005-08-13  Sebastian Pop  <pop@cri.ensmp.fr>
1649
1650         PR tree-optimization/22236
1651         * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
1652         successors and predecessors.
1653         * tree-chrec.c (chrec_convert): Before converting, check that
1654         sequences don't wrap.
1655         * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
1656         (analyze_array): Extern.
1657         (find_data_references_in_loop): Remove call to
1658         compute_estimated_nb_iterations.
1659         * tree-data-ref.h (analyze_array): Declared.
1660         * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
1661         single_ssa_def_operand, zero_ssa_operands): Fix documentation.
1662         * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
1663         * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
1664         condition.
1665         * tree-ssa-loop-ivcanon.c: Fix documentation.
1666         * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
1667         * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
1668         (infer_loop_bounds_from_undefined): New.
1669         (estimate_numbers_of_iterations_loop): Use
1670         infer_loop_bounds_from_undefined.
1671         (used_in_pointer_arithmetic_p): New.
1672         (scev_probably_wraps_p): Pass an extra parameter.  Call
1673         used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
1674         (convert_step): Fix documentation.
1675         * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
1676         Use initial_condition_in_loop_num and evolution_part_in_loop_num
1677         instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
1678         scev_probably_wraps_p.
1679
1680 2005-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
1681
1682         * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
1683         (s390_register_info): Ignore clobbered_regs information for fixed
1684         registers, and only fixed registers.
1685         (s390_init_frame_layout): Remove redundant call.
1686
1687 2005-08-12  Gerald Pfeifer  <gerald@pfeifer.com>
1688
1689         * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
1690         description of -Wold-style-casts.
1691
1692 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1693             Jakub Jelinek  <jakub@redhat.com>
1694
1695         * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
1696         * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
1697         * config/s390/s390.c (print_operand): New output modifier 'G' added.
1698         (get_thread_pointer): Renamed to s390_get_thread_pointer.
1699         * config/s390/s390.md (stack_protect_set, stack_protect_test): If
1700         TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
1701         (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
1702         (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
1703         ("stack_protect_set", "stack_protect_test"): New expanders.
1704         ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
1705         "stack_protect_testdi"): New insn definitions.
1706
1707 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1708
1709         * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
1710
1711 2005-08-12  Paul Brook  <paul@codesourcery.com>
1712
1713         * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
1714
1715 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1716
1717         * config/s390/predicates.md (setmem_operand): New predicate.
1718         (shift_count_operand): Accept ANDs with special constants as
1719         operand.
1720         * config/s390/s390.c (print_shift_count_operand): Skip ANDs
1721         with special constants.
1722         * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
1723         shift_count_operand with setmem_operand.
1724
1725 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1726
1727         * config/s390/s390.c (s390_extract_part, s390_single_part):
1728         Type cast added.
1729         (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
1730         (s390_output_mi_thunk): Don't use lg on 31 bit.
1731         * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
1732         ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
1733
1734 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1735
1736         * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
1737         (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
1738         s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
1739         s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
1740         with one of the new macros.
1741
1742 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1743
1744         * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
1745         Don't set save_return_addr_p.
1746         (s390_register_info): Make clobbered_regs not depending on
1747         save_return_addr_p.
1748
1749 2005-08-12  Kaz Kojima  <kkojima@gcc.gnu.org>
1750
1751         * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
1752         (LINK_COMMAND_SPEC): Add space after %(link_ssp).
1753
1754 2005-08-11  James E. Wilson  <wilson@specifix.com>
1755
1756         * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
1757
1758 2005-08-11  Jakub Jelinek  <jakub@redhat.com>
1759
1760         * dwarf2out.c (add_location_or_const_value_attribute): Prefer
1761         locations gathered by var-tracking in single entry loc_list
1762         over loc_descriptor_from_tree.
1763
1764         * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
1765         pass it down to loc_descriptor.
1766         (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
1767         (containing_function_has_frame_base): Move earlier in the file.
1768         (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
1769         instead of always assuming fbreg can't be used.
1770
1771 2005-08-11  David Edelsohn  <edelsohn@gnu.org>
1772
1773         * config/rs6000/altivec.md: Change constraint "m" to "Z".
1774         * config/rs6000/predicates.md (indexed_or_indirect_operand):
1775         Accept address wrapped in AND for Altivec.
1776         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
1777         Strip AND wrapping offset address for Altivec.
1778
1779 2005-08-11  Richard Henderson  <rth@redhat.com>
1780
1781         PR middle-end/23312
1782         * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
1783         before using TYPE_IS_SIZETYPE.
1784
1785 2005-08-11  Richard Henderson  <rth@redhat.com>
1786
1787         PR target/22225
1788         * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
1789         insn types not present on ev4.
1790         (alphaev5_insn_pipe): Similarly.
1791
1792 2005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
1793
1794         PR target/23250
1795         * arm.c (arm_override_options): If the user has selected callee-super-
1796         interworking, then enable normal interworking.
1797
1798 2005-08-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1799
1800         * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
1801         redefinition.
1802
1803 2005-08-11  Wu Zhou  <woodzltc@cn.ibm.com>
1804
1805         * doc/rtl.texi: Fix two typos.
1806
1807 2005-08-11  Richard Guenther  <rguenther@suse.de>
1808
1809         PR target/23289
1810         * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
1811         cases where we call to/from functions returning void.
1812
1813 2005-08-10  James A. Morrison  <phython@gcc.gnu.org>
1814
1815         PR c++/23225
1816         * tree.c (build_pointer_type_for_mode): Robustify.
1817
1818 2005-08-10  James E Wilson  <wilson@specifix.com>
1819
1820         * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
1821         (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
1822
1823         * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
1824         "cum->".
1825
1826 2005-08-10  Eric Christopher  <echristo@apple.com>
1827
1828         * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
1829         * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
1830         V2DFmode.
1831
1832 2005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>
1833
1834         PR target/21887
1835         * config/darwin.c (machopic_indirect_data_reference): Use a new register
1836         for the high part when generating dynamic-no-pic code.
1837
1838 2005-08-10  H.J. Lu  <hongjiu.lu@intel.com>
1839
1840         * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
1841         (x86_64-*-linux*): Likewise.
1842
1843         * config/i386/crtfastmath.c: New file.
1844         * config/i386/t-crtfm: Likewise.
1845
1846         * config/i386/linux.h (ENDFILE_SPEC): New.
1847         * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
1848
1849         * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
1850         crtfastmath.o.
1851
1852 2005-08-10  Dorit Nuzman  <dorit@il.ibm.com>
1853
1854         * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
1855         (vec_shl, vec_shr): Document new operations.
1856         * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
1857
1858 2005-08-10  David Edelsohn  <edelsohn@gnu.org>
1859
1860         * config/rs6000/predicates.md (indexed_or_indirect_address): New.
1861         * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
1862         change predicate to indexed_or_indirect_address.
1863
1864 2005-08-10  Richard Sandiford  <richard@codesourcery.com>
1865
1866         * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
1867         * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
1868         __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
1869         and __aeabi_uwrite8.
1870         * config/arm/unaligned-funcs.c: New file.
1871         * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
1872
1873 2005-08-09  Paolo Bonzini  <bonzini@gnu.org>
1874
1875         * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
1876         Add dump.
1877         * cfglayout.c (pass_insn_locators_initialize): Add dump.
1878         * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
1879         Add dump.
1880         * except.c (pass_convert_to_eh_region_ranges): Add dump.
1881         * final.c (pass_shorten_branches): Add dump.
1882         * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
1883         (pass_life): Rename dump.
1884         (rest_of_handle_flow2): Remove initial verify_flow_info.
1885         * function.c (pass_instantiate_virtual_regs): Add dump.
1886         * integrate.c (pass_initial_value_sets): Add dump.
1887         * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
1888         * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
1889         (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
1890         pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
1891         (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
1892         gate_rtl_unrool_and_peel_loops): New.
1893         (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
1894         rtl_doloop): Do not look at flags.
1895         * mode-switching.c (pass_mode_switching): Add dump.
1896         * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
1897         pass_split_before_regstack): Add dump.
1898         * regmove.c (pass_stack_adjustments): Add dump.
1899         * tree-optimize.c (pass_fixup_cfg): Add dump.
1900
1901 2005-08-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1902
1903         PR 23309
1904         * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
1905         deciding which instruction sequence to use.
1906
1907 2005-08-09  Dorit Nuzman  <dorit@il.ibm.com>
1908
1909         * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
1910         BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
1911
1912 2005-08-09  Richard Guenther  <rguenther@suse.de>
1913
1914         * c-common.c (builtin_function_2): Remove.
1915         (def_builtin_1): New function.
1916         (c_common_nodes_and_builtins): Use def_builtin_1 to
1917         build builtin functions.
1918
1919 2005-08-09  Jie Zhang  <jie.zhang@analog.com>
1920
1921         * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
1922         * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
1923         * config/bfin/bfin.c (bfin_return_in_memory): Update to really match
1924         Visual DSP.
1925
1926 2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
1927
1928         * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
1929         fold_binary instead of fold_build2 since we don't care about the
1930         resulting tree.
1931         (loop_niter_by_eval): Likewise.
1932         (compare_trees): Likewise.
1933         (proved_non_wrapping_p): Likewise.
1934
1935 2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
1936
1937         PR c/23161
1938         PR c/23165
1939         * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
1940         if the if is really empty.
1941
1942 2005-08-09  Steven Bosscher  <stevenb@suse.de>
1943
1944         PR tree-optimization/23234
1945         * tree-ssa-math-opts.c (place_reciprocal): New enum.
1946         (execute_cse_reciprocals_1): Replace the 'phi' argument with an
1947         argument of the new enum.
1948         (execute_cse_reciprocals): Add reciprocals for function arguments
1949         on the unique successor edge of the entry block.  Update other calls
1950         to execute_cse_reciprocals_1.
1951
1952 2005-08-08  Richard Henderson  <rth@redhat.com>
1953
1954         PR 22439
1955         * gimplify.c (gimplify_one_sizepos): Preserve the original type.
1956
1957 2005-08-08  Bob Wilson  <bob.wilson@acm.org>
1958
1959         * expr.c (write_complex_part): Return after handling MEM.
1960
1961 2005-08-08  Josh Conner  <jconner@apple.com>
1962
1963         PR rtl-optimization/23241
1964         * combine.c (simplify_comparison): Fix error in determining
1965         whether to lift a subreg from comparison.
1966
1967 2005-08-08  David Edelsohn  <edelsohn@gnu.org>
1968
1969         PR target/18506
1970         * config/rs6000/altivec.md (vec_init<mode>): New.
1971         (vec_set<mode>): New.
1972         (vec_extract<mode>): New.
1973         * config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
1974         (rs6000_expand_vector_set): New.
1975         (rs6000_expand_vector_extract): New.
1976         (rs6000_legitimate_offset_address_p): Offset addresses are valid
1977         for Altivec modes before reload.
1978         (altivec_expand_vec_init_builtin): New.
1979         (get_element_number): New.
1980         (altivec_expand_vec_set_builtin): New.
1981         (altivec_expand_vec_ext_builtin): New.
1982         (altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
1983         builtins.
1984         (altivec_init_builtins): Init vec_init, vec_set, and vec_ext
1985         builtins.
1986         * config/rs6000/rs6000.h (rs6000_builtins): Add
1987         ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
1988         ALTIVEC_BUILTIN_VEC_EXT_<mode>.
1989         * config/rs6000/rs6000-protos.h: Declare new functions.
1990
1991 2005-08-08  Jan Hubicka  <jh@suse.cz>
1992
1993         * i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
1994         (legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
1995         * i386.md (movdi*): Use pic_32bit_operand.
1996         * predicates.md (pic_32bit_operand): New.
1997
1998 2005-08-08  Nathan Sidwell  <nathan@codesourcery.com>
1999
2000         PR c++/21166
2001         * stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
2002
2003 2005-08-07  James A. Morrison  <phython@gcc.gnu.org>
2004
2005         * tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
2006         (test_for_singularity): Use fold_build2.
2007
2008 2005-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2009
2010         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
2011
2012 2005-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
2013
2014         * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
2015         (COMMON_ASM_OP) Define.
2016         * config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
2017         (ix86_encode_section_info): Likewise.
2018         (TARGET_ENCODE_SECTION_INFO): Conditionally define as
2019         SUBTARGET_ENCODE_SECTION_INFO.
2020
2021 2005-08-06  Richard Henderson  <rth@redhat.com>
2022
2023         PR 21894
2024         * tree-nested.c (convert_local_reference): Save and restore val_only
2025         around component_ref and friends.  Clear walk_subtrees by default.
2026
2027 2005-08-06  Peter O'Gorman  <peter@pogma.com>
2028
2029         PR 21366
2030         * gcc.c (process_command): Check the argument to -b has a dash.
2031         * doc/invoke.texi: Update -b and -V docs.
2032
2033 2005-08-06  James E Wilson  <wilson@specifix.com>
2034
2035         * config/mips/cross64.h, config/mips/t-cross64: Delete.
2036
2037 2005-08-06  Michael Matz  <matz@suse.de>
2038
2039         * genattrtab.c (write_attr_get, write_attr_case): Use insn_code
2040         member only if only one insn is associated with the value.
2041
2042 2005-08-06  Nick Clifton  <nickc@redhat.com>
2043
2044         * config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
2045         New define.
2046         (ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
2047         * config/stormy16/stormy16.c (xstormy16_below100_symbol):
2048         Check symbol flags instead of symbol name mangling.
2049         (xstormy16_asm_output_aligned_common): Likewise.  Also
2050         simplify code since the bss100_section cass is the only case
2051         where the below100 code will be triggered.
2052         (xstormy16_encode_section_info): Encode below100 attribute
2053         using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
2054         the name.
2055         (xstormy16_strip_name_encoding): Delete - this function is no
2056         longer needed.
2057         (TARGET_STRIP_NAME_ENCODING): Undefine.
2058         * config/stormy16/stormy16-protos.h: Delete prototype for
2059         xstormy16_strip_name_encoding.
2060
2061 2005-08-06  Kazu Hirata  <kazu@codesourcery.com>
2062
2063         * Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
2064         config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
2065         tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
2066         config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
2067         config/alpha/predicates.md, config/arc/arc.h,
2068         config/arm/arm.h, config/arm/ieee754-df.S,
2069         config/arm/ieee754-sf.S, config/bfin/bfin.c,
2070         config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
2071         config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
2072         config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
2073         config/m68hc11/m68hc11.h, config/mips/mips.c,
2074         config/mips/mips.h, config/mips/openbsd.h,
2075         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
2076         config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
2077         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2078         config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
2079         config/sparc/linux.h, config/sparc/linux64.h,
2080         config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
2081         doc/extend.texi, doc/gcov.texi, doc/install.texi,
2082         doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
2083         typos.  Follow spelling conventions.
2084
2085 2005-08-06  Joseph S. Myers  <joseph@codesourcery.com>
2086
2087         PR c/23113
2088         * stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
2089         Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
2090         specially.  Check for side effects only for COND_EXPR.
2091         * c-typeck.c (c_finish_stmt_expr): Mark statement expression
2092         return with TREE_NO_WARNING.
2093
2094 2005-08-06  Richard Sandiford  <richard@codesourcery.com>
2095
2096         PR rtl-optimization/23233
2097         * loop.c (combine_movables): Require the modes to be the same.
2098         (move_movables): Remove handling of cases where the replacement
2099         had a different mode to the original.
2100
2101 2005-08-05  James A. Morrison  <phython@gcc.gnu.org>
2102
2103         PR tree-optimization/23128
2104         * tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
2105         subtraction wrap, and set TREE_OVERFLOW if they do.
2106
2107 2005-08-05  Richard Henderson  <rth@redhat.com>
2108
2109         PR 21728
2110         * tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
2111         FORCED_LABEL labels.
2112
2113 2005-08-05  J"orn Rennecke <joern.rennecke@st.com>
2114
2115         PR middle-end/23135
2116         * reload.c (find_reloads_subreg_address): Pass down TYPE
2117         unchanged.  Change all callers except find_reloads_toplev.
2118
2119 2005-08-05  Michael Matz  <matz@suse.de>
2120
2121         * genattrtab.c (current_alternative_string): Remove.
2122         (SIMPLIFY_ALTERNATIVE): Ditto.
2123         (attr_alt_bit_p): Ditto.
2124         (alternative_name): Make const char *.
2125         (evaluate_eq_attr): Remove use of above things.
2126         (simplify_test_exp): Ditto.
2127         (simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
2128         (simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
2129
2130 2005-08-04  James E Wilson  <wilson@specifix.com>
2131
2132         * config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
2133         config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
2134         config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
2135         config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
2136         (LINK_SPEC): Delete useless %{Wl,*:%*} item.
2137
2138 2005-08-04  Richard Henderson  <rth@redhat.com>
2139
2140         PR 21529
2141         * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
2142         * params.h (SRA_MAX_STRUCTURE_COUNT): New.
2143         * tree-sra.c (decide_block_copy): Use it.  Disable element copy
2144         if we'd have to instantiate too many members.
2145
2146 2005-08-04  Richard Henderson  <rth@redhat.com>
2147
2148         PR 21291
2149         * tree-outof-ssa.c (coalesce_asm_operands): New.
2150         (coalesce_ssa_name): Use it.  Split out ...
2151         (coalesce_phi_operands, coalesce_result_decls): ... these.
2152
2153 2005-08-04  Paul Brook  <paul@codesourcery.com>
2154
2155         * read-rtl.c (read_quoted_string): Break if EOF.
2156
2157 2005-08-04  Andrew Pinski  <pinskia@physics.uc.edu>
2158
2159         * tree.h (fold_build1): Change to macro and call fold_build1_stat.
2160         (fold_build2): Likewise.
2161         (fold_build3): Likewise.
2162         (fold_build1_stat): New function prototype.
2163         (fold_build2_stat): Likewise.
2164         (fold_build3_stat): Likewise.
2165         * fold-const.c (fold_build1): Rename to ..
2166         (fold_build1_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
2167         through to build1_stat.
2168         (fold_build2): Rename to ..
2169         (fold_build2_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
2170         through to build2_stat.
2171         (fold_build3): Rename to ..
2172         (fold_build3_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
2173         through to build3_stat.
2174
2175 2005-08-04  David Edelsohn  <edelsohn@gnu.org>
2176             Ian Lance Taylor  <ian@airs.com>
2177
2178         * function.c (assign_stack_local_1): Do not correct stack slot
2179         address if allocation size is smaller than mode size.
2180
2181 2005-08-04  Diego Novillo  <dnovillo@redhat.com>
2182
2183         PR 22037
2184         * tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
2185         (tree_merge_blocks): Propagate anything allowed by
2186         may_propagate_copy.
2187         Clarify documentation.
2188         * passes.c (execute_todo): If cleanup_tree_cfg invalidated the
2189         SSA form, schedule an update if necessary.
2190
2191 2005-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
2192
2193         * doc/install.texi (Binaries): Remove broken link to
2194         Sinix/Reliant Unix binaries.
2195
2196 2005-08-03  Richard Henderson  <rth@redhat.com>
2197
2198         PR 23221
2199         * function.c (stack_protect_epilogue): Export.
2200         * tree.h (stack_protect_epilogue): Declare.
2201         * calls.c (expand_call): Call it.
2202
2203 2005-08-03  Eric Christopher  <echristo@apple.com>
2204
2205         * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
2206         * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
2207         spec.
2208
2209 2005-08-04  Jan Hubicka  <jh@suse.cz>
2210
2211         * profile.c (branch_prob): Split edges with goto locus on them
2212         to get proper line counts.
2213         * tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
2214
2215 2005-08-03  Paul Brook  <paul@codesourcery.com>
2216
2217         * function.c (assign_parms): Round current_function_args_size
2218         to PARM_BOUNDARY, not STACK_BOUNDARY.
2219
2220 2005-08-03  Geoffrey Keating  <geoffk@apple.com>
2221
2222         * config/i386/i386.c (x86_elf_aligned_common)
2223         (x86_output_aligned_bss): Don't try to use symbols that aren't defined.
2224
2225 2005-08-03  Zdenek Dvorak  <dvorakz@suse.cz>
2226
2227         PR tree-optimization/23157
2228         * tree-scalar-evolution.c (scev_const_prop): Unshare trees
2229         before emitting them.
2230
2231 2005-08-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2232
2233         PR tree-optimization/19899
2234         * Makefile.in (tree-scalar-evolution.o): Add real.h.
2235         * tree-scalar-evolution.c: Include real.h.
2236         (add_to_evolution): Build constant -1 of correct type.
2237
2238 2005-08-03  Jan Hubicka  <jh@suse.cz>
2239
2240         * cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
2241         * cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
2242         profile updating for complette unrolling.
2243         * loop-unroll.c (peel_loop_completely): Use it.
2244         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
2245         (tree_unroll_loops_completely): Disable code growing unrolling of cold
2246         loops.
2247
2248 2005-08-03  Paul Brook  <paul@codesourcery.com>
2249
2250         * combine.c (can_change_dest_mode): New function.
2251         (try_combine, simplify_set): Use it.
2252
2253 2005-08-03  Eric Botcazou  <ebotcazou@adacore.com>
2254
2255         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
2256         TFmode to BLKmode.
2257
2258 2005-08-03  Gerald Pfeifer  <gerald@pfeifer.com>
2259
2260         * doc/install.texi (Specific): Adjust link to openavr.org.
2261         (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
2262         (Binaries): Adjust HP-UX Porting Center link.
2263         (Binaries): Adjust Free Software Foundation ordering link.
2264
2265 2005-08-03  Andrew Pinski  <pinskia@physics.uc.edu>
2266
2267         * convert.c (convert_to_integer): Use fold_build1 instead of
2268         build1 when converting an integer to an integer.
2269
2270 2005-08-02  Richard Henderson  <rth@redhat.com>
2271
2272         * combine.c (combine_instructions): Don't use reg_equal/equiv
2273         results if the mode doesn't match.
2274
2275 2005-08-02  Mark Mitchell  <mark@codesourcery.com>
2276
2277         * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
2278         * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
2279
2280 2005-08-02  Richard Henderson  <rth@redhat.com>
2281
2282         PR 23196
2283         * explow.c (memory_address): Remove special-case for
2284         virtual_stack_vars_rtx and virtual_incoming_args_rtx.
2285
2286 2005-08-02  Diego Novillo  <dnovillo@redhat.com>
2287
2288         PR 23164
2289         * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
2290         number of calls to cleanup_tree_cfg_1.
2291
2292 2005-08-02  Martin Reinecke  <martin@mpa-garching.mpg.de>
2293
2294         * doc/invoke.texi: document file extensions .F90 and .F95
2295
2296 2005-08-02  Richard Guenther  <rguenther@suse.de>
2297
2298         * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
2299         positive if its first argument is positive.
2300
2301 2005-08-02  Richard Guenther  <rguenther@suse.de>
2302
2303         PR tree-optimization/23177
2304         * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
2305         on TMR_TAG.
2306
2307 2005-08-02  James A. Morrison  <phython@gcc.gnu.org>
2308
2309         PR tree-optimization/23129
2310         * tree-vrp.c (extract_range_from_binary_expr): Set value range to
2311         varying for divisions with anti-ranges.
2312
2313 2005-08-02  Jan Hubicka  <jh@suse.cz>
2314
2315         * tree-ssa-dom.c (thread_across_edge): Remove updating here.
2316         * tree-ssa-threadupdate.c (thread_block): Add it here.
2317
2318 2005-08-01  James E Wilson  <wilson@specifix.com>
2319
2320         * config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
2321         TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
2322         * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
2323         New.
2324         * config/mips/predicates.md (const_call_insn_operand): Add check for
2325         SYMBOL_REF_LONG_CALL_P.
2326         * doc/extend.texi (long_call): Document the new attribute.
2327
2328 2005-08-01  Ian Lance Taylor  <ian@airs.com>
2329             Richard Henderson  <rth@redhat.com>
2330
2331         * Makefile.in (RTL_BASE_H): Add real.h.
2332         * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
2333         instead of memcpy.
2334         * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
2335         directly.
2336         * rtl.c (rtl_check_failed_code_mode): New.
2337         * rtl.h (struct rtx_def): Add u.rv.
2338         (XCMWINT, XCNMPRV): New.
2339         (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
2340         (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
2341
2342 2005-08-01  Richard Henderson  <rth@redhat.com>
2343
2344         * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
2345         with auto-inc codes.
2346
2347         * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
2348
2349 2005-08-01  Jan Hubicka  <jh@suse.cz>
2350
2351         * i386-protos.h (asm_preferred_eh_data_format): Declare.
2352         * i386.c: Include dwarf2.h
2353         (asm_preferred_eh_data_format): New.
2354         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
2355
2356 2005-08-01  Ian Lance Taylor  <ian@airs.com>
2357
2358         * config/host-linux.c (linux_gt_pch_get_address): Add new name
2359         randomize_va_space for virtual address randomization control.
2360
2361 2005-08-01  Steven Bosscher  <stevenb@suse.de>
2362
2363         * common.opt (flag_ipa_cp): Put in right place to maintain
2364         alphabetic sort.
2365
2366 2005-08-01  Jan Hubicka  <jh@suse.cz>
2367
2368         * profile.c (compute_value_histograms): Fix thinko.
2369         * value-prof.c: Include toplev.h
2370         (check_counter): New function.
2371         (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
2372         tree_mod_subtract_transform): Add sanity check.
2373
2374 2005-08-01  Richard Guenther  <rguenther@suse.de>
2375
2376         PR tree-optimization/23133
2377         * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
2378         current functions parameter decls to find defs to cse
2379         reciprocals of.
2380
2381 2005-08-01  Richard Guenther  <rguenther@suse.de>
2382
2383         PR tree-optimization/23109
2384         * tree-ssa-math-opts.c (execute_cse_reciprocals_1):
2385         If trapping math is in effect, use post-dominator information
2386         to check if we'd in any case reach a trapping point before
2387         doing the reciprocal insertion.
2388         (execute_cse_reciprocals): Compute post-dominators, if necessary.
2389         * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
2390         expressions are invariant only if trapping math is not in effect.
2391
2392 2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
2393
2394         * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
2395         cgraph_function_versioning): New declarations.
2396         * cgraphunit.c: Add include to ipa-prop.h.
2397         (update_call_expr, cgraph_copy_node_for_versioning,
2398         cgraph_function_versioning): New functions.
2399         * integrate.c (copy_decl_for_inlining): Remove.
2400         * ipa-prop.h (ipa_replace_map): New struct.
2401         (struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
2402         * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
2403         ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
2404         ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
2405         ipcp_iterate_stage, ipcp_method_scale_print,
2406         ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
2407         ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
2408         ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
2409         ipcp_update_bb_counts, ipcp_update_profiling,
2410         ipcp_update_edges_counts): New functions.
2411         (ipcp_method_cval_init): Remove restriction regarding local methods.
2412         (ipcp_init_stage): Add ipcp_method_compute_scale.
2413         (ipcp_insert_stage): Add versioning.
2414         (ipcp_structures_print): Add ipcp_method_scale_print.
2415         (ipcp_driver): Dump profiling info.
2416         * Makefile.in: Remove integrate.h dependency from tree-inline.o.
2417         Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
2418         * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
2419         (struct inline_data): Add versioning_p, ipa_info, new fields.
2420         (remap_decl, mark_local_for_remap_r, setup_one_parameter,
2421         declare_return_variable): Replace calls to copy_decl_for_inlining with
2422         copy_decl_for_dup.
2423         (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
2424         versioning support.
2425         (copy_decl_for_dup): Rename from copy_decl_for_inlining.
2426         Add argument VERSIONING.
2427         (copy_arguments_for_versioning, copy_static_chain,
2428         function_versionable_p, tree_versionable_function_p,
2429         tree_function_versioning, replace_ref_tree): New functions.
2430         * tree-inline.h: Include varray.h.
2431         (tree_versionable_function_p,  tree_function_versioning,
2432         tree copy_decl_for_dup): New declarations.
2433
2434 2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
2435
2436         * ipa-cp.c: New file. Contains IPCP specific functionality.
2437         * ipa-prop.h: New file. Contains structures/definitions that can be
2438         used by several interprocedural data flow optimizations (and also IPCP).
2439         * ipa-prop.c: New file.
2440         * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
2441         * common.opt: Add ipa-cp flag.
2442         * timevar.def: Add IPCP optimization.
2443         * tree-optimize.c (init_tree_optimization_passes): Schedule
2444         pass_ipa_cp.
2445         * tree-pass.h (pass_ipa_cp): Declare.
2446
2447 2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
2448
2449         * dwarf2out.c, fold-const.c, ipa-type-escape.c,
2450         loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
2451         tree-sra.c, config/arm/arm.c, config/crx/crx.c,
2452         config/i386/i386.c, config/mips/mips.h,
2453         config/rs6000/rs6000.h, config/sh/sh.c,
2454         config/stormy16/stormy16.c: Fix comment typos.
2455
2456 2005-08-01  Joseph S. Myers  <joseph@codesourcery.com>
2457
2458         PR c/22311
2459         * c-typeck.c (build_binary_op): Use common_type wrapper on
2460         shortened types.
2461         (common_type): Update comment.
2462
2463 2005-07-31  Steven Bosscher  <stevenb@suse.de>
2464
2465         PR target/23095
2466         * common.opt (flag_gcse_after_reload): Don't initialize to 2.
2467         (flag_rerun_cse_after_loop): Initialize this to 2 instead.
2468         * postreload-gcse.c (hash_scan_set): Do not consider stack regs.
2469
2470 2005-07-31  Jan Hubicka  <jh@suse.cz>
2471
2472         * pretty-print.h (pp_widest_integer): New macro.
2473         * tree-pretty-print.c (dump_bb_header): Print BB frequencies and
2474         counts.
2475
2476 2005-07-31  Jan Hubicka  <jh@suse.cz>
2477
2478         * output.h (enum section_category): Export from varasm.c
2479         (categorize_decl_for_section): Likewise.
2480         * varasm.c (enum section_category): Kill.
2481         (categorize_decl_for_section): Make global.
2482         * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
2483         Declare.
2484         * i386.c (ix86_section_threshold): New static variable.
2485         (ix86_in_large_data_p, ix86_encode_section_info,
2486         x86_64_elf_unique_section,
2487         x86_64_elf_select_section): New functions.
2488         (TARGET_ENCODE_SECTION_INFO): Define
2489         (override_options): Enable medium model for PIC.
2490         (ix86_expand_prologue): Expand gen_set_got_rex64.
2491         (legitimate_constant_p): Handle new UNSPECs.
2492         (legitimate_pic_address_disp_p): Likewise.
2493         (legitimize_pic_address): Lower MEDIUM model addressing.
2494         * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
2495         (enum cmodel): Add MEDIUM_PIC.
2496         (SYMBOL_REF_FAR_ADDR_P): New macro.
2497         (SYMBOL_FLAG_FAR_ADDR): New flag.
2498         * i386.md (movdi): Support medium model.
2499         (set_got_rex64): New pattern.
2500         * i386.opt (mlarge-data-threshold): New flag.
2501         * predicates.md (zext_operand/sext_operand): Deal with medium model.
2502         * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
2503         (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
2504         TARGET_ASM_UNIQUE_SECTION): New.
2505
2506         * invoke.texi (-mlarge_data_threshold): Document
2507
2508 2005-07-31  Jan Hubicka  <jh@suse.cz>
2509
2510         * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
2511         (coalesce_vars): Likewise.
2512         * tree-ssa-live.c (coalesce_cost): New.
2513         (build_tree_conflict_graph): Use coalesce_cost.
2514         * tree-ssa-live.h (coalesce_cost): Declare.
2515
2516 2005-07-30  Richard Earnshaw  <richard.earnshaw@arm.com>
2517
2518         * arm.md (all peepholes for post-increment operations): Delete.
2519         (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
2520         (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
2521         (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
2522         (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
2523         (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
2524
2525 2005-07-30  James A. Morrison  <phython@gcc.gnu.org>
2526
2527         * fold-const.c (tree_expr_nonnegative_p): Always return true for
2528         non-integral types.
2529
2530 2005-07-29  Wolfgang Bangerth <bangerth@dealii.org>
2531
2532         PR target/22582
2533         * doc/invoke.texi: Document -rdynamic.
2534
2535 2005-07-30  Joseph S. Myers  <joseph@codesourcery.com>
2536
2537         PR c/23143
2538         * c-parser.c (c_parser_parms_list_declarator): Call
2539         mark_forward_parm_decls.
2540         * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
2541         decls with visibility structure.
2542
2543 2005-07-30  Paul Brook  <paul@codesourcery.com>
2544
2545         * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
2546
2547 2005-07-30  Paul Brook  <paul@codesourcery.com>
2548
2549         * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
2550         prototype.
2551         * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
2552         value for mode.
2553         * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
2554
2555 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
2556
2557         PR c/529
2558         * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
2559         nested function declarators.
2560         (pushdecl): Don't call warn_if_shadowing for PARM_DECL.
2561         (grokparms): Call warn_if_shadowing for parameters used within the
2562         parameter list.
2563         (store_parm_decls_newstyle): Call warn_if_shadowing for parameters
2564         not used within the parameter list.
2565         (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
2566
2567 2005-07-30  Jan Hubicka  <jh@suse.cz>
2568
2569         * expr.c (expand_expr_real_1): Do not load mem targets into register.
2570         * i386.c (ix86_fixup_binary_operands): Likewise.
2571         (ix86_expand_unary_operator): Likewise.
2572         (ix86_expand_fp_absneg_operator): Likewise.
2573         * optabs.c (expand_vec_cond_expr): Validate dest.
2574
2575 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
2576
2577         PR c/21720
2578         * real.c (real_from_string): Also set last bit if there is a
2579         nonzero hex digit beyond GCC's internal precision after ".".
2580
2581 2005-07-29  David Edelsohn  <edelsohn@gnu.org>
2582
2583         * config/rs6000/altivec.md: Convert UNSPEC numerical values to
2584         define_constants.  Change duplicate values to unassigned numbers.
2585         Change UNSPEC_SUBS to UNSPEC_VSUBS.
2586         (*altivec_vspltsf): New.
2587         (altivec_vperm_v4sf): Delete.
2588         (altivec_vperm_<mode>): Use mode macro V.
2589         (altivec_vsldoi_<mode>): Convert to mode macro pattern.
2590         (altivec_predicate_v4sf): Delete.
2591         (altivec_predicate_<mode>): Use mode macro V.
2592         (*altivec_lvesfx): New.
2593         (*altivec_stvesfx): New.
2594         (vec_realign_load_v4sf): Delete.
2595         (vec_realign_load_<mode>): Use mode macro V.
2596         * config/rs6000/rs6000.c (generate_set_vrsave): Use
2597         UNSPECV_SET_VRSAVE.
2598
2599 2005-07-29  Mark Mitchell  <mark@codesourcery.com>
2600
2601         PR bootstrap/23131
2602         * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
2603         string.
2604         * configure: Regenerated.
2605
2606 2005-07-29  Paul Brook  <paul@codesourcery.com>
2607
2608         * doc/install.texi: Add link to GFortran binaries wiki page.
2609
2610 2005-07-29  David Ung  <davidu@mips.com>
2611
2612         * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
2613         (mips_rtx_cost_data): Add costs for 5kc and 5kf.
2614         * config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
2615         * config/mips/mips.md (cpu): Add 5kf name.
2616         (includes): Includes 5k.md.
2617         * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
2618         * doc/invoke.texi (MIPS Options): Updated cpu name supported with
2619         -march flag.
2620
2621 2005-07-29  Diego Novillo  <dnovillo@redhat.com>
2622
2623         PR 22550
2624         * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
2625         (cleanup_tree_cfg): ... here.
2626         Call cleanup_tree_cfg_1 until there are no more cleanups to
2627         do.
2628
2629 2005-07-29  James A. Morrison  <phython@gcc.gnu.org>
2630
2631         * tree-vrp.c (compare_range_with_value): Return true or false
2632         for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
2633         EQ_EXPR respectively.
2634
2635 2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
2636
2637         * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
2638         Fix comment typos.
2639
2640 2005-07-29  Diego Novillo  <dnovillo@redhat.com>
2641
2642         * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
2643         (tree_ssa_dominator_optimize): Increment it.
2644         (dump_dominator_optimization_stats): Print it.
2645
2646 2005-07-29  Richard Earnshaw  <richard.earnshaw@arm.com>
2647             Steven Bosscher  <stevenb@suse.de>
2648
2649         PR rtl-optimization/23117
2650         * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
2651         when head == tail.  Tidy comment.
2652
2653 2005-07-28  Richard Henderson  <rth@redhat.com>
2654
2655         * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
2656         * cselib.c (rtx_equal_for_cselib_p): Likewise.
2657         * jump.c (rtx_renumbered_equal_p): Likewise.
2658         * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
2659         CONST_INT and CONST_DOUBLE.
2660         (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
2661         * reload.c (operands_match_p): Special case CONST_INT and
2662         CONST_DOUBLE; check mode earlier.
2663
2664 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
2665
2666         PR c/22240
2667         * c-typeck.c (convert_for_assignment): Do not check
2668         DECL_IN_SYSTEM_HEADER on NULL fundecl.
2669
2670 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
2671
2672         PR c/22192
2673         * c-typeck.c (composite_type): Prefer constant size arrays to
2674         VLAs.
2675
2676 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
2677
2678         PR c/21720
2679         * real.c (real_from_string): Set last bit if there is a nonzero
2680         hex digit beyond GCC's internal precision.
2681
2682 2005-07-28  Richard Henderson  <rth@redhat.com>
2683
2684         PR rtl-opt/22619
2685         * cfgcleanup.c (try_forward_edges): Watch out for end of
2686         insn chain.
2687
2688 2005-07-28  James E Wilson  <wilson@specifixinc.com>
2689
2690         PR c/23106
2691         * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
2692
2693 2005-07-28  Jan Hubicka  <jh@suse.cz>
2694
2695         * Makefile.in (rtl-profile.o): Kill all traces of it.
2696         * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
2697         * coverage.h (rtl_coverage_counter_ref): Kill.
2698         * opts.c (flag_speculative_prefetching_set): Kill.
2699         (flag_loop_optimize_set): New.
2700         (common_handle_option): Disable loop optimizer when profiling;
2701         do not handle speculative prefetching.
2702         * passes.c (init_optimization_passes): Replace pass_profiling combo
2703         by branch_prob pass.
2704         * profile.c (compute_value_histograms): Update for simplified value
2705         profiles.
2706         (rtl_register_profile_hooks): Kill.
2707         (pass_profiling): Kill.
2708         (rest_of_handle_branch_prob): Do not profile.
2709         * toplev.c (process_options): Remove speculative prefetching.
2710         * toplev.h (flag_tree_based_profiling): Kill.
2711         * tree-profile.c (prepare_instrumented_value,
2712         tree_gen_interval_profiler, tree_gen_pow2_profiler,
2713         tree_gen_one_value_profiler, do_tree_profiling): Update for
2714         simplified datastructures.
2715         * value-prof.c: Add comment that speculative prefetching was dropped;
2716         update rest of file for simplified datastructures.
2717         (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
2718         rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
2719         find_mem_reference_1, find_mem_reference_2, find_mem_reference,
2720         rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
2721         rtl_mod_subtract, gen_speculative_prefetch,
2722         rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
2723         rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
2724         (gate_handle_value_profile_transformations,
2725         rest_of_handle_value_profile_transformations,
2726         pass_value_profile_transformations): Kill.
2727         * value-prof.h (histogram_value_t): Remove IL based unions.
2728         (rtl_register_value_prof_hooks, rtl_register_profile_hooks,
2729         rtl_profile_hooks): Remove hooks.
2730
2731         * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
2732
2733         * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
2734         (cgraph_clone_node): Likewise.
2735         * cgraph.h (cgraph_clone_edge): Update prototype.
2736         (cgraph_clone_node): Likewise.
2737         * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
2738         cgraph_clone_node.
2739         (lookup_recursive_calls): Consider profile.
2740         (cgraph_decide_recursive_inlining): Fix updating; use new
2741         probability argument; use profile.
2742         * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
2743         * tree-inline.c (copy_bb): Update clal of clone_edge.
2744         * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
2745
2746         * invoke.texi (min-inline-recursive-probability): Document.
2747
2748 2005-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
2749
2750         * doc/install.texi (Configuration): Update Valgrind homepage.
2751
2752 2005-07-28  Richard Henderson  <rth@redhat.com>
2753
2754         PR middle-end/21362
2755         * cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
2756         labels we want to delete.
2757         (cfg_layout_merge_blocks): Likewise.
2758
2759 2005-07-28  Richard Henderson  <rth@redhat.com>
2760
2761         PR target/17692
2762         * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
2763         when expanding to nothing.
2764
2765 2005-07-28  Josh Conner  <jconner@apple.com>
2766
2767         * ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
2768         (cgraph_decide_inlining_of_small_functions): Likewise.
2769
2770 2005-07-28  Josh Conner  <jconner@apple.com>
2771
2772         * ipa-inline.c (cgraph_edge_badness): Update comments.  Invert shift
2773         direction of badness if negative.
2774         (cgraph_default_inline_p): Add reason to parameters, and assign it
2775         a value.
2776         (cgraph_decide_inlining_of_small_functions): New parameter in call
2777         to cgraph_default_inline_p.
2778         (cgraph_decide_inlining_incrementally): Likewise.
2779         * cgraphunit.c (decide_is_function_needed): Likewise.
2780         * cgraph.h (cgraph_default_inline_p): Likewise.
2781
2782 2005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2783
2784         * builtins.c: Fix comment typo(s).
2785         * genautomata.c: Likewise.
2786         * gimplify.c: Likewise.
2787         * tree-dfa.c: Likewise.
2788         * tree-flow-inline.h: Likewise.
2789         * tree-into-ssa.c: Likewise.
2790         * tree-ssa-alias.c: Likewise.
2791         * tree-ssa-ccp.c: Likewise.
2792         * tree-ssa-copy.c: Likewise.
2793         * tree-ssa-dce.c: Likewise.
2794         * tree-ssa-dom.c: Likewise.
2795         * tree-ssa-operands.c: Likewise.
2796         * tree-tailcall.c: Likewise.
2797         * tree-vectorizer.c: Likewise.
2798         * tree-vrp.c: Likewise.
2799         * tree.c: Likewise.
2800
2801 2005-07-28  Jeff Law  <law@redhat.com>
2802
2803         * tree-vrp.c (test_for_singularity): Extracted from  ...
2804         (simplify_cond_using_ranges): Attempt to simplify a relational
2805         test to NE_EXPR.  Dump information when a COND_EXPR is simplified.
2806
2807 2005-07-28  Dorit Nuzman  <dorit@il.ibm.com>
2808
2809         PR tree-optimization/22506
2810         * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
2811         phis whose argument is constant.
2812
2813 2005-07-28  J"orn Rennecke <joern.rennecke@st.com>
2814
2815         PR rtl-optimization/18992
2816         Back out this patch:
2817           2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2818           PR optimization/12142
2819           * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
2820           uses of the register in the SET_SRC.  Remove unnecessary argument.
2821
2822         Replace it with this:
2823         * cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
2824         if flag_non_call_exceptions is set and the insn may trap, pass
2825         pc_rtx as dest for recursion.
2826         In SET_SRC part of SET case, if dest is already set, pass it down
2827         unchanged.
2828
2829 2005-07-28  Jan Hubicka  <jh@suse.cz>
2830
2831         * cfg.c (update_bb_profile_for_threading): Use RDIV.
2832         (scale_bbs_frequencies_int): Likewise, assert for possible overflow.
2833         (scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
2834         roundoff errors.
2835         * tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
2836         profile when available.
2837
2838 2005-07-28  Jan Beulich <jbeulich@novell.com>
2839
2840         * config/ia64/ia64.c (ia64_load_pair_ok): New.
2841         (ia64_print_operand): Describe and handle 'X'.
2842         (ia64_register_move_cost): Also handle FP_REGS.
2843         (ia64_preferred_reload_class): Likewise.
2844         (ia64_secondary_reload_class): Likewise.
2845         (ia64_dependencies_evaluation_hook): New local variable c. Initialize
2846         it. Also check for ITANIUM_CLASS_FLDP.
2847         * config/ia64/ia64.h (FP_REGNO_P): New.
2848         (HARD_REGNO_MODE_OK): Remove explusion of TImode.
2849         (reg_class): Add FP_REGS.
2850         (REG_CLASS_NAMES): Adjust for it.
2851         (REG_CLASS_CONTENTS): Likewise.
2852         (REGNO_REG_CLASS): Use FP_REGS where appropriate.
2853         (REG_CLASS_FROM_LETTER): Handle 'x'.
2854         (CLASS_MAX_NREGS): Handle FP_REGS.
2855         (MEMORY_MOVE_COST): Likewise.
2856         * config/ia64/ia64.md (itanium_class): Add fldp.
2857         (type): Handle fldp.
2858         (movti_internal): More allowable operand combinations. Use ldfp8 when
2859         splitting unnecessary. Remove predicable attribute. Adjust
2860         itanium_class attribute.
2861         (smuldi3_highpart): Remove outdated comment.
2862         (mulditi3, umulditi3, rotlti3): New expanders.
2863         (addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
2864         (absti2): Disabled new insn for future reference.
2865         Respective new splitters.
2866         * config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
2867         * config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
2868         * config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
2869
2870 2005-07-25  James A. Morrison  <phython@gcc.gnu.org>
2871
2872         PR rtl-optimization/23047
2873         * simplify-rtx.c (simplify_const_relational_operation): Respect
2874         flag_wrapv for comparisons with ABS.
2875
2876 2005-07-27  James A. Morrison  <phython@gcc.gnu.org>
2877
2878         PR tree-optimization/22493
2879         * tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
2880         VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
2881
2882 2005-07-27  Aldy Hernandez  <aldyh@redhat.com>
2883
2884         * config/frv/frv.opt (moptimize-membar): New.
2885
2886         * doc/invoke.texi: Document -moptimize-membar and its inverse.
2887
2888         * config/frv/frv.h: Remove machine_function definition.
2889
2890         * config/frv/frv.c (struct frv_io): New.
2891         (struct machine_function): Moved from frv.h.  Add has_membar_p.
2892         (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
2893         (frv_extract_membar, frv_io_check_address, frv_io_handle_set)
2894         (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
2895         (frv_optimize_membar_global, frv_optimize_membar): New functions.
2896         (frv_reorg): Call frv_optimize_membar when appropriate.
2897         (bdesc_loads, bdesc_stores): Use the membar code as the icode field.
2898         (frv_expand_builtin): Adjust calls accordingly.
2899         (frv_io_address_cookie): New function.
2900         (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
2901         load or store rather than a special insn.  Add ccnstant address and
2902         io-type operands to the membar.
2903         (frv_ifcvt_modify_tests): Unsign regno.
2904         (frv_ifcvt_modify_tests): Same.
2905
2906         * config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}.  Change
2907         UNSPEC_OPTIONAL_MEMBAR constant.
2908         (builtin_read_<mode>): Delete.
2909         (builtin_write_<mode>): Delete.
2910         ("optional_membar_<mode>"): Add operand.
2911
2912         * testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
2913         * testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
2914         * testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
2915         * testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
2916         * testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
2917         * testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
2918         * testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
2919         * testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
2920         * testsuite/gcc.target/frv/all-read-write-1.c: New.
2921
2922 2005-07-28  Kaz Kojima  <kkojima@gcc.gnu.org>
2923
2924         * df.c (df_uses_record): Handle SCRATCH.
2925
2926 2005-07-28  Steven Bosscher  <stevenb@suse.de>
2927
2928         PR debug/20161
2929         * passes.c (rest_of_decl_compilation): If decl is a type and
2930         we have encountered errors, don't emit debug information.
2931
2932 2005-07-27  Kenneth Zadeck <zadeck@naturalbridge.com>
2933
2934         * params.def: Fixed comment.
2935
2936 2005-07-27  Bjoern Haase  <bjoern.m.haase@web.de>
2937
2938         PR target/19885
2939         * config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
2940         (TARGET_ASM_UNALIGNED_HI_OP): Add.
2941         (TARGET_ASM_UNALIGNED_SI_OP): Add.
2942
2943 2005-07-27  Steven Bosscher  <stevenb@suse.de>
2944
2945         PR c++/22003
2946         * varasm.c (assemble_start_function): Don't do anything that may
2947         require a CFG if the current function is a thunk.
2948
2949 2005-07-25  Geoffrey Keating  <geoffk@apple.com>
2950
2951         * doc/install.texi (Prerequisites): Mention that perl is needed
2952         to do export control in libstdc++ targetting Darwin.
2953
2954 2005-07-27  Steven Bosscher  <stevenb@suse.de>
2955
2956         PR rtl-optimization/17808
2957         * sched-deps.c (sched_get_condition): Enable #if 0'ed code.
2958         (sched_insns_conditions_mutex_p): Split out from...
2959         (add_dependence): ...here.  But don't call it from here.
2960         (add_dependence_list): Check sched_insns_conditions_mutex_p
2961         before calling add_dependence.
2962         (add_dependence_list_and_free): Likewise.
2963         (fixup_sched_groups): Likewise.
2964         (sched_analyze_1): Likewise.
2965         (sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
2966         (sched_analyze): Likewise.
2967         (sched_analyze_insn): Likewise.
2968         * sched-ebb.c (add_deps_for_risky_insns): Likewise.
2969         * sched-rgn.c (add_branch_dependences): Likewise.  Also, add
2970         dependencies on all COND_EXEC insns to jumps ending basic blocks
2971         when doing intrablock scheduling.
2972         * sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
2973
2974 2005-07-27  Jeff Law  <law@redhat.com>
2975
2976         * tree-vrp.c (vrp_meet): Intersect the equivalency sets when
2977         meeting a VR_ANTI_RANGE with a VR_RANGE.  When intersecting
2978         equivalency sets, correctly handle the case were vr0 has an
2979         equivalency set, but vr1 does not.
2980
2981 2005-07-27  Dorit Nuzman  <dorit@il.ibm.com>
2982
2983         PR tree-optimization/23073
2984         * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
2985         vect_print_dump_info before fprintf.
2986
2987 2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
2988
2989         PR tree-optimize/22348
2990         * tree-ssa-loop-niter.c (number_of_iterations_cond):
2991         Fold the partial computation.
2992
2993 2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
2994
2995         PR tree-optimization/22325
2996         * tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
2997         Declare.
2998         * tree-scalar-evolution.c (scev_const_prop): Add generic final
2999         value replacement.
3000         * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
3001         (force_var_cost): ... this function.
3002         (compute_phi_arg_on_exit): Export.
3003
3004 2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
3005
3006         PR tree-optimization/20773
3007         * tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
3008         edge.
3009
3010 2005-07-27  Richard Guenther  <rguenther@suse.de>
3011
3012         * tree-ssa-structalias.c (push_fields_onto_fieldstack):
3013         Avoid pushing again if current struct contains only
3014         fields we decomposed.
3015
3016 2005-07-27  Jan Hubicka  <jh@suse.cz>
3017
3018         PR tree-optimization/22574
3019         * cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
3020         not available.
3021
3022         * tree-tailcall.c (decrease_profile): New function.
3023         (eliminate_tail_call): Use it.
3024
3025         * cgraphunit.c (cgraph_function_and_variable_visibility): Set
3026         visibility flags correctly in whole program mode.
3027
3028 2005-07-26  Steve Ellcey  <sje@cup.hp.com>
3029
3030         PR rtl-optimization/22472
3031         * config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
3032
3033 2005-07-26  Steven Bosscher  <stevenb@suse.de>
3034
3035         PR tree-optimization/22504
3036         * tree-complex.c (expand_complex_addition): Use 'code' instead
3037         of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
3038
3039 2005-07-26  Aldy Hernandez  <aldyh@redhat.com>
3040
3041         * config.gcc (cpu_type): Add frv case.
3042         (with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
3043         (supported_defaults): Add fr550 case.
3044
3045 2005-07-26  Diego Novillo  <dnovillo@redhat.com>
3046
3047         PR 22591
3048         * tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
3049         whether a pointer of type T * may point to objects of type T *.
3050
3051 2005-07-26  DJ Delorie  <dj@redhat.com>
3052
3053         * configure: Regenerate.
3054
3055 2005-07-26  Dale Johannesen  <dalej@apple.com>
3056
3057         * postreload-gcse.c (alloc_mem):  Start CUID numbering at 1.
3058
3059 2005-07-26  Mark Mitchell  <mark@codesourcery.com>
3060
3061         * doc/install.texi (--with-build-sysroot): Fix grammatical error.
3062         Clarify use of "build" in name.
3063
3064 2005-07-26  Aldy Hernandez  <aldyh@redhat.com>
3065
3066         * doc/extend.texi (Raw read/write Functions): New section.
3067         * testsuite/gcc.target/frv/all-builtin-read8.c: New.
3068         * testsuite/gcc.target/frv/all-builtin-read16.c: New.
3069         * testsuite/gcc.target/frv/all-builtin-read32.c: New.
3070         * testsuite/gcc.target/frv/all-builtin-read64.c: New.
3071         * testsuite/gcc.target/frv/all-builtin-write8.c: New.
3072         * testsuite/gcc.target/frv/all-builtin-write16.c: New.
3073         * testsuite/gcc.target/frv/all-builtin-write32.c: New.
3074         * testsuite/gcc.target/frv/all-builtin-write64.c: New.
3075         * config/frv/frv.c: Add bdesc_loads global.
3076         Add bdesc_stores global.
3077         (frv_init_builtins): Add support for __builtin_{read/write}*.
3078         (frv_volatile_memref): New.
3079         (frv_expand_load_builtin): New.
3080         (frv_expand_store_builtin): New.
3081         * config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
3082         FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
3083         FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
3084         FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
3085         * config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
3086         UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
3087         (builtin_read_<mode>): New.
3088         (builtin_write_<mode>): New.
3089         (builtin_write64): New.
3090         (optional_membar_<mode>): New.
3091
3092 2005-07-26  J"orn Rennecke <joern.rennecke@st.com>
3093
3094         * emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
3095         (rather than units) against HOST_BITS_PER_WIDE_INT.
3096
3097 2005-07-26  Kazu Hirata  <kazu@codesourcery.com>
3098
3099         * ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
3100         ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
3101         ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
3102         config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
3103         FSF address.
3104
3105         * calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
3106         tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
3107         config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
3108         comment typos.
3109         * doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
3110
3111 2005-07-26  Richard Guenther  <rguenther@suse.de>
3112
3113         PR tree-optimization/22486
3114         * fold-const.c (fold_unary): Fold away useless component
3115         references of the form (T *)&T.x, if the address
3116         doesn't change.
3117
3118 2005-07-25  James E Wilson  <wilson@specifixinc.com>
3119
3120         * dwarf2out.c (add_call_src_coords_attributes): New.
3121         (gen_inlined_subroutine_die): Call it.
3122         (maybe_emit_file, init_file_table): Add comments.
3123         (prune_unused_types_walk_attribs): Pass DW_AT_call_file through
3124         maybe_emit_file.
3125         * tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
3126         (expand_call_inline): Set BLOCK_SOURCE_LOCATION.
3127         * tree.h (BLOCK_SOURCE_LOCATION): New.
3128         (struct tree_block): New field locus.
3129
3130 2005-07-26  Andreas Schwab  <schwab@suse.de>
3131
3132         PR rtl-optimization/23043
3133         * postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
3134         when allocating a struct unoccr.
3135
3136 2005-07-25  Richard Henderson  <rth@redhat.com>
3137
3138         PR 22626
3139         * tree-complex.c (gate_no_optimization): True if errors.
3140         * Makefile.in (tree-complex.o): Update dependencies.
3141
3142 2005-07-25  Aldy Hernandez  <aldyh@redhat.com>
3143
3144         * config/frv/predicates.md (integer_register_operand): Use
3145         GPR_AP_OR_PSEUDO_P.
3146
3147 2005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
3148
3149         PR tree-opt/22484
3150         * tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
3151         after fold.
3152         * tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
3153
3154 2005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
3155
3156         * tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
3157         types when flag_unsafe_math_optimizations is true.
3158
3159 2005-07-25  Mark Mitchell  <mark@codesourcery.com>
3160
3161         * gcc.c (option_map): Add --sysroot.
3162         (process_command): Handle --sysroot.
3163         (display_help): Document it.
3164         * doc/cppopts.tex (-isysroot): Document.
3165         * doc/invoke.texi (--sysroot): Document.
3166         * doc/install.texi (--with-build-sysroot): Document.
3167
3168         * Makefile.in (inhibit_libc): New variable.
3169         (INHIBIT_LIBC_CFLAGS): Likewise.
3170         (LIBGCC2_CFLAGS): Include
3171         $(INHIBIT_LIBC_CFLAGS).
3172         (CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
3173         ($(T)crtbegin.o): Do not use @inhibit_libc@.
3174         ($(T)crtend.o): Likewise.
3175         ($(T)crtbeginS.o): Do not use @inhibit_libc@.
3176         ($(T)crtendS.o): Likewise.
3177         ($(T)crtbeginT.o): Do not use @inhibit_libc@.
3178         ($(T)crtendT.o): Likewise.
3179         (stmp-fixinc): Do not complain about missing headers if
3180         inhibit_libc.
3181         * configure.ac (inhibit_libc): Set it to true/false.
3182         (--with-build-sysroot): New option.  Use it to set
3183         SYSTEM_HEADER_DIR.
3184         * configure: Regenerated.
3185
3186 2005-07-25  Manfred Hollstein  <mh@suse.com>
3187
3188         * calls.c (store_one_arg): Fix unsigned comparison warning.
3189
3190 2005-07-25  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
3191
3192         PR other/22337
3193         * ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
3194         (ggc_print_statistics): Initialize variable before use.
3195
3196 2005-07-25  Richard Guenther  <rguenther@suse.de>
3197
3198         * tree-dfa.c (mark_new_vars_to_rename): Protect against
3199         calling with a PHI_NODE argument.
3200
3201         * tree-flow-inline.h (overlap_subvar): Protect against
3202         possible overflow.
3203
3204 2005-07-25  Paolo Bonzini  <bonzini@gnu.org>
3205
3206         * aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
3207         * configure: Regenerate.
3208
3209 2005-07-25  Ira Rosen  <irar@il.ibm.com>
3210
3211         * expr.c (highest_pow2_factor): Make extern.
3212         * tree-data-ref.c (ptr_decl_may_alias_p): New function.
3213         (ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
3214         record_array_differ_p, array_ptr_differ_p): Likewise.
3215         (base_object_differ_p): Rename (from array_base_name_differ_p). Support
3216         additional cases. Call the above functions.
3217         (base_addr_differ_p): Moved from tree-vect-analyze.c. Call
3218         base_object_differ_p when there are two base objects. Otherwise, compare
3219         base address and offset. Call may_alias_p.
3220         (dump_data_reference): Use a correct field name.
3221         (analyze_array): Make static. Initialize new data-ref fields.
3222         (analyze_indirect_ref): New function.
3223         (init_data_ref): Initialize new data-ref fields.
3224         (strip_conversion): Moved from tree-vect-analyze.c.
3225         (analyze_offset_expr, get_ptr_offset, address_analysis,
3226         object_analysis): Likewise.
3227         (analyze_offset): New function.
3228         (create_data_ref): Likewise.
3229         (initialize_data_dependence_relation): Call base_addr_differ_p. Compare
3230         dimensions for ARRAY_REFs only.
3231         (build_classic_dist_vector): Make static.
3232         (access_functions_are_affine_or_constant_p): Call macro to get the
3233         address of access functions.
3234         (compute_all_dependences): Add new parameter
3235         compute_self_and_read_read_dependences. Compute self and read-read
3236         dependences if it is true.
3237         (find_data_references_in_loop): Call create_data_ref. Initialize new
3238         data-ref fields.
3239         (compute_data_dependences_for_loop): Add new parameter
3240         compute_self_and_read_read_dependences. Remove parameter nb_loops,
3241         compute nb_loops. Call compute_all_dependences,
3242         build_classic_dist_vector and build_classic_dir_vector with correct
3243         parameters.
3244         (analyze_all_data_dependences): Call compute_data_dependences_for_loop
3245         with correct parameters. Compare dimensions for ARRAY_REFs only.
3246         (free_data_refs): Call macro to free access functions.
3247         * tree-data-ref.h (struct first_location_in_loop): New structure. Move
3248         fields from stmt_vinfo.
3249         (struct base_object_info): New structure.
3250         (struct data_reference): Move fields to base_object_info. Add fields
3251         first_location and object_info for above structures. Move fields from
3252         stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
3253         aligned_to.  Add macros to access the new fields.
3254         Update functions declarations.
3255         * tree-flow.h (is_aliased_with): Declare.
3256         * tree-loop-linear.c (linear_transform_loops): Call
3257         compute_data_dependences_for_loop with correct parameters.
3258         * tree-ssa-alias.c (is_aliased_with): New function.
3259         * tree-vect-analyze.c (vect_get_ptr_offset): Remove.
3260         (vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
3261         (vect_analyze_data_ref_dependence): Get ddr. Remove call to
3262         vect_base_addr_differ_p, compute_subscript_distance and
3263         build_classic_dist_vector. Add printings. Check absolute value of
3264         distance.
3265         (vect_analyze_data_ref_dependences): Go through ddrs instead of
3266         data-refs.
3267         (vect_compute_data_ref_alignment): Get the fields of data-ref instead of
3268         stmt. Check aligned_to. Check if the base is aligned. Remove conversion
3269         to bytes. Add printing.
3270         (vect_compute_data_refs_alignment): Go through loads and stores in one
3271         loop.
3272         (vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
3273         vect_analyze_data_ref_access): Likewise.
3274         (vect_analyze_pointer_ref_access): Remove.
3275         (vect_address_analysis, vect_object_analysis): Likewise.
3276         (vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
3277         and analyze data-refs in the loop.
3278         * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
3279         fields of data-ref instead of stmt. Add init to the offset from the
3280         base.
3281         (vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
3282         (vect_update_init_of_dr): Likewise.
3283         (vect_update_inits_of_drs): Go through loads and stores in one loop.
3284         * tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
3285         removed fields.
3286         (new_loop_vec_info): Initialize new fields.
3287         (destroy_loop_vec_info): Free new fields.
3288         (vect_strip_conversion): Remove.
3289         * tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
3290         (struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
3291         datarefs. Add new field ddrs.
3292         Add macros for the new fields access.
3293         (struct _stmt_vec_info): Remove: base_address, initial_offset, step,
3294         base_aligned_p, misalignment, memtag, ptr_info and subvars.
3295         Remove their macros.
3296         * tree.h (highest_pow2_factor): Declare.
3297
3298 2005-07-25  Jakub Jelinek  <jakub@redhat.com>
3299
3300         * calls.c (store_one_arg): Check for sibling call MEM arguments
3301         from already clobbered incoming argument area.
3302
3303 2005-07-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3304
3305         * c-common.c (check_missing_format_attribute): New.
3306         * c-common.h (check_missing_format_attribute): Likewise.
3307         * c-typeck.c (convert_for_assignment): Use it.
3308
3309 2005-07-24  Andreas Schwab  <schwab@suse.de>
3310
3311         * config/m68k/m68k.md ("extendqidi2"): When source is an address
3312         register use a word move.  Correct operand of ext.w in 68000 code.
3313
3314 2005-07-23  Mark Mitchell  <mark@codesourcery.com>
3315
3316         * dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
3317         variables as declarations, rather than definitions.
3318
3319 2005-07-24  Ira Rosen  <irar@il.ibm.com>
3320
3321         PR tree-optimization/22526
3322         * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
3323         of the zero node.
3324
3325 2005-07-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3326
3327         * builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
3328         that C99 reserve for future use. Use it to define clog10,
3329         clog10f and clog10l.
3330
3331 2005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3332
3333         * Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
3334         * configure.ac: Check for -Wmissing-format-attribute.
3335
3336         * configure: Regenerate.
3337
3338 2005-07-23  Richard Henderson  <rth@redhat.com>
3339
3340         PR tree-optimization/22623
3341         * tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
3342
3343 2005-07-23  Giovanni Bajo  <giovannibajo@libero.it>
3344
3345         PR target/22577
3346         * config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
3347
3348 2005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3349
3350         * Makefile.in (C_TREE_H): Update dependencies.
3351         * c-tree.h: Include toplev.h.
3352         * diagnostic.h (diagnostic_set_info): Add format attribute.
3353         * rtl-error.c (diagnostic_for_asm): Likewise.
3354
3355 2005-07-23  Chao-ying Fu  <fu@mips.com>
3356
3357         * config/mips/mips-dsp.md: New file.
3358         * config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
3359         * config/mips/mips.c (mips_function_type): Add types for DSP builtin
3360         functions.
3361         (mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
3362         MIPS_BUILTIN_BPOSGE32.
3363         (mips_expand_builtin_direct): Add one parameter to indicate that
3364         builtin functions need to return a value.
3365         (mips_expand_builtin_bposge): New for expanding "bposge" builtin
3366         functions.
3367         (mips_regno_to_class): Add classes for 12 new DSP registers.
3368         (mips_subword): Change to check four HI registers.
3369         (mips_output_move): Output move to and from 6 new DSP accumulators.
3370         (override_options): Make sure -mdsp and -mips16 are not used together.
3371         Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS.  Enable DSP accumulators
3372         for machine modes.
3373         (mips_conditional_register_usage): Disable 6 new DSP accumulators
3374         when !TARGET_DSP.
3375         (print_operand): Add 'q' for printing DSP accumulators.
3376         (mips_cannot_change_mode_class): Check ACC_REGS.
3377         (mips_secondary_reload_class): Check ACC_REGS.
3378         (mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
3379         (mips_register_move_cost): Check ACC_REGS.
3380         (CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
3381         (CODE_FOR_mips_subu_qb): New code-aliasing macros.
3382         (DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
3383         (dsp_bdesc): New array.
3384         (bdesc_arrays): Add DSP builtin function table.
3385         (mips_prepare_builtin_arg): Check predicate again after
3386         copy_to_mode_reg.
3387         (mips_expand_builtin): Add one more parameter to
3388         mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
3389         MIPS_BUILTIN_BPOSGE32.
3390         (mips_init_builtins): Initialize new function types.
3391         (mips_expand_builtin_direct): Check if builtin functions need to
3392         return a value and pass operands properly.
3393         (mips_expand_builtin_bposge): New function.
3394         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
3395         (ASM_SPEC): Map -mdsp to -mdsp in GAS.
3396         (FIRST_PSEUDO_REGISTER): Increase to 188.
3397         (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
3398         Update for 12 new DSP registers.
3399         (DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
3400         (AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
3401         (DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
3402         (reg_class): Add DSP_ACC_REGS and ACC_REGS.
3403         (REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
3404         (REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
3405         (REG_ALLOC_ORDER): Update for 12 new DSP registers.
3406         (mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
3407         (UIMM6_OPERAND, IMM10_OPERAND): New macros.
3408         (EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
3409         (REGISTER_NAMES): Add names for 12 new DSP registers.
3410         * config/mips/mips.md: Include mips-dsp.md.
3411         (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
3412         (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
3413         (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
3414         (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
3415         (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
3416         (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
3417         (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
3418         (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
3419         (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
3420         (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
3421         (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
3422         (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
3423         (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
3424         (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
3425         (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
3426         (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
3427         (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
3428         (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
3429         (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
3430         (UNSPEC_RDDSP): New constants.
3431         (*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
3432         (*movsi_internal): Change 'x' to 'a' for ACC_REGS.  Add an
3433         A<-d alternative.
3434         * config/mips/mips.opt (-mdsp): New option.
3435         * config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
3436         (reg_imm10_operand): New predicates.
3437         * doc/extend.texi (MIPS DSP Built-in Functions): New section.
3438         * doc/invoke.texi (-mdsp): Document new option.
3439
3440 2005-07-22  DJ Delorie  <dj@redhat.com>
3441
3442         * c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
3443         to warning calls.
3444         * tree-inline.c (inlinable_function_p): Likewise.
3445
3446 2005-07-22  Mark Mitchell  <mark@codesourcery.com>
3447
3448         PR debug/21828
3449         * toplev.c (check_global_declarations): Do not mark undefined
3450         variables as DECL_IGNORED_P.
3451         * varasm.c (first_global_object_name): GTY it.
3452         (weak_global_object_name): Likewise.
3453         (notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
3454         a string to go into {weak,first}_global_object_name.
3455
3456 2005-07-22  DJ Delorie  <dj@redhat.com>
3457
3458         * c-format.c (check_function_format): Change warning control
3459         option from OPT_Wattribute to OPT_Wmissing_format_attribute.
3460
3461 2005-07-22  Diego Novillo  <dnovillo@redhat.com>
3462
3463         * tree-ssa-alias.c (count_ptr_derefs): Do not consider
3464         &PTR->FLD a dereference of PTR.
3465         * tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
3466         a potential dereference of PTR.
3467
3468 2005-07-22  J"orn Rennecke <joern.rennecke@st.com>
3469
3470         PR rtl-optimization/20370
3471         * ifcvt.c (dead_or_predicable): Before calling propagate_block,
3472         call allocate_reg_info if necessary.
3473
3474         PR rtl-optimization/21848
3475         * calls.c (emit_library_call_value_1): For const functions, add
3476         USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
3477