OSDN Git Service

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