OSDN Git Service

PR target/27627
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2006-06-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2
3         PR target/27627
4         * pa/pa-modes.def: Use mips_single_format, mips_double_format and
5         mips_quad_format formats instead of ieee_single_format,
6         ieee_double_format and ieee_quad_format formats, respectively.
7
8 2006-05-24  Zdenek Dvorak <dvorakz@suse.cz>
9
10         PR tree-optimization/27639
11         PR tree-optimization/26719
12         * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
13         call to scev_probably_wraps_p.
14         * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
15         used_in_pointer_arithmetic_p, convert_step): Removed.
16         (nowrap_type_p): New function.
17         (scev_probably_wraps_p): Rewritten.
18         * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
19         chrec_convert if chrec_convert_aggressive might have been used.
20         * tree-chrec.c (convert_affine_scev, chrec_convert_1,
21         scev_direction): New functions.
22         (chrec_convert): Changed to a wrapper over chrec_convert_1.
23         * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
24         instead of convert_step.
25         * tree-flow.h (scev_probably_wraps_p): Declaration changed.
26         (convert_step): Declaration removed.
27         (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
28
29 2006-05-23  Kenneth Zadeck <zadeck@naturalbridge.com>
30
31         * df-core.c: Added to header comments.
32         * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
33         df_ur_bb_info, df_urec_bb_info): Added comments.
34         * df-problems (df_ref_bitmap, ru, rd, lr, ur, 
35         urec, ri problems): Fixed header comments.
36         (df_ru_transfer_function): Fixed in-out set dyslexia when copying 
37         code from df_rd_transfer_function.
38         
39 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
40
41         * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
42         (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
43         MIN_UNITS_PER_WORD to set the default.  Also use it in the guard.
44
45 2006-05-23  Joseph Myers  <joseph@codesourcery.com>
46
47         * expr.c (undefined_operand_subword_p): New.
48         (emit_move_multi_word): Do not generate move from undefined bits
49         of a paradoxical subreg.
50
51 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
52
53         PR rtl-optimization/27736
54         * combine.c (replaced_rhs_value): New variable.
55         (combine_instructions): Set it.
56         (distribute_notes): When distributing a note in replaced_rhs_insn,
57         check whether the value was used in replaced_rhs_value.
58
59 2006-05-23  Andrew MacLeod  <amacleod@redhat.com>
60
61         PR c++/26757
62         * tree-ssa-loop-im.c (determine_invariantness_stmt): Use 
63         add_referenced_var instead of add_referenced_tmp_var.
64         * tree-complex.c (create_one_component_var): Use add_referenced_var.
65         * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
66         add_referenced_var.
67         * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
68         tree_optimize_tail_calls_1): Use add_referenced_var.
69         * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
70         * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
71         Use add_referenced_var.
72         * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
73         * gimplify.c (force_gimple_operand): Use add_referenced_var.
74         * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
75         Use add_referenced_var.
76         * tree-dfa.c (struct walk_state): Remove.
77         (find_referenced_vars): Remove walk state and vars_found hash table.
78         (make_rename_temp): Use add_referenced_var.
79         (find_vars_r): Pass less parameters to add_referenced_var.
80         (referenced_var_p): New.  Is var in referenced_var hash table.
81         (referenced_var_insert): Assert var isn't already in hash table.
82         (add_referenced_var): Don't need walk_state parameter.  Add var if it
83         isn't already in the hash table.
84         (add_referenced_tmp_var): Remove.
85         (find_new_referenced_vars_1): Use add_referenced_var.
86         * tree-ssa-pre.c (create_expression_by_pieces, 
87         insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
88         Use add_referenced_var.
89         * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
90         * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
91         lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use 
92         add_referenced_var.
93         * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
94         vect_create_data_ref_ptr, vect_create_destination_var,
95         vect_init_vector, vect_build_loop_niters, 
96         vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
97         vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
98         Use add_referenced_var.
99         * tree-outof-ssa.c (create_temp): Use add_referenced_var.
100         * tree-flow.h (add_referenced_tmp_var): Remove prototype
101         (add_referenced_var): Add prototype.
102         * tree-ssa-structalias.c (get_constraint_for, 
103         intra_create_variable_infos): Use add_referenced_var.
104
105 2006-05-23  Alexandre Oliva  <aoliva@redhat.com>
106
107         * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
108         big-endian paradoxical subregs.
109         * var-tracking.c (struct micro_operation_def): Document that,
110         for modify micro operations, insn is the subsequent instruction.
111         (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
112         (var_reg_set, var_mem_set): ... new functions.
113         (add_stores): Record subsequent insn.
114         (compute_bb_dataflow): Use new functions for MO_USE.
115         (emit_notes_in_bb): Use new functions for MO_USE.  Emit use
116         notes after the insn, and modify notes before the insn known
117         to be the subsequent one.
118         (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
119
120 2006-05-23  Kazu Hirata  <kazu@codesourcery.com>
121
122         PR target/27696
123         * config/i386/i386.c (ix86_expand_builtin): Use
124         gen_sse3_monitor64 for TARGET_64BIT.
125
126 2006-05-22  Kenneth Zadeck <zadeck@naturalbridge.com>
127
128         PR rtl-optimization/26375
129         PR rtl-optimization/26855
130         * df-problems (df_ru_bb_local_compute_process_def): Removed update
131         to gen set.
132         (df_ru_bb_local_compute): Reversed statements and removed bogus
133         comment explaining why they should be in wrong order.
134         (df_ru_dump, df_rd_dump): Enhanced debug info.     
135         * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
136         debug info.       
137         * ddg.c (add_deps_for_def): Converted use of reaching defs to
138         reaching uses and fixed space problem.
139
140 2006-05-23  Jan Hubicka  <jh@suse.cz>
141
142         * cgraphunit.c (decide_is_function_needed): Also nested functions
143         and functions declared inline can be optimized out at -O0.
144
145 2006-05-22  Gerald Pfeifer  <gerald@pfeifer.com>
146
147         * doc/install.texi (Configuration): Remove reference to CrossGCC
148         FAQ which was hijacked.
149         (Building): Ditto.
150
151 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
152
153         PR target/27266
154         * config/i386/i386.c (ix86_expand_branch): Jump to simple if
155         ix86_compare_emitted is non-NULL.
156
157 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
158
159         PR c++/27451
160         * stmt.c (expand_asm_operands): Skip asm statement with erroneous
161         clobbers.
162
163 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
164
165         PR rtl-optimization/25514
166         * combine.c (replaced_rhs_insn): New variable.
167         (combine_instructions): Set replaced_rhs_insn when trying to replace
168         a SET_SRC with a REG_EQUAL note.
169         (distribute_notes): Use replaced_rhs_insn when determining the live
170         range of a REG_DEAD register.
171
172 2006-18-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
173             Anatoly Sokolov <aesok@post.ru>
174
175         * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
176         attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
177         attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, 
178         atmega164p, atmega324p, atmega644p, atmega644, atmega329, 
179         atmega3290, atmega649, atmega6490, atmega406, atmega640, 
180         atmega1280, atmega1281, at90can32, at90can64, at90usb646, 
181         at90usb647, at90usb1286 and at90usb1287 devices.  
182         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
183         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
184
185 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
186
187         * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
188
189 2006-05-22  Richard Guenther  <rguenther@suse.de>
190
191         Revert
192         2006-01-31  Richard Guenther  <rguenther@suse.de>
193         Paolo Bonzini  <bonzini@gnu.org>
194
195         * doc/install.texi (--disable-libgcc-math): Document.
196
197 2006-05-22  Richard Guenther  <rguenther@suse.de>
198
199         Revert
200         2006-01-31  Richard Guenther  <rguenther@suse.de>
201
202         * doc/invoke.texi (-msselibm): Document.
203         * target.h (expand_library_builtin): New target hook.
204         * builtins.c (expand_builtin): Use expand_library_builtin.
205         (default_expand_library_builtin): New function.
206         * gcc.c (LINK_GCC_MATH_SPEC): Define.
207         (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
208         (link_gcc_math_spec): Declare.
209         (static_specs): Add link_gcc_math_spec.
210         * expr.h (default_expand_library_builtin): Declare.
211         * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
212         (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
213         * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
214         * config/i386/i386.opt (msselibm): New target option.
215         * config/i386/i386.c (ix86_builtin_function_variants): New array.
216         (ix86_init_sse_abi_builtins): New function.
217         (ix86_expand_library_builtin): Likewise.
218         (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
219         (override_options): Handle error conditions wrt -msselibm.
220         (ix86_builtins): Add function codes for SSE2 ABI builtins.
221         (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
222         * doc/extend.texi (__builtin_sse2_*): Document new target specific
223         builtins.
224
225 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
226
227         PR c/27420
228         * c-common.c (self_promoting_args_p): Skip erroneous args.
229
230         PR c/26818
231         * c-decl.c (finish_struct): Skip erroneous fields.
232
233 2006-05-22  Nick Clifton  <nickc@redhat.com>
234
235         * config/cris/cris.opt (march): Remove VarExists attribute.
236         (max-stackframe=): Likewise.
237
238 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
239
240         * doc/rtl.texi: Fix a typo.
241         * see.c: Fix comment typos.
242
243         * tree-ssa-structalias.h (alias_info): Remove num_references.
244
245 2006-05-21  Mike Stump  <mrs@apple.com>
246
247         * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
248         (BAD2): Add.
249         (darwin_pragma_options): Use BAD instead.
250         (darwin_pragma_unused): Likewise.
251         (darwin_pragma_ms_struct): Likewise.
252
253 2006-05-21  David Edelsohn  <edelsohn@gnu.org>
254
255         * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
256
257 2006-05-21  Kazu Hirata  <kazu@codesourcery.com>
258
259         PR rtl-optimization/27671
260         * simplify-rtx.c (simplify_relational_operation_1): Fix
261         simplifications of (eq/ne (xor x y) y) and
262         (eq/ne (xor x y) x).
263
264         PR tree-optimization/26622.
265         * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
266         on arg1.
267
268 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
269
270         * tree-cfg.c: Prune whitespace.
271         (debug_tree_cfg): Point to correct header containing the
272         TDF_* defines.
273
274 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
275
276         PR middle-end/25776
277         * cgraphunit.c (verify_cgraph_node): Typo in error message.
278
279 2006-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
280
281         PR middle-end/25776
282         * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
283         or sorry count is non zero.
284
285 2006-05-20  Andreas Schwab  <schwab@suse.de>
286
287         * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
288
289 2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
290             Kenneth Zadeck <zadeck@naturalbridge.com>
291
292         PR rtl-optimization/26855
293
294         * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
295         multiword refs.
296         (df_scan_alloc): Added code to properly handle multiword hard
297         registers and add all_blocks parameter.
298         (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
299         code to properly handle multiword hard registers.
300         (df_rescan_blocks): Added code to remove deleted blocks from
301         bitmap.
302         (df_ref_create_structure, df_ref_record): Added code to properly
303         handle subregs.
304         (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
305         and set DF_REF_PARTIAL.
306         (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
307         (df_uses_record): Added DF_REF_PARTIAL for subreg. 
308         (df_scan_add_problem): Added flags parameter.
309         (df_ref_create_structure): Changed switching structure.
310         (df_bb_refs_record): Fixed case where duplicate artificial refs
311         were created.  Changed location of flags.
312         (df_record_entry_block_defs): Added code to make stack pointer
313         live in entry block.  Refined cases where frame pointer is needed.
314         Changed location of flags.
315         (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
316         (df_set_state): Removed function.
317         (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
318         df_insn_create_insn_record, df_insn_refs_delete, 
319         df_ref_create_structure): Formatting changes.  
320         * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
321         df_delete_basic_block): New function.
322         (df_init): Changed location of flags.
323         (df_add_problem): Added flags parameter and the way flags are
324         processed.
325         (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
326         debug_df_chain): Improved debugging output.
327         (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
328         (df_refs_chain_dump): Removed df parameter.
329         (df_iterative_dataflow): Added consistency check.
330         (df_prune_to_subcfg): Made public.
331         (df_analyze_problem): Added blocks_to_init parameter and made
332         public.
333         (df_ref_record, df_bb_refs_record, df_mark_reg, 
334          df_record_exit_block_uses): Whitespace changes.
335         (df_dump): Whitespace changes.
336         * df.h: Some reordering to remove forward references.
337         (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
338         DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
339         (df_ref_flags.DF_REF_CLOBBER): Deleted field.
340         (dataflow.flags): New field.
341         (df.flag): Deleted field.
342         (df_alloc_function): Added additional bitmap parameter.
343         (df_dependent_problem_function): New type.
344         (df_problem.changeable_flags): New field.
345         (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
346         DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
347         (df_mw_hardreg): New struct.
348         (DF_INSN_UID_MWS): New macro.
349         (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
350         parameter.
351         (df_add_problem, df_ru_add_problem, df_rd_add_problem,
352         df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
353         df_ri_add_problem, df_scan_add_problem): Added flags parameter.
354         (df_set_state): Removed function.
355         (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
356         * df-problems.c (df_chain_dump): Removed df parameter.
357         (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
358         df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
359         parameter.
360         (df_ru_alloc, df_rd_alloc): Now resets all blocks.
361         (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
362         df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
363         Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
364         DF_REF_MUST_CLOBBER cases.
365         (df_ru_bb_local_compute_process_def,
366         df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
367         df_lr_bb_local_compute, df_ur_bb_local_compute,
368         df_chain_create_bb): Made subreg aware.
369         (df_ru_bb_local_compute, df_rd_bb_local_compute,
370         df_lr_bb_local_compute, df_lr_bb_local_compute,
371         df_chain_create_bb): Cleanup to use proper macros.
372         (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
373         code to fixup bitvectors.
374         (df_ri_alloc): Cleared lifetime.
375         (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
376         df_create_unused_note): New function.
377         (df_ri_bb_compute, df_ri_compute): Added code to create/update
378         REG_DEAD and REG_UNUSED notes as well as register information.
379         (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
380         df_chains_dump): Fixed crash if problem was never run.
381         (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
382         df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
383         df_ri_add_problem): Processes flags in uniform manner.
384         (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
385         df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
386         df_rd_dump, df_urec_free_bb_info): Formatting changes.
387         (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
388         df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
389         df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
390         df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
391         df_ur_dump, df_urec_free_bb_info, df_urec_dump,
392         df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
393         * modulo-sched.c (sms_schedule): Added flag parameter to calls.
394         * see.c (see_initialize_data): Ditto.
395         * final.c (rest_of_clean_state) Added regstack_completed.
396         * rtl.h (regstack_completed): Ditto.
397         * reg-stack.c (regstack_completed): Ditto.
398
399 2006-05-19  Mike Stump  <mrs@apple.com>
400
401         * c-tree.h (default_conversion): Remove.
402         * c-common.h (default_conversion): Add.
403
404 2006-05-19  Zdenek Dvorak <dvorakz@suse.cz>
405
406         * tree-vrp.c (valid_value_p): New function.
407         (adjust_range_with_scev): Fail if the value of bound is not
408         simple.
409
410 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
411
412         * config/mips/linux-unwind.h: Include <asm/unistd.h>
413         (mips_fallback_frame_state): Use syscall numbers to determine
414         the appropriate li instruction for the current ABI.  Only use
415         __NR_sigreturn for o32.
416
417 2006-05-19  Nicolas Setton  <setton@adacore.com>
418
419         * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
420         * langhooks.c (lhd_dwarf_name): New function.
421         * langhooks-def.h (lhd_dwarf_name): Declare.
422         (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
423         * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
424         * ada/misc.c (gnat_dwarf_name): New function.
425         (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
426         
427 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
428
429         * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
430         libgcc2.h.
431         (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
432         MIN_UNITS_PER_WORD logic from libgcc2.h.  Do nothing if
433         LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
434         * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
435         Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
436         determine the size of Wtype, etc.
437         * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
438         (swfloatfuncs): New variable.
439         (dwfloatfuncs): Likewise.
440         (lib2funcs): Remove floating-point conversion functions from
441         initial assignment.  Use LIB2_SIDITI_CONV_FUNCS to determine
442         the set of conversion routines needed.  Allow entries to specify
443         an object name, filename and word size.  Update users accordingly.
444         * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
445         * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
446
447         Revert:
448
449         2006-02-08  Roger Sayle  <roger@eyesopen.com>
450
451         PR target/22209
452         * config/fixtfdi.c: New libgcc source file.
453         * config/fixunstfdi.c: New source file.
454         * config/floatditf.c: New source file.
455         * config/floatunditf.c: New souce file.
456         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
457         files above instead of config/mips/_tilib.c.
458         * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
459
460 2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
461
462         * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
463         * pa/pa-hpux11.h (LIB_SPEC): Update comment.
464
465 2006-05-18  Mike Stump  <mrs@apple.com>
466
467         Fix up vla, vm and [*] sematics.
468
469         PR c/18740
470         PR c/7948
471         PR c/25802
472         PR c/27673
473         * c-tree.h (struct c_arg_info): Add had_vla_unspec.
474         (c_vla_unspec_p): Add.
475         (c_vla_type_p): Add.
476         * c-decl.c (struct c_scope): Add had_vla_unspec.
477         (build_array_declarator): Add support for [*].
478         (grokdeclarator): Likewise.
479         (grokparms): Likewise.
480         (get_parm_info): Likewise.
481         * c-objc-common.c (c_vla_unspec_p): Likewise.
482         * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
483         * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
484         typeof when argument is a variably modified type not inside sizeof or alignof.
485         (c_parser_direct_declarator_inner): Propagate errors.
486         (c_parser_sizeof_expression): Add support for [*].
487         (c_parser_parms_declarator): Initialize had_vla_unspec.
488         (c_parser_parms_list_declarator): Likewise.
489         * c-typeck.c (c_vla_type_p): Add.
490         (composite_type): Add support for vla compositing.
491         (comptypes_internal): Add support for vla compatibility.
492         (c_expr_sizeof_expr): Evaluate vla arguments.
493         * tree.c (variably_modified_type_p): Update comment for [*].
494
495 2006-05-18  Michael Matz  <matz@suse.de>
496
497         PR target/27599
498         * config.host: Make assignments to host_xmake_file cumulative.
499         * config.host (*-darwin*): Test $host, not $target.
500
501 2006-05-12  Stuart Hastings  <stuart@apple.com>
502
503         * config/i386/i386.opt (-mstackrealign): New flag.
504         * config/i386/i386.c (force_align_arg_pointer): New attribute.
505         (ix86_handle_cconv_attribute): Emit error when
506         force_align_arg_pointer attribute collides with too many regparms.
507         (ix86_function_regparm): Limit regparms when used with
508         force_align_arg_pointer attribute.  (ix86_internal_arg_pointer):
509         Support stack-realigning prologue in non-main functions.  Emit
510         warning for nested functions under -mstackrealign, emit error for
511         nested functions with force_align_arg_pointer attribute.
512         * doc/extend.texi (force_align_arg_pointer): Document it.
513         * doc/invoke.texi (-mstackrealign): Document it.
514
515 2006-05-17  Kazu Hirata  <kazu@codesourcery.com>
516
517         PR rtl-optimization/27477
518         * combine.c (try_combine): Don't split a parallel consisting
519         of two sets into two individual sets if both sets reference
520         cc0.
521
522 2006-05-17  H.J. Lu  <hongjiu.lu@intel.com>
523
524         * config/arm/arm.opt (target_fpe_name): Remove VarExists.
525         * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
526
527         * doc/options.texi (VarExists): Updated.
528
529 2006-05-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
530
531         * unwind-dw2.c: Add declarations for uw_update_context and
532         uw_frame_state_for.
533         * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
534         detected, advance frame state and context once to skip over stub.
535
536 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
537
538         PR middle-end/20256
539         PR middle-end/26435
540         * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
541         Call rewrite_into_loop_closed_ssa only when something changed.
542         * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
543         * lambda-code.c (can_convert_to_perfect_nest): Declared.
544         (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
545         Test for perfect_nest_p here.  Fix formating.
546         (replace_uses_equiv_to_x_with_y): Fix formating.
547         (stmt_uses_op): Removed.
548         (can_convert_to_perfect_nest): Removed loopivs parameter.
549         Complete the test by checking the scalar dependences.
550         (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
551         Fix formating.
552
553 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
554
555         PR bootstrap/22541
556         From Dan Kegel <dank@kegel.com>:
557         * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
558
559 2006-05-17  Eric Botcazou  <ebotcazou@adacore.com>
560
561         * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
562         if the element type is variably modified without recursing.
563
564 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
565
566         PR middle-end/27332
567         * tree-loop-linear.c (try_interchange_loops): Test for
568         no data dependences.
569
570 2006-05-17  Zdenek Dvorak <dvorakz@suse.cz>
571
572         PR tree-optimization/27548
573         * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
574         range of ssa names that appear on abnormal edges.
575         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
576         * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
577
578 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
579
580         PR middle-end/27620
581         * expr.c (safe_from_p): Handle CONSTRUCTOR again.
582
583 2006-05-17  Jakub Jelinek  <jakub@redhat.com>
584
585         PR middle-end/27415
586         * tree.h (OMP_PARALLEL_COMBINED): Define.
587         * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
588         (new_omp_context): Add is_combined_parallel argument.
589         (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
590         new_omp_context caller.
591         (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
592         Adjust gimplify_scan_omp_clauses callers.
593         (omp_is_private): Issue errors if iteration variable is firstprivate
594         or reduction in the current context.
595         * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
596         on combined parallel workshare constructs.
597
598 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
599
600         * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
601         (gcc-options.o): New rule.
602
603         * optc-gen.awk: Protect variables for gcc-options.o with
604         #ifdef GCC_DRIVER/#endif.
605
606 2006-05-16  Daniel Berlin <dberlin@dberlin.org>
607
608         Fix PR tree-optimization/27373
609         * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
610          (forward_propagate_addr_expr): Update call.
611
612 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
613
614         * doc/options.texi: Move the Negative option.
615
616 2006-05-16  Richard Guenther  <rguenther@suse.de>
617
618         PR tree-optimization/22303
619         * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
620         from STRING_CSTs.
621         (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
622         ccp_fold did not simplify the statement.
623
624 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
625
626         PR driver/26885
627         * Makefile.in (GCC_OBJS): New.
628         (OBJS-common): Add opts-common.o.
629         (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
630         (cpp$(exeext)): Likewise.
631         (gcc.o): Also depend on opts.h.
632         (opts-common.o): New.
633
634         * common.opt (gcoff): Add Negative(gdwarf-2).
635         (gdwarf-2): Add Negative(gstabs).
636         (gstabs): Add Negative(gstabs+).
637         (gstabs+): Add Negative(gvms).
638         (gvms): Add Negative(gxcoff).
639         (gxcoff): Add Negative(gxcoff+).
640         (gxcoff+): Add Negative(gcoff).
641         * config/i386/i386.opt (m32): Add Negative(m64).
642         (m64): Add Negative(m32).
643
644         * doc/options.texi: Document the Negative option.
645
646         * gcc.c: Include "opts.h".
647         (main): Call prune_options after expandargv.
648
649         * optc-gen.awk: Generate common declarations for all flag
650         variables in options.c. Output the neg_index field.
651
652         * opts.c (find_opt): Moved to ...
653         * opts-common.c: Here. New file.
654
655         * opts.h (cl_option): Add a neg_index field.
656         (find_opt): New.
657         (prune_options): Likewise.
658
659 2006-05-16  Jakub Jelinek  <jakub@redhat.com>
660
661         PR middle-end/27573
662         * omp-low.c (expand_omp_parallel): Don't assert
663         .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
664         instead search for it.
665
666         PR c/27499
667         * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
668         is signed.
669
670 2006-05-16  Andreas Schwab  <schwab@suse.de>
671
672         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
673         defmac.
674
675 2006-05-15  Roger Sayle  <roger@eyesopen.com>
676
677         PR target/26600
678         * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
679         integer constants other than zero are only legitimate on TARGET_64BIT.
680         <CONST_VECTOR> Only zero vectors are legitimate.
681         (ix86_cannot_force_const_mem): Integral and vector constants can
682         always be put in the constant pool.
683
684 2006-05-16  DJ Delorie  <dj@redhat.com>
685
686         * crtstuff.c (__dso_handle): Set section from
687         TARGET_LBIGCC_SDATA_SECTION if defined.
688         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
689         * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
690
691 2006-05-16  Danny Smith  <dannysmith@users.sourceforge.net>
692
693         PR target/27599
694         * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
695         host_xmake_file.
696
697 2006-05-16  Ben Elliston  <bje@au.ibm.com>
698
699         * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
700
701 2006-05-15  Per Bothner  <per@bothner.com>
702
703         * tree.c: (last_annotated_node): Use sources_locus typedef.
704         This permits bootstrapping with --enable-mapped-location.
705
706 2006-05-15  Zdenek Dvorak <dvorakz@suse.cz>
707
708         PR tree-optimization/26830
709         * tree-into-ssa.c (struct ssa_name_info): Add age field.
710         (info_for_ssa_name, current_info_for_ssa_name_age,
711         blocks_to_update): New variables.
712         (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
713         (clear_ssa_name_info, initialize_flags_in_bb,
714         mark_block_for_update): New functions.
715         (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
716         (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
717         prepare_def_site_for): Use mark_block_for_update.
718         (mark_def_interesting): Assert that the processed block is marked in
719         blocks_to_update.  Do not take blocks argument.
720         (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
721         argument.
722         (rewrite_update_init_block, rewrite_update_stmt): Only process
723         blocks with statements to rewrite.
724         (delete_update_ssa): Do not clear SSA_NAME_AUX.
725         (update_ssa): Initialize and free blocks_to_update.  Do not
726         clear flags on statements.  Do not use blocks bitmap.
727         * tree.h (SSA_NAME_AUX): Removed.
728         (struct tree_ssa_name): Removed aux field.
729         * print-tree.c (print_node): Do not print SSA_NAME_AUX.
730
731 2006-05-15  Richard Guenther  <rguenther@suse.de>
732
733         PR tree-optimization/27603
734         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
735         Do computations in original type.
736
737 2006-05-15  Mircea Namolaru  <namolaru@il.ibm.com>
738
739         * see.c: Code style changes such as redundant paranthesis,
740         redundant intialization of local variables etc.
741         (see_main): Declared now as static.
742         * doc/invoke.texi: Update that -fsee is not enabled by
743         default at -O3.
744
745 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
746
747         * omp-low.c (check_omp_nesting_restrictions): New function.
748         (scan_omp_1): Call it.
749
750         PR middle-end/27416
751         * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
752         construct, return *VAR.
753
754 2006-05-14  Kaz Kojima  <kkojima@gcc.gnu.org>
755
756         PR rtl-optimization/27406
757         * bt-load.c (migrate_btr_def): Skip the block having abnormal
758         edges.
759
760 2006-05-14  Roger Sayle  <roger@eyesopen.com>
761
762         PR rtl-optimization/27538
763         * combine.c (expand_compound_operation): Call gen_lowpart
764         before calling simplify_shift_const.
765
766 2006-05-14  Roger Sayle  <roger@eyesopen.com>
767
768         PR rtl-optimization/22563
769         * expmed.c (store_fixed_bit_field): When using AND and IOR to store
770         a fixed width bitfield, always force the intermediates into psuedos.
771
772 2006-05-14  Bernhard Fischer  <aldot@gcc.gnu.org>
773
774         PR 27501
775         * mkconfig.sh: Use operator = instead of == for test.
776
777 2006-05-13  Nick Clifton  <nickc@redhat.com>
778
779         * dwarf2out.c (dbx_reg_number): Check return value from
780         LEAF_REG_REMAP and only use it if it is valid.
781         (multiple_reg_loc_descriptor): Likewise.
782
783 2006-05-13  Richard Guenther  <rguenther@suse.de>
784
785         * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
786         host_xmake_file.
787
788 2006-05-13  Steven Bosscher  <stevenb.gcc@gmail.com>
789
790         * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
791         information attached to non-INSNs such as NOTEs.
792         (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
793
794 2006-05-12  Andreas Krebbel  <krebbel1@de.ibm.com>
795
796         * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
797         On contraint.
798         * config/s390/s390.md: Adjust comment describing On constraint.
799
800 2006-05-11  Jan Hubicka  <jh@suse.cz>
801
802         * cgraphunit.c (decide_is_function_needed): Don't force always_inline
803         to be output at -O0.
804
805 2006-05-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
806
807         PR middle-end/27384
808         * fold-const.c (size_binop): Move sanity check for arguments to
809         the beginning of the function.
810
811         PR middle-end/27488
812         * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
813         expression.
814
815 2006-05-11  Richard Guenther  <rguenther@suse.de>
816
817         PR middle-end/27529
818         * fold-const.c (fold_unary): Handle intermediate conversion
819         to a pointer type like intermediate conversion to an integer
820         type in folding of (T1)(T2)var to var.
821         Match the code to the comment in the final conversion for
822         (T1)(T2)var to (T1)var regarding to type precision.  Rather
823         than disallow T1 being of pointer type, assert that both T1
824         and var are of pointer type or not.  Make sure not to fall
825         over the frontends lazyness wrt array to pointer decay though.
826
827 2006-05-10  Richard Earnshaw  <rearnsha@arm.com>
828
829         * arm.c (arm_struct_value_rtx): Delete.
830         (TARGET_STRUCT_VALUE_RTX): Use the default definition.
831         (arm_init_cumulative_args): Always initialize nregs to zero.
832
833 2006-05-10  Richard Guenther  <rguenther@suse.de>
834
835         PR tree-optimization/27532
836         * tree-object-size.c (plus_expr_object_size): Fix typo.
837
838 2006-05-10  Kazu Hirata  <kazu@codesourcery.com>
839
840         PR target/24949
841         * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
842         ashrdi_const, ashrdi3): Use a scratch register.
843
844 2006-05-10  Richard Guenther  <rguenther@suse.de>
845
846         PR tree-optimization/27302
847         * fold-const.c (operand_equal_p): For two comparisons,
848         try comparison of one comparison code swapped if that yields
849         the same code.
850
851 2006-05-10  Ben Elliston  <bje@au.ibm.com>
852
853         * tree-pretty-print.c (pretty_print_string): No need to handle
854         '\0' as a special character.
855
856         * tree.h: Include "hashtab.h".
857         (iterative_hash_expr): Use hashval_t in its prototype.
858         * Makefile.in (TREE_H): Add $(HASHTAB_H).
859
860 2006-05-09  Steve Ellcey  <sje@cup.hp.com>
861
862         PR bootstrap/26872
863         * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
864         (hppa*64*-*-hpux11*): Ditto.
865         (hppa[12]*-*-hpux11*): Ditto.
866
867 2006-05-09  David Edelsohn  <edelsohn@gnu.org>
868
869         PR target/26545
870         * config/rs6000/aix41.h (TARGET_64BIT): Define.
871
872 2006-05-09  Michael Matz  <matz@suse.de>
873
874         * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
875         host_extra_gcc_objs and host_xmake_file.
876         (<*-*-linux*>): Don't overwrite host_xmake_file.
877         * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
878         * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
879         (host_detect_local_cpu): Declare.
880         (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
881         * config/i386/i386.c (override_options): Handle -mtune=native
882         as -mtune=generic.
883         * config/i386/x-i386: New file.
884         * config/i386/driver-i386.c: New file.
885         * doc/invoke.texi (<i386 and x86-64 Options>): Describe
886         cpu-type "native".
887
888 2006-05-09  Dirk Mueller  <dmueller@suse.de>
889         Richard Guenther  <rguenther@suse.de>
890
891         PR middle-end/27498
892         * fold-const.c (fold_read_from_constant_string): Relax check
893         for matching types to matching modes.
894
895 2006-05-09  Zdenek Dvorak <dvorakz@suse.cz>
896
897         PR rtl-optimization/27335
898         * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
899         loops.
900
901 2006-05-08  Chao-ying Fu  <fu@mips.com>
902             Richard Sandiford  <richard@codesourcery.com>
903
904         * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
905         (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
906         * config/mips/mips.md (UNSPEC_SCC): New constant.
907         * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
908         * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
909         (mips_emit_compare): Use it.
910         (mips_expand_vcondv2sf): New function.
911
912 2006-05-08  Daniel Berlin  <dberlin@dberlin.org>
913
914         Fix PR tree-optimization/27093
915         * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
916         renaming when they become not-used_alone.
917
918 2006-05-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
919
920         * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
921         relocation and relocation stubs.
922
923 2006-05-08  Eric Christopher  <echristo@apple.com>
924
925         * unwind-dw2-fde-darwin.c (examine_objects): Only check data
926         section for ppc.
927
928 2006-05-08  Jan Hubicka  <jh@suse.cz>
929
930         PR middle-end/25962
931         * cgraphunit.c (decide_is_function_needed): When not optimizing even
932         unused static functions are needed.
933
934 2006-05-08  Roger Sayle  <roger@eyesopen.com>
935
936         PR target/27158
937         * reload.c (find_reloads_toplev): Only return the simplified SUBREG
938         of a reg_equiv_constant if the result is a legitimate constant.
939
940 2006-05-08  Uros Bizjak  <uros@kss-loka.si>
941
942         PR target/27277
943         * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
944         standard 80387 constants, raise the cost to prevent
945         compress_float_constant() to generate load from memory.
946
947 2006-05-08  Kazu Hirata  <kazu@codesourcery.com>
948
949         * config/arm/constraints.md (c): Fix a typo.
950
951         * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
952         typos.
953
954 2006-05-07  H.J. Lu  <hongjiu.lu@intel.com>
955
956         PR target/24879
957         * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
958         inline function.
959         (_mm_mwait): Likewise.
960
961         * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
962         "mwait".
963         (sse3_monitor): Make it 32bit only.
964         (sse3_monitor64): New. 64bit monitor.
965
966 2006-05-07  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
967
968         PR target/27421
969         * config/i386/i386.c (classify_argument): Skip fields with invalid
970         types.
971
972 2006-05-07  Richard Guenther  <rguenther@suse.de>
973
974         PR tree-optimization/27409
975         * tree-ssa-structalias.c (get_constraint_for_component_ref):
976         Do not try to find zero-sized subvars.
977
978 2006-05-07  Richard Guenther  <rguenther@suse.de>
979
980         PR tree-optimization/27136
981         * tree-ssa-loop-niter.c (get_val_for): Correct function
982         comment, assert requirements.
983         (loop_niter_by_eval): Stop processing if the iterated
984         value did not simplify.
985
986 2006-05-07  Mircea Namolaru  <namolaru@il.ibm.com>
987
988         * opts.c (flag_see): remove its setting at -O3.
989
990 2006-05-07  Richard Earnshaw  <rearnsha@arm.com>
991
992         * genpeep.c (main): Make insn-peep.c depend on flags.h.
993         * arm/constraints.md: New file.
994         * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
995         (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
996         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
997         (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
998         (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
999         (EXTRA_MEMORY_CONSTRAINT): Likewise.
1000         * arm.md: Include constraints.md.
1001         (thumb_movsi_insn): Use satisfies_constraint_J.
1002         (movhi, movqi): Use satisfies_constraint_I.
1003
1004 2006-04-29 Anatoly Sokolov <aesok@post.ru>
1005
1006         * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
1007         for atmeg a645 device.
1008
1009 2006-05-06   Richard Guenther  <rguenther@suse.de>
1010
1011         PR tree-optimization/27151
1012         * tree-vect-transform.c (vectorizable_condition): Punt on
1013         values that have a different type than the condition.
1014
1015 2006-05-03  Aldy Hernandez  <aldyh@redhat.com>
1016
1017         PR/21391
1018         * c-parser.c (c_parser_cast_expression): Only insert casts into
1019         hash table if pointer.
1020         * function.c (used_types_insert_helper): Rename from
1021         used_types_insert.
1022         (used_types_insert): Call used_types_insert_helper.
1023         * function.h (used_types_insert): Accept only one argument.
1024
1025 2006-05-05  David Edelsohn  <edesohn@gnu.org>
1026
1027         * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
1028         scratch with output modifier.
1029
1030 2006-05-04  David Edelsohn  <edelsohn@gnu.org>
1031
1032         PR target/26481
1033         * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
1034         with output modifier.
1035
1036 2006-05-04  Richard Sandiford  <richard@codesourcery.com>
1037
1038         PR target/26765
1039         * config/mips/mips.c (mips_symbolic_address_p): Return true
1040         for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
1041         SYMBOL_GOTTPREL, and SYMBOL_TLS.
1042
1043 2006-05-04  Richard Guenther  <rguenther@suse.de>
1044
1045         PR tree-optimization/14287
1046         PR tree-optimization/14844
1047         PR tree-optimization/19792
1048         PR tree-optimization/21608
1049         PR tree-optimization/27090
1050         * tree-ssa-pre.c (try_combine_conversion): New function.
1051         (compute_avail): After constructing the value-handle
1052         expression, use try_combine_conversion to combine NOP_EXPRs
1053         with previous value-handle expressions and use the result if it
1054         is available.
1055
1056 2006-05-04  Joseph S. Myers  <joseph@codesourcery.com>
1057
1058         * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
1059
1060 2006-05-04  Jan Hubicka  <jh@suse.cz>
1061
1062         PR middle-end/25962
1063         * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
1064
1065 2006-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
1066
1067         * config/bfin/predicates.md (const01_rtx): Tell generator programs
1068         that this only matches CONST_INTs.  All users changed to VOIDmode
1069         operands.
1070
1071         * config/bfin/bfin.c: Include "optabs.h".
1072         (bfin_rtx_costs): Some costs for vector operations, to allow combine
1073         to do more work.
1074         (enum bfin_builtins): Add a number of fractional and vector builtins.
1075         (bfin_init_builtins): Likewise.
1076         (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
1077         (safe_vector_operand, bfin_expand_binop_builtin,
1078         bfin_expand_unop_builtin): New functions.
1079         (bfin_expand_builtin): Handle the new builtins.
1080         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
1081         __ADSPBLACKFIN__.
1082
1083 2006-05-04  Leehod Baruch  <leehod@il.ibm.com>
1084
1085         * see.c: New file.
1086         * Makefile.in (OBJS-common): Add see.o.
1087         (see.o): Add dependencies.
1088         * common.opt (fsee): New flag for the see optimization was added.
1089         * opts.c (flag_see): Initialized.
1090         * passes.c (init_optimization_passes, pass_see): New pass.
1091         * rtl.h (see_main): Declaration as extern.
1092         * timevar.def (TV_SEE): New.
1093         * tree-pass.h (pass_see): Declaration as extern.
1094         * invoke.texi (-fsee): Document.
1095         * recog.c (validate_simplify_insn): New function.
1096         * recog.h (validate_simplify_insn): Declaration as extern.
1097         * df-problems.c (df_chain_dump): Check for NULL.
1098
1099 2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
1100             Daniel Berlin  <dberlin@dberlin.org>
1101
1102         * cfgrtl.c (insert_insn_bb_end_new): New function.
1103         * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
1104
1105 2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>
1106
1107         * df.h (struct web_entry): Moved from web.c.
1108         (union_defs): Declaration as extern.
1109         (unionfind_root): Likewise.
1110         (unionfind_union): Likewise.
1111         * web.c (struct web_entry): Moved to df.h.
1112         (unionfind_root): Remove static declaration.
1113         (unionfind_union): Likewise.
1114         (union_defs): Likewise and generalize to use callback function.
1115         (web_main): Update arguments for union_defs function call.
1116
1117 2006-05-04  Richard Guenther  <rguenther@suse.de>
1118
1119         PR tree-optimization/26447
1120         * tree-ssa-pre.c (realify_fake_stores): For necessary loads
1121         produce SSA_NAME copies before the store stmt to avoid
1122         breaking exception handling.
1123
1124 2006-05-04  Jakub Jelinek  <jakub@redhat.com>
1125
1126         PR middle-end/27388
1127         * gimplify.c (omp_is_private): If var is shared in some outer context,
1128         return false instead of true.  Stop searching on parallel context
1129         boundary.
1130
1131 2006-05-03  Alexandre Oliva  <aoliva@redhat.com>
1132
1133         PR java/8260
1134         * coverage.c: Use get_gcov_unsigned_t() instead of
1135         unsigned_type_node all over.
1136
1137 2006-05-02  Andrew MacLeod  <amacleod@redhat.com>
1138
1139         PR tree-optimization/27381
1140         * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
1141         maintain the same immediate_use links.
1142         * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
1143         node rather than segfaulting.
1144
1145 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
1146
1147         PR fortran/27395
1148         * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
1149         rather than TREE_CODE to OMP_CLAUSE_REDUCTION.  Set also GOVD_SEEN
1150         bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
1151
1152 2006-05-02  Daniel Berlin  <dberlin@dberlin.org>
1153
1154         Fix PR tree-optimization/26626
1155         * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
1156         always.
1157         * tree-ssa-operands.c (access_can_touch_variable): Allow
1158         typecasting through union pointers.
1159
1160 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
1161
1162         PR c++/26943
1163         * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
1164         (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
1165         to find if var will be a global variable even in the nested context.
1166         (omp_copy_decl): Only check for global variable at the end, it might
1167         be overridden in outer contexts.
1168         (scan_sharing_clauses): For global variables don't create a field.
1169         (lower_rec_input_clauses): Do nothing for global shared variables.
1170         Emit a barrier at the end of ILIST if there were any decls in both
1171         firstprivate and lastprivate clauses.
1172         (lower_send_clauses): Do nothing for global variables except for
1173         COPYIN.
1174
1175 2006-05-02  Zdenek Dvorak <dvorakz@suse.cz>
1176
1177         * tree.c (unsigned_type_for, signed_type_for): Make sure a type
1178         of the correct signedness is returned.
1179
1180 2006-05-02  Jeff Law  <law@redhat.com>
1181
1182         PR tree-optimization/27364
1183         * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
1184         multiply expressions.
1185
1186 2006-05-02  Tom Tromey  <tromey@redhat.com>
1187
1188         * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
1189
1190 2006-05-02  Kazu Hirata  <kazu@codesourcery.com>
1191
1192         PR target/27387
1193         * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
1194         -mthumb -fPIC are used.
1195
1196 2006-05-02  Stanislaw Skowronek  <skylark@linux-mips.org>
1197             Joshua Kinard  <kumba@gentoo.org>
1198
1199         PR target/25871
1200         * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
1201         with 64-bit pointers.
1202
1203 2006-05-02  Paul Brook  <paul@codesourcery.com>
1204
1205         * config/arm/arm.c (add_minipool_forward_ref): Check if insn
1206         and pool overlap.
1207         (create_fix_barrier): Check that a suitable barrier location is
1208         found.
1209         (arm_reorg): Include ftmp->address in allowable range of addresses.
1210
1211 2006-05-02  David Billinghurst <David.Billinghurst@riotinto.com>
1212
1213         PR ada/27366
1214         * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
1215         on Cygwin.
1216
1217 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
1218
1219         PR middle-end/27337
1220         * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
1221         around RESULT_DECL for result passed by reference.
1222         (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
1223         * omp-low.c (use_pointer_for_field): Don't look at
1224         DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
1225         (scan_omp_1): Call remap_decl on RESULT_DECLs.
1226         (lower_rec_input_clauses): Don't allocate VLA memory for the second
1227         time or var for passing by reference for
1228         OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses.  Allow creation of
1229         TREE_ADDRESSABLE variables when passing by reference.
1230
1231         * omp-low.c (dump_omp_region): Fix output formatting.
1232
1233         PR middle-end/27328
1234         * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
1235         (expand_omp_parallel): Likewise.
1236         * tree-cfg.c (move_sese_region_to_fn): Likewise.
1237
1238         PR middle-end/27325
1239         * omp-low.c (lower_omp_sections): Call maybe_catch_exception
1240         on statement list containing also constructors and destructors.
1241         (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
1242
1243         PR middle-end/27310
1244         * except.c (duplicate_eh_regions): Fix clearing of
1245         cfun->eh->region_array entries.
1246
1247 2006-05-01  DJ Delorie  <dj@redhat.com>
1248
1249         * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
1250         build!=host.
1251         (gcc_cv_objdump): Likewise.
1252         * configure: Regenerated.
1253
1254 2006-05-01  Kazu Hirata  <kazu@codesourcery.com>
1255
1256         PR target/27374
1257         * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
1258         templates for case 3 and 4.
1259
1260 2006-05-01  DJ Delorie  <dj@redhat.com>
1261
1262         * vec.c: Include bconfig.h when appropriate.
1263         * Makefile.in (build/vec.o): Adjust dependencies.
1264         * mkconfig.sh: Make sure config.h isn't used for build machine
1265         compiles.
1266
1267 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1268
1269         * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
1270         variables.
1271         (mark_phi_for_rewrite): New function.
1272         (insert_phi_nodes_for, mark_use_interesting): Call
1273         mark_phi_for_rewrite.
1274         (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
1275         (update_ssa): Initialize and free phis_to_rewrite.
1276
1277 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1278
1279         PR rtl-optimization/27291
1280         * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
1281         folded to a constant.
1282
1283 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1284
1285         PR tree-optimization/27283
1286         * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
1287         not whole # of iteration descriptions.
1288         (niter_for_exit): Return just # of iterations.  Fail if # of iterations
1289         uses abnormal ssa name.
1290         (niter_for_single_dom_exit): Ditto.
1291         (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
1292         return just the number of iterations.
1293
1294 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1295
1296         PR tree-optimization/27144
1297         * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
1298         (record_estimate): Only record constant upper bound.
1299         (infer_loop_bounds_from_undefined): Call
1300         compute_estimated_nb_iterations just once.
1301         (proved_non_wrapping_p): Renamed to ...
1302         (n_of_executions_at_most): ... this.  Expect bound to be a constant.
1303         (convert_step_widening, scev_probably_wraps_p): Call
1304         n_of_executions_at_most instead of proved_non_wrapping_p.
1305         (substitute_in_loop_info): Do not replace values in bounds.
1306         * cfgloop.h (struct nb_iter_bound): Remove "additional" field.  Update
1307         comments.
1308
1309 2006-05-01  Richard Henderson  <rth@redhat.com>
1310
1311         PR c/27358
1312         * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
1313         c_parser_skip_to_pragma_eol.  Convert to switch statement.  Handle
1314         CPP_PRAGMA.
1315
1316 2006-05-01  Roger Sayle  <roger@eyesopen.com>
1317
1318         * c-typeck.c (parser_build_binary_op): Don't call the function
1319         unsigned_conversion_warning to spot operand/result type overflow.
1320         (build_binary_op): Instead, call convert_and_check instead of
1321         convert to report the problem when the operands are promoted.
1322         * c-common.c (unsigned_conversion_warning): Make static.
1323         * c-common.h (unsigned_conversion_warning): Delete prototype.
1324
1325 2006-05-01  Richard Guenther  <rguenther@suse.de>
1326
1327         PR tree-optimization/26726
1328         * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
1329         problem ...
1330         (find_interesting_uses_address): ... we work around here
1331         by folding INDIRECT_REFs in the substituted base.
1332
1333 2006-05-01  Diego Novillo  <dnovillo@redhat.com>
1334
1335         * omp-low.c (dump_omp_region): Add newlines.
1336
1337 2006-04-30  Roger Sayle  <roger@eyesopen.com>
1338
1339         * common.opt (Woverflow): New command line option.
1340         * c-common.c (constant_expression_warning): Check warn_overflow.
1341         (overflow_waring): Pass OPT_Woverflow to warning.
1342         (unsigned_conversion_warning): Likewise.
1343         (convert_and_check): Likewise.
1344         * doc/invoke.texi: Document new command line option.
1345
1346 2006-04-30  David Edelsohn  <edelsohn@gnu.org>
1347
1348         * config/rs6000/rs6000.c (rs6000_override_options): Enable
1349         TARGET_NO_FP_IN_TOC for section anchors.
1350         (optimization_options): Enable section anchors for all
1351         non-"Objective" languages.
1352
1353 2006-04-28  Eric Christopher  <echristo@apple.com>
1354
1355         * config/darwin-c.c (darwin_ms_struct): Move this
1356         (darwin_set_default_type_attributes): and this...
1357         * config/darwin.c: ... here.
1358         * config/darwin.h (darwin_ms_struct): Declare.
1359
1360 2006-04-28  Andrew MacLeod  <amacleod@redhat.com>
1361
1362         * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
1363
1364 2006-04-28  Roger Sayle  <roger@eyesopen.com>
1365
1366         PR c/25309
1367         * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
1368         (push_array_bounds): Delete prototype.  Change BOUNDS argument to
1369         an unsigned HOST_WIDE_INT.
1370         (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
1371         array index.
1372         (really_start_incremental_init): No need to call convert because
1373         bitsize_zero_node is already of type bitsizetype.
1374         (push_init_level): Extract the value of constructor_index as an
1375         unsigned HOST_WIDE_INT quantity, using tree_low_cst.
1376         (process_init_element): Likewise.
1377
1378 2006-04-28  Joseph S. Myers  <joseph@codesourcery.com>
1379
1380         * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
1381         value before passing to make_relative_prefix.
1382
1383 2006-04-28  Alan Modra  <amodra@bigpond.net.au>
1384
1385         PR middle-end/27260
1386         * builtins.c (expand_builtin_memset): Expand val in original mode.
1387
1388 2006-04-27  Eric Christopher  <echristo@apple.com>
1389
1390         * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
1391         with #ifndef/#endif.
1392         * config/darwin-c.c (darwin_ms_struct): New.
1393         (darwin_pragma_ms_struct): Ditto.
1394         (darwin_set_default_type_attributes): Ditto.
1395         * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
1396         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
1397         Register ms_struct pragma.
1398         * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
1399         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
1400         * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
1401         darwin_set_default_type_attributes if TARGET_MACHO.
1402
1403 2006-04-27  Andrew MacLeod  <amacleod@redhat.com>
1404
1405         PR tree-optimization/26854
1406         * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
1407         * doc/tree-ssa.texi: Update immuse iterator documentation.
1408         * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
1409         * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
1410         * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
1411         first_safe_imm_use, next_safe_imm_use): Remove.
1412         (end_imm_use_stmt_p): New.  Check for end of immuse stmt traversal.
1413         (end_imm_use_stmt_traverse): New.  Terminate immuse stmt traversal.
1414         (move_use_after_head): New.  Helper function to sort immuses in a stmt.
1415         (link_use_stmts_after): New.  Link all immuses in a stmt consescutively.
1416         (first_imm_use_stmt): New.  Get first stmt in an immuse list.
1417         (next_imm_use_stmt): New.  Get next stmt in an immuse list.
1418         (first_imm_use_on_stmt): New.  Get first immuse on a stmt.
1419         (end_imm_use_on_stmt_p): New.  Check for end of immuses on a stmt.
1420         (next_imm_use_on_stmt): New.  Move to next immuse on a stmt.
1421         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
1422         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
1423         (perfect_nestify): Use new iterator.
1424         * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
1425         iterator.
1426         * tree-flow.h (struct immediate_use_iterator_d): Add comments.
1427         (next_imm_name): New field in struct immediate_use_iterator_d.
1428         (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
1429         (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
1430         FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
1431         * tree-cfg.c (replace_uses_by): Use new iterator.
1432         * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
1433         * tree-ssa-operands.c (correct_use_link): Remove.
1434         (finalize_ssa_use_ops): No longer call correct_use_link.
1435
1436 2006-04-27  Stuart Hastings  <stuart@apple.com>
1437
1438         * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
1439         * config/t-darwin (crt3.o): Use it.
1440         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
1441         'pmode', use Pmode instead of SImode for SYMBOL_REF.
1442         * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
1443         call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
1444         call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
1445         support.
1446
1447 2006-04-27  Roger Sayle  <roger@eyesopen.com>
1448
1449         * expmed.c (store_fixed_bit_field): If we're not optimizing for
1450         size, force the intermediate into a new pseudo rather instead of
1451         performing both a bitwise AND and a bitwise IOR in memory.
1452
1453 2006-04-27  Richard Guenther  <rguenther@suse.de>
1454
1455         PR rtl-optimization/26685
1456         * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
1457         this one "max-flow-memory-locations".
1458
1459 2006-04-27  Richard Guenther  <rguenther@suse.de>
1460
1461         PR tree-optimization/25148
1462         * tree-vrp.c (compare_values): Remove code dealing with
1463         comparisons against type min/max value.  Honour overflow
1464         and negative constants in code dealing with comparisons
1465         of plus and minus expressions.
1466         (value_inside_range): Use fold_binary with LE_EXPR and
1467         GE_EXPR rather than compare_values.
1468
1469 2006-04-27  Dirk Mueller  <dmueller@suse.de>
1470
1471         * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
1472         prototype for SSE.
1473
1474 2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>
1475
1476         * basic-block.h (safe_insert_insn_on_edge): Removed.
1477         * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
1478
1479 2006-04-26  David Edelsohn  <edelsohn@gnu.org>
1480             Paolo Bonzini  <bonzini@gnu.org>
1481
1482         PR middle-end/27282
1483         * combine.c (simplify_and_const_int_1): Use gen_int_mode.
1484         (simplify_and_const_int): Same.
1485
1486 2006-04-26  Aldy Hernandez  <aldyh@redhat.com>
1487
1488         * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
1489
1490 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
1491
1492         PR c/26171
1493         * cgraph.c (cgraph_varpool_finalize_decl): Don't call
1494         cgraph_varpool_assemble_pending_decls if -fopenmp, unless
1495         cgraph_global_info_ready.
1496
1497         PR middle-end/26913
1498         * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
1499
1500         PR c/25996
1501         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
1502         either decl or init is error_mark_node.
1503
1504         PR middle-end/25989
1505         * tree-flow.h (struct omp_region): Add sched_kind.
1506         * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
1507         instead of extracting omp for data.
1508         (expand_omp_for): Save extracted sched_kind.
1509
1510 2006-04-25  Roger Sayle  <roger@eyesopen.com>
1511
1512         * expmed.c (store_bit_field): Also check whether the bitsize is
1513         valid for the machine's "insv" instruction before moving the
1514         target into a pseudo for use with the insv.
1515         * config/i386/predicates.md (const8_operand): New predicate.
1516         * config/i386/i386.md (extv, extzv, insv): Use the new
1517         const8_operand predicate where appropriate.
1518
1519 2006-04-25  DJ Delorie  <dj@redhat.com>
1520
1521         * doc/install.texi (Specific): Clarify that this is not a list of
1522         supported hosts or targets.
1523
1524 2006-04-25  Richard Sandiford  <richard@codesourcery.com>
1525
1526         PR rtl-optimization/26725
1527         * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
1528         block's BB_DIRTY flag.
1529
1530 2006-04-25  Geoffrey Keating  <geoffk@apple.com>
1531
1532         * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
1533         are no branches.
1534
1535         * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
1536         to print an integer.
1537
1538 2006-04-25  David Edelsohn  <edelsohn@gnu.org>
1539
1540         * varasm.c (align_variable): New function.
1541         (get_block_for_decl): Apply align_variable to DECL before
1542         calculating section information.
1543         (assemble_variable): Split out alignment computation.
1544
1545 2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>
1546
1547         * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
1548         machines.
1549
1550 2006-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
1551
1552         * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
1553         MODE_PARTIAL_INT mode.
1554         * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
1555         * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
1556         for CONST_INTs.
1557         (hard_regno_mode_ok): V2PDImode is ok for accumulators.
1558         * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
1559         V2PDImode.
1560         * config/bfin/predicates.md (const01_operand, vec_shift_operand):
1561         New predicates.
1562         * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
1563         New constants.
1564         (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
1565         MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
1566         MACFLAG_IH): Likewise.
1567         (movstricthi_1): Renamed from "*movstricthi".
1568         (load_accumulator, load_accumulator_pair, movsi_insv, insv,
1569         ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
1570         abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
1571         movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
1572         movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
1573         movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
1574         addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
1575         sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
1576         addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
1577         mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
1578         ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
1579         flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
1580         flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
1581         flag_macv2hi_parts, flag_macv2hi_parts_acconly,
1582         flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
1583
1584         * doc/rtl.texi (ss_ashift): Improve wording.
1585
1586 2006-04-24  Geoffrey Keating  <geoffk@apple.com>
1587
1588         * dwarf2out.c (verify_marks_clear): New.
1589         (prune_unused_types): Call verify_marks_clear initially, not
1590         prune_unmark_dies.
1591
1592 2006-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
1593
1594         * rtl.def (SS_ASHIFT, SS_NEG): New codes.
1595         * doc/rtl.texi: Document them.
1596         * simplify-rtx.c (simplify_unary_operation,
1597         simplify_binary_operation_1): Don't abort when we see them.
1598
1599 2006-04-24  Mark Mitchell  <mark@codesourcery.com>
1600
1601         Revert:
1602         2006-04-23  Mark Mitchell  <mark@codesourcery.com>
1603         * configure.ac: Completely disregard languages that are not
1604         enabled.
1605         * configure: Regenerated.
1606
1607 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
1608         Richard Guenther  <rguenther@suse.de>
1609
1610         PR tree-optimization/27236
1611         * tree-inline.c (copy_body_r): Make sure to copy
1612         TREE_THIS_VOLATILE flag.
1613
1614 2006-04-24  Richard Guenther  <rguenther@suse.de>
1615
1616         PR middle-end/26869
1617         * tree-complex.c (update_parameter_components): Don't handle
1618         unused parameters which have no default def.
1619
1620 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
1621         Richard Guenther  <rguenther@suse.de>
1622
1623         PR tree-optimization/27218
1624         * tree-inline.c (expand_call_inline): Strip useless type
1625         conversions for the return slot address.
1626
1627 2006-04-24  Richard Guenther  <rguenther@suse.de>
1628
1629         * cfgloop.h (struct loops): Remove unused field array.  Reorder
1630         state after num.
1631         (LOOP_PREFETCH): Remove.
1632
1633 2006-04-24  Richard Guenther  <rguenther@suse.de>
1634
1635         PR tree-optimization/22525
1636         * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
1637         variable, adjust types of generated expressions.
1638
1639 2006-04-23  H.J. Lu  <hongjiu.lu@intel.com>
1640
1641         * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
1642         (tree-vect-patterns.o): Likewise.
1643         (jump.o): Likewise.
1644         (cselib.o): Likewise.
1645         (loop-doloop.o): Likewise.
1646         (regclass.o): Likewise.
1647         (reload1.o): Likewise.
1648         (explow.o): Replace target.h with $(TARGET_H).
1649         (ipa-prop.o): Likewise.
1650         (ipa-cp.o): Likewise.
1651         (ipa-inline.o): Likewise.
1652         (reorg.o): Likewise.
1653         (reg-stack.o): Likewise.
1654
1655 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1656
1657         * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
1658
1659 2006-04-23  Mark Mitchell  <mark@codesourcery.com>
1660
1661         * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
1662
1663         * configure.ac: Completely disregard languages that are not
1664         enabled.
1665         * configure: Regenerated.
1666
1667         PR c++/26534
1668         * c-common.h (c_build_bitfield_integer_type): Declare.
1669         * c-decl.c (c_build_bitfield_integer_type): Move to ...
1670         * c-common.c (c_build_bitfield_integer_type): ... here.
1671
1672 2006-04-23  Roger Sayle  <roger@eyesopen.com>
1673
1674         PR target/21283
1675         * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
1676         a SImode SUBREG of a floating point register after no_new_pseudos.
1677
1678 2006-04-23  Roger Sayle  <roger@eyesopen.com>
1679
1680         * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
1681         identify potentially eliminable registers to additionally catch
1682         VIRTUAL_INCOMING_ARGS_REGNUM.
1683         (addsi3): Update the conditions on when to use addsi_small_int.
1684
1685 2006-04-23  Roger Sayle  <roger@eyesopen.com>
1686
1687         PR target/16641
1688         * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
1689         STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
1690         rtx to stack_pointer_rtx or frame_pointer_rtx directly.
1691
1692 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1693
1694         * fold-const.c (range_predecessor): Use operand_equal_p
1695         as the predicate for equality.
1696         (range_successor): Likewise.
1697
1698 2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
1699
1700         Revert:
1701         * config/soft-fp/op-common.h: Fix a typo.
1702
1703 2006-04-22  Frank Ch. Eigler  <fche@redhat.com>
1704
1705         PR libmudflap/26864
1706         * common.opt (flag_mudflap_threads): Overload flag_mudflap.
1707         * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
1708
1709 2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
1710
1711         * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
1712         Fix comment typos.
1713         * doc/tm.texi: Fix a typo.
1714
1715 2006-04-21  Geoffrey Keating  <geoffk@apple.com>
1716
1717         * dwarf2out.c (struct die_struct): Document that die_sib makes
1718         a circular linked list.
1719         (FOR_EACH_CHILD): New.
1720         (reverse_die_lists): Delete.
1721         (reverse_all_dies): Delete.
1722         (add_dwarf_attr): Correct documentation.
1723         (remove_child_with_prev): New.
1724         (remove_child_TAG): Update for change to die_struct, use
1725         remove_child_with_prev.
1726         (add_child_die): Update for change to die_struct.
1727         (splice_child_die): Use remove_child_with_prev and add_child_die.
1728         (print_die): Use FOR_EACH_CHILD.
1729         (die_checksum): Likewise.
1730         (assign_symbol_names): Likewise.
1731         (output_location_lists): Likewise.
1732         (build_abbrev_table): Likewise.
1733         (calc_die_sizes): Likewise.
1734         (mark_dies): Likewise.
1735         (unmark_dies): Likewise.
1736         (unmark_all_dies): Likewise.
1737         (output_die): Likewise.
1738         (prune_unused_types_mark): Likewise.
1739         (prune_unused_types_walk): Likewise.
1740         (same_die_p): Update for change to die_struct.
1741         (break_out_includes): Likewise.
1742         (prune_unused_types_prune): Likewise.
1743         (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
1744         (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
1745         it's already clear.
1746         (dwarf2out_finish): Don't call reverse_all_dies.
1747
1748 2006-04-21  Eric Christopher  <echristo@apple.com>
1749
1750         * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
1751         in comments and function names.
1752
1753 2006-04-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1754
1755         PR c/25875
1756         * c-typeck.c (digest_init): Robustify.
1757
1758         * c-typeck.c (pop_init_level): Simplify.
1759
1760 2006-04-21  Steve Ellcey  <sje@cup.hp.com>
1761
1762         * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
1763
1764 2006-04-21  Paul Brook  <paul@codesourcery.com>
1765
1766         * config/arm/arm.c (arm_override_options): Error on iWMMXt and
1767         hardware floating point.
1768
1769 2006-04-21  David Edelsohn  <edelsohn@gnu.org>
1770
1771         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
1772         NON_FLOAT_REGS.
1773
1774 2006-04-21  Nick Clifton  <nickc@redhat.com>
1775
1776         * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
1777         OPT_EXTRA_PARTS.
1778
1779 2006-04-21  Alan Modra  <amodra@bigpond.net.au>
1780
1781         PR target/27230
1782         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
1783         C++ lang type in traceback table for Objective-C++.
1784
1785         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
1786
1787 2006-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1788
1789         * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
1790
1791 2006-04-20  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1792
1793         PR mudflap/26789
1794         * tree-mudflap.c (mudflap_finish_file): Skip function when there
1795         were errors.  Remove check for erroneous objects.
1796
1797 2006-04-20  Jeff Law  <law@redhat.com>
1798
1799         PR tree-optimization/26854
1800         * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
1801         checking for zero or one use.
1802         * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
1803         * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
1804         * tree-ssa-reassoc.c (negate_value): Similarly.
1805         (reassociate_bb): Similarly.
1806
1807 2006-04-20  Jakub Jelinek  <jakub@redhat.com>
1808
1809         * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
1810         TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
1811         than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
1812
1813 2006-04-20  Alan Modra  <amodra@bigpond.net.au>
1814
1815         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
1816         fp regs if the last fp arg doesn't fit in regs.
1817
1818 2006-04-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1819
1820         PR target/27182
1821         * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
1822         that the last insn has the REG_INC note.
1823
1824 2006-04-19  Carlos O'Donell  <carlos@codesourcery.com>
1825             Nathan Sidwell  <nathan@codesourcery.com>
1826
1827         PR c/26774
1828         * stor-layout.c (update_alignment_for_field): Do not align
1829         ERROR_MARK nodes.
1830         (place_union_field): Place union field at the start of the union.
1831         (place_field): Move ERROR_MARK check later, and use the current
1832         allocation position to maintain monotonicity.
1833
1834 2006-04-19  Zdenek Dvorak <dvorakz@suse.cz>
1835
1836         * dominance.c: Include timevar.h.
1837         (calculate_dominance_info): Use TV_DOMINANCE.
1838         * timevar.def (TV_DOMINANCE): New timevar.
1839         * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
1840
1841 2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1842
1843         PR rtl-optimization/14261
1844         * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
1845         move would be an INSV insn.
1846         (noce_process_if_block): Don't optimize if the destination is a
1847         ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
1848
1849 2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1850
1851         * config/s390/s390.md: Add comments with the instructions emitted
1852         by an insn pattern if macros are used.
1853
1854 2006-04-19  Alan Modra  <amodra@bigpond.net.au>
1855
1856         PR rtl-optimization/26026
1857         * fold-const.c (fold_binary): Optimize div and mod where the divisor
1858         is a known power of two shifted left a variable amount.
1859
1860 2006-04-18  Geoffrey Keating  <geoffk@apple.com>
1861
1862         * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
1863         to hash table twice when the debug_str section has SECTION_MERGE.
1864
1865 2006-04-18  Joseph S. Myers  <joseph@codesourcery.com>
1866
1867         * config/soft-fp: New directory.  From glibc.
1868         * config/soft-fp/t-softfp: New.
1869         * config/soft-fp/README: New.
1870         * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
1871         * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
1872         (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
1873         (LIBGCC_DEPS): Add $(SFP_MACHINE).
1874         * config.gcc: Use rs6000/t-fprules-fpbit or
1875         rs6000/t-fprules-softfp and soft-fp/t-softfp together with
1876         rs6000/t-fprules.
1877         * config/rs6000/sfp-machine.h: New.  Based on glibc.
1878         * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
1879         New.
1880         * config/rs6000/t-fprules: Remove fp-bit rules.
1881         * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
1882         * config/rs6000/t-linux64: Likewise.  Remove duplicates from
1883         LIB2FUNCS_EXTRA.  Remove fp-bit rules.
1884         (softfp_wrap_start, softfp_wrap_end): New.
1885
1886 2006-04-18  DJ Delorie  <dj@redhat.com>
1887
1888         * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
1889
1890 2006-04-18  Devang Patel  <dpatel@apple.com>
1891
1892         * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
1893
1894 2006-04-18  Nick Clifton  <nickc@redhat.com>
1895
1896         * config/sh/t-symbian: Add rule to build sh-c.o
1897         * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
1898         of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
1899         (sh_symbian_encode_section_info): Likewise.
1900
1901 2006-04-18  Andreas Krebbel  <krebbel1@de.ibm.com>
1902
1903         * builtins.c (expand_builtin_strcmp): Cover label definition of
1904         do_libcall with HAVE_cmpstrnsi.
1905
1906 2006-04-18  Kazu Hirata  <kazu@codesourcery.com>
1907
1908         * function.c (temp_slots_at_level, max_slot_level): Use VEC
1909         instead of VARRAY.
1910         * function.h (temp_slot_p): New.
1911         (function): Change the type of x_used_temp_slots to
1912         VEC(temp_slot_p,gc) *.
1913
1914 2006-04-18  Nick Clifton  <nickc@redhat.com>
1915
1916         * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
1917         flag_strength_reduce.
1918
1919         * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
1920
1921 2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
1922
1923         PR target/27117
1924
1925         Partial revert of revision 112637
1926         2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
1927                     Dale Johannesen  <dalej@apple.com>
1928
1929         PR target/19653
1930         * regclass.c (struct reg_pref): Update documentation.
1931         (regclass): Set prefclass to NO_REGS if memory is the best option.
1932         (record_reg_classes): Cope with a prefclass set to NO_REGS.
1933
1934 2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
1935
1936         PR tree-optimization/26821
1937         * tree-ssa-math-opts.c (get_constant_one): New.
1938         (insert_reciprocals): Use it.
1939
1940 2006-04-17  Geoffrey Keating  <geoffk@apple.com>
1941
1942         * dwarf2out.c (free_AT): Delete.
1943         (remove_AT): Update string ref counts.
1944         (remove_child_TAG): Don't call free_die.
1945         (free_die): Delete.
1946         (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
1947         or DW_TAG_GNU_EINCL.
1948         (prune_unused_types_walk_attribs): Reset string refcounts.
1949         (prune_unused_types_update_strings): New.
1950         (prune_unused_types_prune): Don't make unnecessary stores.  Don't
1951         call free_die.  Do call prune_unused_types_update_strings.
1952         (prune_unused_types): Empty debug_str_hash.
1953
1954 2006-04-17  Roger Sayle  <roger@eyesopen.com>
1955
1956         * expr.c (expand_assignment): Optimize away no-op moves where the
1957         source and destination are equal and have no side-effects.
1958
1959 2006-04-17  Richard Guenther  <rguenther@suse.de>
1960
1961         PR target/26826
1962         * reload.c (push_reload): Guard calls to get_secondary_mem
1963         for memory subregs.
1964
1965 2006-04-16  Kazu Hirata  <kazu@codesourcery.com>
1966
1967         * alias.c (reg_base_value, old_reg_base_value): Change the
1968         type to VEC(rtx,gc) *.
1969         (REG_BASE_VALUE, find_base_value, record_set,
1970         init_alias_analysis): Use VEC instead of VARRAY.
1971
1972         * alias.c (alias_sets): Change the type to
1973         VEC(alias_set_entry,gc) *.
1974         (get_alias_set_entry, new_alias_set, record_alias_subset): Use
1975         VEC instead of VARRAY.
1976         (last_alias_set): Remove.
1977
1978         * cgraph.h (cgraph_edge_p): New.
1979         Update the prototype of cgraph_function_versioning.
1980         * cgraphunit.c (cgraph_copy_node_for_versioning,
1981         cgraph_function_versioning): Use VEC instead of VARRAY.
1982         * ipa-cp.c (ipcp_insert_stage): Likewise.
1983
1984 2006-04-16  Roger Sayle  <roger@eyesopen.com>
1985
1986         PR target/26961
1987         * fold-const.c (fold_ternary): When converting "A ? B : C" into either
1988         "A op B" or "A op C", we may need to convert A to the type of B and C.
1989
1990 2006-04-16  Adam Nemet  <anemet@caviumnetworks.com>
1991
1992         * target.h (struct gcc_target): Add mode_rep_extended.
1993         * rtlanal.c (num_sign_bit_copies_in_rep): New global.
1994         (init_num_sign_bit_copies_in_rep): Initialize it using
1995         mode_rep_extended.
1996         (truncate_to_mode): Use it.
1997         (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
1998         * targhooks.h (default_mode_rep_extended): Declare it.
1999         * targhooks.c (default_mode_rep_extended): Define it.
2000         * target-def.h (TARGET_MODE_REP_EXTENDED): New macro.  Default to
2001         default_mode_rep_extended.
2002         (TARGET_INITIALIZER): Include it.
2003         * doc/tm.texi (Misc): Document it.
2004         * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
2005         (mips_truncated_to_mode): New function.
2006
2007 2006-04-16  Roger Sayle  <roger@eyesopen.com>
2008
2009         PR middle-end/25474
2010         * expr.c (compress_float_constant): Copy the narrow constant into
2011         a new pseudo before extending it to its final width.
2012
2013 2006-04-16  Roger Sayle  <roger@eyesopen.com>
2014             Andrew Pinski  <pinskia@gcc.gnu.org>
2015             Dale Johannesen  <dalej@apple.com>
2016
2017         PR target/24076
2018         * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
2019         special case code to implement V8HImode and V16QImode with SSE2.
2020
2021 2006-04-15  Roger Sayle  <roger@eyesopen.com>
2022
2023         * config/i386/i386.c (ix86_va_start): Ensure all integer constant
2024         trees are constructed with a suitable tree type.
2025
2026 2006-04-15  Roger Sayle  <roger@eyesopen.com>
2027
2028         * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
2029         (integer_onep): Likewise.
2030         (integer_all_onesp): Likewise.
2031         (integer_pow2p): Likewise.
2032         (integer_nonzerop): Likewise.
2033         (real_zerop): Likewise.
2034         (real_onep): Likewise.
2035         (real_twop): Likewise.
2036         (real_minus_onep): Likewise.
2037         (int_size_in_bytes): Likewise.
2038         (host_integerp): Likewise.
2039
2040 2006-04-15  Kazu Hirata  <kazu@codesourcery.com>
2041
2042         * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
2043         jump.c, mips-tfile.c, omp-low.c, sched-int.h,
2044         tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
2045
2046         * tree-ssa-structalias.h (alias_info): Remove num_references.
2047
2048 2006-04-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2049
2050         * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
2051         (output_bvb patterns): Likewise.
2052         * pa.c (output_bb): Use 'bb' insn for long branch case.
2053         (output_bvb): Likewise use '{bvb|bb}' for long branch case.
2054         (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
2055         1.  Correct length operand for alternatives 1 and 2.
2056         (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
2057         1, 2 and 3.  Correct length operand for alternatives 1, 2 and 3.
2058
2059 2006-04-14  Roger Sayle  <roger@eyesopen.com>
2060
2061         * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
2062         is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
2063         were accidentally reverted by r112959.
2064
2065 2006-04-15  Jakub Jelinek  <jakub@redhat.com>
2066
2067         PR middle-end/26823
2068         * except.h (eh_region_outermost): New prototype.
2069         * except.c (eh_region_outermost): New function.
2070         * tree-cfg.c (find_outermost_region_in_block): Use it.
2071
2072 2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
2073
2074         * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
2075         of VARRAY.
2076         * reload1.c (reg_equiv_memory_loc_varray): Rename to
2077         reg_equiv_memory_loc_vec.  Change the type to VEC(rtx,gc) *.
2078         (init_reload, reload): Use VEC instead of VARRAY.
2079         * reload.h: Update the prototype for
2080         reg_equiv_memory_loc_varray.
2081
2082 2006-04-14  Alexey Starovoytov  <alexey.starovoytov@sun.com>
2083             Eric Botcazou  <ebotcazou@libertysurf.fr>
2084
2085         * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
2086         register save area.
2087
2088 2005-04-13  Uros Bizjak  <uros@kss-loka.si>
2089
2090         PR middle-end/27134
2091         * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
2092         to expand fallback builtin function call.
2093
2094 2006-04-14  Alan Modra  <amodra@bigpond.net.au>
2095
2096         PR middle-end/27095
2097         * builtins.c: (expand_builtin_memset): Stabilize args before expansion
2098         and emit libcall here in case the builtin fails.
2099         (expand_builtin_strcmp): Always emit the libcall here on failure.
2100
2101 2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
2102
2103         * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
2104         * flow.c (reg_n_info): Change the type to
2105         VEC(reg_info_p,heap) *.
2106         * regclass.c (allocate_reg_info, free_reg_info): Use VEC
2107         instead of VARRAY.
2108         * regs.h (reg_info_p): New.
2109         (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
2110         REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
2111         REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
2112         instead of VARRAY.
2113
2114 2006-04-13  Eric Botcazou  <ebotcazou@adacore.com>
2115
2116         * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
2117         defaulting to 100.
2118         * params.h (MAX_SCHED_READY_INSNS): New macro.
2119         * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
2120         past MAX_SCHED_READY_INSNS during the first scheduling pass.
2121         (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
2122         the ready list for 1 cycle during the first scheduling pass.
2123         * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
2124
2125 2006-04-13  Richard Henderson  <rth@redhat.com>
2126
2127         PR libgomp/26651
2128         * gimple-low.c (lower_omp_directive): Remove dead code.
2129         (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
2130         * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
2131         * omp-low.c (struct omp_region): Move to tree-flow.h.
2132         (root_omp_region): Export.
2133         (omp_regions, lookup_omp_region): Remove.
2134         (determine_parallel_type): Update for struct omp_region changes.
2135         (dump_omp_region): Dump regions with block numbers.
2136         (new_omp_region): Take type and block instead of stmt; malloc
2137         instead of ggc.
2138         (free_omp_region_1, free_omp_regions): New.
2139         (expand_parallel_call): Take entry_stmt as argument; update for
2140         changes to omp_region.
2141         (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
2142         (remove_exit_barriers): New.
2143         (expand_omp_parallel): Update for struct omp_region changes.
2144         (expand_omp_synch): Likewise.
2145         (expand_omp): Likewise.
2146         (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
2147         (expand_omp_for_static_chunk): Likewise.
2148         (expand_omp_for): Likewise.
2149         (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
2150         (expand_omp_sections): Similarly, with GOMP_sections_end.
2151         (expand_omp_single): New.
2152         (build_omp_regions_1): Update for OMP_CONTINUE.
2153         (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
2154         (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
2155         OMP_SECTIONS_SECTIONS.
2156         (lower_omp_single_simple): Don't emit barrier here.
2157         (lower_omp_single_copy): Likewise.
2158         (lower_omp_single): Fix bindings, and lower to straightline now.
2159         (lower_omp_master, lower_omp_ordered): Likewise.
2160         (lower_omp_critical): Likewise.
2161         (lower_omp_for): Likewise.  Emit OMP_CONTINUE.
2162         * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
2163         omp edges, free it afterward.
2164         (make_omp_sections_edges): Remove.
2165         (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
2166         (move_stmt_r): Handle OMP_CONTINUE.
2167         * tree-flow.h (struct omp_region): Move from omp-low.c.  Switch
2168         statement pointers to basic blocks.  Add type member.
2169         (root_omp_region, new_omp_region, free_omp_regions): Declare.
2170         * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
2171         * tree-inline.c (estimate_num_insns_1): Likewise.
2172         * tree-pretty-print.c (dump_generic_node): Likewise.
2173         * tree-ssa-operands.c (get_expr_operands): Likewise.
2174         * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
2175         (OMP_RETURN): Rename from OMP_RETURN_EXPR.
2176         (OMP_CONTINUE): New.
2177         * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
2178         (OMP_SECTIONS_SECTIONS): Remove.
2179         (OMP_SECTION_LAST): New.
2180         (OMP_RETURN_NOWAIT): New.
2181
2182 2006-04-13  Roger Sayle  <roger@eyesopen.com>
2183
2184         * fold-const.c (native_encode_vector, native_interpret_real):
2185         Correct obvious mistakes in the previous check-in.
2186
2187 2006-04-13  Roger Sayle  <roger@eyesopen.com>
2188
2189         * fold-const.c (native_encode_expr): New function to encode
2190         the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
2191         or VECTOR_CST into a specified buffer.
2192         (native_encode_int): New function.
2193         (native_encode_real): New function.
2194         (native_encode_complex): New function.
2195         (native_encode_vector): New function.
2196         (native_interpret_expr): Inverse of native_encode_expr to convert
2197         a target representation into an INTEGER_CST, REAL_CST etc...
2198         (native_interpret_int): New function.
2199         (native_interpret_real): New function.
2200         (native_interpret_complex): New function.
2201         (native_interpret_vector): New function.
2202         (fold_view_convert_expr): New function to constant fold/evaluate
2203         a VIEW_CONVERT_EXPR of a suitable constant expression.
2204         (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
2205         Change call of build1 to fold_build1 when constructing a
2206         VIEW_CONVERT_EXPR.
2207
2208 2006-04-13  Paolo Bonzini  <bonzini@gnu.org>
2209             Ulrich Weigand  <uweigand@de.ibm.com>
2210
2211         PR target/27006
2212         * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
2213         to be even.
2214
2215 2006-04-13  Alan Modra  <amodra@bigpond.net.au>
2216
2217         PR target/26459
2218         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
2219         optimize to lo_sum for DFmode if !TARGET_FPRS.
2220
2221 2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
2222
2223         * tree-ssa-alias.c (set_initial_properties, init_alias_info,
2224         delete_alias_info, compute_flow_sensitive_aliasing,
2225         group_aliases): Use VEC instead of VARRAY.
2226         * tree-ssa-structalias.c (update_alias_info): Likewise.
2227         * tree-ssa-structalias.h (alias_info): Change the type of
2228         processed_ptrs to VEC(tree,heap) *.
2229
2230 2006-04-12  J"orn Rennecke <joern.rennecke@st.com>
2231
2232         PR target/27060
2233         * config/sh/lib1funcs.h: New file, broken out of:
2234         * config/sh/lib1funcs.asm.
2235         * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
2236         New macros.
2237         * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
2238         * config/sh/lib1funcs-Os-4-200.asm: New file.
2239         * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
2240         * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
2241         (EXTRA_MULTILIB_PARTS): Include it.
2242         ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
2243         ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
2244         * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
2245         * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
2246         TARGET_SH2.
2247
2248 2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
2249
2250         * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
2251         * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
2252         tpa_compact, root_var_init, type_var_init): Use VEC instead of
2253         VARRAY.
2254         * tree-ssa-live.h: Include vecprim.h.
2255         (tree_partition_associator_d): Change the type of
2256         first_partition to VEC(int,heap) *.
2257         (tpa_first_partition): Use VEC instead of VARRAY.
2258
2259         * Makefile.in (GTFILES): Move functions.h after tree.h.
2260         * function.c (reset_block_changes, record_block_change,
2261         check_block_change, free_block_changes): Use VEC instead of
2262         VARRAY.
2263         * function.h (function): Change the type of
2264         ib_boundaries_block to VEC(tree,gc) *.
2265         * tree-inline.c (copy_cfg_body): Initialize
2266         ib_boundaries_block to NULL instead of (varray_type) 0.
2267
2268 2006-04-12  Roger Sayle  <roger@eyesopen.com>
2269
2270         * expr.c (emit_group_store): Correct operand order in call to
2271         subreg_lowpart_offset.  Always create paradoxical SUBREGs with
2272         a SUBREG_BYTE of zero.
2273
2274 2006-04-12  Richard Guenther  <rguenther@suse.de>
2275
2276         * profile.c (compute_branch_probabilities): Remove code
2277         encapsulated in !ir_type (), which are remanents of the
2278         removed RTL profiling code.
2279         * rtl-profile.c: Remove.
2280
2281 2006-04-12  Alan Modra  <amodra@bigpond.net.au>
2282
2283         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
2284         magic NULL_RTX comment.
2285         (function_arg): Store entire fp arg to mem if any part should go
2286         on stack.
2287         (rs6000_arg_partial_bytes): Adjust for above change.
2288
2289 2006-04-11  Roger Sayle  <roger@eyesopen.com>
2290
2291         * dwarf2out.c (output_call_frame_info): Create debug_frame_section
2292         if it hasn't been initialized by dwarf2out_init.
2293
2294 2006-04-11  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
2295
2296         * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
2297         symbolic constants in branch patterns.
2298
2299 2006-04-11  Roger Sayle  <roger@eyesopen.com>
2300
2301         * caller-save.c: #include "addresses.h" after #include "tm_p.h".
2302
2303 2006-04-11  Richard Sandiford  <richard@codesourcery.com>
2304
2305         PR rtl-optimization/27073
2306         * gcse.c (try_replace_reg): Revert last change.  Continue to search
2307         for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
2308         on the former.
2309
2310 2006-04-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2311
2312         * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
2313         aggregate types other than record and union types.
2314         (function_arg): Likewise.
2315         (function_arg_pass_by_reference): In 64-bit mode, return 0 for
2316         small arrays.
2317         (function_value): In 64-bit mode, return objects that require it
2318         in FP registers.
2319
2320 2006-04-11  Roger Sayle  <roger@eyesopen.com>
2321
2322         * dwarf2out.c (premark_used_types): Remove problematic prototype.
2323
2324 2006-04-11  Jakub Jelinek  <jakub@redhat.com>
2325
2326         * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
2327
2328 2006-04-03  Jeff Law  <law@redhat.com>
2329
2330         PR/27087
2331         * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
2332         alias information too.
2333
2334 2006-04-10  Mike Frysinger  <vapier@gentoo.org>
2335
2336         * Makefile.in (gcc-cross): Add $(exeext) to target name.
2337
2338 2006-04-10  Aldy Hernandez  <aldyh@redhat.com>
2339
2340         PR/21391
2341         * dwarf2out.c (struct die_struct): Add die_perennial_p field.
2342         (premark_used_types_helper): New.
2343         (premark_used_types): New.
2344         (gen_subprogram_die): Call premark_used_types.
2345         (prune_unused_types_walk): Do not prune perennial dies.
2346         * function.c (used_types_insert): New.
2347         * function.h (struct function): Add used_types_hash field.
2348         (used_types_insert): Add prototype.
2349         * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
2350         * c-parser.c (c_parser_cast_expression): Save casted types in used
2351         types hash table.
2352
2353 2006-04-11  Mark Mitchell  <mark@codesourcery.com>
2354
2355         PR target/26459
2356         * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
2357         rs6000_explicit_options.float_gprs.
2358
2359 2006-04-10  Roger Sayle  <roger@eyesopen.com>
2360
2361         * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
2362         from ix86_expand_vector_init_low_nonzero.  Take an additional
2363         one_var argument indicating which element is non-zero.  Support
2364         one_var != 0 for V4SFmode and V4SImode by permuting the result.
2365         (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
2366         with one_var instead of ix86_expand_vector_init_low_nonzero.
2367
2368 2006-04-10  Kazu Hirata  <kazu@codesourcery.com>
2369
2370         * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
2371         tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
2372         global.o, cfglayout.o, lambda-code.o, reg-stack.o,
2373         build/genextract.o): Depend on vecprim.h.
2374         * cfglayout.c, df-problems.c, function.c, genextract.c,
2375         global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
2376         tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
2377         vecprim.h.
2378         * vecprim.h: New.
2379
2380 2006-04-10  Geoffrey Keating  <geoffk@apple.com>
2381
2382         * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
2383         Declare VECs of this type.
2384         (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
2385         (remove_children): Delete.
2386         (add_dwarf_attr): Use VEC routines.
2387         (add_AT_flag): Update for changes to add_dwarf_attr.
2388         (add_AT_int): Likewise.
2389         (add_AT_unsigned): Likewise.
2390         (add_AT_long_long): Likewise.
2391         (add_AT_vec): Likewise.
2392         (add_AT_string): Likewise.
2393         (add_AT_die_ref): Likewise.
2394         (add_AT_fde_ref): Likewise.
2395         (add_AT_loc): Likewise.
2396         (add_AT_loc_list): Likewise.
2397         (add_AT_addr): Likewise.
2398         (add_AT_lbl_id): Likewise.
2399         (add_AT_lineptr): Likewise.
2400         (add_AT_macptr): Likewise.
2401         (add_AT_offset): Likewise.
2402         (add_AT_range_list): Likewise.
2403         (get_AT): Use VEC_iterate.
2404         (remove_AT): Use VEC_ordered_remove.
2405         (free_die): Fold remove_children into here; have it use VEC_iterate.
2406         (print_die): Use VEC_iterate on attrs.
2407         (reverse_die_lists): Don't reverse attr lists.
2408         (die_checksum): Use VEC_iterate on attrs.
2409         (same_die_p): Likewise.
2410         (output_location_lists): Likewise.
2411         (build_abbrev_table): Likewise.
2412         (size_of_die): Likewise.
2413         (unmark_all_dies): Likewise.
2414         (output_abbrev_section): Likewise.
2415         (output_die): Likewise.
2416         (prune_unused_types_walk_attribs): Likewise.
2417
2418 2006-04-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2419
2420         * doc/install.texi (*-*-solaris2*): Point to the configure page.
2421
2422 2006-04-10  Jakub Jelinek  <jakub@redhat.com>
2423
2424         PR debug/27057
2425         * dwarf2out.c (is_symbol_die): Return true also for namespaces.
2426
2427 2006-04-09  Roger Sayle  <roger@eyesopen.com>
2428
2429         * expr.c (store_constructor): Don't bother clearing target if
2430         we're about to assign a vector to it using vec_init_optab.
2431
2432 2006-04-10 Daniel Berlin  <dberlin@dberlin.org>
2433
2434         * tree-ssa-alias.c (lhs_may_store_to): New function.
2435         (recalculate_used_alone): Handle LHS of calls.
2436
2437 2006-04-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2438
2439         PR target/27034
2440         PR target/26508
2441         * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
2442         * pa64-hpux.h (LIB_SPEC): Correct typo.  Don't append milli.a.
2443         (LINK_GCC_C_SEQUENCE_SPEC): Define.  Append milli.a here.
2444         (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
2445         (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
2446         (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
2447         section.  Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
2448         stubs.  Add ".align 8" directives before all ".dword" directives.
2449         (GTHREAD_USE_WEAK): Revise comment.
2450         (TARGET_ATTRIBUTE_WEAK): Define.
2451         * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
2452         dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
2453         * stublib.c: New file.
2454
2455         PR target/26743
2456         PR target/11254
2457         PR target/10274
2458         * pa.md (cbranch patterns): Revise arguments used in calls to
2459         output_cbranch, output_bb and output_bvd.  Add long branch length
2460         attributes.
2461         (fbranch patterns): Handle long branches.
2462         (jump): Revise length check.  Revise arguments for output_lbranch call.
2463         Add long branch length attributes.
2464         (decrement_and_branch_until_zero): Add long branch length attributes.
2465         (output_movb, output_parallel_addb and output_parallel_movb patterns):
2466         Likewise.  Revise arguments for output_parallel_addb and
2467         output_parallel_movb calls.
2468         * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
2469         output_parallel_movb and output_parallel_addb): Update prototypes.
2470         * pa.c (output_cbranch): Revise arguments.  Correct handling of
2471         nullification in long branches.
2472         (output_lbranch): Add new argument to control extraction of delay
2473         instruction.
2474         (output_bb): Handle long branches.
2475         (output_bvb, output_dbra, output_movb, output_parallel_movb,
2476         output_parallel_addb): Likewise.
2477
2478 2006-04-09  Richard Sandiford  <richard@codesourcery.com>
2479
2480         PR rtl-optimization/27073
2481         * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
2482         not REG_EQUIVs.
2483
2484 2006-04-08  Daniel Berlin  <dberlin@dberlin.org>
2485
2486         * tree.h (tree_memory_tag): Add old_used_alone.
2487         (SMT_OLD_USED_ALONE): New macro.
2488         * tree-ssa-alias.c (recalculate_used_alone): Stop
2489         marking things for renaming unnecessarily.
2490
2491 2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
2492
2493         * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
2494         config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
2495         config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
2496         haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
2497         sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
2498         tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
2499         tree-vect-patterns.c, tree-vrp.c: Fix comment typos.  Follow
2500         spelling convensions.
2501         * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
2502         doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
2503         typos.  Follow spelling conventions.
2504
2505 2006-04-07  DJ Delorie  <dj@redhat.com>
2506
2507         * config/m32c/m32c.c (m32c_function_arg): Structures are always
2508         passed on the stack.
2509         (m32c_init_cumulative_args): When a function returns a structure,
2510         always pass the pointer to that return area on the stack.
2511         (m32c_function_arg_advance): Don't increment the parameter number
2512         if we're processing the returned structure pointer.
2513         (pushm_info): Reverse order of registers.
2514
2515 2006-04-07  Sebastian Pop  <pop@cri.ensmp.fr>
2516
2517         * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
2518         assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
2519         number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
2520         estimate_numbers_of_iterations_loop): Use build_int_cst instead of
2521         build_int_cst_type.
2522         * tree-chrec.c (chrec_fold_multiply_poly_poly,
2523         chrec_fold_multiply): Same.
2524         * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
2525         force_expr_to_var_cost): Same.
2526         * tree-mudflap.c (mf_xform_derefs_1): Same.
2527         * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
2528
2529 2006-04-07  David Edelsohn  <edelsohn@gnu.org>
2530
2531         * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
2532         treat CONST_DOUBLE as INTVAL.  and64_2_operands require an extra
2533         insn.
2534
2535 2006-04-07  Jan Hubicka  <jh@suse.cz>
2536
2537         * ipa-inline.c (cgraph_early_inlining): Collect garbage.
2538
2539 2006-04-07  Richard Guenther  <rguenther@suse.de>
2540
2541         PR tree-optimization/26135
2542         * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
2543         loads for store copy-prop.
2544         (copy_prop_visit_stmt): Likewise.
2545
2546 2006-04-05  Robert Millan  <robertmh@gnu.org>
2547
2548         * config/i386/linux.h: Add a comment to mark macros that are
2549         being overriden in config/k*bsd-gnu.h.
2550         * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
2551         DYNAMIC_LINKER.
2552         * config/knetbsd-gnu.h: Ditto.
2553
2554 2006-04-06  Jan Hubicka  <jh@suse.cz>
2555
2556         PR profile/20815
2557         PR profile/26399
2558         * coverage.c (coverage_checksum_string): Reorganize loop to not read
2559         after buffer.
2560
2561 2006-04-06  Mike Stump  <mrs@apple.com>
2562
2563         * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
2564         for HAVE_nonlocal_goto to be consistent.
2565         (expand_builtin_nonlocal_goto): Likewise.
2566         (expand_builtin_strcmp): Use #ifdef instead of #if
2567         for HAVE_cmpstrnsi to be consistent.
2568
2569 2006-04-05  DJ Delorie  <dj@redhat.com>
2570
2571         * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
2572         vs m32c.
2573
2574 2006-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
2575
2576         * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
2577         got-relative addressing for anything but SImode.
2578
2579         * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
2580         even if the calling function doesn't modify them.
2581
2582 2006-04-05  Richard Guenther  <rguenther@suse.de>
2583
2584         PR tree-optimization/26919
2585         * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
2586         to cgraph_estimate_size_after_inlining.
2587
2588 2006-04-05  Alan Modra  <amodra@bigpond.net.au>
2589
2590         * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
2591
2592 2006-04-05  Sebastian Pop  <pop@cri.ensmp.fr>
2593
2594         PR tree-optimization/26996
2595         * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
2596         VECTOR_TYPE variables.
2597
2598 2006-04-05  Richard Guenther  <rguenther@suse.de>
2599
2600         PR tree-optimization/26763
2601         * fold-const.c (fold_comparison): Move folding of
2602         PTR + CST CMP PTR + CST ...
2603         (fold_binary): ... here.  Fold only for EQ_EXPR and NE_EXPR.
2604
2605 2006-04-05  Gerald Pfeifer  <gerald@pfeifer.com>
2606
2607         * doc/install.texi (Prerequisites): Refine some wording on
2608         bootstrapping and ksh.
2609         Move the version numbers of DejaGnu here from the testing section
2610         and fix casing of names.
2611         Fix markup and clarify wording for autogen requirements.
2612         Refer to GCJ instead of just java.
2613         Refer to SVN instead of CVS.
2614         Describe diffutils as useful instead of necessary.
2615         (Downloading the source): Refer to SVN instead of CVS.
2616         Adjust a link to our web site accordingly.
2617         (Configuration): Fix casing of Bison.
2618         (Building): Refer to SVN instead of CVS.
2619         Fix a sentence on the use of Bison and remove duplicate (and
2620         incorrect) version number of Bison requirement.
2621         Remove one redundant list of packages needed for building.
2622         (Specific): Avoid reference to CVS.
2623
2624 2006-04-04  Eric Christopher  <echristo@apple.com>
2625
2626         * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
2627         (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
2628         (rs6000_handle_struct_attribute): New.
2629         (rs6000_ms_bitfield_layout_p): Ditto.
2630
2631 2006-04-04  Geoffrey Keating  <geoffk@apple.com>
2632
2633         * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
2634         NULL for dso parameter to atexit_common.
2635
2636 2006-04-04  Eric Christopher  <echristo@apple.com>
2637
2638         * config/i386/i386.c (machopic_output_stub): Output \t
2639         between instructions and operands.
2640
2641 2006-04-04  David Edelsohn  <edelsohn@gnu.org>
2642
2643         * config/rs6000/rs6000.c (num_insns_constant_wide): Change
2644         satisfies_constraint_[IL] to explicit tests on value.
2645
2646 2006-04-04  Sebastian Pop  <pop@cri.ensmp.fr>
2647
2648         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2649         set_nb_iterations_in_loop): Use build_int_cst instead of
2650         build_int_cst_type.
2651         * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
2652         build_int_cst instead of convert.
2653
2654 2006-04-04  Carlos O'Donell  <carlos@codesourcery.com>
2655
2656         * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
2657         new value 2 for incoming.
2658         * function.c (expand_function_start): Call struct_value_rtx
2659         with incoming as 2.
2660         * config/sparc/sparc.md: Comment updated_return.
2661         * config/sparc/sparc.opt: Add -mstd-struct-return option.
2662         * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
2663         struct return if sparc_std_struct_return and incoming is 2.
2664         (print_operand): Do not adjust return if
2665         sparc_std_struct_return.
2666
2667 2006-04-04  Roger Sayle  <roger@eyesopen.com>
2668
2669         * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
2670         convert in the middle-end.
2671         * expr.c (store_expr, store_constructor, get_inner_reference,
2672         expand_expr_real_1, string_constant, try_casesi, try_tablejump):
2673         Likewise.
2674         * tree.c (build_range_type): Likewise.
2675
2676 2006-04-04  Tom Tromey  <tromey@redhat.com>
2677
2678         * doc/install.texi (Prerequisites): Mention jar.
2679
2680 2006-04-04  Daniel Berlin  <dberlin@dberlin.org>
2681
2682         * doc/tree-ssa.texi (Preserving the virtual ssa form): New
2683         subsection.
2684
2685 2006-04-04  Matthias Klose  <doko@debian.org>
2686
2687         * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
2688         * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
2689         strings.
2690
2691 2006-04-03  Geoffrey Keating  <geoffk@apple.com>
2692
2693         * doc/extend.texi (Function Attributes): Rewrite visibility
2694         attribute documentation.
2695         * doc/invoke.texi (C++ Dialect Options): Rewrite
2696         -fvisibility-inlines-hidden documentation to describe something
2697         entirely different, although in practise compatible.
2698         (Code Gen Options): Warn about system headers in -fvisibiltity=
2699         documentation.
2700
2701         * doc/extend.texi (Other Builtins): Document that
2702         __builtin_nan is a compile-time constant only when its argument
2703         is valid.
2704
2705 2006-04-03  Adam Nemet  <anemet@caviumnetworks.com>
2706
2707         * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
2708         trying to remove TRUNCATE check if all bits outside the new mode
2709         are identical to the sign bit.
2710
2711 2006-04-03  Jeff Law  <law@redhat.com>
2712
2713         * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
2714         and operand scanning in some common cases.
2715
2716 2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
2717             Dale Johannesen  <dalej@apple.com>
2718
2719         PR target/19653
2720         * regclass.c (struct reg_pref): Update documentation.
2721         (regclass): Set prefclass to NO_REGS if memory is the best option.
2722         (record_reg_classes): Cope with a prefclass set to NO_REGS.
2723         * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
2724         into account.  For non-registers, equate an empty preferred
2725         reload class to a `!' in the constraint; move the if clause to
2726         do so after those that reject the insn.
2727         (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
2728         return NO_REGS.
2729         (find_dummy_reload): Likewise.
2730         * doc/tm.texi (Register Classes): Document what it means
2731         if PREFERRED_*_RELOAD_CLASS return NO_REGS.
2732         * config/i386/i386.c (ix86_preferred_reload_class): Force
2733         using SSE registers (and return NO_REGS for floating-point
2734         constants) if math is done with SSE.
2735         (ix86_preferred_output_reload_class): New.
2736         * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
2737         * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
2738         * config/i386/i386.md: Remove # register preferences.
2739
2740 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
2741
2742         PR bootstrap/26992
2743         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2744         chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
2745         the type of nb_iter.
2746         (instantiate_parameters_1): Convert the operands before calling
2747         chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
2748         * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
2749
2750 2006-04-02  Roger Sayle  <roger@eyesopen.com>
2751
2752         * builtins.c (dummy_object): Use build_int_cst instead of convert.
2753         * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
2754         instead of convert.
2755         * dojump.c (do_jump): Likewise.
2756         * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
2757         * gimplify.c (gimple_boolify, gimplify_init_constructor,
2758         gimplify_boolean_expr): Likewise.
2759         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2760         * varasm.c (array_size_for_constructor): Likewise.
2761         * tree-object-size.c (compute_object_offset): Likewise.
2762
2763 2006-04-02  Roger Sayle  <roger@eyesopen.com>
2764
2765         PR middle-end/26977
2766         * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
2767         NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
2768
2769 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
2770
2771         PR tree-optimization/26939
2772         * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
2773
2774 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
2775
2776         * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
2777         at_stmt.  Convert the type of operands before calling
2778         build_polynomial_chrec.
2779         (add_to_evolution): Pass an extra argument at_stmt.  Adjust the call to
2780         add_to_evolution_1.
2781         (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
2782         (instantiate_parameters_1): Convert the type of operands before calling
2783         build_polynomial_chrec.
2784         * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
2785         chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
2786         reset_evolution_in_loop): Insert asserts to check the types of the
2787         operands.
2788         (chrec_type): Moved...
2789         (eq_evolutions_p): Use operand_equal_p.
2790         * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
2791         the types of the operands.
2792         (chrec_type): ...here.
2793         * tree-data-ref.c (create_data_ref): Convert the operands before
2794         calling chrec_replace_initial_condition.
2795         (same_access_functions, analyze_subscript_affine_affine,
2796         analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
2797         (compute_subscript_distance, analyze_ziv_subscript,
2798         analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
2799         analyze_miv_subscript): Convert the operands before calling
2800         chrec_fold_minus or chrec_fold_plus.
2801
2802 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
2803
2804         * tree-data-ref.c (compute_all_dependences): Use a pointer to
2805         the dependence_relations vector.
2806         (compute_data_dependences_for_loop): Adjust call to
2807         compute_all_dependences.
2808
2809 2006-04-01  Roger Sayle  <roger@eyesopen.com>
2810             Richard Henderson  <rth@redhat.com>
2811
2812         * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
2813         gimple_boolify on the condition before calling gimplify_expr.
2814
2815 2006-03-31  Bob Wilson  <bob.wilson@acm.org>
2816
2817         * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
2818         to leaf_entry/leaf_return.  Change leaf_entry to add 16 bytes to
2819         the frame size.  Update to use the new macros.
2820         * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
2821         * config/xtensa/ieee754-df.S: Likewise.
2822
2823 2006-03-31  Richard Henderson  <rth@redhat.com>
2824
2825         * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
2826         (make_edges): ... here.  Control fallthru creation with a local
2827         variable.  Do not play with fake edges.
2828         (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
2829         (make_goto_expr_edges): Don't play with fake edges.  Make for_call
2830         a boolean.
2831
2832 2006-04-01  Joseph S. Myers  <joseph@codesourcery.com>
2833
2834         * dwarf2.h (DW64_CIE_ID): Define.
2835         * dwarf2out.c (DWARF_CIE_ID): Define.
2836         (output_call_frame_info): Output 0xffffffff before standard 8-byte
2837         length header.  Use DWARF_CIE_ID.
2838         (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
2839         dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
2840
2841 2006-03-31  Kaz Kojima  <kkojima@gcc.gnu.org>
2842
2843         * config/sh/linux-atomic.asm: New file.
2844         * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
2845
2846 2006-03-31  DJ Delorie  <dj@redhat.com>
2847
2848         * config/m32c/cond.md: Set condition flags properly throughout.
2849         * config/m32c/minmax.md: Likewise.
2850         * config/m32c/prologue.md: Likewise.
2851         * config/m32c/bitops.md: Likewise.
2852         * config/m32c/muldiv.md: Likewise.
2853         * config/m32c/mov.md: Likewise.
2854         * config/m32c/addsub.md: Likewise.
2855         * config/m32c/m32c.md: Likewise.
2856         * config/m32c/jump.md: Likewise.
2857         * config/m32c/shift.md: Likewise.
2858
2859         * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
2860         conditionally output the pattern for this.
2861         * config/m32c/m32c.c (flags_needed_for_conditional): New.
2862         (m32c_compare_redundant): New.
2863         (m32c_output_compare): New.
2864         * config/m32c/m32c-protos.h (m32c_output_compare): New.
2865
2866         * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
2867         dest, not src.  Allow other 4-byte modes.
2868
2869 2006-03-30  Denis Chertykov  <denisc@overta.ru>
2870
2871         * doc/md.texi: Refer to avr/constraints.md instead of
2872         avr/avr.h.
2873
2874 2006-03-30  Roger Sayle  <roger@eyesopen.com>
2875
2876         * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
2877         signed vs. unsigned comparison failures on some hosts.
2878
2879 2006-03-31  Alan Modra  <amodra@bigpond.net.au>
2880
2881         PR target/26459
2882         * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
2883         change to FLOAT_REGS.
2884
2885         * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
2886         (rs6000_override_options): Use it.
2887         (rs6000_handle_option): Set it.  Set rs6000_explicit_options.abi
2888         only for -mabi=spe/no-spe and -mabi=altivec.
2889
2890 2006-03-30  Geoffrey Keating  <geoffk@apple.com>
2891
2892         * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
2893         !Zdynamiclib.
2894
2895 2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
2896
2897         * Makefile.in: Rename docdir to gcc_docdir.
2898
2899 2006-03-30  Roger Sayle  <roger@eyesopen.com>
2900
2901         PR target/17959
2902         * expr.c (emit_group_store): Optimize group stores into a pseudo
2903         register by using a paradoxical subreg to initialize the destination
2904         if the first or last member of the group specifies a "low part".
2905
2906 2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
2907
2908         PR target/26734
2909         * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
2910         * target.h (struct gcc_target.speculate_insn): Change type of the
2911         second parameter to 'int'.
2912         * lists.c (alloc_DEPS_LIST): Change signature.  Update reference to
2913         the second operand of the DEPS_LIST.
2914         (copy_DEPS_LIST_list): Update reference to the second operand of the
2915         DEPS_LIST.
2916         * rtl.h (alloc_DEPS_LIST): Update signature.
2917         * sched-int.h (ds_t): Change typedef to 'int'.
2918         (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
2919
2920 2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
2921
2922         * haifa-sched.c (try_ready): Change condition to restore
2923         non-speculative pattern of the instruction.
2924         (process_insn_depend_be_in_spec): Code to keep probability of the
2925         speculative dependence non-decreasing.
2926
2927 2006-03-30  Jie Zhang  <jie.zhang@analog.com>
2928
2929         * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
2930         (single_move_for_movmem): ... this. Also change all uses.
2931         (bfin_expand_strmov): Renamed to...
2932         (bfin_expand_movmem): ... this. Also change all uses.
2933         * config/bfin/bfin.md (movstrsi): Renamed to...
2934         (movstrsi): ...this.
2935
2936 2006-03-30  Paolo Bonzini  <bonzini@gnu.org>
2937
2938         PR tree-optimization/26830
2939
2940         * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
2941         (copy_prop_visit_stmt): Remove write-only variable ann.
2942         (init_copy_prop): Check variable loop depth here.  Do not simulate
2943         memory-tag and virtual operand PHIs except for store copy prop.
2944
2945 2006-03-30  Richard Guenther  <rguenther@suse.de>
2946
2947         * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
2948         variants with double arguments.
2949
2950 2006-03-29  David Edelsohn  <edelsohn@gnu.org>
2951
2952         * genpreds.c (write_tm_constrs_h): Delete variable p.
2953         * genconditions.c (write_header): Add tm-constrs.h to included
2954         headers.
2955         * genpeep.c (main): Add toplev.h to included headers.
2956         * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
2957         (build/genpeep.o): Add toplev.h dependency.
2958         * config/rs6000/constraints.md: Add "W" constraint.
2959
2960 2006-03-29  Roger Sayle  <roger@eyesopen.com>
2961
2962         * stor-layout.c (mode_for_size_tree): Remove restiction on type
2963         sizes by correctly testing whether the size fits a host integer.
2964         (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
2965         to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
2966         SImode range for the default sizetype and bitsizetype.
2967
2968 2006-03-29  Roger Sayle  <roger@eyesopen.com>
2969
2970         * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
2971         and TREE_CONSTANT_OVERFLOW bits of the argument.  Return
2972         quickly if the argument is already of the correct type.
2973         Call fold_build1 instead of build1.  Tidy up blank lines.
2974
2975 2006-03-29  David Edelsohn  <edelsohn@gnu.org>
2976
2977         * genemit.c (main): Add tm-constrs.h to included headers.
2978         * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
2979         * genpeep.c (main): Add tm-constrs.h to included headers.
2980         * genpreds.c (write_satisfies_constraint_fns): Rename to ...
2981         (write_tm_constrs_h): this and write complete file.
2982         (write_tm_preds_h): Do not emit satisfies_constraint fns.
2983         (write_insn_preds_c): Add tm-constrs.h to included headers.
2984         (gen_constrs): New variable.
2985         (parse_option): Parse "-c".
2986         (main): Invoke write_tm_constrs_h.
2987         * genrecog.c (write_header): Add tm-constrs.h to included headers.
2988         * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
2989         (object_out_file): Add tm-constrs.h dependency.
2990         (insn-emit.o): Same.
2991         (insn-output.o): Same.
2992         (insn-peep.o): Same.
2993         (insn-preds.o): Same.
2994         (insn-recog.o): Same.
2995         (tm-constsr.h): New target.
2996         (s-constrs-h): New target.
2997
2998         * config/rs6000/constraints.md: New file.
2999         * config/rs6000/rs6000.c: Include tm-constrs.h.
3000         (num_insn_constant_wide): Convert to satisfies_constraint.
3001         (rs6000_rtx_costs): Convert to satisfies_constraint.
3002         * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
3003         (CONST_OK_FOR_LETTER_P): Delete.
3004         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3005         (EXTRA_CONSTRAINT): Delete.
3006         (EXTRA_MEMORY_CONSTRAINT): Delete.
3007         (EXTRA_ADDRESS_CONSTRAINT): Delete.
3008         * config/rs6000/predicates.md: Convert to satisfies_constraint.
3009         * config/rs6000/rs6000.md: Include constraints.md.  Convert to
3010         satisfies_constraint.
3011
3012         * config/i386/i386.c: Include tm-constrs.h.
3013
3014 2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
3015
3016         * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
3017         * tree-data-ref.c (find_data_references_in_loop,
3018         compute_data_dependences_for_loop): Use pointers to VEC.
3019         (analyze_all_data_dependences): Adjust calls.
3020         * tree-data-ref.h (find_data_references_in_loop,
3021         compute_data_dependences_for_loop): Adjust declarations.
3022         * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
3023         compute_data_dependences_for_loop.
3024
3025 2006-03-29  Paul Brook  <paul@codesourcery.com>
3026
3027         * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
3028         (movdf_vfp): Ditto.
3029
3030 2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
3031
3032         PR tree-optimization/26859
3033         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
3034         division by zero.
3035         (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
3036         for the step after fold_convert.
3037
3038 2006-03-29  Paul Brook  <paul@codesourcery.com>
3039
3040         * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
3041         (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
3042
3043 2006-03-29  Paul Brook  <paul@codesourcery.com>
3044
3045         PR middle-end/23623
3046         * targhooks.c (default_narrow_bitfield): New fuction.
3047         * targhooks.h (default_narrow_bitfield): add prototype.
3048         * target.h (gcc_target): Add narrow_volatile_bitfield.
3049         * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
3050         * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
3051         * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
3052         * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
3053
3054 2006-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
3055
3056         * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
3057         tmake_file.
3058         * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
3059         (NR_C_MODES): Add TDmode, DDmode and SDmode.
3060         (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
3061         (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
3062         (s390_function_arg_float): Allow SDmode and DDmode values to be
3063         passed in floating point registers.
3064         (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
3065         check with SCALAR_FLOAT_MODE_P.
3066         (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
3067
3068 2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
3069
3070         PR tree-optimization/25985
3071         * tree-ssa-loop-niter.c (number_of_iterations_le,
3072         number_of_iterations_ne): Make comments more precise.
3073         (number_of_iterations_cond): Add only_exit argument.  Use the
3074         fact that signed variables do not overflow only when only_exit
3075         is true.
3076         (loop_only_exit_p): New.
3077         (number_of_iterations_exit): Pass result of loop_only_exit_p to
3078         number_of_iterations_cond.
3079
3080 2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
3081
3082         PR tree-optimization/26643
3083         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
3084         bit_field_refs.
3085
3086 2006-03-28  Kaz Kojima  <kkojima@gcc.gnu.org>
3087
3088         * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
3089         (divsi3_i4_int): Likewise.
3090
3091 2006-03-28  Roger Sayle  <roger@eyesopen.com>
3092
3093         * expr.c (emit_group_store): Only create a new pseudo reg if the
3094         quantity it needs to hold isn't already a suitable pseudo.
3095
3096 2006-03-28  Jeff Law  <law@redhat.com>
3097
3098         * timevar.def (TV_TREE_PHI_CPROP): New timevar.
3099         * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
3100
3101 2006-03-28  Roger Sayle  <roger@eyesopen.com>
3102
3103         * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
3104         the equivalent ~X & Y, and the symmetry related transformations.
3105         (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
3106         ~X & Y, and symmetry related transforms.
3107
3108 2006-03-28  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3109
3110         Revert my 2006-03-27 patches.
3111
3112 2006-03-28  Roger Sayle  <roger@eyesopen.com>
3113
3114         * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
3115         ~(T1)X, when T1 and T2 are integer types of the same precision
3116         and (T2)X isn't an extension.
3117
3118 2006-03-28  Jeff Law  <law@redhat.com>
3119
3120         PR tree-optimization/26796
3121         * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
3122         need EH edge cleanups rather than purging them immediately.
3123         (eliminate_degenerate_phis): Handle queued EH cleanups.
3124
3125 2006-03-28  Daniel Berlin  <dberlin@dberlin.org>
3126
3127         * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
3128         from parent_var.
3129
3130 2006-03-27  Roger Sayle  <roger@eyesopen.com>
3131
3132         PR middle-end/22524
3133         * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
3134         cast BIT_NOT_EXPR operand to the correct type.
3135
3136 2006-03-27  Sebastian Pop  <pop@cri.ensmp.fr>
3137
3138         * tree-loop-linear.c: Don't include varray.h.
3139         (gather_interchange_stats, try_interchange_loops,
3140         linear_transform_loops): Use VEC instead of VARRAY.
3141         * lambda-mat.c: Don't include varray.h.
3142         * tree-chrec.c: Same.
3143         * lambda-trans.c: Same.
3144         * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
3145         VEC instead of VARRAY.
3146         * tree-vectorizer.h: Idem.
3147         * tree-data-ref.c (dump_data_references,
3148         dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
3149         initialize_data_dependence_relation, finalize_ddr_dependent,
3150         compute_all_dependences, find_data_references_in_loop,
3151         compute_data_dependences_for_loop, analyze_all_data_dependences,
3152         free_dependence_relation, free_dependence_relations,
3153         free_data_refs): Idem.
3154         * tree-data-ref.h (data_reference_p, subscript_p): New.
3155         (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
3156         VEC instead of VARRAY.
3157         (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
3158         (find_data_references_in_loop, compute_data_dependences_for_loop,
3159         dump_ddrs, dump_dist_dir_vectors, dump_data_references,
3160         dump_data_dependence_relations, free_dependence_relations,
3161         free_data_refs): Adjust declaration.
3162         (lambda_transform_legal_p): Move declaration here...
3163         * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
3164         vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
3165         vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
3166         vect_analyze_data_refs): Use VEC instead of VARRAY.
3167         * lambda.h (lambda_transform_legal_p): ...from here.
3168         * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
3169         * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
3170         * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
3171         tree-chrec.o): Don't depend on VARRAY_H.
3172
3173 2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3174
3175         * rtl.def (Copyright): Update date.
3176         (DEPS_LIST): Change type of the second operand to 'int'.
3177         * target.h (Copyright): Update date.
3178         (struct gcc_target.speculate_insn): Change type of the second parameter
3179         to 'int'.
3180         * lists.c (Copyright): Update date.
3181         (alloc_DEPS_LIST): Change signature.  Update reference to the second
3182         operand of the DEPS_LIST.
3183         (copy_DEPS_LIST_list): Update reference to the second operand of the
3184         DEPS_LIST.
3185         * rtl.h (Copyright): Update date.
3186         (alloc_DEPS_LIST): Update signature.
3187         * sched-int.h (Copyright): Update date.
3188         (ds_t): Change typedef to 'int'.
3189         (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
3190
3191 2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3192
3193         * haifa-sched.c (Copyright): Update date.
3194         (try_ready): Change condition to restore non-speculative pattern
3195         of the instruction.
3196         (process_insn_depend_be_in_spec): Code to keep probability of the
3197         speculative dependence non-decreasing.
3198
3199 2006-03-27  Bernd Schmidt  <bernd.schmidt@analog.com>
3200
3201         * regrename.c (replace_oldest_value_addr): Initialize a variable to
3202         shut up the compiler.
3203
3204 2006-03-27  J"orn Rennecke <joern.rennecke@st.com>
3205
3206         * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
3207         to use lib prefix for target.
3208         ($(T)libic_invalidate_array_4-200.a): Likewise.
3209         ($(T)libic_invalidate_array_4a.a): Likewise.
3210
3211 2006-03-27  Andrew Stubbs <andrew.stubbs@st.com>
3212             J"orn Rennecke <joern.rennecke@st.com>
3213
3214         * superh.opt: New file.
3215         * sh.c (boardtype, osruntime): Remove.
3216         * superh.h (SUBTARGET_OPTIONS): Remove.
3217         * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
3218
3219         * config.gcc (sh*-*-*): Don't use c-c ranges for tr.  Quote sed
3220         arguments with ^ and/or [].
3221
3222         * config.gcc (sh-*-*): Add quoting to account for quirk of
3223         Solaris /bin/sh.
3224         Replace == with = in enable_incomplete_targets test.
3225
3226         * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
3227         with MASK_LITTLE_ENDIAN.
3228
3229         * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
3230         * config/sh/sh.opt: Added to some comments.
3231         * config/sh/superh.h: Removed some chaff.
3232
3233         * config/sh/sh.opt: Add m4-[1234]00* options.
3234         * config/sh/sh.c (sh_handle_option): Likewise.
3235         * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
3236         (ic_invalidate_array_4-100.o): New rule.
3237         ($(T)libic_invalidate_array_4-100.a): Likewise.
3238         (ic_invalidate_array_4-200.o): Likewise.
3239         ($(T)libic_invalidate_array_4-200.a): Likewise.
3240         (ic_invalidate_array_4a.o): Likewise.
3241         ($(T)libic_invalidate_array_4a.a): Likewise.
3242         * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
3243         * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
3244         m4-200*, and m4a*.
3245         * config/sh/crt1.asm: Merged in profiling code.
3246         * config/sh/superh.h (STARTFILE_SPEC): Override.
3247         * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
3248         Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
3249         * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
3250
3251         * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
3252         * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
3253         MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
3254
3255         * sh.opt (mpretend-cmove): New option.
3256         * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
3257         * sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
3258         (movsicc): Add TARGET_PRETEND_CMOVE code.
3259
3260 2006-03-27  Andreas Krebbel  <krebbel1@de.ibm.com>
3261
3262         * config/s390/s390-protos.h (s390_hard_regno_mode_ok,
3263         s390_class_max_nregs): New function prototypes.
3264         * config/s390/s390.c (REGNO_PAIR_OK): New macro.
3265         (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
3266         * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
3267         CLASS_MAX_NREGS): Macro bodies replaced by function calls.
3268
3269 2006-03-26  Geoffrey Keating  <geoffk@apple.com>
3270
3271         * dwarf2out.c (add_location_or_const_value_attribute): Call
3272         tree_add_const_value_attribute if nothing else works.
3273         (reference_to_unused): New.
3274         (rtl_for_decl_init): Use reference_to_unused to decide whether
3275         to output an initializer.
3276
3277 2006-03-27  Alan Modra  <amodra@bigpond.net.au>
3278
3279         PR target/26459
3280         * config/rs6000/rs6000.md (DF reg move peephole): Prevent
3281         peephole removing spe frob_di_df_2.
3282
3283 2006-03-26  Sebastian Pop  <pop@cri.ensmp.fr>
3284
3285         * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
3286         (subscript_dependence_tester_1): Declared.
3287         (print_dir_vectors, print_dist_vectors): New.
3288         (debug_data_dependence_relation): New.
3289         (dump_data_dependence_relation): Print more details.
3290         (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
3291         (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
3292         (save_dist_v, save_dir_v, add_outer_distances,
3293         build_classic_dist_vector_1): New.
3294         (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
3295         Don't test for lambda_vector_lexico_pos.
3296         (same_access_functions, add_multivariate_self_dist,
3297         add_other_self_distances, dir_from_dist): New.
3298         (build_classic_dir_vector): Replace implementation almost identical to
3299         build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
3300         dir_from_dist.
3301         (subscript_dependence_tester_1): New.
3302         (subscript_dependence_tester): Handle the lexicographically negative
3303         distance vectors by recomputing the dependence relation.
3304         (compute_affine_dependence): Remove parameter loop_nest_depth.
3305         (compute_self_dependence): Don't call compute_subscript_distance.
3306         (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
3307         Add a parameter for the loop_nest.
3308         (find_loop_nest_1, find_loop_nest): New.
3309         (compute_data_dependences_for_loop): Compute the loop nest, and give
3310         up if the nest is not well formed.
3311         * tree-data-ref.h (loop_p): New.
3312         (struct data_dependence_relation): Replace size_vect field with
3313         loop_nest, a vec of loops.
3314         (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
3315         (DDR_LOOP_NEST): New.
3316         (print_dir_vectors, print_dist_vectors,
3317         debug_data_dependence_relation): Declared.
3318         (index_in_loop_nest): New.
3319         * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
3320         DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
3321         distance.
3322
3323 2006-03-25  Adam Nemet  <anemet@caviumnetworks.com>
3324
3325         * simplify-rtx.c (simplify_relational_operation): Call
3326         simplify_relational_operation_1 even if mode is VOIDmode.
3327
3328 2006-03-25  Daniel Berlin  <dberlin@dberlin.org>
3329
3330         PR tree-optimization/26804
3331         * tree.h (DECL_CALL_CLOBBERED): New macro.
3332         (tree_decl_common): Add call_clobbered_flag.
3333         * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
3334         (mark_call_clobbered): Set DECL_CALL_CLOBBERED.
3335         (clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
3336         (mark_non_addressable): Ditto.
3337         * tree-ssa.c (verify_call_clobbered): New function.
3338         (verify_alias_info): Use it.
3339         * tree-pass.h (pass_reset_cc_flags): New prototype.
3340         * tree-ssa-alias.c (pass_reset_cc_flags): New structure.
3341         (reset_cc_flags): New function.
3342         * passes.c (init_optimization_passes): Call reset_cc_flags after
3343         initializing referenced_vars.
3344
3345 2006-03-25  Uros Bizjak  <uros@kss-loka.si>
3346             Roger Sayle  <roger@eyesopen.com>
3347
3348         PR middle-end/26717
3349         * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
3350         to 1.0 for non-real operands. Implement A / A optimization for
3351         complex operands.
3352
3353 2006-03-25  H.J. Lu  <hongjiu.lu@intel.com>
3354
3355         * config/i386/i386.c (size_cost): Correct the comment for
3356         cost of storing fp registers.
3357         (i386_cost): Likewise.
3358         (i486_cost): Likewise.
3359         (pentium_cost): Likewise.
3360         (pentiumpro_cost): Likewise.
3361         (k6_cost): Likewise.
3362         (athlon_cost): Likewise.
3363         (k8_cost): Likewise.
3364         (pentium4_cost): Likewise.
3365         (nocona_cost): Likewise.
3366         (generic64_cost): Likewise.
3367         (generic32_cost): Likewise.
3368
3369 2006-03-24  Denis Chertykov  <denisc@overta.ru>
3370
3371         * config/avr/avr-protos.h (extra_constraint): Delete.
3372         (extra_constraint_Q): New declaration.
3373         * config/avr/constraints.md: New file.
3374         * config/avr/avr.md: Include it.
3375         (REG_X, REG_Y, REG_Z, REG_W): New constants.
3376         (TMP_REGNO, ZERO_REGNO): Likewise.
3377         (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
3378         * config/avr/avr.c (avr_reg_class_from_letter): Delete.
3379         (extra_constraint): Delete.
3380         (extra_constraint_Q): Test for memory constraint 'Q'.
3381         * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
3382         (REG_CLASS_FROM_LETTER): Delete.
3383         (CONST_OK_FOR_LETTER_P): Delete.
3384         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3385         (EXTRA_CONSTRAINT): Delete.
3386         (TMP_REGNO): Delete.
3387         (ZERO_REGNO): Delete.
3388
3389 2006-03-24  Jeff Law  <law@redhat.com>
3390
3391         * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
3392         directly.  Call mark_new_vars_to_rename slightly earlier.
3393
3394 2006-03-24  Geoffrey Keating  <geoffk@apple.com>
3395
3396         * dwarf2out.c (is_c_family): Understand new DWARF3 language types.
3397         (is_cxx): Likewise.
3398         (gen_compile_unit_die): Use new language types for Objective-C and
3399         Objective-C++.
3400         (dwarf2out_decl): Use is_cxx rather than testing explicitly against
3401         DW_LANG_C_plus_plus.
3402
3403         PR 26793
3404         * config/t-darwin (crt3.o): Work around bug 26840.
3405         * config/darwin-crt3.c: Rewrite.
3406         * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
3407
3408 2006-03-24  Carlos O'Donell  <carlos@codesourcery.com>
3409
3410         * doc/invoke.texi: Document -femit-class-debug-always
3411         * common.opt: Add -femit-class-debug-always.
3412
3413 2006-03-24  Andreas Krebbel  <krebbel1@de.ibm.com>
3414
3415         * config/s390/s390.c (s390_decompose_address): Allow SImode for
3416         index and base register.
3417         (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
3418         print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
3419         with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
3420         REGNO_OK_FOR_INDEX_P.
3421         * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
3422         ADDR_REGNO_P.
3423         (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
3424         REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
3425         REG_OK_FOR_BASE_P): Definitions removed.
3426
3427 2006-03-24  Jakub Jelinek  <jakub@redhat.com>
3428
3429         PR middle-end/26611
3430         * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
3431         non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
3432         set yet or weren't marked as local yet.
3433
3434 2006-03-24  Bernd Schmidt  <bernd.schmidt@analog.com>
3435
3436         * regrename.c (scan_rtx_address): Initialize a variable to shut up
3437         the compiler.
3438
3439 2006-03-24  Eric Botcazou  <ebotcazou@adacore.com>
3440
3441         * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
3442         (rs6000_legitimate_small_data_p): Delete.
3443         * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
3444         (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
3445         and make static.  Add forward declaration.  Update uses.
3446         (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
3447         of offsettable_memref_p.
3448         * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
3449         Use rs6000_offsettable_memref_p instead of a less accurate predicate.
3450
3451 2006-03-24  Jeff Law  <law@redhat.com>
3452
3453         * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
3454         around bug in immediate-use iterator.
3455
3456 2006-03-24  Alan Modra  <amodra@bigpond.net.au>
3457
3458         PR target/26607
3459         * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
3460         or __LITTLE_ENDIAN__.
3461
3462 2006-03-23  J"orn Rennecke <joern.rennecke@st.com>