OSDN Git Service

b3c1fe3a0b8322811d2685ca76898375c5868ce6
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2006-06-23  Danny Smith   <dannysmith@users.sourceforge.net>
2
3         PR target/27789
4         * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
5         for initialization and setting of one_only flag to ...
6         (i386_pe_encode_section_info): ...here.
7         (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
8         Recheck that the symbol has not been defined.
9
10 2006-06-23  Richard Guenther  <rguenther@suse.de>
11
12         * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
13         sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
14         alignment requests instead.  Add verification code.
15         Add struct tree_function_decl and struct tree_binfo size to
16         extra_order_size_table.  Add missing element to size_lookup
17         table.
18
19 2006-06-22  Roger Sayle  <roger@eyesopen.com>
20             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
21
22         PR middle-end/28131
23         * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
24         call to lang_hooks.types.type_for_mode returned NULL_TREE.
25
26 2006-06-23  Ben Elliston  <bje@au.ibm.com>
27
28         * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
29         negate dn -- manipulate it directly.
30
31 2006-06-22  Roger Sayle  <roger@eyesopen.com>
32             Steven Bosscher  <stevenb.gcc@gmail.com>
33
34         PR target/27531
35         * reload1.c (gen_reload): Call mark_jump_label on the new insns
36         generated by gen_move_insn to add REG_LABEL notes if necessary.
37
38 2006-06-22  Bob Wilson  <bob.wilson@acm.org>
39
40         * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
41         (leaf_entry): Remove use of MIN_ESA.
42
43 2006-06-22  Zdenek Dvorak <dvorakz@suse.cz>
44
45         PR rtl-optimization/28121
46         * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
47         the entry edge.
48
49 2006-06-21  DJ Delorie  <dj@redhat.com>
50
51         * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
52         (TN-16C-A156A/E).
53         (mulhisi3_r): Likewise.
54
55 2006-06-21  Richard Sandiford  <richard@codesourcery.com>
56
57         PR middle-end/28034
58         * coverage.c (coverage_counter_alloc): Leave the index type
59         unspecified.
60         (coverage_counter_alloc): Use null arguments for operands 2 and 3
61         of the ARRAY_REF.
62
63 2006-06-21  Andrew Pinski  <pinskia@physics.uc.edu>
64
65         * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
66         section from the "Options for Code Generation Conventions".
67
68 2006-06-21  Richard Henderson  <rth@redhat.com>
69
70         PR target/26347
71         PR target/27082
72         * config/alpha/predicates.md (small_symbolic_operand): Deny weak
73         symbols.
74         (global_symbolic_operand): Allow weak symbols, even if local_p.
75
76 2006-06-21  Eric Botcazou  <ebotcazou@adacore.com>
77
78         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
79         (find_interesting_uses_address): Punt if above function returns true.
80
81 2006-06-21  Richard Guenther  <rguenther@suse.de>
82
83         * configure: Regenerated.
84
85 2006-06-21  Joseph Myers  <joseph@codesourcery.com>
86
87         * config/mips/mips.c (function_arg): Where one part of a
88         complex argument is in registers and the other part in the stack,
89         return a REG not a PARALLEL.
90
91 2006-06-21  Mark Mitchell  <mark@codesourcery.com>
92
93         * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
94         when cross-compiling.  Do not substitute libstdcxx_incdir.
95         * configure: Regenerated.
96
97 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
98
99         * varasm.c (mergeable_string_section): Check for embedded NULs and
100         NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
101         rather than TREE_STRING_LENGTH bytes.
102
103 2006-06-21  Richard Guenther  <rguenther@suse.de>
104
105         * ggc-page.c (extra_order_size_table): Add var_ann_d,
106         tree_ssa_name, bitmap_element and phi_node with 4 arguments
107         sizes.
108
109 2006-06-21  Richrad Guenther  <rguenther@suse.de>
110
111         * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
112         Limit iteration over the dominators.
113
114 2006-06-20  Roger Sayle  <roger@eyesopen.com>
115
116         * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
117         (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
118
119 2006-06-20  Richard Guenther  <rguenther@suse.de>
120         Michael Matz  <matz@suse.de>
121
122         * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
123         function.
124         * alloc-pool.c (free_alloc_pool_if_empty): New function.
125         * et-forest.h (et_free_pools): Prototype new function.
126         * et-forest.c (et_free_tree_force): Free parent occurrence. 
127         (et_free_pools): New function.
128         * dominance.c (free_dominance_info): Free et-forest alloc
129         pools.
130
131 2006-06-20  Roger Sayle  <roger@eyesopen.com>
132
133         * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
134         integer modes, attempt to directly construct an integer constant.
135
136         * fold-const.c (native_encode_vector): Determine the size of each
137         element from the vector type instead of the first vector element.
138
139         * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
140         if all of its elements/components are constant.
141         (build_constructor_from_list): Likewise.
142
143 2006-06-20  Zdenek Dvorak <dvorakz@suse.cz>
144
145         PR tree-optimization/27331
146         * tree-data-ref.c (free_data_ref): New function.
147         (create_data_ref): Fail if the data reference has unknown access
148         function.
149         (free_data_refs): Use free_data_ref.
150
151 2006-06-19  Andrew Pinski  <pinskia@gmail.com>
152
153         PR middle-end/28075
154         * tree-inline.c (setup_one_parameter): Strip useless
155         type conversion before adding it to the IR.
156         (declare_return_variable): Likewise.
157
158 2006-06-19  Martin Michlmayr  <tbm@cyrius.com>
159
160         PR c/27149
161         * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
162
163 2006-06-19  Mike Stump  <mrs@apple.com>
164
165         * tree.c (variably_modified_type_p): VM arguments don't make the
166         type a VM type.
167
168 2006-06-19  Richard Guenther  <rguenther@suse.de>
169
170         * tree-ssa-pre.c (try_combine_conversion): Strip useless
171         type conversions after folding.
172
173 2006-06-19  Richard Guenther  <rguenther@suse.de>
174
175         * ggc-page.c (extra_order_size_tab): Add entries with
176         size of struct function and basic_block.
177         (size_lookup): Extend to cover sizes up to 511.
178         (ggc_alloc_stat): Adjust user.
179         (ggc_pch_count_object): Likewise.
180         (ggc_pch_alloc_object): Likewise.
181         (ggc_pch_write_object): Likewise.
182
183 2006-06-19  Zdenek Dvorak <dvorakz@suse.cz>
184
185         * tree-ssa-loop-niter.c (implies_ge_p): New function.
186         (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
187         correctly.
188
189 2006-06-19  Denis Chertykov  <denisc@overta.ru>
190
191         * config/avr/libgcc.S : Correct my wrong previous commit.
192
193 2006-06-19  Roger Sayle  <roger@eyesopen.com>
194
195         PR target/27861
196         * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
197         have stripped a SUBREG from the shift count, so we may need to
198         convert_to_mode back to the type's mode before calling make_tree.
199         Use new_amount instead of amount to avoid expanding a tree twice.
200
201 2006-06-19  Richard Guenther  <rguenther@suse.de>
202
203         PR middle-end/28045
204         * fold-const.c (operand_equal_p): Check if the argument types
205         have the same precision before stripping NOPs.
206
207 2006-06-19  Daniel Berlin  <dberlin@dberlin.org>
208
209         Fix PR tree-optimization/27341
210         * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
211         statement we get.
212         * tree-complex.c (pass_lower_complex): Update SMT usage.        
213
214 2006-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>
215
216         * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"): 
217         Add a new alternative to the constraint strings. Add move of
218         operand 1 to 3 to the splitter definition.
219         ("doloop_si_long"): Second contraint alternative removed.
220
221 2006-06-08  Anatoly Sokolov <aesok@post.ru>
222
223         * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
224         (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and 
225         __AVR_HAVE_LPMX__.
226         (AVR_HAVE_MOVW) Define.
227         (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
228         (ASM_SPEC): Add avr25.
229         (LINK_SPEC): Add avr25.
230         * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
231         (base_arch_s): Add new member 'have_movw_lpmx'.
232         (avr_arch_types): Init 'have_movw_lpmx'.
233         (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
234         attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
235         attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
236         (avr_override_options): Init 'avr_have_movw_lpmx_p'.
237         (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use 
238         AVR_HAVE_MOVW.
239         (avr_file_start): Do not output '.arh' derective.
240         * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
241         (__do_copy_data): Use __AVR_HAVE_LPMX__.
242         * config/avr/avr.md (mcu_enhanced): Delete.
243         (mcu_have_movw): Define.
244         (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
245         (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
246         * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
247         (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
248         attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, 
249         attiny861 and at86rf401 devices.
250
251 2006-06-18  Jie Zhang  <jie.zhang@analog.com>
252
253         * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
254         of 4096.
255
256 2006-06-17  Karl Berry  <karl@gnu.org>
257
258         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
259         doc/gccint.texi, doc/install.texi (@dircategory): Use
260         "Software development" instead of "Programming", following
261         the Free Software Directory.
262
263 2006-06-17  Alexandre Oliva  <aoliva@redhat.com>
264
265         * config/i386/i386.c (legitimate_tls_address)
266         <TARGET_GNU2_TLS>: Add tp after DTPOFF.
267         * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
268         (*tls_dynamic_gnu2_combine_64): Likewise.
269
270 2006-06-16  Richard Guenther  <rguenther@suse.de>
271
272         PR middle-end/27116
273         * fold-const.c (negate_expr_p): Do not introduce undefined
274         overflow in negating INTEGER_CSTs.
275         (fold_negate_expr): Rename from negate_expr.  Revert last
276         change for folding BIT_NOT_EXPR.  Change semantics to
277         return NULL_TREE for non-simplified negations.  Do not
278         strip type conversions and unify type handling.
279         (negate_expr): New function, wrap around fold_negate_expr
280         but ensure building a tree always.  Strip type conversions
281         here, fold to result type.
282         (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
283
284 2006-06-16  Roger Sayle  <roger@eyesopen.com>
285
286         PR middle-end/27802
287         * reg-stack.c (subst_stack_regs): Handle noreturn function calls
288         that (would) return their results in stack registers.
289
290 2006-06-16  Michael Matz  <matz@suse.de>
291         Richard Guenther  <rguenther@suse.de>
292
293         * fold-const.c (fold_truthop): Only return new tree node if
294         we canonicalized something.
295
296 2006-06-16  Richard Guenther  <rguenther@suse.de>
297
298         * function.h (enum function_frequency): Move declaration
299         out of struct function.
300         (struct function): Move bool fields and the enum to the bitfield
301         section.  Reorder elements to avoid padding.  Remove unused
302         fields left over from the RTL inliner removal.
303         * function.c (free_after_compilation): Do not zero removed fields.
304         * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
305         (ipa-type-escape.o): Likewise.
306
307 2006-06-16  Richard Guenther  <rguenther@suse.de>
308
309         * cgraph.h (struct cgraph_local_info): Turn bool elements
310         into a bitfield.
311         (struct cgraph_node): Likewise.
312         (struct cgraph_varpool_node): Likewise.
313
314 2006-06-15  Richard Guenther  <rguenther@suse.de>
315
316         * fold-const.c (fold_truth_not_expr): Rename from
317         invert_truthvalue.  Give it fold_* semantics to avoid
318         generating garbage.
319         (invert_truthvalue): New function.  Wrapper around
320         fold_truth_not_expr.
321         (optimize_minmax_comparison): Avoid creating garbage.
322         (fold_unary): Use fold_truth_not_expr for folding
323         TRUTH_NOT_EXPR.
324         (fold_ternary): Replace uses of invert_truthvalue with
325         fold_truth_not_expr where applicable.
326         * tree.h (fold_truth_not_expr): Prototype.
327
328 2006-06-16  Richard Guenther  <rguenther@suse.de>
329
330         PR tree-optimization/27781
331         * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
332         * ipa-pure-const.c (target.h): Include.
333         (analyze_function): Do not analyze functions that do not
334         bind locally.
335
336 2006-06-15  Andrew MacLeod  <amacleod@redhat.com>
337         
338         PR middle-end/27793
339         * tree-dfa.c (referenced_vars_dup_list): Remove.
340         (find_referenced_vars): Remove assert.
341         (referenced_var_check_and_insert): Replace dup list with assert.
342         * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
343         * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
344
345 2006-06-15  Richard Guenther  <rguenther@suse.de>
346
347         * tree-ssa-structalias.c (alias_get_name): Avoid creating
348         extra unused identifiers if not dumping.
349         (create_variable_info_for): Likewise.
350
351 2006-06-15  Zdenek Dvorak <dvorakz@suse.cz>
352
353         * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
354         (derive_constant_upper_bound): Derive more precise upper bound in
355         common cases.  Return type changed to double_int.
356         (record_estimate): Reflect the changed return type of
357         derive_constant_upper_bound.
358         * double-int.c (double_int_zext, double_int_sext): Fix.
359
360 2006-06-15  Paolo Bonzini  <bonzini@gnu.org>
361
362         * configure.ac (CFLAGS): Get them from the toplevel or from the
363         configure invocation.
364         * configure: Regenerate.
365         * Makefile.in (CFLAGS): Substitute value provided by configure.
366
367 2006-06-14  Mark Mitchell  <mark@codesourcery.com>
368
369         PR c++/26559
370         * c-common.h (c_finish_omp_atomic): Adjust declaration.
371         * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
372         rather than calling add_stmt on it.
373         * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
374
375 2006-06-14  Andreas Krebbel  <krebbel1@de.ibm.com>
376
377         PR middle-end/27959
378         * reload1.c (reload): Remove registers returned by update_eliminables
379         from used_spill_regs.
380
381 2006-06-13  DJ Delorie  <dj@redhat.com>
382
383         * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
384
385 2006-06-13  Carlos O'Donell  <carlos@codesourcery.com>
386
387         * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
388         html__strip_dir, html__mkdir_p. Enhance install-html target.
389         * configure.ac: AC_SUBST datarootdir, docdir and htmldir. 
390         * configure: Regenerate.
391
392 2006-06-13  Fariborz Jahanian <fjahanian@apple.com>
393
394         * fold-const.c (fold_cond_expr_with_comparison): Check for 
395         Objective-C++ as language in deciding COND_EXPR transformation.
396
397 2006-06-06  J"orn Rennecke <joern.rennecke@st.com>
398
399         PR target/28014:
400         * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
401         * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
402         * config/sh/lib1funcs.h (SL, SL1): Define.
403         * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
404         * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
405         * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
406         (OBJS_Os_4_200): New variable.
407         ($(T)libgcc-Os-4-200.a): Use it.
408         * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
409         when dividing 1 and/or by 0.
410
411 2006-06-13  Roger Sayle  <roger@eyesopen.com>
412
413         * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
414         before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
415         * configure: Regenerate.
416
417 2006-06-13  Jie Zhang  <jie.zhang@analog.com>
418
419         * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
420         for real instruction.
421
422 2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
423
424         PR middle-end/26807
425         * haifa-sched.c (check_cfg): Handle special case.
426
427 2006-06-13  Eric Botcazou  <ebotcazou@adacore.com>
428
429         PR debug/26754
430         * gimplify.c (declare_tmp_vars): Rename into declare_vars.
431         Add debug_info parameter.  Chain the vars to the BLOCK instead
432         of the BIND_EXPR if debug info are requested for them.
433         (pop_gimplify_context): Adjust for above change.
434         (gimple_add_tmp_var): Likewise.
435         * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
436         Add bool parameter.
437         * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
438         (convert_local_reference): Likewise.
439         (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
440         (finalize_nesting_tree_1): Request that debug info be emitted
441         for debug_var_chain.
442
443 2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
444
445         * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
446         for PR target/27863.
447
448 2006-06-13  Richard Guenther  <rguenther@suse.de>
449
450         PR middle-end/27536
451         * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
452
453 2006-06-13  Richard Guenther  <rguenther@suse.de>
454
455         PR tree-optimization/27830
456         * tree-inline.c (copy_body_r): For copying the operand
457         of an ADDR_EXPR make sure to fold &* afterwards.
458
459 2006-06-12  Eric Botcazou  <ebotcazou@adacore.com>
460
461         * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
462         lvalues in the fb_none case with side-effects.
463
464 2006-06-12  Kazu Hirata  <kazu@codesourcery.com>
465
466         * tree-flow.h: Remove the prototype for
467         compute_phi_arg_on_exit.
468         * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
469         protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
470         Remove.
471
472 2006-06-12  Mark Shinwell  <shinwell@codesourcery.com>
473
474         * builtins.c (expand_builtin_return_addr): Only use
475         frame_pointer_rtx when count == 0 and we are expanding
476         __builtin_return_address.
477
478 2006-06-12  Fred Fish  <fnf@specifix.com>
479
480         * config/mips/mips.c (mips_file_start): Create special section
481         ".gcc_compiled_longXX" for o64 ABI as well as EABI.
482
483 2006-06-11  Eric Christopher  <echristo@apple.com>
484
485         PR middle-end/27948
486         * stor-layout.c (place_field): Remove check for
487         remaining_in_alignment when aligning at the end of a run.
488
489 2006-06-11  Eric Christopher  <echristo@apple.com>
490
491         PR 27542
492         * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
493         pragma.
494
495 2006-06-11  Roger Sayle  <roger@eyesopen.com>
496
497         PR target/27858
498         Revert incorrect fix for PR target/27158
499         2006-05-08  Roger Sayle  <roger@eyesopen.com>
500         * reload.c (find_reloads_toplev): Only return the simplified SUBREG
501         of a reg_equiv_constant if the result is a legitimate constant.
502
503 2006-06-11  Roger Sayle  <roger@eyesopen.com>
504
505         PR target/27158
506         * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
507         extract a CONST_VECTOR element and interpret it as an integer.
508         (vspltis_constant): Use const_vector_elt_as_int instead of the
509         macro CONST_VECTOR_ELT in order to handle FP vector modes.
510         * config/rs6000/predicates.md (easy_vector_const): Consider
511         floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
512
513 2006-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
514
515         PR middle-end/27942
516         * stor-layout.c (update_alignment_for_field): Don't add extra
517         alignment for packed non-bitfield fields in ms_bitfield_layout_p
518         code.
519
520 2006-06-09  Ralf Corsepius  <ralf.corsepius@rtems.org>
521
522         * config/mips/t-rtems: Add EL/EB multilib variants.
523
524 2006-06-09  Mike Stump  <mrs@apple.com>
525
526         * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
527
528 2006-06-09  David Daney  <ddaney@avtrex.com>
529
530         * doc/install.texi: Add binutils version recommendation for mips-*-*.
531
532 2006-06-09  Andreas Krebbel  <krebbel1@de.ibm.com>
533
534         * reload.c (find_reloads): Unset force_reload for 'X' constraint.
535
536 2006-06-09  Richard Guenther  <rguenther@suse.de>
537
538         PR tree-optimization/26998
539         * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
540         of signed types, only TYPE_MIN_VALUE is special, but for both,
541         minimum and maximum value.  Likewise VR_ANTI_RANGE is special
542         in this case, as is -fwrapv.
543
544 2006-06-08  Mike Stump  <mrs@apple.com>
545
546         PR target/26427
547         * config/darwin.c (darwin_asm_output_anchor): Disable
548         -fsection-anchors on darwin for now.
549         * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
550         * rs6000/rs6000.c (optimization_options): Likewise.
551
552 2006-06-08  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
553
554         PR target/27421
555         * config/i386/i386.c (classify_argument): Skip fields with invalid
556         types in unions.
557
558 2006-06-08  Steven Bosscher  <steven@gcc.gnu.org>
559
560         * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
561         (cse_insn): Likewise for the stack_pointer_rtx.
562
563 2006-06-08  Roger Sayle  <roger@eyesopen.com>
564
565         * tree-ssa-dom.c (record_conditions): Only record "unordered"
566         conditions from floating point comparisons.
567
568 2006-06-08  Paolo Bonzini  <bonzini@gnu.org>
569
570         PR middle-end/27733
571         * expmed.c (struct alg_hash_entry): Fix type of field T
572         to match synth_mult argument.
573         (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
574
575 2006-06-08  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
576
577         PR target/27863
578         * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
579         block boundaries.
580
581 2006-06-08  Richard Guenther  <rguenther@suse.de>
582
583         PR middle-end/27116
584         * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
585         only, if overflow is defined and not trapping.
586         (negate_expr): Likewise.
587
588 2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
589
590         PR tree-optimization/27872
591         * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
592         flag on the new exit edge of the unrolled loop.
593
594 2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
595
596         PR rtl-optimization/26449
597         * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
598
599 2006-06-07  Andrew MacLeod  <amacleod@redhat.com>
600
601         PR middle-end/27793
602         * tree-dfa.c (referenced_vars_dup_list): New.  List of duplicate
603         referenced_variables with matching DECL_UID's.
604         (find_referenced_vars): Make sure duplicate list is empty to start.
605         (referenced_var_p): Remove.
606         (referenced_var_check_and_insert): Renamed from referenced_var_insert.
607         Check if var is in the list, and add if needed.  Update the duplicate
608         list if a different var is in the list with the same DECL_UID.
609         (add_referenced_var): Call routine to check and insert.
610         * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
611         * tree-flow.h (referenced_vars_dup_list): External declaration.
612
613 2006-06-07  Fred Fish  <fnf@specifix.com>
614
615         * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
616         into single entry.
617
618 2006-06-07  Paolo Bonzini  <bonzini@gnu.org>
619
620         PR target/27390
621         * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
622         the imaginary and real parts of a clobbered register.
623         Emit insn to set the imaginary part.
624
625 2006-06-06  Peter Lemieszewski  <lemie@us.ibm.com>
626
627         * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
628         in lieu of unwind-dw2-fde.c.
629
630 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
631
632         * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
633
634 2006-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
635
636         PR target/27842
637         * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
638         ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
639         ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
640         V4SImode temporaries and operations instead.
641
642 2006-06-06  Joseph S. Myers  <joseph@codesourcery.com>
643
644         * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
645         dp-bit.c.
646
647 2006-06-06  Mike Stump  <mrs@apple.com>
648
649         * Makefile.in: Rename to htmldir to build_htmldir to avoid
650         installing during build.
651
652 2006-06-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
653
654         * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
655         value to 0.
656         * doc/invoke.texi (max-sched-extend-regions-iters): Document.
657         * config/ia64/ia64.c (params.h): New header.
658         (ia64_optimization_options): New function to adjust parameters.
659         * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
660         * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
661         * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
662
663 2006-06-05  Kazu Hirata  <kazu@codesourcery.com>
664
665         * stor-layout.c (debug_rli): Fix a typo in a debug message.
666
667 2006-06-05  Steve Ellcey  <sje@cup.hp.com>
668
669         PR target/27051
670         * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
671
672 2006-06-05  Dorit Nuzman  <dorit@il.ibm.com>
673             Victor Kaplansky  <victork@il.ibm.com>
674
675         PR tree-optimization/26360
676         * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
677         stmts.
678
679 2006-06-04  Roger Sayle  <roger@eyesopen.com>
680             Andrew Pinski  <pinskia@physics.uc.edu>
681
682         PR middle-end/27382
683         * c-common.c (c_common_truthvalue_conversion): Explicitly check
684         for LABEL_DECL before calling DECL_WEAK.
685
686         PR c/27150
687         * c-typeck.c (build_binary_op): Likewise, explicitly check for
688         LABEL_DECL and PARM_DECL.
689
690 2006-06-05  Joseph S. Myers  <joseph@codesourcery.com>
691
692         PR c/25161
693         PR c/27020
694         * c-decl.c (grokdeclarator): Disallow variably modified types at
695         file scope.  Avoid marking shared array type of constant size as
696         VLA.
697
698 2006-06-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
699
700         PR c++/27601
701         * c-common.c (fold_offsetof_1): Handle static members.
702
703 2006-06-04 Eric Christopher <echristo@apple.com>
704
705         * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
706         (debug_rli): Output value for remaining_in_alignment.
707         (update_alignment_for_field): Unconditionalize
708         ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
709         extra alignment code.
710         (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
711         ms_bitfield_layout_p code. Rewrite handling of structure fields.
712         * tree.h (record_layout_info_s): Remove prev_packed.
713         * doc/extend.texi (ms_struct): Add documentation of format.
714
715 2006-06-04  Mark Shinwell  <shinwell@codesourcery.com>
716
717         * tree.h: Declare folding_initializer.
718         * builtins.c (fold_builtin_constant_p): Give definite answer
719         if folding inside an initializer.
720         * fold-const.c: Define folding_initializer.
721         (START_FOLD_INIT): Save and then set folding_initializer.
722         (END_FOLD_INIT): Restore folding_initializer.
723
724 2006-06-04  Richard Guenther  <rguenther@suse.de>
725
726         PR tree-optimization/27039
727         * fold-const.c (fold_comparison): Handle pointer comparison
728         again for all comparison codes.  Compare offsets in signed
729         size type.
730         (fold_binary): Move code from here.
731
732 2006-06-03  Roger Sayle  <roger@eyesopen.com>
733
734         PR target/26223
735         * config/i386/i386.c (construct_container): Split static issued_error
736         flag into issued_sse_arg_error, issued_sse_ret_error and
737         issued_x87_ret_error.  Issue a daignostic if the x86-64 ABI
738         requires the use of x87 registers and the user explicitly
739         specified the -mno-80387 command line option.
740
741 2006-06-02  Geoffrey Keating  <geoffk@apple.com>
742
743         * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
744         HAVE_DECL_SIGALTSTACK.
745         (MC_FLD): New.
746         (segv_handler): Use MC_FLD.
747         * configure.ac: Check for a sigaltstack declaration.
748         Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
749         * configure: Regenerate.
750         * config.in: Regenerate.
751
752 2006-06-03  J"orn Rennecke <joern.rennecke@st.com>
753
754         PR other/27850
755         * Makefile.in (stmp-fixinc): Fix typo.
756
757 2006-06-02  Roger Sayle  <roger@eyesopen.com>
758
759         * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
760         are type correct.  Clean-up.
761         <REALPART_EXPR>: Likewise.  Optimize creal(~z) as creal(z).
762         <IMAGPART_EXPR>: Likewise.  Optimize cimag(~z) as -cimag(z).
763
764 2006-06-01  DJ Delorie  <dj@redhat.com>
765
766         * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
767         shift, as we've disabled the "switch" insn that needs it.
768
769 2006-06-01  Per Bothner  <bothner@bothner.com>
770
771         Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
772         * c-opts.c (finish_options): Use internal line 0 for <command-line>.
773         * c-ppoutput.c (cb_define): Don't increment line 0.
774
775 2006-06-01  Pete Steinmetz  <steinmtz@us.ibm.com>
776
777         * doc/invoke.texi: Add cpu_type power6.
778         * config.gcc: Add cpu_type power6.
779         * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
780         to power5+ with Altivec.
781         * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
782         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
783
784 2006-05-30  Anatoly Sokolov <aesok@post.ru>
785
786         * config/avr/avr.h (SET_ASM_OP): Define.
787
788 2006-06-01  Kazu Hirata  <kazu@codesourcery.com>
789
790         * config/bfin/bfin.c: Fix comment typos.
791
792 2006-06-01  Paolo Bonzini  <bonzini@gnu.org>
793
794         PR 25453
795         * doc/install.texi: Document --enable-bootstrap and
796         --disable-bootstrap.
797
798 2006-06-01  Paolo Bonzini  <bonzini@gnu.org>
799
800         * doc/install.texi: Document that InfoZIP can replace jar.
801
802 2006-05-31  Roger Sayle  <roger@eyesopen.com>
803
804         * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
805         isn't available, directly generate the simpler x87 patterns without
806         the (use (const_int 0)).
807         * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
808         implementation isn't available.
809         (*negdf2_1): Likewise.
810         (*negxf2_1): XF mode negation is always done using the x87.
811         (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
812
813 2006-05-31  Roger Sayle  <roger@eyesopen.com>
814
815         * builtins.c (fold_builtin_cabs): Delete prototype.  Require an
816         additional FNDECL argument.  Optimize cabs(-z) and cabs(~z) as
817         cabs(z).
818         (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
819
820 2006-05-31  Jie Zhang  <jie.zhang@analog.com>
821
822         * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
823         * config/bfin/bfin.c (basic-block.h): Include.
824         (struct machine_function): New.
825         (bfin_init_machine_status): New.
826         (override_options): Initialize init_machine_status.
827         (bfin_hardware_loop): New.
828         (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
829         (DEF_VEC_P (loop_info)): New.
830         (DEF_VEC_ALLOC_P (loop_info,heap)): New.
831         (struct loop_info): New.
832         (loop_info): New typedef.
833         (struct loop_work): New.
834         (loop_work): New typedef.
835         (DEF_VEC_O (loop_work)): New.
836         (DEF_VEC_ALLOC_O (loop_work,heap)): New.
837         (bfin_dump_loops): New.
838         (bfin_bb_in_loop): New.
839         (bfin_scan_loop): New.
840         (bfin_optimize_loop): New.
841         (bfin_reorg_loops): New.
842         (bfin_reorg): Use bfin_reorg_loops.
843         * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
844         loop registers.
845         (I_REGNO_P): Simplify.
846         (DP_REGNO_P, DPREG_P): New macros.
847         (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
848         REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
849         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
850         Add LT_REGS, LC_REGS, LB_REGS.
851         (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
852         'l' for LB_REGS.
853         (REGNO_REG_CLASS): Deal with loop registers.
854         * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
855         letters.
856         (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
857         New constants for loop registers.
858         (UNSPEC_LSETUP_END): New.
859         (seq_insns): New define_attr. Set it for appropriate insns.
860         (movsi_insn): Add alternatives for move from/to
861         loop count registers.
862         (doloop_end): New define_expand.
863         (loop_end): New define_insn.
864         (define_split for bad doloop_end): New.
865         (lsetup_with_autoinit): New define_insn.
866         (lsetup_without_autoinit): New define_insn.
867         (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
868         * config/bfin/predicates.md (lc_register_operand): New.
869         (lt_register_operand): New.
870         (lb_register_operand): New.
871         (nondp_register_operand): New.
872         (nondp_reg_or_memory_operand): New.
873         * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
874
875 2006-05-31  Jie Zhang  <jie.zhang@analog.com>
876
877         * config/bfin/bfin.c (bfin_delegitimize_address): New.
878         (TARGET_DELEGITIMIZE_ADDRESS): Define.
879
880 2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
881
882         * Makefile.in (CATALOGS): Add po/ prefix.
883         * configure: Regenerated.
884
885 2006-05-31  Richard Earnshaw  <richard.earnshaw@arm.com>
886
887         PR target/27829
888         * arm.c (arm_print_operand case 'S'): Validate that the operand is
889         a shift operand before calling shift_op.  Avoid redundant call of
890         shift_op.
891
892 2006-05-30  Naveen.H.S  <naveenh@kpitcummins.com>
893             DJ Delorie  <dj@redhat.com>
894
895         * config/m32c/m32c.c (m32c_expand_insv): Check that the value
896         we're inserting is a singlt-bit constant.
897
898 2006-05-30  Roger Sayle  <roger@eyesopen.com>
899
900         * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
901         width to HOST_WIDE_INT to avoid comparison warnings on some targets.
902
903 2006-05-30  Roger Sayle  <roger@eyesopen.com>
904
905         PR tree-optimization/23452
906         * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
907         to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
908         (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
909         complex values and with -ffast-math for FP complex values.
910
911 2006-05-30  Kazu Hirata  <kazu@codesourcery.com>
912
913         * c-common.h: Remove the prototype for yyparse.
914         * rtl.h: Remove the prototype for init_loop.
915
916 2006-05-30  Andreas Krebbel  <krebbel1@de.ibm.com>
917
918         * cse.c (validate_canon_reg, cse_insn): Don't change insns without
919         calling recog.
920
921 2006-05-30  Roger Sayle  <roger@eyesopen.com>
922
923         * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
924         and rotate cases.
925         <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
926         log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
927
928 2006-05-30  Dirk Mueller  <dmueller@suse.de>
929
930         PR c/27273
931         * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
932         for CONSTANT_CLASS_P expresisons.
933
934 2006-05-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
935
936         PR c/27718
937         * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
938
939 2006-05-30  Zdenek Dvorak <dvorakz@suse.cz>
940
941         PR tree-optimization/27779
942         * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
943         initial_condition instead of CHREC_LEFT.
944
945 2006-05-30  Steven Bosscher  <stevenb.gcc@gmail.com>
946
947         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
948         * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
949         Make prototypes ISO C90.
950
951 2006-05-30  Mircea Namolaru  <namolaru@il.ibm.com>
952             Leehod Baruch    <leehod.baruch@weizmann.ac.il>
953
954         * see.c (see_analyze_one_def): Correct check.
955         (see_get_extension_data): Check if extension is parallel.
956         (see_get_extension_reg): Likewise.
957
958 2006-05-30  Uros Bizjak  <uros@kss-loka.si>
959
960         PR target/27790
961         * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
962         into register for (code == GTU).
963
964 2006-05-29  Roger Sayle  <roger@eyesopen.com>
965
966         PR tree-optimization/24964
967         * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
968         <MULT>: Minor clean-up.  Don't convert x*-1.0 into -x if we honor
969         signaling NaNs.  Optimize -x*-x as x*x for all float modes, and
970         abs(x)*abs(x) as x*x for scalar floating point modes.
971
972 2006-05-29  Sebastian Pop  <pop@cri.ensmp.fr>
973
974         PR middle-end/27745
975         * lambda-code.c (perfect_nestify): Don't copy statements
976         in the inner loop: move them to the inner loop header.
977
978 2006-05-29  Diego Novillo  <dnovillo@redhat.com>
979
980         PR 26237
981         * c-tree.texi: Document OpenMP directives and clauses.
982
983 2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
984
985         * varasm.c (globalize_decl): Fix indentation.
986
987 2006-05-29  Diego Novillo  <dnovillo@redhat.com>
988
989         PR 26242
990         * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
991         pass_fre, pass_store_ccp, pass_copy_prop,
992         pass_store_copy_prop, pass_merge_phi, pass_nrv,
993         pass_return_slot, pass_object_size, pass_lim,
994         pass_linear_transform, pass_empty_loop, pass_complete_unroll,
995         pass_loop_prefetch and pass_stdarg.
996
997 2005-05-29  Bernd Schmidt  <bernd.schmidt@analog.com>
998
999         * config/bfin/bfin.opt (mfdpic): New option.
1000         * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
1001         (EXTRA_MULTILIB_PARTS): Likewise.
1002         (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
1003         (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
1004         multilib.
1005         * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
1006         (CRT_CALL_STATIC_FUNCTION): New.
1007         * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
1008         -shared.
1009         (CRT_CALL_STATIC_FUNCTION): New.
1010         * config/bfin/bfin.c (legitimize_pic_address): Now static.  Handle
1011         FD-PIC moves.
1012         (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
1013         (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
1014         (initialize_trampoline): Changed to handle FD-PIC code generation.
1015         (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
1016         (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
1017         (override_options): Disallow -mid-shared-library -mfdpic combination.
1018         Can't do unaligned ops if FD-PIC.
1019         Turn off flag_pic if trying to generate non-id-shared-library
1020         non-fdpic code, since it's not supported.
1021         (bfin_assemble_integer): New function.
1022         (TARGET_ASM_INTEGER): Define.
1023         * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
1024         __BFIN_FDPIC__.
1025         * config/bfin/crtn.s: Restore them.
1026         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
1027         if TARGET_FDPIC.
1028         (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
1029         LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
1030         (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
1031         (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
1032         (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
1033         call-used.
1034         (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
1035         FDPIC_REGS and FDPIC_FPTR_REGS.
1036         (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
1037         * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
1038         UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
1039         (load_funcdescsi): New pattern.
1040         (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
1041         sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
1042         call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
1043
1044 2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
1045
1046         * gcse.c, rtlanal.c: Remove obsolete comments associated with
1047         loop.c.
1048
1049         * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
1050
1051         * tree-flow.h: Remove the prototype for add_type_alias.
1052         * tree-ssa-alias.c (add_type_alias): Remove.
1053
1054 2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
1055
1056         * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
1057         config/fr30/fr30.md, config/i386/i386-interix.h,
1058         config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
1059         config/sh/superh64.h, config/v850/v850.c, df-core.c,
1060         df-problems.c, df.h, except.c, final.c, haifa-sched.c,
1061         lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
1062         reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
1063         tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
1064         Follow spelling conventions.
1065         * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
1066         Follow spelling conventions.
1067
1068 2006-05-27  Richard Guenther  <rguenther@suse.de>
1069
1070         PR middle-end/27773
1071         * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
1072         to produce a constant of value 1 of generic type.
1073
1074 2006-05-27  Dirk Mueller  <dmueller@suse.de>
1075
1076         * cgraphunit.c (decide_is_function_needed): Fix wrong
1077         PR reference.
1078
1079 2006-05-26  Ulrich Weigand  <uweigand@de.ibm.com>
1080
1081         PR rtl-optimization/27661
1082         * reload.c (find_reloads): When reloading a VOIDmode constant
1083         as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
1084         use Pmode as mode of the reload register.
1085
1086 2006-05-26  Eric Botcazou  <ebotcazou@adacore.com>
1087
1088         * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
1089         is enabled at -O and above.
1090
1091 2006-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1092
1093         PR target/27571
1094         * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
1095         table data.
1096
1097 2006-05-25  Mark Mitchell  <mark@codesourcery.com>
1098
1099         PR c++/20103
1100         * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
1101         for anonymous variables explicitly declared by front ends.
1102
1103 2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
1104
1105         * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
1106         (struct alias_info): Add new field ref_all_symbol_mem_tag.
1107         * tree-ssa-alias.c (compute_may_aliases): If the program contains
1108         ref-all pointers, run a finalization pass for them.
1109         (compute_flow_insensitive_aliasing): Skip ref-all pointers.
1110         (finalize_ref_all_pointers): New function.
1111         (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
1112         regular pointer type to a ref-all pointer type.
1113         (get_tmt_for): Return the special memory tag for ref-all pointers.
1114
1115 2006-05-25  Richard Guenther  <rguenther@suse.de>
1116
1117         PR middle-end/27743
1118         * fold-const.c (fold_binary): Do not look at the stripped
1119         op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
1120
1121 2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
1122
1123         * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
1124         for LT and GT if the computed range is effectively empty.
1125
1126 2006-05-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1127
1128         PR target/27627
1129         * pa/pa-modes.def: Use mips_single_format, mips_double_format and
1130         mips_quad_format formats instead of ieee_single_format,
1131         ieee_double_format and ieee_quad_format formats, respectively.
1132
1133 2006-05-24  Zdenek Dvorak <dvorakz@suse.cz>
1134
1135         PR tree-optimization/27639
1136         PR tree-optimization/26719
1137         * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
1138         call to scev_probably_wraps_p.
1139         * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
1140         used_in_pointer_arithmetic_p, convert_step): Removed.
1141         (nowrap_type_p): New function.
1142         (scev_probably_wraps_p): Rewritten.
1143         * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
1144         chrec_convert if chrec_convert_aggressive might have been used.
1145         * tree-chrec.c (convert_affine_scev, chrec_convert_1,
1146         scev_direction): New functions.
1147         (chrec_convert): Changed to a wrapper over chrec_convert_1.
1148         * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
1149         instead of convert_step.
1150         * tree-flow.h (scev_probably_wraps_p): Declaration changed.
1151         (convert_step): Declaration removed.
1152         (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
1153
1154 2006-05-23  Kenneth Zadeck <zadeck@naturalbridge.com>
1155
1156         * df-core.c: Added to header comments.
1157         * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
1158         df_ur_bb_info, df_urec_bb_info): Added comments.
1159         * df-problems (df_ref_bitmap, ru, rd, lr, ur,
1160         urec, ri problems): Fixed header comments.
1161         (df_ru_transfer_function): Fixed in-out set dyslexia when copying
1162         code from df_rd_transfer_function.
1163
1164 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
1165
1166         * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
1167         (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
1168         MIN_UNITS_PER_WORD to set the default.  Also use it in the guard.
1169
1170 2006-05-23  Joseph Myers  <joseph@codesourcery.com>
1171
1172         * expr.c (undefined_operand_subword_p): New.
1173         (emit_move_multi_word): Do not generate move from undefined bits
1174         of a paradoxical subreg.
1175
1176 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
1177
1178         PR rtl-optimization/27736
1179         * combine.c (replaced_rhs_value): New variable.
1180         (combine_instructions): Set it.
1181         (distribute_notes): When distributing a note in replaced_rhs_insn,
1182         check whether the value was used in replaced_rhs_value.
1183
1184 2006-05-23  Andrew MacLeod  <amacleod@redhat.com>
1185
1186         PR c++/26757
1187         * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
1188         add_referenced_var instead of add_referenced_tmp_var.
1189         * tree-complex.c (create_one_component_var): Use add_referenced_var.
1190         * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
1191         add_referenced_var.
1192         * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
1193         tree_optimize_tail_calls_1): Use add_referenced_var.
1194         * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
1195         * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
1196         Use add_referenced_var.
1197         * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
1198         * gimplify.c (force_gimple_operand): Use add_referenced_var.
1199         * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
1200         Use add_referenced_var.
1201         * tree-dfa.c (struct walk_state): Remove.
1202         (find_referenced_vars): Remove walk state and vars_found hash table.
1203         (make_rename_temp): Use add_referenced_var.
1204         (find_vars_r): Pass less parameters to add_referenced_var.
1205         (referenced_var_p): New.  Is var in referenced_var hash table.
1206         (referenced_var_insert): Assert var isn't already in hash table.
1207         (add_referenced_var): Don't need walk_state parameter.  Add var if it
1208         isn't already in the hash table.
1209         (add_referenced_tmp_var): Remove.
1210         (find_new_referenced_vars_1): Use add_referenced_var.
1211         * tree-ssa-pre.c (create_expression_by_pieces,
1212         insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
1213         Use add_referenced_var.
1214         * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
1215         * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
1216         lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
1217         add_referenced_var.
1218         * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
1219         vect_create_data_ref_ptr, vect_create_destination_var,
1220         vect_init_vector, vect_build_loop_niters,
1221         vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
1222         vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
1223         Use add_referenced_var.
1224         * tree-outof-ssa.c (create_temp): Use add_referenced_var.
1225         * tree-flow.h (add_referenced_tmp_var): Remove prototype
1226         (add_referenced_var): Add prototype.
1227         * tree-ssa-structalias.c (get_constraint_for,
1228         intra_create_variable_infos): Use add_referenced_var.
1229
1230 2006-05-23  Alexandre Oliva  <aoliva@redhat.com>
1231
1232         * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
1233         big-endian paradoxical subregs.
1234         * var-tracking.c (struct micro_operation_def): Document that,
1235         for modify micro operations, insn is the subsequent instruction.
1236         (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
1237         (var_reg_set, var_mem_set): ... new functions.
1238         (add_stores): Record subsequent insn.
1239         (compute_bb_dataflow): Use new functions for MO_USE.
1240         (emit_notes_in_bb): Use new functions for MO_USE.  Emit use
1241         notes after the insn, and modify notes before the insn known
1242         to be the subsequent one.
1243         (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
1244
1245 2006-05-23  Kazu Hirata  <kazu@codesourcery.com>
1246
1247         PR target/27696
1248         * config/i386/i386.c (ix86_expand_builtin): Use
1249         gen_sse3_monitor64 for TARGET_64BIT.
1250
1251 2006-05-22  Kenneth Zadeck <zadeck@naturalbridge.com>
1252
1253         PR rtl-optimization/26375
1254         PR rtl-optimization/26855
1255         * df-problems (df_ru_bb_local_compute_process_def): Removed update
1256         to gen set.
1257         (df_ru_bb_local_compute): Reversed statements and removed bogus
1258         comment explaining why they should be in wrong order.
1259         (df_ru_dump, df_rd_dump): Enhanced debug info.
1260         * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
1261         debug info.
1262         * ddg.c (add_deps_for_def): Converted use of reaching defs to
1263         reaching uses and fixed space problem.
1264
1265 2006-05-23  Jan Hubicka  <jh@suse.cz>
1266
1267         * cgraphunit.c (decide_is_function_needed): Also nested functions
1268         and functions declared inline can be optimized out at -O0.
1269
1270 2006-05-22  Gerald Pfeifer  <gerald@pfeifer.com>
1271
1272         * doc/install.texi (Configuration): Remove reference to CrossGCC
1273         FAQ which was gone.
1274         (Building): Ditto.
1275
1276 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
1277
1278         PR target/27266
1279         * config/i386/i386.c (ix86_expand_branch): Jump to simple if
1280         ix86_compare_emitted is non-NULL.
1281
1282 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1283
1284         PR c++/27451
1285         * stmt.c (expand_asm_operands): Skip asm statement with erroneous
1286         clobbers.
1287
1288 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
1289
1290         PR rtl-optimization/25514
1291         * combine.c (replaced_rhs_insn): New variable.
1292         (combine_instructions): Set replaced_rhs_insn when trying to replace
1293         a SET_SRC with a REG_EQUAL note.
1294         (distribute_notes): Use replaced_rhs_insn when determining the live
1295         range of a REG_DEAD register.
1296
1297 2006-18-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
1298             Anatoly Sokolov <aesok@post.ru>
1299
1300         * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
1301         attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
1302         attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
1303         atmega164p, atmega324p, atmega644p, atmega644, atmega329,
1304         atmega3290, atmega649, atmega6490, atmega406, atmega640,
1305         atmega1280, atmega1281, at90can32, at90can64, at90usb646,
1306         at90usb647, at90usb1286 and at90usb1287 devices.
1307         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1308         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1309
1310 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
1311
1312         * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
1313
1314 2006-05-22  Richard Guenther  <rguenther@suse.de>
1315
1316         Revert
1317         2006-01-31  Richard Guenther  <rguenther@suse.de>
1318         Paolo Bonzini  <bonzini@gnu.org>
1319
1320         * doc/install.texi (--disable-libgcc-math): Document.
1321
1322 2006-05-22  Richard Guenther  <rguenther@suse.de>
1323
1324         Revert
1325         2006-01-31  Richard Guenther  <rguenther@suse.de>
1326
1327         * doc/invoke.texi (-msselibm): Document.
1328         * target.h (expand_library_builtin): New target hook.
1329         * builtins.c (expand_builtin): Use expand_library_builtin.
1330         (default_expand_library_builtin): New function.
1331         * gcc.c (LINK_GCC_MATH_SPEC): Define.
1332         (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
1333         (link_gcc_math_spec): Declare.
1334         (static_specs): Add link_gcc_math_spec.
1335         * expr.h (default_expand_library_builtin): Declare.
1336         * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
1337         (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
1338         * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
1339         * config/i386/i386.opt (msselibm): New target option.
1340         * config/i386/i386.c (ix86_builtin_function_variants): New array.
1341         (ix86_init_sse_abi_builtins): New function.
1342         (ix86_expand_library_builtin): Likewise.
1343         (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
1344         (override_options): Handle error conditions wrt -msselibm.
1345         (ix86_builtins): Add function codes for SSE2 ABI builtins.
1346         (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
1347         * doc/extend.texi (__builtin_sse2_*): Document new target specific
1348         builtins.
1349
1350 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1351
1352         PR c/27420
1353         * c-common.c (self_promoting_args_p): Skip erroneous args.
1354
1355         PR c/26818
1356         * c-decl.c (finish_struct): Skip erroneous fields.
1357
1358 2006-05-22  Nick Clifton  <nickc@redhat.com>
1359
1360         * config/cris/cris.opt (march): Remove VarExists attribute.
1361         (max-stackframe=): Likewise.
1362
1363 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
1364
1365         * doc/rtl.texi: Fix a typo.
1366         * see.c: Fix comment typos.
1367
1368         * tree-ssa-structalias.h (alias_info): Remove num_references.
1369
1370 2006-05-21  Mike Stump  <mrs@apple.com>
1371
1372         * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
1373         (BAD2): Add.
1374         (darwin_pragma_options): Use BAD instead.
1375         (darwin_pragma_unused): Likewise.
1376         (darwin_pragma_ms_struct): Likewise.
1377
1378 2006-05-21  David Edelsohn  <edelsohn@gnu.org>
1379
1380         * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
1381
1382 2006-05-21  Kazu Hirata  <kazu@codesourcery.com>
1383
1384         PR rtl-optimization/27671
1385         * simplify-rtx.c (simplify_relational_operation_1): Fix
1386         simplifications of (eq/ne (xor x y) y) and
1387         (eq/ne (xor x y) x).
1388
1389         PR tree-optimization/26622.
1390         * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
1391         on arg1.
1392
1393 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
1394
1395         * tree-cfg.c: Prune whitespace.
1396         (debug_tree_cfg): Point to correct header containing the
1397         TDF_* defines.
1398
1399 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
1400
1401         PR middle-end/25776
1402         * cgraphunit.c (verify_cgraph_node): Typo in error message.
1403
1404 2006-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
1405
1406         PR middle-end/25776
1407         * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
1408         or sorry count is non zero.
1409
1410 2006-05-20  Andreas Schwab  <schwab@suse.de>
1411
1412         * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
1413
1414 2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
1415             Kenneth Zadeck <zadeck@naturalbridge.com>
1416
1417         PR rtl-optimization/26855
1418
1419         * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
1420         multiword refs.
1421         (df_scan_alloc): Added code to properly handle multiword hard
1422         registers and add all_blocks parameter.
1423         (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
1424         code to properly handle multiword hard registers.
1425         (df_rescan_blocks): Added code to remove deleted blocks from
1426         bitmap.
1427         (df_ref_create_structure, df_ref_record): Added code to properly
1428         handle subregs.
1429         (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
1430         and set DF_REF_PARTIAL.
1431         (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
1432         (df_uses_record): Added DF_REF_PARTIAL for subreg.
1433         (df_scan_add_problem): Added flags parameter.
1434         (df_ref_create_structure): Changed switching structure.
1435         (df_bb_refs_record): Fixed case where duplicate artificial refs
1436         were created.  Changed location of flags.
1437         (df_record_entry_block_defs): Added code to make stack pointer
1438         live in entry block.  Refined cases where frame pointer is needed.
1439         Changed location of flags.
1440         (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
1441         (df_set_state): Removed function.
1442         (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
1443         df_insn_create_insn_record, df_insn_refs_delete,
1444         df_ref_create_structure): Formatting changes.
1445         * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
1446         df_delete_basic_block): New function.
1447         (df_init): Changed location of flags.
1448         (df_add_problem): Added flags parameter and the way flags are
1449         processed.
1450         (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
1451         debug_df_chain): Improved debugging output.
1452         (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
1453         (df_refs_chain_dump): Removed df parameter.
1454         (df_iterative_dataflow): Added consistency check.
1455         (df_prune_to_subcfg): Made public.
1456         (df_analyze_problem): Added blocks_to_init parameter and made
1457         public.
1458         (df_ref_record, df_bb_refs_record, df_mark_reg,
1459          df_record_exit_block_uses): Whitespace changes.
1460         (df_dump): Whitespace changes.
1461         * df.h: Some reordering to remove forward references.
1462         (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
1463         DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
1464         (df_ref_flags.DF_REF_CLOBBER): Deleted field.
1465         (dataflow.flags): New field.
1466         (df.flag): Deleted field.
1467         (df_alloc_function): Added additional bitmap parameter.
1468         (df_dependent_problem_function): New type.
1469         (df_problem.changeable_flags): New field.
1470         (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
1471         DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
1472         (df_mw_hardreg): New struct.
1473         (DF_INSN_UID_MWS): New macro.
1474         (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
1475         parameter.
1476         (df_add_problem, df_ru_add_problem, df_rd_add_problem,
1477         df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
1478         df_ri_add_problem, df_scan_add_problem): Added flags parameter.
1479         (df_set_state): Removed function.
1480         (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
1481         * df-problems.c (df_chain_dump): Removed df parameter.
1482         (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
1483         df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
1484         parameter.
1485         (df_ru_alloc, df_rd_alloc): Now resets all blocks.
1486         (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
1487         df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
1488         Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
1489         DF_REF_MUST_CLOBBER cases.
1490         (df_ru_bb_local_compute_process_def,
1491         df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
1492         df_lr_bb_local_compute, df_ur_bb_local_compute,
1493         df_chain_create_bb): Made subreg aware.
1494         (df_ru_bb_local_compute, df_rd_bb_local_compute,
1495         df_lr_bb_local_compute, df_lr_bb_local_compute,
1496         df_chain_create_bb): Cleanup to use proper macros.
1497         (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
1498         code to fixup bitvectors.
1499         (df_ri_alloc): Cleared lifetime.
1500         (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
1501         df_create_unused_note): New function.
1502         (df_ri_bb_compute, df_ri_compute): Added code to create/update
1503         REG_DEAD and REG_UNUSED notes as well as register information.
1504         (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
1505         df_chains_dump): Fixed crash if problem was never run.
1506         (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
1507         df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
1508         df_ri_add_problem): Processes flags in uniform manner.
1509         (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
1510         df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
1511         df_rd_dump, df_urec_free_bb_info): Formatting changes.
1512         (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
1513         df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
1514         df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
1515         df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
1516         df_ur_dump, df_urec_free_bb_info, df_urec_dump,
1517         df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
1518         * modulo-sched.c (sms_schedule): Added flag parameter to calls.
1519         * see.c (see_initialize_data): Ditto.
1520         * final.c (rest_of_clean_state) Added regstack_completed.
1521         * rtl.h (regstack_completed): Ditto.
1522         * reg-stack.c (regstack_completed): Ditto.
1523
1524 2006-05-19  Mike Stump  <mrs@apple.com>
1525
1526         * c-tree.h (default_conversion): Remove.
1527         * c-common.h (default_conversion): Add.
1528
1529 2006-05-19  Zdenek Dvorak <dvorakz@suse.cz>
1530
1531         * tree-vrp.c (valid_value_p): New function.
1532         (adjust_range_with_scev): Fail if the value of bound is not
1533         simple.
1534
1535 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
1536
1537         * config/mips/linux-unwind.h: Include <asm/unistd.h>
1538         (mips_fallback_frame_state): Use syscall numbers to determine
1539         the appropriate li instruction for the current ABI.  Only use
1540         __NR_sigreturn for o32.
1541
1542 2006-05-19  Nicolas Setton  <setton@adacore.com>
1543
1544         * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
1545         * langhooks.c (lhd_dwarf_name): New function.
1546         * langhooks-def.h (lhd_dwarf_name): Declare.
1547         (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
1548         * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
1549         * ada/misc.c (gnat_dwarf_name): New function.
1550         (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
1551
1552 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
1553
1554         * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
1555         libgcc2.h.
1556         (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
1557         MIN_UNITS_PER_WORD logic from libgcc2.h.  Do nothing if
1558         LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
1559         * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
1560         Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
1561         determine the size of Wtype, etc.
1562         * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
1563         (swfloatfuncs): New variable.
1564         (dwfloatfuncs): Likewise.
1565         (lib2funcs): Remove floating-point conversion functions from
1566         initial assignment.  Use LIB2_SIDITI_CONV_FUNCS to determine
1567         the set of conversion routines needed.  Allow entries to specify
1568         an object name, filename and word size.  Update users accordingly.
1569         * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
1570         * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
1571
1572         Revert:
1573
1574         2006-02-08  Roger Sayle  <roger@eyesopen.com>
1575
1576         PR target/22209
1577         * config/fixtfdi.c: New libgcc source file.
1578         * config/fixunstfdi.c: New source file.
1579         * config/floatditf.c: New source file.
1580         * config/floatunditf.c: New souce file.
1581         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
1582         files above instead of config/mips/_tilib.c.
1583         * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
1584
1585 2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1586
1587         * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
1588         * pa/pa-hpux11.h (LIB_SPEC): Update comment.
1589
1590 2006-05-18  Mike Stump  <mrs@apple.com>
1591
1592         Fix up vla, vm and [*] sematics.
1593
1594         PR c/18740
1595         PR c/7948
1596         PR c/25802
1597         PR c/27673
1598         * c-tree.h (struct c_arg_info): Add had_vla_unspec.
1599         (c_vla_unspec_p): Add.
1600         (c_vla_type_p): Add.
1601         * c-decl.c (struct c_scope): Add had_vla_unspec.
1602         (build_array_declarator): Add support for [*].
1603         (grokdeclarator): Likewise.
1604         (grokparms): Likewise.
1605         (get_parm_info): Likewise.
1606         * c-objc-common.c (c_vla_unspec_p): Likewise.
1607         * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
1608         * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
1609         typeof when argument is a variably modified type not inside sizeof or alignof.
1610         (c_parser_direct_declarator_inner): Propagate errors.
1611         (c_parser_sizeof_expression): Add support for [*].
1612         (c_parser_parms_declarator): Initialize had_vla_unspec.
1613         (c_parser_parms_list_declarator): Likewise.
1614         * c-typeck.c (c_vla_type_p): Add.
1615         (composite_type): Add support for vla compositing.
1616         (comptypes_internal): Add support for vla compatibility.
1617         (c_expr_sizeof_expr): Evaluate vla arguments.
1618         * tree.c (variably_modified_type_p): Update comment for [*].
1619
1620 2006-05-18  Michael Matz  <matz@suse.de>
1621
1622         PR target/27599
1623         * config.host: Make assignments to host_xmake_file cumulative.
1624         * config.host (*-darwin*): Test $host, not $target.
1625
1626 2006-05-12  Stuart Hastings  <stuart@apple.com>
1627
1628         * config/i386/i386.opt (-mstackrealign): New flag.
1629         * config/i386/i386.c (force_align_arg_pointer): New attribute.
1630         (ix86_handle_cconv_attribute): Emit error when
1631         force_align_arg_pointer attribute collides with too many regparms.
1632         (ix86_function_regparm): Limit regparms when used with
1633         force_align_arg_pointer attribute.  (ix86_internal_arg_pointer):
1634         Support stack-realigning prologue in non-main functions.  Emit
1635         warning for nested functions under -mstackrealign, emit error for
1636         nested functions with force_align_arg_pointer attribute.
1637         * doc/extend.texi (force_align_arg_pointer): Document it.
1638         * doc/invoke.texi (-mstackrealign): Document it.
1639
1640 2006-05-17  Kazu Hirata  <kazu@codesourcery.com>
1641
1642         PR rtl-optimization/27477
1643         * combine.c (try_combine): Don't split a parallel consisting
1644         of two sets into two individual sets if both sets reference
1645         cc0.
1646
1647 2006-05-17  H.J. Lu  <hongjiu.lu@intel.com>
1648
1649         * config/arm/arm.opt (target_fpe_name): Remove VarExists.
1650         * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
1651
1652         * doc/options.texi (VarExists): Updated.
1653
1654 2006-05-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1655
1656         * unwind-dw2.c: Add declarations for uw_update_context and
1657         uw_frame_state_for.
1658         * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
1659         detected, advance frame state and context once to skip over stub.
1660
1661 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
1662
1663         PR middle-end/20256
1664         PR middle-end/26435
1665         * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
1666         Call rewrite_into_loop_closed_ssa only when something changed.
1667         * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
1668         * lambda-code.c (can_convert_to_perfect_nest): Declared.
1669         (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
1670         Test for perfect_nest_p here.  Fix formating.
1671         (replace_uses_equiv_to_x_with_y): Fix formating.
1672         (stmt_uses_op): Removed.
1673         (can_convert_to_perfect_nest): Removed loopivs parameter.
1674         Complete the test by checking the scalar dependences.
1675         (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
1676         Fix formating.
1677
1678 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1679
1680         PR bootstrap/22541
1681         From Dan Kegel <dank@kegel.com>:
1682         * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
1683
1684 2006-05-17  Eric Botcazou  <ebotcazou@adacore.com>
1685
1686         * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
1687         if the element type is variably modified without recursing.
1688
1689 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
1690
1691         PR middle-end/27332
1692         * tree-loop-linear.c (try_interchange_loops): Test for
1693         no data dependences.
1694
1695 2006-05-17  Zdenek Dvorak <dvorakz@suse.cz>
1696
1697         PR tree-optimization/27548
1698         * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
1699         range of ssa names that appear on abnormal edges.
1700         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
1701         * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
1702
1703 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1704
1705         PR middle-end/27620
1706         * expr.c (safe_from_p): Handle CONSTRUCTOR again.
1707
1708 2006-05-17  Jakub Jelinek  <jakub@redhat.com>
1709
1710         PR middle-end/27415
1711         * tree.h (OMP_PARALLEL_COMBINED): Define.
1712         * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
1713         (new_omp_context): Add is_combined_parallel argument.
1714         (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
1715         new_omp_context caller.
1716         (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
1717         Adjust gimplify_scan_omp_clauses callers.
1718         (omp_is_private): Issue errors if iteration variable is firstprivate
1719         or reduction in the current context.
1720         * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
1721         on combined parallel workshare constructs.
1722
1723 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1724
1725         * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
1726         (gcc-options.o): New rule.
1727
1728         * optc-gen.awk: Protect variables for gcc-options.o with
1729         #ifdef GCC_DRIVER/#endif.
1730
1731 2006-05-16  Daniel Berlin <dberlin@dberlin.org>
1732
1733         Fix PR tree-optimization/27373
1734         * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
1735          (forward_propagate_addr_expr): Update call.
1736
1737 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1738
1739         * doc/options.texi: Move the Negative option.
1740
1741 2006-05-16  Richard Guenther  <rguenther@suse.de>
1742
1743         PR tree-optimization/22303
1744         * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
1745         from STRING_CSTs.
1746         (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
1747         ccp_fold did not simplify the statement.
1748
1749 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1750
1751         PR driver/26885
1752         * Makefile.in (GCC_OBJS): New.
1753         (OBJS-common): Add opts-common.o.
1754         (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
1755         (cpp$(exeext)): Likewise.
1756         (gcc.o): Also depend on opts.h.
1757         (opts-common.o): New.
1758
1759         * common.opt (gcoff): Add Negative(gdwarf-2).
1760         (gdwarf-2): Add Negative(gstabs).
1761         (gstabs): Add Negative(gstabs+).
1762         (gstabs+): Add Negative(gvms).
1763         (gvms): Add Negative(gxcoff).
1764         (gxcoff): Add Negative(gxcoff+).
1765         (gxcoff+): Add Negative(gcoff).
1766         * config/i386/i386.opt (m32): Add Negative(m64).
1767         (m64): Add Negative(m32).
1768
1769         * doc/options.texi: Document the Negative option.
1770
1771         * gcc.c: Include "opts.h".
1772         (main): Call prune_options after expandargv.
1773
1774         * optc-gen.awk: Generate common declarations for all flag
1775         variables in options.c. Output the neg_index field.
1776
1777         * opts.c (find_opt): Moved to ...
1778         * opts-common.c: Here. New file.
1779
1780         * opts.h (cl_option): Add a neg_index field.
1781         (find_opt): New.
1782         (prune_options): Likewise.
1783
1784 2006-05-16  Jakub Jelinek  <jakub@redhat.com>
1785
1786         PR middle-end/27573
1787         * omp-low.c (expand_omp_parallel): Don't assert
1788         .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
1789         instead search for it.
1790
1791         PR c/27499
1792         * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
1793         is signed.
1794
1795 2006-05-16  Andreas Schwab  <schwab@suse.de>
1796
1797         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
1798         defmac.
1799
1800 2006-05-15  Roger Sayle  <roger@eyesopen.com>
1801
1802         PR target/26600
1803         * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
1804         integer constants other than zero are only legitimate on TARGET_64BIT.
1805         <CONST_VECTOR> Only zero vectors are legitimate.
1806         (ix86_cannot_force_const_mem): Integral and vector constants can
1807         always be put in the constant pool.
1808
1809 2006-05-16  DJ Delorie  <dj@redhat.com>
1810
1811         * crtstuff.c (__dso_handle): Set section from
1812         TARGET_LBIGCC_SDATA_SECTION if defined.
1813         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
1814         * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
1815
1816 2006-05-16  Danny Smith  <dannysmith@users.sourceforge.net>
1817
1818         PR target/27599
1819         * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
1820         host_xmake_file.
1821
1822 2006-05-16  Ben Elliston  <bje@au.ibm.com>
1823
1824         * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
1825
1826 2006-05-15  Per Bothner  <per@bothner.com>
1827
1828         * tree.c: (last_annotated_node): Use source_locus typedef.
1829         This permits bootstrapping with --enable-mapped-location.
1830
1831 2006-05-15  Zdenek Dvorak <dvorakz@suse.cz>
1832
1833         PR tree-optimization/26830
1834         * tree-into-ssa.c (struct ssa_name_info): Add age field.
1835         (info_for_ssa_name, current_info_for_ssa_name_age,
1836         blocks_to_update): New variables.
1837         (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
1838         (clear_ssa_name_info, initialize_flags_in_bb,
1839         mark_block_for_update): New functions.
1840         (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
1841         (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
1842         prepare_def_site_for): Use mark_block_for_update.
1843         (mark_def_interesting): Assert that the processed block is marked in
1844         blocks_to_update.  Do not take blocks argument.
1845         (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
1846         argument.
1847         (rewrite_update_init_block, rewrite_update_stmt): Only process
1848         blocks with statements to rewrite.
1849         (delete_update_ssa): Do not clear SSA_NAME_AUX.
1850         (update_ssa): Initialize and free blocks_to_update.  Do not
1851         clear flags on statements.  Do not use blocks bitmap.
1852         * tree.h (SSA_NAME_AUX): Removed.
1853         (struct tree_ssa_name): Removed aux field.
1854         * print-tree.c (print_node): Do not print SSA_NAME_AUX.
1855
1856 2006-05-15  Richard Guenther  <rguenther@suse.de>
1857
1858         PR tree-optimization/27603
1859         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1860         Do computations in original type.
1861
1862 2006-05-15  Mircea Namolaru  <namolaru@il.ibm.com>
1863
1864         * see.c: Code style changes such as redundant paranthesis,
1865         redundant intialization of local variables etc.
1866         (see_main): Declared now as static.
1867         * doc/invoke.texi: Update that -fsee is not enabled by
1868         default at -O3.
1869
1870 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
1871
1872         * omp-low.c (check_omp_nesting_restrictions): New function.
1873         (scan_omp_1): Call it.
1874
1875         PR middle-end/27416
1876         * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
1877         construct, return *VAR.
1878
1879 2006-05-14  Kaz Kojima  <kkojima@gcc.gnu.org>
1880
1881         PR rtl-optimization/27406
1882         * bt-load.c (migrate_btr_def): Skip the block having abnormal
1883         edges.
1884
1885 2006-05-14  Roger Sayle  <roger@eyesopen.com>
1886
1887         PR rtl-optimization/27538
1888         * combine.c (expand_compound_operation): Call gen_lowpart
1889         before calling simplify_shift_const.
1890
1891 2006-05-14  Roger Sayle  <roger@eyesopen.com>
1892
1893         PR rtl-optimization/22563
1894         * expmed.c (store_fixed_bit_field): When using AND and IOR to store
1895         a fixed width bitfield, always force the intermediates into psuedos.
1896
1897 2006-05-14  Bernhard Fischer  <aldot@gcc.gnu.org>
1898
1899         PR 27501
1900         * mkconfig.sh: Use operator = instead of == for test.
1901
1902 2006-05-13  Nick Clifton  <nickc@redhat.com>
1903
1904         * dwarf2out.c (dbx_reg_number): Check return value from
1905         LEAF_REG_REMAP and only use it if it is valid.
1906         (multiple_reg_loc_descriptor): Likewise.
1907
1908 2006-05-13  Richard Guenther  <rguenther@suse.de>
1909
1910         * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
1911         host_xmake_file.
1912
1913 2006-05-13  Steven Bosscher  <stevenb.gcc@gmail.com>
1914
1915         * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
1916         information attached to non-INSNs such as NOTEs.
1917         (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
1918
1919 2006-05-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1920
1921         * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
1922         On contraint.
1923         * config/s390/s390.md: Adjust comment describing On constraint.
1924
1925 2006-05-11  Jan Hubicka  <jh@suse.cz>
1926
1927         * cgraphunit.c (decide_is_function_needed): Don't force always_inline
1928         to be output at -O0.
1929
1930 2006-05-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1931
1932         PR middle-end/27384
1933         * fold-const.c (size_binop): Move sanity check for arguments to
1934         the beginning of the function.
1935
1936         PR middle-end/27488
1937         * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
1938         expression.
1939
1940 2006-05-11  Richard Guenther  <rguenther@suse.de>
1941
1942         PR middle-end/27529
1943         * fold-const.c (fold_unary): Handle intermediate conversion
1944         to a pointer type like intermediate conversion to an integer
1945         type in folding of (T1)(T2)var to var.
1946         Match the code to the comment in the final conversion for
1947         (T1)(T2)var to (T1)var regarding to type precision.  Rather
1948         than disallow T1 being of pointer type, assert that both T1
1949         and var are of pointer type or not.  Make sure not to fall
1950         over the frontends lazyness wrt array to pointer decay though.
1951
1952 2006-05-10  Richard Earnshaw  <rearnsha@arm.com>
1953
1954         * arm.c (arm_struct_value_rtx): Delete.
1955         (TARGET_STRUCT_VALUE_RTX): Use the default definition.
1956         (arm_init_cumulative_args): Always initialize nregs to zero.
1957
1958 2006-05-10  Richard Guenther  <rguenther@suse.de>
1959
1960         PR tree-optimization/27532
1961         * tree-object-size.c (plus_expr_object_size): Fix typo.
1962
1963 2006-05-10  Kazu Hirata  <kazu@codesourcery.com>
1964
1965         PR target/24949
1966         * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
1967         ashrdi_const, ashrdi3): Use a scratch register.
1968
1969 2006-05-10  Richard Guenther  <rguenther@suse.de>
1970
1971         PR tree-optimization/27302
1972         * fold-const.c (operand_equal_p): For two comparisons,
1973         try comparison of one comparison code swapped if that yields
1974         the same code.
1975
1976 2006-05-10  Ben Elliston  <bje@au.ibm.com>
1977
1978         * tree-pretty-print.c (pretty_print_string): No need to handle
1979         '\0' as a special character.
1980
1981         * tree.h: Include "hashtab.h".
1982         (iterative_hash_expr): Use hashval_t in its prototype.
1983         * Makefile.in (TREE_H): Add $(HASHTAB_H).
1984
1985 2006-05-09  Steve Ellcey  <sje@cup.hp.com>
1986
1987         PR bootstrap/26872
1988         * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
1989         (hppa*64*-*-hpux11*): Ditto.
1990         (hppa[12]*-*-hpux11*): Ditto.
1991
1992 2006-05-09  David Edelsohn  <edelsohn@gnu.org>
1993
1994         PR target/26545
1995         * config/rs6000/aix41.h (TARGET_64BIT): Define.
1996
1997 2006-05-09  Michael Matz  <matz@suse.de>
1998
1999         * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
2000         host_extra_gcc_objs and host_xmake_file.
2001         (<*-*-linux*>): Don't overwrite host_xmake_file.
2002         * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
2003         * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
2004         (host_detect_local_cpu): Declare.
2005         (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
2006         * config/i386/i386.c (override_options): Handle -mtune=native
2007         as -mtune=generic.
2008         * config/i386/x-i386: New file.
2009         * config/i386/driver-i386.c: New file.
2010         * doc/invoke.texi (<i386 and x86-64 Options>): Describe
2011         cpu-type "native".
2012
2013 2006-05-09  Dirk Mueller  <dmueller@suse.de>
2014         Richard Guenther  <rguenther@suse.de>
2015
2016         PR middle-end/27498
2017         * fold-const.c (fold_read_from_constant_string): Relax check
2018         for matching types to matching modes.
2019
2020 2006-05-09  Zdenek Dvorak <dvorakz@suse.cz>
2021
2022         PR rtl-optimization/27335
2023         * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
2024         loops.
2025
2026 2006-05-08  Chao-ying Fu  <fu@mips.com>
2027             Richard Sandiford  <richard@codesourcery.com>
2028
2029         * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
2030         (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
2031         * config/mips/mips.md (UNSPEC_SCC): New constant.
2032         * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
2033         * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
2034         (mips_emit_compare): Use it.
2035         (mips_expand_vcondv2sf): New function.
2036
2037 2006-05-08  Daniel Berlin  <dberlin@dberlin.org>
2038
2039         Fix PR tree-optimization/27093
2040         * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
2041         renaming when they become not-used_alone.
2042
2043 2006-05-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2044
2045         * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
2046         relocation and relocation stubs.
2047
2048 2006-05-08  Eric Christopher  <echristo@apple.com>
2049
2050         * unwind-dw2-fde-darwin.c (examine_objects): Only check data
2051         section for ppc.
2052
2053 2006-05-08  Jan Hubicka  <jh@suse.cz>
2054
2055         PR middle-end/24561
2056         * cgraphunit.c (decide_is_function_needed): When not optimizing even
2057         unused static functions are needed.
2058
2059 2006-05-08  Roger Sayle  <roger@eyesopen.com>
2060
2061         PR target/27158
2062         * reload.c (find_reloads_toplev): Only return the simplified SUBREG
2063         of a reg_equiv_constant if the result is a legitimate constant.
2064
2065 2006-05-08  Uros Bizjak  <uros@kss-loka.si>
2066
2067         PR target/27277
2068         * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
2069         standard 80387 constants, raise the cost to prevent
2070         compress_float_constant() to generate load from memory.
2071
2072 2006-05-08  Kazu Hirata  <kazu@codesourcery.com>
2073
2074         * config/arm/constraints.md (c): Fix a typo.
2075
2076         * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
2077         typos.
2078
2079 2006-05-07  H.J. Lu  <hongjiu.lu@intel.com>
2080
2081         PR target/24879
2082         * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
2083         inline function.
2084         (_mm_mwait): Likewise.
2085
2086         * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
2087         "mwait".
2088         (sse3_monitor): Make it 32bit only.
2089         (sse3_monitor64): New. 64bit monitor.
2090
2091 2006-05-07  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2092
2093         PR target/27421
2094         * config/i386/i386.c (classify_argument): Skip fields with invalid
2095         types.
2096
2097 2006-05-07  Richard Guenther  <rguenther@suse.de>
2098
2099         PR tree-optimization/27409
2100         * tree-ssa-structalias.c (get_constraint_for_component_ref):
2101         Do not try to find zero-sized subvars.
2102
2103 2006-05-07  Richard Guenther  <rguenther@suse.de>
2104
2105         PR tree-optimization/27136
2106         * tree-ssa-loop-niter.c (get_val_for): Correct function
2107         comment, assert requirements.
2108         (loop_niter_by_eval): Stop processing if the iterated
2109         value did not simplify.
2110
2111 2006-05-07  Mircea Namolaru  <namolaru@il.ibm.com>
2112
2113         * opts.c (flag_see): remove its setting at -O3.
2114
2115 2006-05-07  Richard Earnshaw  <rearnsha@arm.com>
2116
2117         * genpeep.c (main): Make insn-peep.c depend on flags.h.
2118         * arm/constraints.md: New file.
2119         * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
2120         (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
2121         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
2122         (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
2123         (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
2124         (EXTRA_MEMORY_CONSTRAINT): Likewise.
2125         * arm.md: Include constraints.md.
2126         (thumb_movsi_insn): Use satisfies_constraint_J.
2127         (movhi, movqi): Use satisfies_constraint_I.
2128
2129 2006-04-29 Anatoly Sokolov <aesok@post.ru>
2130
2131         * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
2132         for atmeg a645 device.
2133
2134 2006-05-06   Richard Guenther  <rguenther@suse.de>
2135
2136         PR tree-optimization/27151
2137         * tree-vect-transform.c (vectorizable_condition): Punt on
2138         values that have a different type than the condition.
2139
2140 2006-05-03  Aldy Hernandez  <aldyh@redhat.com>
2141
2142         PR/21391
2143         * c-parser.c (c_parser_cast_expression): Only insert casts into
2144         hash table if pointer.
2145         * function.c (used_types_insert_helper): Rename from
2146         used_types_insert.
2147         (used_types_insert): Call used_types_insert_helper.
2148         * function.h (used_types_insert): Accept only one argument.
2149
2150 2006-05-05  David Edelsohn  <edesohn@gnu.org>
2151
2152         * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
2153         scratch with output modifier.
2154
2155 2006-05-04  David Edelsohn  <edelsohn@gnu.org>
2156
2157         PR target/26481
2158         * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
2159         with output modifier.
2160
2161 2006-05-04  Richard Sandiford  <richard@codesourcery.com>
2162
2163         PR target/26765
2164         * config/mips/mips.c (mips_symbolic_address_p): Return true
2165         for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
2166         SYMBOL_GOTTPREL, and SYMBOL_TLS.
2167
2168 2006-05-04  Richard Guenther  <rguenther@suse.de>
2169
2170         PR tree-optimization/14287
2171         PR tree-optimization/14844
2172         PR tree-optimization/19792
2173         PR tree-optimization/21608
2174         PR tree-optimization/27090
2175         * tree-ssa-pre.c (try_combine_conversion): New function.
2176         (compute_avail): After constructing the value-handle
2177         expression, use try_combine_conversion to combine NOP_EXPRs
2178         with previous value-handle expressions and use the result if it
2179         is available.
2180
2181 2006-05-04  Joseph S. Myers  <joseph@codesourcery.com>
2182
2183         * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
2184
2185 2006-05-04  Jan Hubicka  <jh@suse.cz>
2186
2187         PR middle-end/25962
2188         * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
2189
2190 2006-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
2191
2192         * config/bfin/predicates.md (const01_rtx): Tell generator programs
2193         that this only matches CONST_INTs.  All users changed to VOIDmode
2194         operands.
2195
2196         * config/bfin/bfin.c: Include "optabs.h".
2197         (bfin_rtx_costs): Some costs for vector operations, to allow combine
2198         to do more work.
2199         (enum bfin_builtins): Add a number of fractional and vector builtins.
2200         (bfin_init_builtins): Likewise.
2201         (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
2202         (safe_vector_operand, bfin_expand_binop_builtin,
2203         bfin_expand_unop_builtin): New functions.
2204         (bfin_expand_builtin): Handle the new builtins.
2205         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
2206         __ADSPBLACKFIN__.
2207
2208 2006-05-04  Leehod Baruch  <leehod@il.ibm.com>
2209
2210         * see.c: New file.
2211         * Makefile.in (OBJS-common): Add see.o.
2212         (see.o): Add dependencies.
2213         * common.opt (fsee): New flag for the see optimization was added.
2214         * opts.c (flag_see): Initialized.
2215         * passes.c (init_optimization_passes, pass_see): New pass.
2216         * rtl.h (see_main): Declaration as extern.
2217         * timevar.def (TV_SEE): New.
2218         * tree-pass.h (pass_see): Declaration as extern.
2219         * invoke.texi (-fsee): Document.
2220         * recog.c (validate_simplify_insn): New function.
2221         * recog.h (validate_simplify_insn): Declaration as extern.
2222         * df-problems.c (df_chain_dump): Check for NULL.
2223
2224 2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
2225             Daniel Berlin  <dberlin@dberlin.org>
2226
2227         * cfgrtl.c (insert_insn_bb_end_new): New function.
2228         * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
2229
2230 2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>
2231
2232         * df.h (struct web_entry): Moved from web.c.
2233         (union_defs): Declaration as extern.
2234         (unionfind_root): Likewise.
2235         (unionfind_union): Likewise.
2236         * web.c (struct web_entry): Moved to df.h.
2237         (unionfind_root): Remove static declaration.
2238         (unionfind_union): Likewise.
2239         (union_defs): Likewise and generalize to use callback function.
2240         (web_main): Update arguments for union_defs function call.
2241
2242 2006-05-04  Richard Guenther  <rguenther@suse.de>
2243
2244         PR tree-optimization/26447
2245         * tree-ssa-pre.c (realify_fake_stores): For necessary loads
2246         produce SSA_NAME copies before the store stmt to avoid
2247         breaking exception handling.
2248
2249 2006-05-04  Jakub Jelinek  <jakub@redhat.com>
2250
2251         PR middle-end/27388
2252         * gimplify.c (omp_is_private): If var is shared in some outer context,
2253         return false instead of true.  Stop searching on parallel context
2254         boundary.
2255
2256 2006-05-03  Alexandre Oliva  <aoliva@redhat.com>
2257
2258         PR java/8260
2259         * coverage.c: Use get_gcov_unsigned_t() instead of
2260         unsigned_type_node all over.
2261
2262 2006-05-02  Andrew MacLeod  <amacleod@redhat.com>
2263
2264         PR tree-optimization/27381
2265         * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
2266         maintain the same immediate_use links.
2267         * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
2268         node rather than segfaulting.
2269
2270 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
2271
2272         PR fortran/27395
2273         * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
2274         rather than TREE_CODE to OMP_CLAUSE_REDUCTION.  Set also GOVD_SEEN
2275         bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
2276
2277 2006-05-02  Daniel Berlin  <dberlin@dberlin.org>
2278
2279         Fix PR tree-optimization/26626
2280         * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
2281         always.
2282         * tree-ssa-operands.c (access_can_touch_variable): Allow
2283         typecasting through union pointers.
2284
2285 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
2286
2287         PR c++/26943
2288         * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
2289         (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
2290         to find if var will be a global variable even in the nested context.
2291         (omp_copy_decl): Only check for global variable at the end, it might
2292         be overridden in outer contexts.
2293         (scan_sharing_clauses): For global variables don't create a field.
2294         (lower_rec_input_clauses): Do nothing for global shared variables.
2295         Emit a barrier at the end of ILIST if there were any decls in both
2296         firstprivate and lastprivate clauses.
2297         (lower_send_clauses): Do nothing for global variables except for
2298         COPYIN.
2299
2300 2006-05-02  Zdenek Dvorak <dvorakz@suse.cz>
2301
2302         * tree.c (unsigned_type_for, signed_type_for): Make sure a type
2303         of the correct signedness is returned.
2304
2305 2006-05-02  Jeff Law  <law@redhat.com>
2306
2307         PR tree-optimization/27364
2308         * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
2309         multiply expressions.
2310
2311 2006-05-02  Tom Tromey  <tromey@redhat.com>
2312
2313         * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
2314
2315 2006-05-02  Kazu Hirata  <kazu@codesourcery.com>
2316
2317         PR target/27387
2318         * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
2319         -mthumb -fPIC are used.
2320
2321 2006-05-02  Stanislaw Skowronek  <skylark@linux-mips.org>
2322             Joshua Kinard  <kumba@gentoo.org>
2323
2324         PR target/25871
2325         * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
2326         with 64-bit pointers.
2327
2328 2006-05-02  Paul Brook  <paul@codesourcery.com>
2329
2330         * config/arm/arm.c (add_minipool_forward_ref): Check if insn
2331         and pool overlap.
2332         (create_fix_barrier): Check that a suitable barrier location is
2333         found.
2334         (arm_reorg): Include ftmp->address in allowable range of addresses.
2335
2336 2006-05-02  David Billinghurst <David.Billinghurst@riotinto.com>
2337
2338         PR ada/27366
2339         * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
2340         on Cygwin.
2341
2342 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
2343
2344         PR middle-end/27337
2345         * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
2346         around RESULT_DECL for result passed by reference.
2347         (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
2348         * omp-low.c (use_pointer_for_field): Don't look at
2349         DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
2350         (scan_omp_1): Call remap_decl on RESULT_DECLs.
2351         (lower_rec_input_clauses): Don't allocate VLA memory for the second
2352         time or var for passing by reference for
2353         OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses.  Allow creation of
2354         TREE_ADDRESSABLE variables when passing by reference.
2355
2356         * omp-low.c (dump_omp_region): Fix output formatting.
2357
2358         PR middle-end/27328
2359         * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
2360         (expand_omp_parallel): Likewise.
2361         * tree-cfg.c (move_sese_region_to_fn): Likewise.
2362
2363         PR middle-end/27325
2364         * omp-low.c (lower_omp_sections): Call maybe_catch_exception
2365         on statement list containing also constructors and destructors.
2366         (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
2367
2368         PR middle-end/27310
2369         * except.c (duplicate_eh_regions): Fix clearing of
2370         cfun->eh->region_array entries.
2371
2372 2006-05-01  DJ Delorie  <dj@redhat.com>
2373
2374         * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
2375         build!=host.
2376         (gcc_cv_objdump): Likewise.
2377         * configure: Regenerated.
2378
2379 2006-05-01  Kazu Hirata  <kazu@codesourcery.com>
2380
2381         PR target/27374
2382         * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
2383         templates for case 3 and 4.
2384
2385 2006-05-01  DJ Delorie  <dj@redhat.com>
2386
2387         * vec.c: Include bconfig.h when appropriate.
2388         * Makefile.in (build/vec.o): Adjust dependencies.
2389         * mkconfig.sh: Make sure config.h isn't used for build machine
2390         compiles.
2391
2392 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
2393
2394         * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
2395         variables.
2396         (mark_phi_for_rewrite): New function.
2397         (insert_phi_nodes_for, mark_use_interesting): Call
2398         mark_phi_for_rewrite.
2399         (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
2400         (update_ssa): Initialize and free phis_to_rewrite.
2401
2402 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
2403
2404         PR rtl-optimization/27291
2405         * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
2406         folded to a constant.
2407
2408 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
2409
2410         PR tree-optimization/27283
2411         * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
2412         not whole # of iteration descriptions.
2413         (niter_for_exit): Return just # of iterations.  Fail if # of iterations
2414         uses abnormal ssa name.
2415         (niter_for_single_dom_exit): Ditto.
2416         (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
2417         return just the number of iterations.
2418
2419 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
2420
2421         PR tree-optimization/27144
2422         * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
2423         (record_estimate): Only record constant upper bound.
2424         (infer_loop_bounds_from_undefined): Call
2425         compute_estimated_nb_iterations just once.
2426         (proved_non_wrapping_p): Renamed to ...
2427         (n_of_executions_at_most): ... this.  Expect bound to be a constant.
2428         (convert_step_widening, scev_probably_wraps_p): Call
2429         n_of_executions_at_most instead of proved_non_wrapping_p.
2430         (substitute_in_loop_info): Do not replace values in bounds.
2431         * cfgloop.h (struct nb_iter_bound): Remove "additional" field.  Update
2432         comments.
2433
2434 2006-05-01  Richard Henderson  <rth@redhat.com>
2435
2436         PR c/27358
2437         * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
2438         c_parser_skip_to_pragma_eol.  Convert to switch statement.  Handle
2439         CPP_PRAGMA.
2440
2441 2006-05-01  Roger Sayle  <roger@eyesopen.com>
2442
2443         * c-typeck.c (parser_build_binary_op): Don't call the function
2444         unsigned_conversion_warning to spot operand/result type overflow.
2445         (build_binary_op): Instead, call convert_and_check instead of
2446         convert to report the problem when the operands are promoted.
2447         * c-common.c (unsigned_conversion_warning): Make static.
2448         * c-common.h (unsigned_conversion_warning): Delete prototype.
2449
2450 2006-05-01  Richard Guenther  <rguenther@suse.de>
2451
2452         PR tree-optimization/26726
2453         * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
2454         problem ...
2455         (find_interesting_uses_address): ... we work around here
2456         by folding INDIRECT_REFs in the substituted base.
2457
2458 2006-05-01  Diego Novillo  <dnovillo@redhat.com>
2459
2460         * omp-low.c (dump_omp_region): Add newlines.
2461
2462 2006-04-30  Roger Sayle  <roger@eyesopen.com>
2463
2464         * common.opt (Woverflow): New command line option.
2465         * c-common.c (constant_expression_warning): Check warn_overflow.
2466         (overflow_waring): Pass OPT_Woverflow to warning.
2467         (unsigned_conversion_warning): Likewise.
2468         (convert_and_check): Likewise.
2469         * doc/invoke.texi: Document new command line option.
2470
2471 2006-04-30  David Edelsohn  <edelsohn@gnu.org>
2472
2473         * config/rs6000/rs6000.c (rs6000_override_options): Enable
2474         TARGET_NO_FP_IN_TOC for section anchors.
2475         (optimization_options): Enable section anchors for all
2476         non-"Objective" languages.
2477
2478 2006-04-28  Eric Christopher  <echristo@apple.com>
2479
2480         * config/darwin-c.c (darwin_ms_struct): Move this
2481         (darwin_set_default_type_attributes): and this...
2482         * config/darwin.c: ... here.
2483         * config/darwin.h (darwin_ms_struct): Declare.
2484
2485 2006-04-28  Andrew MacLeod  <amacleod@redhat.com>
2486
2487         * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
2488
2489 2006-04-28  Roger Sayle  <roger@eyesopen.com>
2490
2491         PR c/25309
2492         * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
2493         (push_array_bounds): Delete prototype.  Change BOUNDS argument to
2494         an unsigned HOST_WIDE_INT.
2495         (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
2496         array index.
2497         (really_start_incremental_init): No need to call convert because
2498         bitsize_zero_node is already of type bitsizetype.
2499         (push_init_level): Extract the value of constructor_index as an
2500         unsigned HOST_WIDE_INT quantity, using tree_low_cst.
2501         (process_init_element): Likewise.
2502
2503 2006-04-28  Joseph S. Myers  <joseph@codesourcery.com>
2504
2505         * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
2506         value before passing to make_relative_prefix.
2507
2508 2006-04-28  Alan Modra  <amodra@bigpond.net.au>
2509
2510         PR middle-end/27260
2511         * builtins.c (expand_builtin_memset): Expand val in original mode.
2512
2513 2006-04-27  Eric Christopher  <echristo@apple.com>
2514
2515         * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
2516         with #ifndef/#endif.
2517         * config/darwin-c.c (darwin_ms_struct): New.
2518         (darwin_pragma_ms_struct): Ditto.
2519         (darwin_set_default_type_attributes): Ditto.
2520         * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
2521         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
2522         Register ms_struct pragma.
2523         * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
2524         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
2525         * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
2526         darwin_set_default_type_attributes if TARGET_MACHO.
2527
2528 2006-04-27  Andrew MacLeod  <amacleod@redhat.com>
2529
2530         PR tree-optimization/26854
2531         * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
2532         * doc/tree-ssa.texi: Update immuse iterator documentation.
2533         * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
2534         * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
2535         * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
2536         first_safe_imm_use, next_safe_imm_use): Remove.
2537         (end_imm_use_stmt_p): New.  Check for end of immuse stmt traversal.
2538         (end_imm_use_stmt_traverse): New.  Terminate immuse stmt traversal.
2539         (move_use_after_head): New.  Helper function to sort immuses in a stmt.
2540         (link_use_stmts_after): New.  Link all immuses in a stmt consescutively.
2541         (first_imm_use_stmt): New.  Get first stmt in an immuse list.
2542         (next_imm_use_stmt): New.  Get next stmt in an immuse list.
2543         (first_imm_use_on_stmt): New.  Get first immuse on a stmt.
2544         (end_imm_use_on_stmt_p): New.  Check for end of immuses on a stmt.
2545         (next_imm_use_on_stmt): New.  Move to next immuse on a stmt.
2546         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
2547         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
2548         (perfect_nestify): Use new iterator.
2549         * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
2550         iterator.
2551         * tree-flow.h (struct immediate_use_iterator_d): Add comments.
2552         (next_imm_name): New field in struct immediate_use_iterator_d.
2553         (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
2554         (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
2555         FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
2556         * tree-cfg.c (replace_uses_by): Use new iterator.
2557         * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
2558         * tree-ssa-operands.c (correct_use_link): Remove.
2559         (finalize_ssa_use_ops): No longer call correct_use_link.
2560
2561 2006-04-27  Stuart Hastings  <stuart@apple.com>
2562
2563         * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
2564         * config/t-darwin (crt3.o): Use it.
2565         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
2566         'pmode', use Pmode instead of SImode for SYMBOL_REF.
2567         * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
2568         call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
2569         call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
2570         support.
2571
2572 2006-04-27  Roger Sayle  <roger@eyesopen.com>
2573
2574         * expmed.c (store_fixed_bit_field): If we're not optimizing for
2575         size, force the intermediate into a new pseudo rather instead of
2576         performing both a bitwise AND and a bitwise IOR in memory.
2577
2578 2006-04-27  Richard Guenther  <rguenther@suse.de>
2579
2580         PR rtl-optimization/26685
2581         * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
2582         this one "max-flow-memory-locations".
2583
2584 2006-04-27  Richard Guenther  <rguenther@suse.de>
2585
2586         PR tree-optimization/25148
2587         * tree-vrp.c (compare_values): Remove code dealing with
2588         comparisons against type min/max value.  Honour overflow
2589         and negative constants in code dealing with comparisons
2590         of plus and minus expressions.
2591         (value_inside_range): Use fold_binary with LE_EXPR and
2592         GE_EXPR rather than compare_values.
2593
2594 2006-04-27  Dirk Mueller  <dmueller@suse.de>
2595
2596         * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
2597         prototype for SSE.
2598
2599 2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>
2600
2601         * basic-block.h (safe_insert_insn_on_edge): Removed.
2602         * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
2603
2604 2006-04-26  David Edelsohn  <edelsohn@gnu.org>
2605             Paolo Bonzini  <bonzini@gnu.org>
2606
2607         PR middle-end/27282
2608         * combine.c (simplify_and_const_int_1): Use gen_int_mode.
2609         (simplify_and_const_int): Same.
2610
2611 2006-04-26  Aldy Hernandez  <aldyh@redhat.com>
2612
2613         * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
2614
2615 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
2616
2617         PR c/26171
2618         * cgraph.c (cgraph_varpool_finalize_decl): Don't call
2619         cgraph_varpool_assemble_pending_decls if -fopenmp, unless
2620         cgraph_global_info_ready.
2621
2622         PR middle-end/26913
2623         * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
2624
2625         PR c/25996
2626         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
2627         either decl or init is error_mark_node.
2628
2629         PR middle-end/25989
2630         * tree-flow.h (struct omp_region): Add sched_kind.
2631         * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
2632         instead of extracting omp for data.
2633         (expand_omp_for): Save extracted sched_kind.
2634
2635 2006-04-25  Roger Sayle  <roger@eyesopen.com>
2636
2637         * expmed.c (store_bit_field): Also check whether the bitsize is
2638         valid for the machine's "insv" instruction before moving the
2639         target into a pseudo for use with the insv.
2640         * config/i386/predicates.md (const8_operand): New predicate.
2641         * config/i386/i386.md (extv, extzv, insv): Use the new
2642         const8_operand predicate where appropriate.
2643
2644 2006-04-25  DJ Delorie  <dj@redhat.com>
2645
2646         * doc/install.texi (Specific): Clarify that this is not a list of
2647         supported hosts or targets.
2648
2649 2006-04-25  Richard Sandiford  <richard@codesourcery.com>
2650
2651         PR rtl-optimization/26725
2652         * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
2653         block's BB_DIRTY flag.
2654
2655 2006-04-25  Geoffrey Keating  <geoffk@apple.com>
2656
2657         * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
2658         are no branches.
2659
2660         * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
2661         to print an integer.
2662
2663 2006-04-25  David Edelsohn  <edelsohn@gnu.org>
2664
2665         * varasm.c (align_variable): New function.
2666         (get_block_for_decl): Apply align_variable to DECL before
2667         calculating section information.
2668         (assemble_variable): Split out alignment computation.
2669
2670 2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>
2671
2672         * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
2673         machines.
2674
2675 2006-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
2676
2677         * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
2678         MODE_PARTIAL_INT mode.
2679         * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
2680         * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
2681         for CONST_INTs.
2682         (hard_regno_mode_ok): V2PDImode is ok for accumulators.
2683         * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
2684         V2PDImode.
2685         * config/bfin/predicates.md (const01_operand, vec_shift_operand):
2686         New predicates.
2687         * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
2688         New constants.
2689         (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
2690         MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
2691         MACFLAG_IH): Likewise.
2692         (movstricthi_1): Renamed from "*movstricthi".
2693         (load_accumulator, load_accumulator_pair, movsi_insv, insv,
2694         ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
2695         abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
2696         movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
2697         movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
2698         movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
2699         addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
2700         sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
2701         addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
2702         mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
2703         ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
2704         flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
2705         flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
2706         flag_macv2hi_parts, flag_macv2hi_parts_acconly,
2707         flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
2708
2709         * doc/rtl.texi (ss_ashift): Improve wording.
2710
2711 2006-04-24  Geoffrey Keating  <geoffk@apple.com>
2712
2713         * dwarf2out.c (verify_marks_clear): New.
2714         (prune_unused_types): Call verify_marks_clear initially, not
2715         prune_unmark_dies.
2716
2717 2006-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
2718
2719         * rtl.def (SS_ASHIFT, SS_NEG): New codes.
2720         * doc/rtl.texi: Document them.
2721         * simplify-rtx.c (simplify_unary_operation,
2722         simplify_binary_operation_1): Don't abort when we see them.
2723
2724 2006-04-24  Mark Mitchell  <mark@codesourcery.com>
2725
2726         Revert:
2727         2006-04-23  Mark Mitchell  <mark@codesourcery.com>
2728         * configure.ac: Completely disregard languages that are not
2729         enabled.
2730         * configure: Regenerated.
2731
2732 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
2733         Richard Guenther  <rguenther@suse.de>
2734
2735         PR tree-optimization/27236
2736         * tree-inline.c (copy_body_r): Make sure to copy
2737         TREE_THIS_VOLATILE flag.
2738
2739 2006-04-24  Richard Guenther  <rguenther@suse.de>
2740
2741         PR middle-end/26869
2742         * tree-complex.c (update_parameter_components): Don't handle
2743         unused parameters which have no default def.
2744
2745 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
2746         Richard Guenther  <rguenther@suse.de>
2747
2748         PR tree-optimization/27218
2749         * tree-inline.c (expand_call_inline): Strip useless type
2750         conversions for the return slot address.
2751
2752 2006-04-24  Richard Guenther  <rguenther@suse.de>
2753
2754         * cfgloop.h (struct loops): Remove unused field array.  Reorder
2755         state after num.
2756         (LOOP_PREFETCH): Remove.
2757
2758 2006-04-24  Richard Guenther  <rguenther@suse.de>
2759
2760         PR tree-optimization/22525
2761         * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
2762         variable, adjust types of generated expressions.
2763
2764 2006-04-23  H.J. Lu  <hongjiu.lu@intel.com>
2765
2766         * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
2767         (tree-vect-patterns.o): Likewise.
2768         (jump.o): Likewise.
2769         (cselib.o): Likewise.
2770         (loop-doloop.o): Likewise.
2771         (regclass.o): Likewise.
2772         (reload1.o): Likewise.
2773         (explow.o): Replace target.h with $(TARGET_H).
2774         (ipa-prop.o): Likewise.
2775         (ipa-cp.o): Likewise.
2776         (ipa-inline.o): Likewise.
2777         (reorg.o): Likewise.
2778         (reg-stack.o): Likewise.
2779
2780 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
2781
2782         * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
2783
2784 2006-04-23  Mark Mitchell  <mark@codesourcery.com>
2785
2786         * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
2787
2788         * configure.ac: Completely disregard languages that are not
2789         enabled.
2790         * configure: Regenerated.
2791
2792         PR c++/26534
2793         * c-common.h (c_build_bitfield_integer_type): Declare.
2794         * c-decl.c (c_build_bitfield_integer_type): Move to ...
2795         * c-common.c (c_build_bitfield_integer_type): ... here.
2796
2797 2006-04-23  Roger Sayle  <roger@eyesopen.com>
2798
2799         PR target/21283
2800         * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
2801         a SImode SUBREG of a floating point register after no_new_pseudos.
2802
2803 2006-04-23  Roger Sayle  <roger@eyesopen.com>
2804
2805         * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
2806         identify potentially eliminable registers to additionally catch
2807         VIRTUAL_INCOMING_ARGS_REGNUM.
2808         (addsi3): Update the conditions on when to use addsi_small_int.
2809
2810 2006-04-23  Roger Sayle  <roger@eyesopen.com>
2811
2812         PR target/16641
2813         * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
2814         STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
2815         rtx to stack_pointer_rtx or frame_pointer_rtx directly.
2816
2817 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
2818
2819         * fold-const.c (range_predecessor): Use operand_equal_p
2820         as the predicate for equality.
2821         (range_successor): Likewise.
2822
2823 2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
2824
2825         Revert:
2826         * config/soft-fp/op-common.h: Fix a typo.
2827
2828 2006-04-22  Frank Ch. Eigler  <fche@redhat.com>
2829
2830         PR libmudflap/26864
2831         * common.opt (flag_mudflap_threads): Overload flag_mudflap.
2832         * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
2833
2834 2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
2835
2836         * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
2837         Fix comment typos.
2838         * doc/tm.texi: Fix a typo.
2839
2840 2006-04-21  Geoffrey Keating  <geoffk@apple.com>
2841
2842         * dwarf2out.c (struct die_struct): Document that die_sib makes
2843         a circular linked list.
2844         (FOR_EACH_CHILD): New.
2845         (reverse_die_lists): Delete.
2846         (reverse_all_dies): Delete.
2847         (add_dwarf_attr): Correct documentation.
2848         (remove_child_with_prev): New.
2849         (remove_child_TAG): Update for change to die_struct, use
2850         remove_child_with_prev.
2851         (add_child_die): Update for change to die_struct.
2852         (splice_child_die): Use remove_child_with_prev and add_child_die.
2853         (print_die): Use FOR_EACH_CHILD.
2854         (die_checksum): Likewise.
2855         (assign_symbol_names): Likewise.
2856         (output_location_lists): Likewise.
2857         (build_abbrev_table): Likewise.
2858         (calc_die_sizes): Likewise.
2859         (mark_dies): Likewise.
2860         (unmark_dies): Likewise.
2861         (unmark_all_dies): Likewise.
2862         (output_die): Likewise.
2863         (prune_unused_types_mark): Likewise.
2864         (prune_unused_types_walk): Likewise.
2865         (same_die_p): Update for change to die_struct.
2866         (break_out_includes): Likewise.
2867         (prune_unused_types_prune): Likewise.
2868         (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
2869         (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
2870         it's already clear.
2871         (dwarf2out_finish): Don't call reverse_all_dies.
2872
2873 2006-04-21  Eric Christopher  <echristo@apple.com>
2874
2875         * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
2876         in comments and function names.
2877
2878 2006-04-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2879
2880         PR c/25875
2881         * c-typeck.c (digest_init): Robustify.
2882
2883         * c-typeck.c (pop_init_level): Simplify.
2884
2885 2006-04-21  Steve Ellcey  <sje@cup.hp.com>
2886
2887         * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
2888
2889 2006-04-21  Paul Brook  <paul@codesourcery.com>
2890
2891         * config/arm/arm.c (arm_override_options): Error on iWMMXt and
2892         hardware floating point.
2893
2894 2006-04-21  David Edelsohn  <edelsohn@gnu.org>
2895
2896         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
2897         NON_FLOAT_REGS.
2898
2899 2006-04-21  Nick Clifton  <nickc@redhat.com>
2900
2901         * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
2902         OPT_EXTRA_PARTS.
2903
2904 2006-04-21  Alan Modra  <amodra@bigpond.net.au>
2905
2906         PR target/27230
2907         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
2908         C++ lang type in traceback table for Objective-C++.
2909
2910         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
2911
2912 2006-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2913
2914         * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
2915
2916 2006-04-20  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2917
2918         PR mudflap/26789
2919         * tree-mudflap.c (mudflap_finish_file): Skip function when there
2920         were errors.  Remove check for erroneous objects.
2921
2922 2006-04-20  Jeff Law  <law@redhat.com>
2923
2924         PR tree-optimization/26854
2925         * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
2926         checking for zero or one use.
2927         * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
2928         * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
2929         * tree-ssa-reassoc.c (negate_value): Similarly.
2930         (reassociate_bb): Similarly.
2931
2932 2006-04-20  Jakub Jelinek  <jakub@redhat.com>
2933
2934         * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
2935         TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
2936         than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
2937
2938 2006-04-20  Alan Modra  <amodra@bigpond.net.au>
2939
2940         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
2941         fp regs if the last fp arg doesn't fit in regs.
2942
2943 2006-04-20  Kaz Kojima  <kkojima@gcc.gnu.org>
2944
2945         PR target/27182
2946         * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
2947         that the last insn has the REG_INC note.
2948
2949 2006-04-19  Carlos O'Donell  <carlos@codesourcery.com>
2950             Nathan Sidwell  <nathan@codesourcery.com>
2951
2952         PR c/26774
2953         * stor-layout.c (update_alignment_for_field): Do not align
2954         ERROR_MARK nodes.
2955         (place_union_field): Place union field at the start of the union.
2956         (place_field): Move ERROR_MARK check later, and use the current
2957         allocation position to maintain monotonicity.
2958
2959 2006-04-19  Zdenek Dvorak <dvorakz@suse.cz>
2960
2961         * dominance.c: Include timevar.h.
2962         (calculate_dominance_info): Use TV_DOMINANCE.
2963         * timevar.def (TV_DOMINANCE): New timevar.
2964         * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
2965
2966 2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2967
2968         PR rtl-optimization/14261
2969         * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
2970         move would be an INSV insn.
2971         (noce_process_if_block): Don't optimize if the destination is a
2972         ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
2973
2974 2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2975
2976         * config/s390/s390.md: Add comments with the instructions emitted
2977         by an insn pattern if macros are used.
2978
2979 2006-04-19  Alan Modra  <amodra@bigpond.net.au>
2980
2981         PR rtl-optimization/26026
2982         * fold-const.c (fold_binary): Optimize div and mod where the divisor
2983         is a known power of two shifted left a variable amount.
2984
2985 2006-04-18  Geoffrey Keating  <geoffk@apple.com>
2986
2987         * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
2988         to hash table twice when the debug_str section has SECTION_MERGE.
2989
2990 2006-04-18  Joseph S. Myers  <joseph@codesourcery.com>
2991
2992         * config/soft-fp: New directory.  From glibc.
2993         * config/soft-fp/t-softfp: New.
2994         * config/soft-fp/README: New.
2995         * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
2996         * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
2997         (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
2998         (LIBGCC_DEPS): Add $(SFP_MACHINE).
2999         * config.gcc: Use rs6000/t-fprules-fpbit or
3000         rs6000/t-fprules-softfp and soft-fp/t-softfp together with
3001         rs6000/t-fprules.
3002         * config/rs6000/sfp-machine.h: New.  Based on glibc.
3003         * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
3004         New.
3005         * config/rs6000/t-fprules: Remove fp-bit rules.
3006         * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
3007         * config/rs6000/t-linux64: Likewise.  Remove duplicates from
3008         LIB2FUNCS_EXTRA.  Remove fp-bit rules.
3009         (softfp_wrap_start, softfp_wrap_end): New.
3010
3011 2006-04-18  DJ Delorie  <dj@redhat.com>
3012
3013         * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
3014
3015 2006-04-18  Devang Patel  <dpatel@apple.com>
3016
3017         * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
3018
3019 2006-04-18  Nick Clifton  <nickc@redhat.com>
3020
3021         * config/sh/t-symbian: Add rule to build sh-c.o
3022         * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
3023         of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
3024         (sh_symbian_encode_section_info): Likewise.
3025
3026 2006-04-18  Andreas Krebbel  <krebbel1@de.ibm.com>
3027
3028         * builtins.c (expand_builtin_strcmp): Cover label definition of
3029         do_libcall with HAVE_cmpstrnsi.
3030
3031 2006-04-18  Kazu Hirata  <kazu@codesourcery.com>
3032
3033         * function.c (temp_slots_at_level, max_slot_level): Use VEC
3034         instead of VARRAY.
3035         * function.h (temp_slot_p): New.
3036         (function): Change the type of x_used_temp_slots to
3037         VEC(temp_slot_p,gc) *.
3038
3039 2006-04-18  Nick Clifton  <nickc@redhat.com>
3040
3041         * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
3042         flag_strength_reduce.
3043
3044         * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
3045
3046 2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
3047
3048         PR target/27117
3049
3050         Partial revert of revision 112637
3051         2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
3052                     Dale Johannesen  <dalej@apple.com>
3053
3054         PR target/19653
3055         * regclass.c (struct reg_pref): Update documentation.
3056         (regclass): Set prefclass to NO_REGS if memory is the best option.
3057         (record_reg_classes): Cope with a prefclass set to NO_REGS.
3058
3059 2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
3060
3061         PR tree-optimization/26821
3062         * tree-ssa-math-opts.c (get_constant_one): New.
3063         (insert_reciprocals): Use it.
3064
3065 2006-04-17  Geoffrey Keating  <geoffk@apple.com>
3066
3067         * dwarf2out.c (free_AT): Delete.
3068         (remove_AT): Update string ref counts.
3069         (remove_child_TAG): Don't call free_die.
3070         (free_die): Delete.
3071         (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
3072         or DW_TAG_GNU_EINCL.
3073         (prune_unused_types_walk_attribs): Reset string refcounts.
3074         (prune_unused_types_update_strings): New.
3075         (prune_unused_types_prune): Don't make unnecessary stores.  Don't
3076         call free_die.  Do call prune_unused_types_update_strings.
3077         (prune_unused_types): Empty debug_str_hash.
3078
3079 2006-04-17  Roger Sayle  <roger@eyesopen.com>
3080
3081         * expr.c (expand_assignment): Optimize away no-op moves where the
3082         source and destination are equal and have no side-effects.
3083
3084 2006-04-17  Richard Guenther  <rguenther@suse.de>
3085
3086         PR target/26826
3087         * reload.c (push_reload): Guard calls to get_secondary_mem
3088         for memory subregs.
3089
3090 2006-04-16  Kazu Hirata  <kazu@codesourcery.com>
3091
3092         * alias.c (reg_base_value, old_reg_base_value): Change the
3093         type to VEC(rtx,gc) *.
3094         (REG_BASE_VALUE, find_base_value, record_set,
3095         init_alias_analysis): Use VEC instead of VARRAY.
3096
3097         * alias.c (alias_sets): Change the type to
3098         VEC(alias_set_entry,gc) *.
3099         (get_alias_set_entry, new_alias_set, record_alias_subset): Use
3100         VEC instead of VARRAY.
3101         (last_alias_set): Remove.
3102
3103         * cgraph.h (cgraph_edge_p): New.
3104         Update the prototype of cgraph_function_versioning.
3105         * cgraphunit.c (cgraph_copy_node_for_versioning,
3106         cgraph_function_versioning): Use VEC instead of VARRAY.
3107         * ipa-cp.c (ipcp_insert_stage): Likewise.
3108
3109 2006-04-16  Roger Sayle  <roger@eyesopen.com>
3110
3111         PR target/26961
3112         * fold-const.c (fold_ternary): When converting "A ? B : C" into either
3113         "A op B" or "A op C", we may need to convert A to the type of B and C.
3114
3115 2006-04-16  Adam Nemet  <anemet@caviumnetworks.com>
3116
3117         * target.h (struct gcc_target): Add mode_rep_extended.
3118         * rtlanal.c (num_sign_bit_copies_in_rep): New global.
3119         (init_num_sign_bit_copies_in_rep): Initialize it using
3120         mode_rep_extended.
3121         (truncate_to_mode): Use it.
3122         (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
3123         * targhooks.h (default_mode_rep_extended): Declare it.
3124         * targhooks.c (default_mode_rep_extended): Define it.
3125         * target-def.h (TARGET_MODE_REP_EXTENDED): New macro.  Default to
3126         default_mode_rep_extended.
3127         (TARGET_INITIALIZER): Include it.
3128         * doc/tm.texi (Misc): Document it.
3129         * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
3130         (mips_truncated_to_mode): New function.
3131
3132 2006-04-16  Roger Sayle  <roger@eyesopen.com>
3133
3134         PR middle-end/25474
3135         * expr.c (compress_float_constant): Copy the narrow constant into
3136         a new pseudo before extending it to its final width.
3137
3138 2006-04-16  Roger Sayle  <roger@eyesopen.com>
3139             Andrew Pinski  <pinskia@gcc.gnu.org>
3140             Dale Johannesen  <dalej@apple.com>
3141
3142         PR target/24076
3143         * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
3144         special case code to implement V8HImode and V16QImode with SSE2.
3145
3146 2006-04-15  Roger Sayle  <roger@eyesopen.com>
3147
3148         * config/i386/i386.c (ix86_va_start): Ensure all integer constant
3149         trees are constructed with a suitable tree type.
3150
3151 2006-04-15  Roger Sayle  <roger@eyesopen.com>
3152
3153         * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
3154         (integer_onep): Likewise.
3155         (integer_all_onesp): Likewise.
3156         (integer_pow2p): Likewise.
3157         (integer_nonzerop): Likewise.
3158         (real_zerop): Likewise.
3159         (real_onep): Likewise.
3160         (real_twop): Likewise.
3161         (real_minus_onep): Likewise.
3162         (int_size_in_bytes): Likewise.
3163         (host_integerp): Likewise.
3164
3165 2006-04-15  Kazu Hirata  <kazu@codesourcery.com>
3166
3167         * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
3168         jump.c, mips-tfile.c, omp-low.c, sched-int.h,
3169         tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
3170
3171         * tree-ssa-structalias.h (alias_info): Remove num_references.
3172
3173 2006-04-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3174
3175         * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
3176         (output_bvb patterns): Likewise.
3177         * pa.c (output_bb): Use 'bb' insn for long branch case.
3178         (output_bvb): Likewise use '{bvb|bb}' for long branch case.
3179         (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
3180         1.  Correct length operand for alternatives 1 and 2.
3181         (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
3182         1, 2 and 3.  Correct length operand for alternatives 1, 2 and 3.
3183
3184 2006-04-14  Roger Sayle  <roger@eyesopen.com>
3185
3186         * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
3187         is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
3188         were accidentally reverted by r112959.
3189
3190 2006-04-15  Jakub Jelinek  <jakub@redhat.com>
3191
3192         PR middle-end/26823
3193         * except.h (eh_region_outermost): New prototype.
3194         * except.c (eh_region_outermost): New function.
3195         * tree-cfg.c (find_outermost_region_in_block): Use it.
3196
3197 2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
3198
3199         * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
3200         of VARRAY.
3201         * reload1.c (reg_equiv_memory_loc_varray): Rename to
3202         reg_equiv_memory_loc_vec.  Change the type to VEC(rtx,gc) *.
3203         (init_reload, reload): Use VEC instead of VARRAY.
3204         * reload.h: Update the prototype for
3205         reg_equiv_memory_loc_varray.
3206
3207 2006-04-14  Alexey Starovoytov  <alexey.starovoytov@sun.com>
3208             Eric Botcazou  <ebotcazou@libertysurf.fr>
3209
3210         * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
3211         register save area.
3212
3213 2005-04-13  Uros Bizjak  <uros@kss-loka.si>
3214
3215         PR middle-end/27134
3216         * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
3217         to expand fallback builtin function call.
3218
3219 2006-04-14  Alan Modra  <amodra@bigpond.net.au>
3220
3221         PR middle-end/27095
3222         * builtins.c: (expand_builtin_memset): Stabilize args before expansion
3223         and emit libcall here in case the builtin fails.
3224         (expand_builtin_strcmp): Always emit the libcall here on failure.
3225
3226 2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
3227
3228         * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
3229         * flow.c (reg_n_info): Change the type to
3230         VEC(reg_info_p,heap) *.
3231         * regclass.c (allocate_reg_info, free_reg_info): Use VEC
3232         instead of VARRAY.
3233         * regs.h (reg_info_p): New.
3234         (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
3235         REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
3236         REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
3237         instead of VARRAY.
3238
3239 2006-04-13  Eric Botcazou  <ebotcazou@adacore.com>
3240
3241         * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
3242         defaulting to 100.
3243         * params.h (MAX_SCHED_READY_INSNS): New macro.
3244         * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
3245         past MAX_SCHED_READY_INSNS during the first scheduling pass.
3246         (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
3247         the ready list for 1 cycle during the first scheduling pass.
3248         * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
3249
3250 2006-04-13  Richard Henderson  <rth@redhat.com>
3251
3252         PR libgomp/26651
3253         * gimple-low.c (lower_omp_directive): Remove dead code.
3254         (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
3255         * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
3256         * omp-low.c (struct omp_region): Move to tree-flow.h.
3257         (root_omp_region): Export.
3258         (omp_regions, lookup_omp_region): Remove.
3259         (determine_parallel_type): Update for struct omp_region changes.
3260         (dump_omp_region): Dump regions with block numbers.
3261         (new_omp_region): Take type and block instead of stmt; malloc
3262         instead of ggc.
3263         (free_omp_region_1, free_omp_regions): New.
3264         (expand_parallel_call): Take entry_stmt as argument; update for
3265         changes to omp_region.
3266         (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
3267         (remove_exit_barriers): New.
3268         (expand_omp_parallel): Update for struct omp_region changes.
3269         (expand_omp_synch): Likewise.
3270         (expand_omp): Likewise.
3271         (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
3272         (expand_omp_for_static_chunk): Likewise.
3273         (expand_omp_for): Likewise.
3274         (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
3275         (expand_omp_sections): Similarly, with GOMP_sections_end.
3276         (expand_omp_single): New.
3277         (build_omp_regions_1): Update for OMP_CONTINUE.
3278         (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
3279         (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
3280         OMP_SECTIONS_SECTIONS.
3281         (lower_omp_single_simple): Don't emit barrier here.
3282         (lower_omp_single_copy): Likewise.
3283         (lower_omp_single): Fix bindings, and lower to straightline now.
3284         (lower_omp_master, lower_omp_ordered): Likewise.
3285         (lower_omp_critical): Likewise.
3286         (lower_omp_for): Likewise.  Emit OMP_CONTINUE.
3287         * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
3288         omp edges, free it afterward.
3289         (make_omp_sections_edges): Remove.
3290         (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
3291         (move_stmt_r): Handle OMP_CONTINUE.
3292         * tree-flow.h (struct omp_region): Move from omp-low.c.  Switch
3293         statement pointers to basic blocks.  Add type member.
3294         (root_omp_region, new_omp_region, free_omp_regions): Declare.
3295         * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
3296         * tree-inline.c (estimate_num_insns_1): Likewise.
3297         * tree-pretty-print.c (dump_generic_node): Likewise.
3298         * tree-ssa-operands.c (get_expr_operands): Likewise.
3299         * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
3300         (OMP_RETURN): Rename from OMP_RETURN_EXPR.
3301         (OMP_CONTINUE): New.
3302         * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
3303         (OMP_SECTIONS_SECTIONS): Remove.
3304         (OMP_SECTION_LAST): New.
3305         (OMP_RETURN_NOWAIT): New.
3306
3307 2006-04-13  Roger Sayle  <roger@eyesopen.com>
3308
3309         * fold-const.c (native_encode_vector, native_interpret_real):
3310         Correct obvious mistakes in the previous check-in.
3311
3312 2006-04-13  Roger Sayle  <roger@eyesopen.com>
3313
3314         * fold-const.c (native_encode_expr): New function to encode
3315         the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
3316         or VECTOR_CST into a specified buffer.
3317         (native_encode_int): New function.
3318         (native_encode_real): New function.
3319         (native_encode_complex): New function.
3320         (native_encode_vector): New function.
3321         (native_interpret_expr): Inverse of native_encode_expr to convert
3322         a target representation into an INTEGER_CST, REAL_CST etc...
3323         (native_interpret_int): New function.
3324         (native_interpret_real): New function.
3325         (native_interpret_complex): New function.
3326         (native_interpret_vector): New function.
3327         (fold_view_convert_expr): New function to constant fold/evaluate
3328         a VIEW_CONVERT_EXPR of a suitable constant expression.
3329         (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
3330         Change call of build1 to fold_build1 when constructing a
3331         VIEW_CONVERT_EXPR.
3332
3333 2006-04-13  Paolo Bonzini  <bonzini@gnu.org>
3334             Ulrich Weigand  <uweigand@de.ibm.com>
3335
3336         PR target/27006
3337         * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
3338         to be even.
3339
3340 2006-04-13  Alan Modra  <amodra@bigpond.net.au>
3341
3342         PR target/26459
3343         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
3344         optimize to lo_sum for DFmode if !TARGET_FPRS.
3345
3346 2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
3347
3348         * tree-ssa-alias.c (set_initial_properties, init_alias_info,
3349         delete_alias_info, compute_flow_sensitive_aliasing,
3350         group_aliases): Use VEC instead of VARRAY.
3351         * tree-ssa-structalias.c (update_alias_info): Likewise.
3352         * tree-ssa-structalias.h (alias_info): Change the type of
3353         processed_ptrs to VEC(tree,heap) *.
3354
3355 2006-04-12  J"orn Rennecke <joern.rennecke@st.com>
3356
3357         PR target/27060
3358         * config/sh/lib1funcs.h: New file, broken out of:
3359         * config/sh/lib1funcs.asm.
3360         * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
3361         New macros.
3362         * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
3363         * config/sh/lib1funcs-Os-4-200.asm: New file.
3364         * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
3365         * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
3366         (EXTRA_MULTILIB_PARTS): Include it.
3367         ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
3368         ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
3369         * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
3370         * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
3371         TARGET_SH2.
3372
3373 2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
3374
3375         * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
3376         * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
3377         tpa_compact, root_var_init, type_var_init): Use VEC instead of
3378         VARRAY.
3379         * tree-ssa-live.h: Include vecprim.h.
3380         (tree_partition_associator_d): Change the type of
3381         first_partition to VEC(int,heap) *.
3382         (tpa_first_partition): Use VEC instead of VARRAY.
3383
3384         * Makefile.in (GTFILES): Move functions.h after tree.h.
3385         * function.c (reset_block_changes, record_block_change,
3386         check_block_change, free_block_changes): Use VEC instead of
3387         VARRAY.
3388         * function.h (function): Change the type of
3389         ib_boundaries_block to VEC(tree,gc) *.
3390         * tree-inline.c (copy_cfg_body): Initialize
3391         ib_boundaries_block to NULL instead of (varray_type) 0.
3392
3393 2006-04-12  Roger Sayle  <roger@eyesopen.com>
3394
3395         * expr.c (emit_group_store): Correct operand order in call to
3396         subreg_lowpart_offset.  Always create paradoxical SUBREGs with
3397         a SUBREG_BYTE of zero.
3398
3399 2006-04-12  Richard Guenther  <rguenther@suse.de>
3400
3401         * profile.c (compute_branch_probabilities): Remove code
3402         encapsulated in !ir_type (), which are remanents of the
3403         removed RTL profiling code.
3404         * rtl-profile.c: Remove.
3405
3406 2006-04-12  Alan Modra  <amodra@bigpond.net.au>
3407
3408         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
3409         magic NULL_RTX comment.
3410         (function_arg): Store entire fp arg to mem if any part should go
3411         on stack.
3412         (rs6000_arg_partial_bytes): Adjust for above change.
3413
3414 2006-04-11  Roger Sayle  <roger@eyesopen.com>
3415
3416         * dwarf2out.c (output_call_frame_info): Create debug_frame_section
3417         if it hasn't been initialized by dwarf2out_init.
3418
3419 2006-04-11  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
3420
3421         * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
3422         symbolic constants in branch patterns.
3423
3424 2006-04-11  Roger Sayle  <roger@eyesopen.com>
3425
3426         * caller-save.c: #include "addresses.h" after #include "tm_p.h".
3427
3428 2006-04-11  Richard Sandiford  <richard@codesourcery.com>
3429
3430         PR rtl-optimization/27073
3431         * gcse.c (try_replace_reg): Revert last change.  Continue to search
3432         for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
3433         on the former.
3434
3435 2006-04-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
3436
3437         * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
3438         aggregate types other than record and union types.
3439         (function_arg): Likewise.
3440         (function_arg_pass_by_reference): In 64-bit mode, return 0 for
3441         small arrays.
3442         (function_value): In 64-bit mode, return objects that require it
3443         in FP registers.
3444
3445 2006-04-11  Roger Sayle  <roger@eyesopen.com>
3446
3447         * dwarf2out.c (premark_used_types): Remove problematic prototype.
3448
3449 2006-04-11  Jakub Jelinek  <jakub@redhat.com>
3450
3451         * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
3452
3453 2006-04-03  Jeff Law  <law@redhat.com>
3454
3455         PR/27087
3456         * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
3457         alias information too.
3458
3459 2006-04-10  Mike Frysinger  <vapier@gentoo.org>
3460
3461         * Makefile.in (gcc-cross): Add $(exeext) to target name.
3462
3463 2006-04-10  Aldy Hernandez  <aldyh@redhat.com>
3464
3465         PR/21391
3466         * dwarf2out.c (struct die_struct): Add die_perennial_p field.
3467         (premark_used_types_helper): New.
3468         (premark_used_types): New.
3469         (gen_subprogram_die): Call premark_used_types.
3470         (prune_unused_types_walk): Do not prune perennial dies.
3471         * function.c (used_types_insert): New.
3472         * function.h (struct function): Add used_types_hash field.
3473         (used_types_insert): Add prototype.
3474         * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
3475         * c-parser.c (c_parser_cast_expression): Save casted types in used
3476         types hash table.
3477
3478 2006-04-11  Mark Mitchell  <mark@codesourcery.com>
3479
3480         PR target/26459
3481         * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
3482         rs6000_explicit_options.float_gprs.
3483
3484 2006-04-10  Roger Sayle  <roger@eyesopen.com>
3485
3486         * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
3487         from ix86_expand_vector_init_low_nonzero.  Take an additional
3488         one_var argument indicating which element is non-zero.  Support
3489         one_var != 0 for V4SFmode and V4SImode by permuting the result.
3490         (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
3491         with one_var instead of ix86_expand_vector_init_low_nonzero.
3492
3493 2006-04-10  Kazu Hirata  <kazu@codesourcery.com>
3494
3495         * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
3496         tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
3497         global.o, cfglayout.o, lambda-code.o, reg-stack.o,
3498         build/genextract.o): Depend on vecprim.h.
3499         * cfglayout.c, df-problems.c, function.c, genextract.c,
3500         global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
3501         tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
3502         vecprim.h.
3503         * vecprim.h: New.
3504
3505 2006-04-10  Geoffrey Keating  <geoffk@apple.com>
3506
3507         * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
3508         Declare VECs of this type.
3509         (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
3510         (remove_children): Delete.
3511         (add_dwarf_attr): Use VEC routines.
3512         (add_AT_flag): Update for changes to add_dwarf_attr.
3513         (add_AT_int): Likewise.
3514         (add_AT_unsigned): Likewise.
3515         (add_AT_long_long): Likewise.
3516         (add_AT_vec): Likewise.
3517         (add_AT_string): Likewise.
3518         (add_AT_die_ref): Likewise.
3519         (add_AT_fde_ref): Likewise.
3520         (add_AT_loc): Likewise.
3521         (add_AT_loc_list): Likewise.
3522         (add_AT_addr): Likewise.
3523         (add_AT_lbl_id): Likewise.
3524         (add_AT_lineptr): Likewise.
3525         (add_AT_macptr): Likewise.
3526         (add_AT_offset): Likewise.
3527         (add_AT_range_list): Likewise.
3528         (get_AT): Use VEC_iterate.
3529         (remove_AT): Use VEC_ordered_remove.
3530         (free_die): Fold remove_children into here; have it use VEC_iterate.
3531         (print_die): Use VEC_iterate on attrs.
3532         (reverse_die_lists): Don't reverse attr lists.
3533         (die_checksum): Use VEC_iterate on attrs.
3534         (same_die_p): Likewise.
3535         (output_location_lists): Likewise.
3536         (build_abbrev_table): Likewise.
3537         (size_of_die): Likewise.
3538         (unmark_all_dies): Likewise.
3539         (output_abbrev_section): Likewise.
3540         (output_die): Likewise.
3541         (prune_unused_types_walk_attribs): Likewise.
3542
3543 2006-04-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
3544
3545         * doc/install.texi (*-*-solaris2*): Point to the configure page.
3546
3547 2006-04-10  Jakub Jelinek  <jakub@redhat.com>
3548
3549         PR debug/27057
3550         * dwarf2out.c (is_symbol_die): Return true also for namespaces.
3551
3552 2006-04-09  Roger Sayle  <roger@eyesopen.com>
3553
3554         * expr.c (store_constructor): Don't bother clearing target if
3555         we're about to assign a vector to it using vec_init_optab.
3556
3557 2006-04-10 Daniel Berlin  <dberlin@dberlin.org>
3558
3559         * tree-ssa-alias.c (lhs_may_store_to): New function.
3560         (recalculate_used_alone): Handle LHS of calls.
3561
3562 2006-04-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3563
3564         PR target/27034
3565         PR target/26508
3566         * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
3567         * pa64-hpux.h (LIB_SPEC): Correct typo.  Don't append milli.a.
3568         (LINK_GCC_C_SEQUENCE_SPEC): Define.  Append milli.a here.
3569         (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
3570         (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
3571         (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
3572         section.  Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
3573         stubs.  Add ".align 8" directives before all ".dword" directives.
3574         (GTHREAD_USE_WEAK): Revise comment.
3575         (TARGET_ATTRIBUTE_WEAK): Define.
3576         * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
3577         dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
3578         * stublib.c: New file.
3579
3580         PR target/26743
3581         PR target/11254
3582         PR target/10274
3583         * pa.md (cbranch patterns): Revise arguments used in calls to
3584         output_cbranch, output_bb and output_bvd.  Add long branch length
3585         attributes.
3586         (fbranch patterns): Handle long branches.
3587         (jump): Revise length check.  Revise arguments for output_lbranch call.
3588         Add long branch length attributes.
3589         (decrement_and_branch_until_zero): Add long branch length attributes.
3590         (output_movb, output_parallel_addb and output_parallel_movb patterns):
3591         Likewise.  Revise arguments for output_parallel_addb and
3592         output_parallel_movb calls.
3593         * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
3594         output_parallel_movb and output_parallel_addb): Update prototypes.
3595         * pa.c (output_cbranch): Revise arguments.  Correct handling of
3596         nullification in long branches.
3597         (output_lbranch): Add new argument to control extraction of delay
3598         instruction.
3599         (output_bb): Handle long branches.
3600         (output_bvb, output_dbra, output_movb, output_parallel_movb,
3601         output_parallel_addb): Likewise.
3602
3603 2006-04-09  Richard Sandiford  <richard@codesourcery.com>
3604
3605         PR rtl-optimization/27073
3606         * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
3607         not REG_EQUIVs.
3608
3609 2006-04-08  Daniel Berlin  <dberlin@dberlin.org>
3610
3611         * tree.h (tree_memory_tag): Add old_used_alone.
3612         (SMT_OLD_USED_ALONE): New macro.
3613         * tree-ssa-alias.c (recalculate_used_alone): Stop
3614         marking things for renaming unnecessarily.
3615
3616 2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
3617
3618         * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
3619         config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
3620         config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
3621         haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
3622         sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
3623         tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
3624         tree-vect-patterns.c, tree-vrp.c: Fix comment typos.  Follow
3625         spelling convensions.
3626         * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
3627         doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
3628         typos.  Follow spelling conventions.
3629
3630 2006-04-07  DJ Delorie  <dj@redhat.com>
3631
3632         * config/m32c/m32c.c (m32c_function_arg): Structures are always
3633         passed on the stack.
3634         (m32c_init_cumulative_args): When a function returns a structure,
3635         always pass the pointer to that return area on the stack.
3636         (m32c_function_arg_advance): Don't increment the parameter number
3637         if we're processing the returned structure pointer.
3638         (pushm_info): Reverse order of registers.
3639
3640 2006-04-07  Sebastian Pop  <pop@cri.ensmp.fr>
3641
3642         * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
3643         assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
3644         number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
3645         estimate_numbers_of_iterations_loop): Use build_int_cst instead of
3646         build_int_cst_type.
3647         * tree-chrec.c (chrec_fold_multiply_poly_poly,
3648         chrec_fold_multiply): Same.
3649         * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
3650         force_expr_to_var_cost): Same.
3651         * tree-mudflap.c (mf_xform_derefs_1): Same.
3652         * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
3653
3654 2006-04-07  David Edelsohn  <edelsohn@gnu.org>
3655
3656         * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
3657         treat CONST_DOUBLE as INTVAL.  and64_2_operands require an extra
3658         insn.
3659
3660 2006-04-07  Jan Hubicka  <jh@suse.cz>
3661
3662         * ipa-inline.c (cgraph_early_inlining): Collect garbage.
3663
3664 2006-04-07  Richard Guenther  <rguenther@suse.de>
3665
3666         PR tree-optimization/26135
3667         * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
3668         loads for store copy-prop.
3669         (copy_prop_visit_stmt): Likewise.
3670
3671 2006-04-05  Robert Millan  <robertmh@gnu.org>
3672
3673         * config/i386/linux.h: Add a comment to mark macros that are
3674         being overriden in config/k*bsd-gnu.h.
3675         * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
3676         DYNAMIC_LINKER.
3677         * config/knetbsd-gnu.h: Ditto.
3678
3679 2006-04-06  Jan Hubicka  <jh@suse.cz>
3680
3681         PR profile/20815
3682         PR profile/26399
3683         * coverage.c (coverage_checksum_string): Reorganize loop to not read
3684         after buffer.
3685
3686 2006-04-06  Mike Stump  <mrs@apple.com>
3687
3688         * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
3689         for HAVE_nonlocal_goto to be consistent.
3690         (expand_builtin_nonlocal_goto): Likewise.
3691         (expand_builtin_strcmp): Use #ifdef instead of #if
3692         for HAVE_cmpstrnsi to be consistent.
3693
3694 2006-04-05  DJ Delorie  <dj@redhat.com>
3695
3696         * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
3697         vs m32c.
3698
3699 2006-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
3700
3701         * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
3702         got-relative addressing for anything but SImode.
3703
3704         * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
3705         even if the calling function doesn't modify them.
3706
3707 2006-04-05  Richard Guenther  <rguenther@suse.de>
3708
3709         PR tree-optimization/26919
3710         * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
3711         to cgraph_estimate_size_after_inlining.
3712
3713 2006-04-05  Alan Modra  <amodra@bigpond.net.au>
3714
3715         * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
3716
3717 2006-04-05  Sebastian Pop  <pop@cri.ensmp.fr>
3718
3719         PR tree-optimization/26996
3720         * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
3721         VECTOR_TYPE variables.
3722
3723 2006-04-05  Richard Guenther  <rguenther@suse.de>
3724
3725         PR tree-optimization/26763
3726         * fold-const.c (fold_comparison): Move folding of
3727         PTR + CST CMP PTR + CST ...
3728         (fold_binary): ... here.  Fold only for EQ_EXPR and NE_EXPR.
3729
3730 2006-04-05  Gerald Pfeifer  <gerald@pfeifer.com>
3731
3732         * doc/install.texi (Prerequisites): Refine some wording on
3733         bootstrapping and ksh.
3734         Move the version numbers of DejaGnu here from the testing section
3735         and fix casing of names.
3736         Fix markup and clarify wording for autogen requirements.
3737         Refer to GCJ instead of just java.
3738         Refer to SVN instead of CVS.
3739         Describe diffutils as useful instead of necessary.
3740         (Downloading the source): Refer to SVN instead of CVS.
3741         Adjust a link to our web site accordingly.
3742         (Configuration): Fix casing of Bison.
3743         (Building): Refer to SVN instead of CVS.
3744         Fix a sentence on the use of Bison and remove duplicate (and
3745         incorrect) version number of Bison requirement.
3746         Remove one redundant list of packages needed for building.
3747         (Specific): Avoid reference to CVS.
3748
3749 2006-04-04  Eric Christopher  <echristo@apple.com>
3750
3751         * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
3752         (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
3753         (rs6000_handle_struct_attribute): New.
3754         (rs6000_ms_bitfield_layout_p): Ditto.
3755
3756 2006-04-04  Geoffrey Keating  <geoffk@apple.com>
3757
3758         * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
3759         NULL for dso parameter to atexit_common.
3760
3761 2006-04-04  Eric Christopher  <echristo@apple.com>
3762
3763         * config/i386/i386.c (machopic_output_stub): Output \t
3764         between instructions and operands.
3765
3766 2006-04-04  David Edelsohn  <edelsohn@gnu.org>
3767
3768         * config/rs6000/rs6000.c (num_insns_constant_wide): Change
3769         satisfies_constraint_[IL] to explicit tests on value.
3770
3771 2006-04-04  Sebastian Pop  <pop@cri.ensmp.fr>
3772
3773         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
3774         set_nb_iterations_in_loop): Use build_int_cst instead of
3775         build_int_cst_type.
3776         * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
3777         build_int_cst instead of convert.
3778
3779 2006-04-04  Carlos O'Donell  <carlos@codesourcery.com>
3780
3781         * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
3782         new value 2 for incoming.
3783         * function.c (expand_function_start): Call struct_value_rtx
3784         with incoming as 2.
3785         * config/sparc/sparc.md: Comment updated_return.
3786         * config/sparc/sparc.opt: Add -mstd-struct-return option.
3787         * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
3788         struct return if sparc_std_struct_return and incoming is 2.
3789         (print_operand): Do not adjust return if
3790         sparc_std_struct_return.
3791
3792 2006-04-04  Roger Sayle  <roger@eyesopen.com>
3793
3794         * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
3795         convert in the middle-end.
3796         * expr.c (store_expr, store_constructor, get_inner_reference,
3797         expand_expr_real_1, string_constant, try_casesi, try_tablejump):
3798         Likewise.
3799         * tree.c (build_range_type): Likewise.
3800
3801 2006-04-04  Tom Tromey  <tromey@redhat.com>
3802
3803         * doc/install.texi (Prerequisites): Mention jar.
3804
3805 2006-04-04  Daniel Berlin  <dberlin@dberlin.org>
3806
3807         * doc/tree-ssa.texi (Preserving the virtual ssa form): New
3808         subsection.
3809
3810 2006-04-04  Matthias Klose  <doko@debian.org>
3811
3812         * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
3813         * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
3814         strings.
3815
3816 2006-04-03  Geoffrey Keating  <geoffk@apple.com>
3817
3818         * doc/extend.texi (Function Attributes): Rewrite visibility
3819         attribute documentation.
3820         * doc/invoke.texi (C++ Dialect Options): Rewrite
3821         -fvisibility-inlines-hidden documentation to describe something
3822         entirely different, although in practise compatible.
3823         (Code Gen Options): Warn about system headers in -fvisibility=
3824         documentation.
3825
3826         * doc/extend.texi (Other Builtins): Document that
3827         __builtin_nan is a compile-time constant only when its argument
3828         is valid.
3829
3830 2006-04-03  Adam Nemet  <anemet@caviumnetworks.com>
3831
3832         * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
3833         trying to remove TRUNCATE check if all bits outside the new mode
3834         are identical to the sign bit.
3835
3836 2006-04-03  Jeff Law  <law@redhat.com>
3837
3838         * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
3839         and operand scanning in some common cases.
3840
3841 2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
3842             Dale Johannesen  <dalej@apple.com>
3843
3844         PR target/19653
3845         * regclass.c (struct reg_pref): Update documentation.
3846         (regclass): Set prefclass to NO_REGS if memory is the best option.
3847         (record_reg_classes): Cope with a prefclass set to NO_REGS.
3848         * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
3849         into account.  For non-registers, equate an empty preferred
3850         reload class to a `!' in the constraint; move the if clause to
3851         do so after those that reject the insn.
3852         (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
3853         return NO_REGS.
3854         (find_dummy_reload): Likewise.
3855         * doc/tm.texi (Register Classes): Document what it means
3856         if PREFERRED_*_RELOAD_CLASS return NO_REGS.
3857         * config/i386/i386.c (ix86_preferred_reload_class): Force
3858         using SSE registers (and return NO_REGS for floating-point
3859         constants) if math is done with SSE.
3860         (ix86_preferred_output_reload_class): New.
3861         * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
3862         * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
3863         * config/i386/i386.md: Remove # register preferences.
3864
3865 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
3866
3867         PR bootstrap/26992
3868         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
3869         chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
3870         the type of nb_iter.
3871         (instantiate_parameters_1): Convert the operands before calling
3872         chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
3873         * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
3874
3875 2006-04-02  Roger Sayle  <roger@eyesopen.com>
3876
3877         * builtins.c (dummy_object): Use build_int_cst instead of convert.
3878         * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
3879         instead of convert.
3880         * dojump.c (do_jump): Likewise.
3881         * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
3882         * gimplify.c (gimple_boolify, gimplify_init_constructor,
3883         gimplify_boolean_expr): Likewise.
3884         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
3885         * varasm.c (array_size_for_constructor): Likewise.
3886         * tree-object-size.c (compute_object_offset): Likewise.
3887
3888 2006-04-02  Roger Sayle  <roger@eyesopen.com>
3889
3890         PR middle-end/26977
3891         * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
3892         NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
3893
3894 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
3895
3896         PR tree-optimization/26939
3897         * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
3898
3899 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
3900
3901         * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
3902         at_stmt.  Convert the type of operands before calling
3903         build_polynomial_chrec.
3904         (add_to_evolution): Pass an extra argument at_stmt.  Adjust the call to
3905         add_to_evolution_1.
3906         (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
3907         (instantiate_parameters_1): Convert the type of operands before calling
3908         build_polynomial_chrec.
3909         * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
3910         chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
3911         reset_evolution_in_loop): Insert asserts to check the types of the
3912         operands.
3913         (chrec_type): Moved...
3914         (eq_evolutions_p): Use operand_equal_p.
3915         * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
3916         the types of the operands.
3917         (chrec_type): ...here.
3918         * tree-data-ref.c (create_data_ref): Convert the operands before
3919         calling chrec_replace_initial_condition.
3920         (same_access_functions, analyze_subscript_affine_affine,
3921         analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
3922         (compute_subscript_distance, analyze_ziv_subscript,
3923         analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
3924         analyze_miv_subscript): Convert the operands before calling
3925         chrec_fold_minus or chrec_fold_plus.
3926
3927 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
3928
3929         * tree-data-ref.c (compute_all_dependences): Use a pointer to
3930         the dependence_relations vector.
3931         (compute_data_dependences_for_loop): Adjust call to
3932         compute_all_dependences.
3933
3934 2006-04-01  Roger Sayle  <roger@eyesopen.com>
3935             Richard Henderson  <rth@redhat.com>
3936
3937         * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
3938         gimple_boolify on the condition before calling gimplify_expr.
3939
3940 2006-03-31  Bob Wilson  <bob.wilson@acm.org>
3941
3942         * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
3943         to leaf_entry/leaf_return.  Change leaf_entry to add 16 bytes to
3944         the frame size.  Update to use the new macros.
3945         * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
3946         * config/xtensa/ieee754-df.S: Likewise.
3947
3948 2006-03-31  Richard Henderson  <rth@redhat.com>
3949
3950         * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
3951         (make_edges): ... here.  Control fallthru creation with a local
3952         variable.  Do not play with fake edges.
3953         (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
3954         (make_goto_expr_edges): Don't play with fake edges.  Make for_call
3955         a boolean.
3956
3957 2006-04-01  Joseph S. Myers  <joseph@codesourcery.com>
3958
3959         * dwarf2.h (DW64_CIE_ID): Define.
3960         * dwarf2out.c (DWARF_CIE_ID): Define.
3961         (output_call_frame_info): Output 0xffffffff before standard 8-byte
3962         length header.  Use DWARF_CIE_ID.
3963         (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
3964         dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
3965
3966 2006-03-31  Kaz Kojima  <kkojima@gcc.gnu.org>
3967
3968         * config/sh/linux-atomic.asm: New file.
3969         * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
3970
3971 2006-03-31  DJ Delorie  <dj@redhat.com>
3972
3973         * config/m32c/cond.md: Set condition flags properly throughout.
3974         * config/m32c/minmax.md: Likewise.
3975         * config/m32c/prologue.md: Likewise.
3976         * config/m32c/bitops.md: Likewise.
3977         * config/m32c/muldiv.md: Likewise.
3978         * config/m32c/mov.md: Likewise.
3979         * config/m32c/addsub.md: Likewise.
3980         * config/m32c/m32c.md: Likewise.
3981         * config/m32c/jump.md: Likewise.
3982         * config/m32c/shift.md: Likewise.
3983
3984         * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
3985         conditionally output the pattern for this.
3986         * config/m32c/m32c.c (flags_needed_for_conditional): New.
3987         (m32c_compare_redundant): New.
3988         (m32c_output_compare): New.
3989         * config/m32c/m32c-protos.h (m32c_output_compare): New.
3990
3991         * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
3992         dest, not src.  Allow other 4-byte modes.
3993
3994 2006-03-30  Denis Chertykov  <denisc@overta.ru>
3995
3996         * doc/md.texi: Refer to avr/constraints.md instead of
3997         avr/avr.h.
3998
3999 2006-03-30  Roger Sayle  <roger@eyesopen.com>
4000
4001         * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
4002         signed vs. unsigned comparison failures on some hosts.
4003
4004 2006-03-31  Alan Modra  <amodra@bigpond.net.au>
4005
4006         PR target/26459
4007         * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
4008         change to FLOAT_REGS.
4009
4010         * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
4011         (rs6000_override_options): Use it.
4012         (rs6000_handle_option): Set it.  Set rs6000_explicit_options.abi
4013         only for -mabi=spe/no-spe and -mabi=altivec.
4014
4015 2006-03-30  Geoffrey Keating  <geoffk@apple.com>
4016
4017         * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
4018         !Zdynamiclib.
4019
4020 2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
4021
4022         * Makefile.in: Rename docdir to gcc_docdir.
4023
4024 2006-03-30  Roger Sayle  <roger@eyesopen.com>
4025
4026         PR target/17959
4027         * expr.c (emit_group_store): Optimize group stores into a pseudo
4028         register by using a paradoxical subreg to initialize the destination
4029         if the first or last member of the group specifies a "low part".
4030
4031 2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
4032
4033         PR target/26734
4034         * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
4035         * target.h (struct gcc_target.speculate_insn): Change type of the
4036         second parameter to 'int'.
4037         * lists.c (alloc_DEPS_LIST): Change signature.  Update reference to
4038         the second operand of the DEPS_LIST.
4039         (copy_DEPS_LIST_list): Update reference to the second operand of the
4040         DEPS_LIST.
4041         * rtl.h (alloc_DEPS_LIST): Update signature.
4042         * sched-int.h (ds_t): Change typedef to 'int'.
4043         (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
4044
4045 2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
4046
4047         * haifa-sched.c (try_ready): Change condition to restore
4048         non-speculative pattern of the instruction.
4049         (process_insn_depend_be_in_spec): Code to keep probability of the
4050         speculative dependence non-decreasing.
4051
4052 2006-03-30  Jie Zhang  <jie.zhang@analog.com>
4053
4054         * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
4055         (single_move_for_movmem): ... this. Also change all uses.
4056         (bfin_expand_strmov): Renamed to...
4057         (bfin_expand_movmem): ... this. Also change all uses.
4058         * config/bfin/bfin.md (movstrsi): Renamed to...
4059         (movstrsi): ...this.
4060
4061 2006-03-30  Paolo Bonzini  <bonzini@gnu.org>
4062
4063         PR tree-optimization/26830
4064
4065         * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
4066         (copy_prop_visit_stmt): Remove write-only variable ann.
4067         (init_copy_prop): Check variable loop depth here.  Do not simulate
4068         memory-tag and virtual operand PHIs except for store copy prop.
4069
4070 2006-03-30  Richard Guenther  <rguenther@suse.de>
4071
4072         * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
4073         variants with double arguments.
4074
4075 2006-03-29  David Edelsohn  <edelsohn@gnu.org>
4076
4077         * genpreds.c (write_tm_constrs_h): Delete variable p.
4078         * genconditions.c (write_header): Add tm-constrs.h to included
4079         headers.
4080         * genpeep.c (main): Add toplev.h to included headers.
4081         * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
4082         (build/genpeep.o): Add toplev.h dependency.
4083         * config/rs6000/constraints.md: Add "W" constraint.