OSDN Git Service

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