OSDN Git Service

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