OSDN Git Service

PR target/35373
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2008-03-07  Peter Bergner  <bergner@vnet.ibm.com>
2
3         PR target/35373
4         * config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
5         reg+const addressing for Altivec modes.  Don't generate reg+reg
6         addressing for TFmode or TDmode quantities.
7
8 2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
9
10         * c-common.c (vector_types_convertible_p): Call langhook
11         instead of comptypes.
12
13 2008-03-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
14
15         PR tree-opt/35402
16         * tree-ssa-ccp.c (get_symbol_constant_value): Handle
17         integral and scalar float variables which have a
18         NULL DECL_INITIAL.
19
20 2008-03-06  Nathan Froyd  <froydnj@codesourcery.com>
21
22         * dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
23         dwarf_register_span hook when emitting unwind information for
24         register-to-memory saves.
25         * config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
26         (rs6000_frame_related): Remove call to spe_synthesize_frame.
27
28 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
29
30         * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
31         for the same VAR_DECL.
32
33 2008-03-06  Tom Tromey  <tromey@redhat.com>
34
35         * treelang: Delete.
36         * doc/standards.texi (Standards): Don't mention treelang.
37         * doc/invoke.texi (Overall Options): Don't mention treelang.
38         * doc/install.texi (Prerequisites): Don't mention bison or
39         treelang.
40         (Configuration): Don't mention treelang.
41         (Building): Likewise.
42         * doc/frontends.texi (G++ and GCC): Don't mention treelang.
43
44 2008-03-06  Paolo Bonzini  <bonzini@gnu.org>
45
46         * simplify-rtx.c (simplify_subreg): Remove useless shifts from
47         word-extractions out of a multi-word object.
48
49 2008-03-06  Richard Guenther  <rguenther@suse.de>
50
51         * tree.def (BIT_FIELD_REF): Constrain result type and its precision.
52         * tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
53         result type and precision.
54         * expr.c (get_inner_reference): Set unsignedp based on the result
55         type of BIT_FIELD_REF.
56         * tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
57         * tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
58         (try_instantiate_multiple_fields): Likewise.  Use the correct type
59         for BIT_FIELD_REF.
60         (sra_build_assignment): Likewise.
61         (sra_build_elt_assignment): Likewise.
62         (sra_explode_bitfield_assignment): Likewise.
63         * print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
64         * tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
65         set BIT_FIELD_REF_UNSIGNED.
66         (vectorizable_load): Likewise.
67
68 2008-03-06  Andreas Krebbel  <krebbel1@de.ibm.com>
69
70         * cse.c (cse_extended_basic_block): Invalidate artificial defs
71         at bb start.
72
73 2008-03-06  Richard Guenther  <rguenther@suse.de>
74
75         * alias.c (struct alias_set_entry): Move has_zero_child field
76         to pack with alias_set.
77
78 2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>
79
80         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
81         32bit host.
82
83 2008-03-05  Ian Lance Taylor  <iant@google.com>
84
85         * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
86
87 2008-03-05  Kenneth Zadeck <zadeck@naturalbridge.com>
88
89         * fwprop.c (update_df): Support width and offset parameters of
90         df_ref_create.
91         * ra-conflict.c (mark_reg_store, clear_reg_in_live,
92         global_conflicts): Change DF_REF_EXTRACT to either
93         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
94         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
95         * df-scan.c (df_ref_record, df_defs_record,
96         df_ref_create_structure, df_def_record_1, df_uses_record,
97         df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
98         df_bb_refs_collect, df_entry_block_defs_collect,
99         df_exit_block_uses_collect): Support new width and offset fields.
100         (ref_extract_pool): New storage pool.
101         (df_free_ref): New function.
102         (df_reg_chain_unlink, df_free_collection_rec,
103         df_sort_and_compress_refs): Call df_free_ref.
104         (df_ref_equal_p, df_ref_compare): Compare offset and width fields
105         of df_ref_extract.
106         (df_ref_create_structure): Allocate df_ref_extract if offset and
107         width fields are used.
108         (df_def_record_1): Get offset and width from ZERO_EXTRACT.
109         (df_uses_record): Get offset and width from ZERO_EXTRACT 
110         and SIGN_EXTRACT.
111         * global.c (build_insn_chain): Change DF_REF_EXTRACT to either
112         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
113         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
114         * df.h (df_ref_flags): Change DF_REF_EXTRACT to either
115         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
116         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
117         (df_ref_extract): New structure.
118         (DF_REF_WIDTH, DF_REF_OFFSET): New macros.
119         (df_ref_create): Add width and offset parameters.
120         
121 2008-03-05  Richard Guenther  <rguenther@suse.de>
122
123         * tree-ssa-structalias.c (get_constraint_for_component_ref):
124         Use ranges_overlap_p.
125         (offset_overlaps_with_access): Rename
126         to ranges_overlap_p and move ...
127         * tree-flow-inline.h (ranges_overlap_p): ... here.
128
129         * tree.h (get_inner_reference, handled_component_p): Update
130         comments.
131
132         * tree.h (record_component_aliases, get_alias_set,
133         alias_sets_conflict_p, alias_sets_must_conflict_p,
134         objects_must_conflict_p): Move declarations ...
135         * alias.h (record_component_aliases, get_alias_set,
136         alias_sets_conflict_p, alias_sets_must_conflict_p,
137         objects_must_conflict_p): ... here.
138         Include coretypes.h.
139         * Makefile.in (ALIAS_H): Add coretypes.h dependency.
140
141 2008-03-05  Aldy Hernandez  <aldyh@redhat.com>
142
143         * cfg.c: Include tree-flow.h.
144         (remove_edge_raw): Call redirect_edge_var_map_clear.
145         (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
146         * tree-flow-inline.h (redirect_edge_var_map_def): New.
147         (redirect_edge_var_map_result): New.
148         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
149         PENDING_STMT use with redirect_edge_var_map_*.
150         * tree-ssa.c (edge_var_maps): New definition.
151         (redirect_edge_var_map_add): New.
152         (redirect_edge_var_map_clear): New.
153         (redirect_edge_var_map_dup): New.
154         (redirect_edge_var_map_vector): New.
155         (redirect_edge_var_map_destroy): New.
156         (ssa_redirect_edge): Replace PENDING_STMT use with
157         redirect_edge_var_map_*.
158         (flush_pending_stmts): Same.
159         (delete_tree_ssa): Destroy edge var map.
160         * tree-flow.h (struct _edge_var_map): New.
161         Define edge_var_map vector type.
162         Declare redirect_edge_var_map_* prototypes.
163         * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
164         * tree-cfg.c (reinstall_phi_args): Replace
165         PENDING_STMT use with redirect_edge_var_map_*.
166
167 2008-03-05  Richard Guenther  <rguenther@suse.de>
168
169         PR tree-optimization/35472
170         * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
171         whose single use_stmt has a overlapping set of loaded and
172         stored symbols as that use_stmt might be a noop assignment then.
173
174 2008-03-05  Joel Sherrill <joel.sherrill@oarcorp.com>
175
176         * gthr-rtems.h: Implement __gthread_mutex_destroy.
177
178 2008-03-05  Richard Guenther  <rguenther@suse.de>
179
180         PR c++/35336
181         * tree.def (BIT_FIELD_REF): Document that operands 1 and 2
182         should be constants.
183         * tree-cfg.c (verify_expr): Verify it.
184         * fold-const.c (fold_truthop): Remove code generating
185         BIT_FIELD_REFs of structure bases.
186         (fold_binary): Likewise.
187         (fold_ternary): Position and size of BIT_FIELD_REFs are
188         always host integers.
189         (make_bit_field_ref): Remove.
190         (optimize_bit_field_compare): Remove.
191         (all_ones_mask_p): Remove.
192
193 2008-03-05  Gabor Loki  <loki@gcc.gnu.org>
194
195         PR gcc/33009
196         * rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
197         (split_block_and_df_analyze): New. Split basic block and rebuild
198         dataflow.
199         (block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
200         SPLIT_BLOCK.
201         (split_pattern_seq): Likewise.
202         (erase_matching_seqs): Likewise.
203         (split_pattern_seq): Skip return insn in case of REG_NORETURN note.
204
205 2008-03-04  Geoff Keating  <geoffk@apple.com>
206
207         * fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
208         declaration and code.
209         (tree_invalid_nonnegative_warnv_p): Likewise.
210
211 2008-03-05  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
212
213         * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
214         examples.  Truncate option-names then causing overfull hbox.
215
216 2008-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
217
218         PR target/35222
219         * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
220         on hpux10.
221         * configure: Rebuilt.
222
223 2008-03-04  Rafael Espindola  <espindola@google.com>
224
225         * fold-const.c (tree_simple_nonnegative_warnv_p): New.
226         (tree_unary_nonnegative_warnv_p): New.
227         (tree_binary_nonnegative_warnv_p): New.
228         (tree_single_nonnegative_warnv_p): New.
229         (tree_invalid_nonnegative_warnv_p): New.
230         (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
231
232 2008-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
233
234         PR 28322
235         * opts.c (handle_option): Postpone 'unknown option' errors only for
236         warning options.
237
238 2008-03-04  H.J. Lu  <hongjiu.lu@intel.com>
239
240         PR target/35453
241         * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
242         (_SIDD_XXX): This.
243
244 2008-03-04  Rafael Espindola  <espindola@google.com>
245
246         * fold-const.c (tree_unary_nonzero_warnv_p): New.
247         (tree_binary_nonzero_warnv_p): New.
248         (tree_single_nonzero_warnv_p): New.
249         (tree_expr_nonzero_warnv_p): Redefine using the new functions.
250
251 2008-03-04  Uros Bizjak  <ubizjak@gmail.com>
252
253         PR middle-end/35456
254         * fold-const.c (fold_cond_expr_with_comparison): Prevent
255         transformations for modes that have signed zeros.
256         * ifcvt.c (noce_try_abs): Ditto.
257
258 >>>>>>> .r132956
259 2008-03-04  Joseph Myers  <joseph@codesourcery.com>
260
261         * config/i386/i386.c (override_options): Force
262         -maccumulate-outgoing-args on if TARGET_STACK_PROBE.
263
264 2008-03-04  Jan Hubicka  <jh@suse.cz>
265
266         PR c++/35262
267         * ipa-inline.c (cgraph_decide_inlining_of_small_function): Fix typo
268         in last commit.
269
270 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
271
272         * config/i386/i386.md (allocate_stack_worker_32): Use  __chkstk
273         label to probe the stack.
274
275 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
276
277         * gthr-win32.h [__GTHREAD_HIDE_WIN32API]
278         (__gthr_win32_mutex_destroy): Declare.
279         [__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use
280         __gthr_win32_mutex_destroy.
281         * config/i386/gthr-win32.c  (__gthr_win32_mutex_destroy): Define.
282
283 2008-03-03  Jan Hubicka  <jh@suse.cz>
284
285         PR c++/35262
286         * ipa-inline.c (cgraph_decide_inlining_of_small_function): Be more
287         aggressive on inlining cold calls.
288
289 2008-03-03  Richard Guenther  <rguenther@suse.de>
290
291         * tree-ssa-sccvn.c (visit_reference_op_store): Do not insert
292         struct copies into the expression table.
293         (simplify_unary_expression): Handle VIEW_CONVERT_EXPR.
294         (try_to_simplify): Likewise.
295         * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of
296         integral and pointer arguments which do not change the
297         precision to NOP_EXPRs.
298         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust
299         VIEW_CONVERT_EXPR case.
300
301 2008-03-02  Sebastian Pop  <sebastian.pop@amd.com>
302
303         * tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
304         defined in a loop at depth 0 is invariant.
305         * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
306         * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
307         be called at loop depth 0.
308
309 2008-03-02  Jakub Jelinek  <jakub@redhat.com>
310
311         PR driver/35420
312         * gcc.c (process_command): Update copyright notice dates.
313         * gcov.c (print_version): Likewise.
314         * gcov-dump.c (print_version): Likewise.
315         * mips-tfile.c (main): Likewise.
316         * mips-tdump.c (main): Likewise.
317
318 2008-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
319
320         PR 24924
321         * c-common.c (flag_permissive): Delete.
322         (constant_expression_warnings): Check flags first.
323         (constant_expression_error): New.
324         * c-common.h (flag_permissive): Delete.
325         (constant_expression_error): Declare.
326         * flags.h (flag_permissive): Declare. Update description.
327         * diagnostic.c (pedwarn): Update.
328         (permerror): New.
329         * diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
330         (permissive_error_kind): New.
331         * toplev.c (flag_permissive): Define. Update description.
332         * toplev.h (permissive_error_kind): Declare.
333         * c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
334         (pedwarn_c90): Use pedantic_warning_kind.
335         * c-opts.c (c_common_post_options): flag_permissive does not affect
336         flag_pedantic_errors.
337
338 2008-03-02  Joseph Myers  <joseph@codesourcery.com>
339
340         * libgcc2.c (__addvSI3, __addvsi3, __addvDI3, __subvSI3,
341         __subvsi3, __subvDI3, __negvSI2, __negvsi2, __negvDI2, __absvSI2,
342         __absvsi2, __absvDI2): Use unsigned arithmetic.
343
344 2008-03-02  Andi Kleen  <ak@suse.de>
345         Richard Guenther  <rguenther@suse.de>
346
347         * struct-equiv.c: Remove file.
348         * cfg_cleanup.c (condjump_equiv_p): Remove.
349         * Makefile.in (OBJS-common): Remove struct-equiv.o.
350         (struct-equiv.o): Remove rule.
351         * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
352         insns_match_p, struct_equiv_block_eq, struct_equiv_init, 
353         rtx_equiv_p, condjump_equiv_p): Remove prototypes.
354
355 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
356
357         * ifcvt.c (noce_process_if_block): Try to handle only the then
358         block if the else block exists but isn't suitable.
359
360 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
361
362         PR gcc/35063
363         * gthr-posix.h (__gthread_mutex_destroy): Remove extra declarations.
364         * gthr-posix95.h (__gthread_mutex_destroy): Likewise. Note this fixes
365         regression from previous patch.
366
367 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
368
369         PR gcc/35063
370         * gthr.h: Add __gthread_mutex_destroy as a function that must be
371         implemented.
372         * gthr-vxworks.h (__gthread_mutex_destroy): Null implementation.
373         * gthr-single.h (__gthread_mutex_destroy): Likewise.
374         * gthr-rtems.h (__gthread_mutex_destroy): Likewise.
375         * gthr-mipssde.h (__gthread_mutex_destroy): Likewise.
376         * gthr-nks.h (__gthread_mutex_destroy): Likewise.
377         * gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy.
378         * gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove.
379         (__gthread_mutex_destroy_function): Rename to
380         __gthread_mutex_destroy.
381         * gthr-dce.h (__gthread_mutex_destroy): Call
382         pthread_mutex_destroy.
383         * gthr-tpf.h (__gthread_mutex_destroy): Likewise.
384         * gthr-posix.h (__gthread_mutex_destroy): Likewise.
385         * gthr-posix95.h (__gthread_mutex_destroy): Likewise.
386
387 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
388
389         * df-scan.c (df_ref_chain_change_bb): Simplify.
390         (df_insn_change_bb): Add new_bb argument.  Simplify.  Call
391         set_block_for_insn if there's any change.
392         * df.h ((df_insn_change_bb): Fix prototype.
393         * cfgrtl.c (update_bb_for_insn_chain): Pass bb to
394         df_insn_change_bb, don't call set_block_for_insn.
395         * emit-rtl.c (reorder_insns): Likewise.
396         * haifa-sched.c (move_insn): Likewise.
397
398 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
399
400         * rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
401
402 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
403
404         * tree-flow-inline.h (next_readonly_imm_use): Return
405         NULL_USE_OPERAND_P after the end.
406
407 2008-03-01  Richard Guenther  <rguenther@suse.de>
408
409         PR tree-optimization/35411
410         * tree-sra.c (sra_build_assignment): Split conversion to
411         final type to a separate statement if we are not assigning
412         to a register.
413
414 2008-02-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
415
416         * fold-const.c (fold_convertible_p): Correct the logic to follow
417         that in fold_convert().
418
419 2008-02-29  Douglas Gregor  <doug.gregor@gmail.com>
420
421         PR c++/35315
422         * tree-inline.c (build_duplicate_type): When we make a
423         duplicate type, make it unique in the canonical types system.
424
425 2008-02-29  Tom Tromey  <tromey@redhat.com>
426
427         * toplev.c (input_file_stack, input_file_stack_tick, fs_p,
428         input_file_stack_history, input_file_stack_restored): Remove.
429         (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
430         * input.h (struct file_stack): Remove.
431         (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
432         (input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
433         Likewise.
434         * diagnostic.h (struct diagnostic_context) <last_module>: Change
435         type.
436         (diagnostic_last_module_changed): Add 'map' argument.
437         (diagnostic_set_last_function): Likewise.
438         * diagnostic.c (undiagnostic_report_current_module): Iterate using
439         line map, not input_file_stack.
440         * c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
441
442 2008-02-29  Paul Brook  <paul@codesourcery.com>
443
444         * config/arm/arm.md (arm_addsi3): Add r/k/n alternative.
445
446 2008-02-29  Paul Brook  <paul@codesourcery.com>
447
448         * config/arm/ieee754-df.S (muldf3): Use RET macros.
449
450 2008-02-29  Richard Guenther  <rguenther@suse.de>
451
452         * tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
453         vn_lookup_or_add.
454         * tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
455         value for comparing for a store match.
456         (simplify_unary_expression): Do nothing for SSA_NAMEs.
457         (try_to_simplify): Do not do a full-blown reference lookup.
458
459 2008-02-29  Kaz Kojima  <kkojima@gcc.gnu.org>
460
461         * config/sh/sh.c (sh_scalar_mode_supported_p): New function.
462         (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
463
464         * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
465
466 2008-02-29  Sebastian Pop  <sebastian.pop@amd.com>
467
468         * tree-loop-linear.c (try_interchange_loops): Compare memory access
469         strides against cache sizes.
470
471 2008-02-29  Kaz Kojima  <kkojima@gcc.gnu.org>
472
473         * config/sh/sh.c (sh_secondary_reload): Handle loading a float
474         constant to fpul.
475
476 2008-02-28  Richard Sandiford  <rsandifo@nildram.co.uk>
477
478         * simplify-rtx.c (simplify_unary_operation_1): Extend the handling
479         of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
480         is smaller than the original promoted value.
481         (simplify_subreg): If OP is a SUBREG, try to preserve its
482         SUBREG_PROMOTED_VAR_P information.
483
484 2008-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>
485
486         * tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
487         (VN_INFO_GET): Allocate new objects on the obstack.
488         (init_scc_vn): Initialize the obstack.  Use XDELETE instead of free
489         for rpo_numbers_temp, for consistency.
490         (free_scc_vn): Free the obstack.
491
492 2008-02-28  Sebastian Pop  <sebastian.pop@amd.com>
493
494         * doc/invoke.texi: Document -ftree-loop-distribution.
495         * tree-loop-distribution.c: New.
496         * tree-pass.h (pass_loop_distribution): New.
497         * graphds.h (struct graph): Add htab_t indices.
498         * timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
499         * tree-vectorizer.c (rename_variables_in_loop): Extern.
500         (slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
501         * tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
502         * tree-data-ref.c (debug_data_dependence_relations): New.
503         (dump_data_dependence_relation): Also print data references.
504         (free_data_ref): Extern.
505         (same_access_functions): Moved...
506         (find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
507         (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
508         debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
509         struct rdg_vertex_info, rdg_vertex_for_stmt): New.
510         (create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
511         (stmts_from_loop): Skip LABEL_EXPR.
512         (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
513         New.
514         (build_rdg): Initialize rdg->indices htab.
515         (free_rdg, stores_from_loop, ref_base_address,
516         rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
517         have_similar_memory_accesses_1, ref_base_address_1,
518         remove_similar_memory_refs): New.
519         * tree-data-ref.h: Depend on tree-chrec.h.
520         (debug_data_dependence_relations, free_data_ref): Declared.
521         (same_access_functions): ... here.
522         (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
523         New.
524         (struct rdg_vertex): Add has_mem_write and has_mem_reads.
525         (RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
526         RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
527         (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
528         debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
529         rdg_vertex_for_stmt): Declared.
530         (struct rdg_edge): Add level.
531         (RDGE_LEVEL): New.
532         (free_rdg, stores_from_loop, remove_similar_memory_refs,
533         rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
534         Declared.
535         (rdg_has_similar_memory_accesses): New.
536         * tree-vect-analyze.c: Remove unused static decls.
537         * lambda.h (dependence_level): New.
538         * common.opt (ftree-loop-distribution): New.
539         * tree-flow.h (mark_virtual_ops_in_bb, 
540         slpeel_tree_duplicate_loop_to_edge_cfg,
541         rename_variables_in_loop): Declared.
542         * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
543         (OBJS-common): Add tree-loop-distribution.o.
544         (tree-loop-distribution.o): New rule.
545         * tree-cfg.c (mark_virtual_ops_in_bb): New.
546         (mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
547         * passes.c (init_optimization_passes): Schedule pass_loop_distribution.
548
549 2008-02-28  Joseph Myers  <joseph@codesourcery.com>
550
551         PR target/33963
552         * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
553         other than structures and unions.
554
555 2008-02-28  Richard Guenther  <rguenther@suse.de>
556
557         Revert:
558         2008-02-26  Richard Guenther  <rguenther@suse.de>
559
560         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
561         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
562         (lookup_decl_from_uid): Declare.
563         (remove_decl_from_map): Likewise.
564         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
565         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
566         (decl_for_uid_map): New global hashtable mapping DECL_UID
567         to the decl tree.
568         (init_ttree): Allocate it.
569         (insert_decl_to_uid_decl_map): New helper function.
570         (make_node_stat): Insert new decls into the map.
571         (copy_node_stat): Likewise.
572         (lookup_decl_from_uid): New function.
573         (remove_decl_from_map): Likewise.
574         (print_decl_for_uid_map_statistics): New helper.
575         (dump_tree_statistics): Call it.
576
577         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
578         (referenced_var_iterator): Adjust.
579         (FOR_EACH_REFERENCED_VAR): Adjust.
580         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
581         (num_referenced_vars): Adjust.
582         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
583         (first_referenced_var): Remove.
584         (end_referenced_vars_p): Likewise.
585         (next_referenced_var): Likewise.
586         (referenced_var_iterator_set): New helper function.
587         * tree-dfa.c (referenced_var_lookup): Adjust.
588         (referenced_var_check_and_insert): Likewise.
589         (remove_referenced_var): Likewise.
590         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
591         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
592         (verify_call_clobbering): Likewise.
593         (verify_memory_partitions): Likewise.
594         (init_tree_ssa): Allocate bitmap instead of hashtable for
595         referenced_vars.
596         (delete_tree_ssa): Adjust.
597         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
598         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
599         (compute_tag_properties): Likewise.
600         (set_initial_properties): Likewise.
601         (find_partition_for): Likewise.
602         (update_reference_counts): Likewise.
603         (dump_may_aliases_for): Likewise.
604         * tree-ssa-operands.c (add_virtual_operand): Likewise.
605         (add_call_clobber_ops): Likewise.
606         (add_call_read_ops): Likewise.
607         (get_asm_expr_operands): Likewise.
608         * tree-into-ssa.c (dump_decl_set): Likewise.
609         (update_ssa): Likewise.
610         * tree-sra.c (scan_function): Likewise.
611         (decide_instantiations): Likewise.
612         (scalarize_parms): Likewise.
613         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
614         (dsa_named_for): Likewise.
615         * tree-ssa-structalias.c (update_alias_info): Likewise.
616         (merge_smts_into): Likewise.
617
618 2008-02-27  David Daney  <ddaney@avtrex.com>
619
620         PR target/34409
621         * config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
622         * config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
623         * config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
624         * config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
625         * config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.
626
627 2008-02-27  Uros Bizjak  <ubizjak@gmail.com>
628
629         PR target/25477
630         * config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
631         (BUILT_IN_NEXTTOWARD): Remove.
632         (BUILT_IN_NEXTTOWARDF): Ditto.
633         * config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
634         alloca/strcpy/strcat.  Remove commented-out code.  Fix whitespace.
635
636 2008-02-27  Tom Tromey  <tromey@redhat.com>
637
638         * tree-dump.c (dequeue_and_dump) <FUNCTION_DECL>: Check
639         DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
640
641 2008-02-27  Jan Beulich  <jbeulich@novell.com>
642
643         * c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
644         update the respective field on newdecl.
645
646 2008-02-27  Revital Eres  <eres@il.ibm.com>
647
648         PR rtl-optimization/34999
649         * bb-reorder.c (add_labels_and_missing_jumps): Do not handle
650         crossing edges that ends with a call insn.
651         (fix_up_fall_thru_edges): Handle crossing edges that ends with a
652         call insn and clear the EDGE_CROSSING flag of the crossing edge
653         when fixing fallthru edges.
654
655 2008-02-27  Richard Guenther  <rguenther@suse.de>
656
657         PR middle-end/35390
658         * fold-const.c (fold_unary): Return the correct argument,
659         converted to the result type.
660
661 2008-02-27  Richard Guenther  <rguenther@suse.de>
662
663         PR middle-end/34971
664         * expr.c (expand_expr_real_1): Assert on rotates that operate
665         on partial modes.
666         * fold-const.c (fold_binary): Use the types precision, not the
667         bitsize of the mode if folding rotate expressions.  Build rotates
668         only for full modes.
669
670 2008-02-27  Jakub Jelinek  <jakub@redhat.com>
671
672         * c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
673         and CPP_PRAGMA_EOL.
674         * c-pragma.c (pragma_ns_name): New typedef.
675         (registered_pp_pragmas): New variable.
676         (c_pp_lookup_pragma): New function.
677         (c_register_pragma_1): If flag_preprocess_only, do nothing
678         for non-expanded pragmas, for expanded ones push pragma's
679         namespace and name into registered_pp_pragmas vector.
680         (c_invoke_pragma_handler): Register OpenMP pragmas even when
681         flag_preprocess_only, don't register GCC pch_preprocess
682         pragma if flag_preprocess_only.
683         * c-opts.c (c_common_init): Call init_pragma even if
684         flag_preprocess_only.
685         * c-pragma.c (c_pp_lookup_pragma): New prototype.
686         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
687         cpp_register_pragma if flag_preprocess_only.
688
689 2008-02-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
690
691         PR c/28800
692         * c-parser.c (c_parser_translation_unit): Warn for empty
693         translation unit, not empty source file.
694
695 2008-02-26  Paul Brook  <paul@codesourcery.com>
696
697         * config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
698         operand for Thumb-2.
699         * config/arm/arm.h (reg_class): Add CORE_REGS.
700         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
701         (BASE_REG_CLASS): Use CORE_REGS.
702         (PREFERRED_RELOAD_CLASS): Add STACK_REG.
703         (REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
704         (REGNO_OK_FOR_INDEX_P): Exclude SP.
705         (ARM_REG_OK_FOR_INDEX_P): Always define.  Use
706         ARM_REGNO_OK_FOR_INDEX_P.
707         (ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
708         * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
709         arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
710         (ldm/stm peepholes): Ditto.
711         * config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
712         * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
713         * config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
714         * config/arm/constraints.md: Enable "k" constraint on ARM.
715
716 2008-02-27  Ben Elliston  <bje@au.ibm.com>
717
718         * config/rs6000/rs6000.c: Annotate cache line size field in all
719         instances of struct processor_costs.
720
721 2008-02-26  David Edelsohn  <edelsohn@gnu.org>
722
723         * dbgcnt.def (cfg_cleanup, cprop1, cprop2, dce_fast, dce_ud, dse1,
724         dse2, gcse, if_conversion, if_after_combine, if_after_reload,
725         jump_bypass): New counters.
726         * cfgcleanup.c (cleanup_cfg): Add dbg_cnt.
727         * dce.c (gate_ud_dce): Same.
728         (gate_fast_dce): Same.
729         * dse.c (gate_dse1): New function.
730         (gate_dse2): New function.
731         (gate_dse): Merge results of new gate functions.
732         * gcse.c (gcse_main): Bracket cprop1 and cprop2 with dbg_cnt.
733         (gate_handle_jump_bypass): Add dbg_cnt.
734         (gate_handle_gcse): Add dbg_cnt.
735         * ifcvt.c (gate_handle_if_conversion): Same.
736         (gate_handle_if_after_combine): Same.
737         (gate_handle_if_after_reload): Same.
738         * Makefile.in: Add DBGCNT_H to cfgcleanup.o and ifcvt.o.
739
740 2008-02-26  Edmar Wienskoski  <edmar@freescale.com>
741
742         * config/rs6000/rs6000.c (processor_costs): Update e300 cache
743         line sizes.
744         * doc/invoke.texi: Add e300c2 and e300c3 to list of cpus.
745
746 2008-02-26  Jason Merrill  <jason@redhat.com>
747
748         PR c++/35315
749         * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE 
750         alone if it's the naming decl for the type's main variant.
751
752 2008-02-26  Tom Tromey  <tromey@redhat.com>
753
754         * system.h (USE_MAPPED_LOCATION): Poison.
755         * Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
756         * tree-cfg.c (make_cond_expr_edges): Remove old location code.
757         (make_goto_expr_edges): Likewise.
758         (remove_bb): Likewise.
759         (execute_warn_function_return): Likewise.
760         * basic-block.h (struct edge_def) <goto_locus>: Change type to
761         location_t.
762         * c-common.c (fname_decl): Remove old location code.
763         * tree-vect-transform.c (vect_finish_stmt_generation): Remove old
764         location code.
765         * rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
766         variant.
767         (ASM_INPUT_SOURCE_LOCATION): Likewise.
768         (gen_rtx_ASM_INPUT): Likewise.
769         (gen_rtx_ASM_INPUT_loc): Likewise.
770         (get_rtx_asm_OPERANDS): Remove.
771         * cfglayout.c (insn_locators_alloc): Remove old location code.
772         (set_curr_insn_source_location): Likewise.
773         (curr_insn_locator): Likewise.
774         * print-tree.c (print_node): Remove old location code.
775         * tree-mudflap.c (mf_varname_tree): Remove old location code.
776         (mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
777         * cfgexpand.c (expand_gimple_cond_expr): Don't use
778         location_from_locus.
779         (construct_exit_block): Remove old location code.
780         * emit-rtl.c (force_next_line_note): Remove old location code.
781         * profile.c (branch_prob): Remove old location code.
782         * tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
783         LOC_LINE): Remove old-location variants.
784         * langhooks.c (lhd_print_error_function): Remove old location
785         code.
786         * configure, config.in: Rebuilt.
787         * configure.ac (--enable-mapped-location): Remove.
788         * c-decl.c (c_init_decl_processing): Remove old location code.
789         (finish_function): Likewise.
790         * recog.c (decode_asm_operands): Remove old location code.
791         * c-pch.c (c_common_read_pch): Remove old location code.
792         * rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
793         variants.
794         * gimple-low.c (lower_function_body): Remove old location code.
795         * toplev.c (unknown_location): Remove.
796         (push_srcloc): Remove old-location variant.
797         (process_options): Remove old location code.
798         (lang_dependent_init): Likewise.
799         * input.h (UNKNOWN_LOCATION): Move definition.
800         (location_t): Undeprecate.
801         (source_locus): Remove.
802         (location_from_locus): Remove.
803         (struct location_s): Remove.
804         Remove all old-location code.
805         (input_line, input_filename): Remove.
806         * final.c (final_scan_insn): Remove old location code.
807         * diagnostic.c (diagnostic_build_prefix): Remove
808         USE_MAPPED_LOCATION test.
809         * tree.h (gimple_stmt) <locus>: Now a location_t.
810         (tree_exp) <locus>: Likewise.
811         (DECL_IS_BUILTIN): Remove old-location variant.
812         (annotate_with_file_line, annotate_with_locus): Likewise.
813         (expr_locus, set_expr_locus): Update.
814         * tree.c (build1_stat): Remove old location code.
815         (last_annotated_node): Remove.
816         (annotate_with_file_line): Remove old-location variant.
817         (annotate_with_locus): Likewise.
818         (expr_location): Remove old location code.
819         (set_expr_location): Likewise.
820         (expr_has_location): Likewise.
821         (expr_locus): Likewise.
822         (set_expr_locus): Likewise.
823         (expr_filename): Don't use location_from_locus.
824         (expr_lineno): Likewise.
825         * rtl-error.c (location_for_asm): Remove old location code.
826         * c-lex.c (cb_line_change): Remove old location code.
827         (fe_file_change): Likewise.
828         (cb_def_pragma): Likewise.
829         (c_lex_with_flags): Likewise.
830         * gengtype.c (do_typedef): Don't special-case location types.
831         (define_location_structures): Remove.
832         (main): Don't call define_location_structures.
833         * tree-pretty-print.c (dump_implicit_edges): Remove old location
834         code.
835
836 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
837
838         PR 26264
839         * builtins.def (BUILT_IN_STDARG_START): Remove.
840         * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
841         * tree-stdarg.c (execute_optimize_stdarg): Likewise.
842         * tree-inline.c (inline_forbidden_p_1): Likewise.
843         
844 2008-02-26  Richard Guenther  <rguenther@suse.de>
845
846         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
847         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
848         (lookup_decl_from_uid): Declare.
849         (remove_decl_from_map): Likewise.
850         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
851         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
852         (decl_for_uid_map): New global hashtable mapping DECL_UID
853         to the decl tree.
854         (init_ttree): Allocate it.
855         (insert_decl_to_uid_decl_map): New helper function.
856         (make_node_stat): Insert new decls into the map.
857         (copy_node_stat): Likewise.
858         (lookup_decl_from_uid): New function.
859         (remove_decl_from_map): Likewise.
860         (print_decl_for_uid_map_statistics): New helper.
861         (dump_tree_statistics): Call it.
862
863         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
864         (referenced_var_iterator): Adjust.
865         (FOR_EACH_REFERENCED_VAR): Adjust.
866         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
867         (num_referenced_vars): Adjust.
868         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
869         (first_referenced_var): Remove.
870         (end_referenced_vars_p): Likewise.
871         (next_referenced_var): Likewise.
872         (referenced_var_iterator_set): New helper function.
873         * tree-dfa.c (referenced_var_lookup): Adjust.
874         (referenced_var_check_and_insert): Likewise.
875         (remove_referenced_var): Likewise.
876         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
877         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
878         (verify_call_clobbering): Likewise.
879         (verify_memory_partitions): Likewise.
880         (init_tree_ssa): Allocate bitmap instead of hashtable for
881         referenced_vars.
882         (delete_tree_ssa): Adjust.
883         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
884         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
885         (compute_tag_properties): Likewise.
886         (set_initial_properties): Likewise.
887         (find_partition_for): Likewise.
888         (update_reference_counts): Likewise.
889         (dump_may_aliases_for): Likewise.
890         * tree-ssa-operands.c (add_virtual_operand): Likewise.
891         (add_call_clobber_ops): Likewise.
892         (add_call_read_ops): Likewise.
893         (get_asm_expr_operands): Likewise.
894         * tree-into-ssa.c (dump_decl_set): Likewise.
895         (update_ssa): Likewise.
896         * tree-sra.c (scan_function): Likewise.
897         (decide_instantiations): Likewise.
898         (scalarize_parms): Likewise.
899         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
900         (dsa_named_for): Likewise.
901         * tree-ssa-structalias.c (update_alias_info): Likewise.
902         (merge_smts_into): Likewise.
903
904 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
905
906         PR 34351
907         * doc/invoke.texi (-Wall): Add -Wvolatile-register-var.
908         * c-opts.c (c_common_handle_option): Wall enables
909         Wvolatile-register-var.
910         * common.opt: Move Wvolatile-register-var to...
911         * c.opt: ...here.
912         
913 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
914
915         * common.opt (Wlarger-than=): New.
916         * doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
917         -Wlarger-than=.
918         * opts.c (common_handle_option): Handle -Wlarger-than=.
919         * optc-gen.awk: Likewise.
920         * opth-gen.awk: Likewise.
921         * stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
922         * tree-optimize.c (tree_rest_of_compilation): Likewise.
923         
924 2008-02-26  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
925
926         * c-common.c (match_case_to_enum_1): Add appropriate
927         OPT_W* parameter to warning.
928         (c_do_switch_warnings): Likewise.
929         * c-typeck.c (warning_init): Add one more parameter following
930         'warning' function.
931         (push_init_level): Update call to warning_init.
932         (pop_init_level): Likewise.
933         (add_pending_init): Likewise.
934         (output_init_element: Likewise.
935
936 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
937
938         PR 28322
939         * toplev.c (toplev_main): If there are warnings or error, print
940         errors for ignored options.
941         * opts.c (ignored_options): New static variable.
942         (postpone_unknown_option_error): New.
943         (print_ignored_options): New.
944         (handle_option): Postpone errors for unknown -Wno-* options.
945         * opts.h (print_ignored_options): Declare.
946         
947 2008-02-25  Richard Sandiford  <rsandifo@nildram.co.uk>
948
949         * config/mips/mips.md (loadgp_blockage, blockage): Change type
950         to "ghost".
951
952 2008-02-25  Richard Guenther  <rguenther@suse.de>
953
954         Revert:
955         2008-02-25  Richard Guenther  <rguenther@suse.de>
956
957         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
958         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
959         (lookup_decl_from_uid): Declare.
960         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
961         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
962         (decl_for_uid_map): New global hashtable mapping DECL_UID
963         to the decl tree.
964         (init_ttree): Allocate it.
965         (insert_decl_to_uid_decl_map): New helper function.
966         (make_node_stat): Insert new decls into the map.
967         (copy_node_stat): Likewise.
968         (lookup_decl_from_uid): New function.
969         (print_decl_for_uid_map_statistics): New helper.
970         (dump_tree_statistics): Call it.
971
972         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
973         (referenced_var_iterator): Adjust.
974         (FOR_EACH_REFERENCED_VAR): Adjust.
975         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
976         (num_referenced_vars): Adjust.
977         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
978         (first_referenced_var): Remove.
979         (end_referenced_vars_p): Likewise.
980         (next_referenced_var): Likewise.
981         (referenced_var_iterator_set): New helper function.
982         * tree-dfa.c (referenced_var_lookup): Adjust.
983         (referenced_var_check_and_insert): Likewise.
984         (remove_referenced_var): Likewise.
985         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
986         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
987         (verify_call_clobbering): Likewise.
988         (verify_memory_partitions): Likewise.
989         (init_tree_ssa): Allocate bitmap instead of hashtable for
990         referenced_vars.
991         (delete_tree_ssa): Adjust.
992         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
993         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
994         (compute_tag_properties): Likewise.
995         (set_initial_properties): Likewise.
996         (find_partition_for): Likewise.
997         (update_reference_counts): Likewise.
998         (dump_may_aliases_for): Likewise.
999         * tree-ssa-operands.c (add_virtual_operand): Likewise.
1000         (add_call_clobber_ops): Likewise.
1001         (add_call_read_ops): Likewise.
1002         (get_asm_expr_operands): Likewise.
1003         * tree-into-ssa.c (dump_decl_set): Likewise.
1004         (update_ssa): Likewise.
1005         * tree-sra.c (scan_function): Likewise.
1006         (decide_instantiations): Likewise.
1007         (scalarize_parms): Likewise.
1008         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
1009         (dsa_named_for): Likewise.
1010         * tree-ssa-structalias.c (update_alias_info): Likewise.
1011         (merge_smts_into): Likewise.
1012
1013 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
1014
1015         PR fortran/29549
1016         * doc/invoke.texi (-fcx-limited-range): Document new option.
1017         * toplev.c (process_options): Handle -fcx-fortran-rules.
1018         * common.opt: Add documentation for -fcx-fortran-rules.
1019
1020 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
1021
1022         PR c/35162
1023         * doc/invoke.texi (-fcx-limited-range): Correct to be in line with
1024         actual behaviour and C99.
1025         
1026 2008-02-26  Ben Elliston  <bje@au.ibm.com>
1027
1028         * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
1029         (ASM_CPU_POWER6_SPEC): Likewise.
1030         (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
1031         Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
1032         (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
1033
1034 2008-02-25  Richard Guenther  <rguenther@suse.de>
1035
1036         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
1037         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
1038         (lookup_decl_from_uid): Declare.
1039         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
1040         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
1041         (decl_for_uid_map): New global hashtable mapping DECL_UID
1042         to the decl tree.
1043         (init_ttree): Allocate it.
1044         (insert_decl_to_uid_decl_map): New helper function.
1045         (make_node_stat): Insert new decls into the map.
1046         (copy_node_stat): Likewise.
1047         (lookup_decl_from_uid): New function.
1048         (print_decl_for_uid_map_statistics): New helper.
1049         (dump_tree_statistics): Call it.
1050
1051         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
1052         (referenced_var_iterator): Adjust.
1053         (FOR_EACH_REFERENCED_VAR): Adjust.
1054         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
1055         (num_referenced_vars): Adjust.
1056         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
1057         (first_referenced_var): Remove.
1058         (end_referenced_vars_p): Likewise.
1059         (next_referenced_var): Likewise.
1060         (referenced_var_iterator_set): New helper function.
1061         * tree-dfa.c (referenced_var_lookup): Adjust.
1062         (referenced_var_check_and_insert): Likewise.
1063         (remove_referenced_var): Likewise.
1064         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
1065         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1066         (verify_call_clobbering): Likewise.
1067         (verify_memory_partitions): Likewise.
1068         (init_tree_ssa): Allocate bitmap instead of hashtable for
1069         referenced_vars.
1070         (delete_tree_ssa): Adjust.
1071         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
1072         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1073         (compute_tag_properties): Likewise.
1074         (set_initial_properties): Likewise.
1075         (find_partition_for): Likewise.
1076         (update_reference_counts): Likewise.
1077         (dump_may_aliases_for): Likewise.
1078         * tree-ssa-operands.c (add_virtual_operand): Likewise.
1079         (add_call_clobber_ops): Likewise.
1080         (add_call_read_ops): Likewise.
1081         (get_asm_expr_operands): Likewise.
1082         * tree-into-ssa.c (dump_decl_set): Likewise.
1083         (update_ssa): Likewise.
1084         * tree-sra.c (scan_function): Likewise.
1085         (decide_instantiations): Likewise.
1086         (scalarize_parms): Likewise.
1087         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
1088         (dsa_named_for): Likewise.
1089         * tree-ssa-structalias.c (update_alias_info): Likewise.
1090         (merge_smts_into): Likewise.
1091
1092 2008-02-25  Andreas Krebbel  <krebbel1@de.ibm.com>
1093
1094         PR target/35258
1095         * cse.c (cse_insn): Avoid creation of overlapping MEMs.
1096         * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
1097         * alias.h (nonoverlapping_memrefs_p): Likewise.
1098
1099 2008-02-25  Jan Beulich  <jbeulich@novell.com>
1100
1101         * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
1102         * config/i386/netware-libgcc.exp: Add __bswap?i2,
1103         __emultls_get_address, __emultls_register_common,
1104         __floatundi?f, and _Unwind_GetIPInfo.
1105         * config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
1106         Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
1107         (gen_regparm_prefix): Likewise.
1108         (i386_nlm_encode_section_info): Sync with
1109         config/i386/winnt.c:i386_pe_encode_section_info().
1110         (i386_nlm_maybe_mangle_decl_assembler_name): New.
1111         i386_nlm_mangle_decl_assembler_name): New.
1112         (netware_override_options): New.
1113         * config/i386/netware.h (netware_override_options): Declare.
1114         (OVERRIDE_OPTIONS): Re-define to netware_override_options.
1115         (i386_nlm_mangle_decl_assembler_name): Declare.
1116         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
1117
1118 2008-02-25  Ben Elliston  <bje@au.ibm.com>
1119
1120         PR other/32948
1121         * c-decl.c (grokdeclarator): Remove unused local variables
1122         `typedef_type' and `type_as_written'.
1123         * bb-reorder.c
1124         (find_rarely_executed_basic_blocks_and_crossing_edges): Remove
1125         unused local variable `has_hot_blocks'.
1126         (fix_crossing_conditional_branches): Remove unused local variable
1127         `prev_bb'.
1128         
1129 2008-02-25  Uros Bizjak  <ubizjak@gmail.com>
1130
1131         PR middle-end/19984
1132         * builtins.def (BUILT_IN_NAN): Define as c99 builtin
1133         using DEF_C99_BUILTIN.
1134         (BUILT_IN_NANF): Ditto.
1135         (BUILT_IN_NANL): Ditto.
1136
1137 2008-02-25  Ayal Zaks  <zaks@il.ibm.com>
1138             Revital Eres  <eres@il.ibm.com>
1139
1140         * modulo-sched.c (calculate_must_precede_follow): Address TODO
1141         regarding the order of two dependent insns in the same row.
1142
1143 2008-02-25  Eric Botcazou  <ebotcazou@adacore.com>
1144
1145         * stor-layout.c (layout_decl): Do not bump the alignment of a
1146         bit-field to more than byte alignment if it is packed.
1147
1148 2008-02-24  David Edelsohn  <edelsohn@gnu.org>
1149
1150         * config/rs6000/rs6000.c (processor_costs): Add cache costs for
1151         e300c2 and e300c3.
1152
1153 2008-02-24  Diego Novillo  <dnovillo@google.com>
1154
1155         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
1156
1157         PR 33738
1158         * tree-vrp.c (vrp_evaluate_conditional): With
1159         -Wtype-limits, emit a warning when comparing against a
1160         constant outside the natural range of OP0's type.
1161         * c.opt (Wtype-limits): Move ...
1162         * common.opt (Wtype-limits): ... here.
1163
1164 2008-02-24  Edmar Wienskoski  <edmar@freescale.com>
1165
1166         * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
1167         * config/rs6000/e300c2c3.md: New file.
1168         * config/rs6000/rs6000.c (processor_costs): Add new costs for
1169         e300c2 and e300c3.
1170         (rs6000_override_options): Add e300c2 and e300c3 cases to
1171         processor_target_table. Do not allow usage of Altivec or Spe
1172         with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
1173         (rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
1174         * config/rs6000/rs6000.h (processor_type): Add
1175         PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
1176         (ASM_CPU_SPEC): Add e300c2 and e300c3.
1177         * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
1178         and ppce300c3. Include e300c2c3.md.
1179
1180 2008-02-23  David Edelsohn  <edelsohn@gnu.org>
1181
1182         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
1183         instead of TARGET_STRICT_ALIGN.
1184
1185 2008-02-23  Joseph Myers  <joseph@codesourcery.com>
1186
1187         * explow.c (memory_address): Assert that the generated address is
1188         valid.
1189
1190 2008-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1191
1192         PR target/25477
1193         * config/darwin-protos.h: Add darwin_patch_builtins prototype.
1194         * config/darwin-ppc-ldouble-patch.def: New file.
1195         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
1196         * config/rs6000/rs6000.c (rs6000_init_builtins): Call
1197         SUBTARGET_INIT_BUILTINS if defined.
1198         * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
1199         New functions.
1200
1201 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1202
1203         PR rtl-opt/33512
1204         * simplify-rtx.c (simplify_binary_operation_1): Add simplification
1205         of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
1206
1207 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1208
1209         PR pch/35027
1210         * c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
1211         file" warning condtional on -Winvalid-PCH.
1212
1213 2008-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
1214
1215         * expmed.c (extract_bit_field): Always use adjust_address for MEM.
1216
1217 2008-02-23  Uros Bizjak  <ubizjak@gmail.com>
1218
1219         PR target/22076
1220         PR target/34256 
1221         * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
1222         prevent reload from using MMX registers.
1223         (*mov<mode>_internal): Ditto.
1224         (*movv2sf_internal_rex64): Ditto.
1225         (*movv2sf_internal): Ditto.
1226
1227 2008-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1228
1229         PR documentation/31569
1230         * doc/install.texi2html: Use makeinfo --no-number-sections.
1231
1232 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
1233
1234         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
1235         ensure that we can address an entire entity > 8 bytes.  Don't
1236         generate reg+reg addressing for such data.
1237
1238 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
1239
1240         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
1241         strings when optimizing for size, unless the target cares about
1242         alignment.
1243
1244 2008-02-22  Tom Tromey  <tromey@redhat.com>
1245
1246         * regclass.c (current_pass): Remove declaration.
1247
1248 2008-02-22  Anatoly Sokolov <aesok@post.ru>
1249
1250         * config/avr/libgcc.S (__RAMPZ__): Define.
1251         (__do_copy_data): Add for devices with 128KB code memory.
1252
1253 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
1254
1255         * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
1256         Use spe_abi.
1257         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
1258
1259 2008-02-22  Hans-Peter Nilsson  <hp@axis.com>
1260
1261         * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
1262         GENNONACR_REGS.
1263
1264 2008-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1265
1266         PR c/19999
1267         * c-typeck.c (build_binary_op): Warn about floating point
1268         comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
1269
1270 2008-02-21  Janis Johnson  <janis187@us.ibm.com>
1271
1272         PR target/34526
1273         * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
1274         (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
1275         add vrsave.
1276         (rs6000_override_options): Set altivec_abi as default, not override,
1277         for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
1278         TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
1279         is used; use new member spe_abi.
1280         (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
1281         spe_abi and altivec_abi.
1282
1283 2008-02-22  Tomas Bily  <tbily@suse.cz>
1284
1285         * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
1286
1287 2008-02-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1288
1289         PR bootstrap/35273
1290         * config.build (build_file_translate): Set to `CMD //c' only if
1291         it works.
1292         * Makefile.in (build_file_translate): Improve comment.
1293
1294 2008-02-21  Jan Hubicka  <jh@suse.cz>
1295
1296         * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
1297         PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
1298         PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
1299
1300 2008-02-21  Michael Matz  <matz@suse.de>
1301
1302         PR target/35264
1303         * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
1304
1305 2008-02-21  Uros Bizjak  <ubizjak@gmail.com>
1306
1307         * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
1308         movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
1309         as insn constraint.
1310         * config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
1311         from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
1312         SSE_VEC_FLOAT_MODE_P as insn constraint.
1313         (<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
1314         (sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
1315         sse4a_movntdf using MODEF mode iterator.
1316         (sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
1317         sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
1318         (sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
1319         (sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
1320         (sse4_1_dpp<ssemodesuffixf2c>): Ditto.
1321         (sse4_1_roundp<ssemodesuffixf2c>): Ditto.
1322         (sse4_1_rounds<ssemodesuffixf2c>): Ditto.
1323
1324 2008-02-21  Richard Guenther  <rguenther@suse.de>
1325
1326         * tree.def (PAREN_EXPR): New tree code.
1327         * fold-const.c (fold_unary): Remove PAREN_EXPR around constants
1328         and PAREN_EXPR.
1329         * tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
1330         * expr.c (expand_expr_real_1): Likewise.
1331         * tree-inline.c (estimate_num_insns_1): Likewise.
1332         * tree-complex.c (expand_complex_move): Likewise.
1333         * tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
1334         as plain x.
1335
1336 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1337
1338         PR target/35225
1339         * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
1340
1341 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1342
1343         PR target/35190
1344         * config/sh/sh.md (jump_compact): Disable for crossing jumps.
1345
1346         * config/sh/sh.c (find_barrier): Don't go past
1347         NOTE_INSN_SWITCH_TEXT_SECTIONS note.
1348
1349 2008-02-20  DJ Delorie  <dj@redhat.com>
1350
1351         * config/h8300/h8300.md (insv): Force source operand to be a register.
1352
1353         * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
1354         as a jump, not as a plain insn.
1355         
1356 2008-02-20  Seongbae Park <seongbae.park@gmail.com>
1357
1358         * doc/invoke.texi (Warning Options): Add new option
1359         -Wframe-larger-than=.
1360         (-Wframe-larger-than): Document.
1361
1362         * flags.h (warn_frame_larger_than, frame_larger_than_size):
1363         Add declarations for new option variables.
1364
1365         * final.c (final_start_function): Check the frame size
1366         before emission and issue a Wframe-larger-than warning.
1367
1368         * opts.c (warn_frame_larger_than, frame_larger_than_size):
1369         Add definitions for new option variables.
1370         (common_handle_option): Handle new option OPT_Wframe_larger_than_.
1371
1372         * common.opt (Wframe-larger-than=): New option.
1373
1374 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
1375
1376         * config/i386/sse.md (<sse>_vmmul<mode>3): Fix typo in asm template.
1377         (<sse>_div<mode>3): Ditto.
1378         (<sse>_vmdiv<mode>3): Ditto.
1379         (<sse>_vmsqrt<mode>2): Ditto.
1380         (*smax<mode>3): Ditto.
1381         (sse5_frcz<mode>2): Ditto.
1382         (sse5_vmfrcz<mode>2): Ditto.  Use TARGET_SSE5 instead of TARGET_ROUND
1383         as insn constraint.
1384
1385 2008-02-20  Richard Guenther  <rguenther@suse.de>
1386
1387         PR middle-end/35265
1388         * builtins.c (validate_arg): If we want an INTEGER_TYPE,
1389         be happy with INTEGRAL_TYPE_P.
1390
1391 2008-02-20  Richard Guenther  <rguenther@suse.de>
1392
1393         * fold-const.c (split_tree): Associate floatig-point expressions
1394         if flag_associative_math is set.
1395
1396 2008-02-20  Richard Guenther  <rguenther@suse.de>
1397
1398         * tree.h (fold_real_zero_addition_p): Declare.
1399         * fold-const.c (fold_real_zero_addition_p): Export.
1400         * tree-ssa-reassoc.c (eliminate_using_constants): Also handle
1401         floating-point operations with zero and one.
1402
1403 2008-02-20  Paolo Bonzini  <bonzini@gnu.org>
1404
1405         * doc/install.texi: Correct references to CFLAGS, replacing them
1406         with BOOT_CFLAGS.  Document flags used during bootstrap for
1407         target libraries.
1408                                 
1409 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
1410
1411         * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
1412         * config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
1413         and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
1414         insn constraint.
1415         (smin<mode>3): Ditto from similar patterns.
1416         (smax<mode>3): Ditto.
1417         (*ieee_smin<mode>3): Ditto.
1418         (*ieee_smax<mode>3): Ditto.
1419         * config/i386/sse.md (sse): New mode attribute.
1420         (mov<mode>): Macroize expander from movv4sf and movv2df using
1421         SSEMODEF2P mode iterator.
1422         (<sse>_movnt<mode>): Ditto from similar patterns. Use
1423         SSE_VEC_FLOAT_MODE_P as insn constraint.
1424         (storent<mode>): Ditto.
1425         (storent<mode>): Macroize expander from storentsf and storentdf using
1426         MODEF mode iterator.
1427         (neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
1428         mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
1429         (abs<mode>2): Ditto from similar patterns.
1430         (add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
1431         (sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
1432         (<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
1433         (<sse>_vmsqrt<mode>2): Ditto.
1434         (smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
1435         (<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
1436         (smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
1437         (<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
1438         (<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
1439         sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
1440         mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
1441         insn constraint.
1442         (<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
1443         iterator and SSE_FLOAT_MODE_P as insn constraint.
1444         (<sse>_ucomi): Ditto from similar patterns.
1445         (<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
1446         sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
1447         SSE_VEC_FLOAT_MODE_P as insn constraint.
1448         (vcond<mode>): Ditto from similar patterns.
1449         (and<mode>3, *and<mode>3): Ditto.
1450         (<sse>_nand<mode>3): Ditto.
1451         (ior<mode>3, *ior<mode>3): Ditto.
1452         (xor<mode>3, *xor<mode>3): Ditto.
1453         (*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
1454         iterator and SSE_FLOAT_MODE_P as insn constraint.
1455         (*nand<mode>3): Ditto from similar patterns.
1456         (*ior<mode>3): Ditto.
1457         (*xor<mode>3): Ditto.
1458
1459 2008-02-20  Ira Rosen  <irar@il.ibm.com>
1460
1461         * config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
1462         vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
1463         vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
1464
1465 2008-02-19  Jan Hubicka  <jh@suse.cz>
1466
1467         * predict.c (tree_bb_level_predictions): Remove variable next
1468         mistakely introduced by previous commit.
1469
1470 2008-02-19  Jan Hubicka  <jh@suse.cz>
1471
1472         * predict.c (predict_paths_leading_to): Rewrite.
1473         (predict_paths_for_bb): New.
1474         (tree_bb_level_predictions): Update call of predict_paths_leading_to.
1475
1476 2008-02-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1477
1478         PR bootstrap/35218
1479         * Makefile.in (build_file_translate): New.
1480         (gcc-vers.texi): Use it for translating $(abs_srcdir).
1481         * config.build (build_file_translate): Set to `CMD //c' on MinGW.
1482         * configure.ac (build_file_translate): Substitute it.
1483         * configure: Regenerate.
1484
1485 2008-02-19  Jan Hubicka  <jh@suse.cz>
1486
1487         PR rtl-optimization/34408
1488         * see.c (see_def_extension_not_merged): Copy subreg so we don't have
1489         invalid sharing.
1490
1491 2008-02-19  Jan Hubicka  <jh@suse.cz>
1492
1493         PR middle-end/28779
1494         * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
1495         call_expr.
1496
1497 2008-02-19  H.J. Lu  <hongjiu.lu@intel.com>
1498
1499         PR Ada/35186
1500         * config/i386/i386-modes.def: Revert the last DI alignment
1501         change until Ada people can look into it.
1502
1503 2008-02-19  Nick Clifton  <nickc@redhat.com>
1504
1505         * opts.c (print_specific_help): Fix typo in --help text.
1506
1507 2008-02-19  Jakub Jelinek  <jakub@redhat.com>
1508
1509         PR target/35239
1510         * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
1511         32-bit inline asm without asm alternatives for host GCC < 3.0.
1512
1513 2008-02-19  Richard Guenther  <rguenther@suse.de>
1514
1515         PR tree-optimization/34989
1516         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
1517         Allow propagation to INDIRECT_REF if we can simplify only.
1518
1519 2008-02-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1520
1521         * c-common.c (warn_for_collisions_1): Use appropriate option when
1522         warning.
1523
1524 2008-02-19  Nick Clifton  <nickc@redhat.com>
1525
1526         PR other/31349
1527         * opts.c (undocumented_msg): Leave blank unless checking is enabled.
1528         (handle_options): Fix indentation.
1529         (print_filtered_help): If no language-specific options were
1530         displayed tell the user how to list all the options supported by
1531         the language's front-end.
1532         (print_specific_help): Fix indentation and remove duplicate line.
1533         (common_handle_option): Handle the -v option.
1534         For --help enable the display of undocumented options if the -v
1535         switch has been included on the command line.
1536         For --help= check for overlaps in the arguments between the option
1537         classes and the language names and issue a warning when they
1538         cannot be disambiguated.
1539         * c.opt (v): Pass on to the common option handler.
1540
1541 2008-02-19  Revital Eres  <eres@il.ibm.com> 
1542
1543         * modulo-sched.c (sms_schedule): Change dump message when
1544         create_ddg function fails.
1545         (try_scheduling_node_in_cycle): Rename row to cycle.
1546         (print_partial_schedule): Rename CYCLE to ROW.
1547
1548 2008-02-19  Christian Bruel  <christian.bruel@st.com>
1549             Zdenek Dvorak  <ook@ucw.cz>
1550
1551         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
1552
1553 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
1554
1555         PR target/33555
1556         * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
1557         (*x86_movdicc_0_m1_se): Ditto.
1558
1559 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
1560
1561         * config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
1562         (CMPtype): Define as __gcc_CMPtype.
1563         * config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
1564         (CMPtype): Define as __gcc_CMPtype.
1565
1566 2008-02-19  Hans-Peter Nilsson  <hp@axis.com>
1567
1568         Support valgrind 3.3 for --enable-checking=valgrind.
1569         * system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
1570         here.
1571         [!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
1572         [!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
1573         [!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
1574         * ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
1575         Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
1576         VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
1577         VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
1578         respectively.
1579         * ggc-zone.c: Similar.
1580         * ggc-page.c: Similar.
1581
1582 2008-02-19  Paul Brook  <paul@codesourcery.com>
1583
1584         PR target/35071
1585         * config/arm/ieee754-df.S: Fix do_it typo.
1586         * config/arm/ieee754-sf.S: Fix do_it typo.
1587
1588 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
1589
1590         PR target/35189
1591         * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
1592         (OPTION_MASK_ISA_3DNOW_SET): Likewise.
1593         (OPTION_MASK_ISA_SSE_SET): Likewise.
1594         (OPTION_MASK_ISA_SSE2_SET): Likewise.
1595         (OPTION_MASK_ISA_SSE3_SET): Likewise.
1596         (OPTION_MASK_ISA_SSSE3_SET): Likewise.
1597         (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
1598         (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
1599         (OPTION_MASK_ISA_SSE4_SET): Likewise.
1600         (OPTION_MASK_ISA_SSE4A_SET): Likewise.
1601         (OPTION_MASK_ISA_SSE5_SET): Likewise.
1602         (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
1603         (OPTION_MASK_ISA_MMX_UNSET): Updated.
1604         (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
1605         (OPTION_MASK_ISA_SSE_UNSET): Likewise.
1606         (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
1607         (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
1608         (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
1609         (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
1610         (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
1611         (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
1612         (OPTION_MASK_ISA_SSE4): Removed.
1613         (ix86_handle_option): Turn on bits in ix86_isa_flags and
1614         ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for
1615         -mXXX.
1616         (override_options): Don't turn on implied SSE/MMX bits in
1617         ix86_isa_flags.
1618
1619 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
1620
1621         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
1622         32bit host.
1623
1624 2008-02-18  Joey Ye  <joey.ye@intel.com>
1625
1626         PR middle-end/34921
1627         * tree-nested.c (insert_field_into_struct): Set type alignment
1628         to field alignment if the former is less than the latter.
1629
1630 2008-02-18  Jakub Jelinek  <jakub@redhat.com>
1631
1632         * BASE-VER: Set to 4.4.0.
1633
1634 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1635
1636         * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
1637         * doc/cfg.texi: Likewise.
1638         * doc/extend.texi: Likewise.
1639         * doc/gty.texi: Likewise.
1640         * doc/invoke.texi: Likewise.
1641         * doc/loop.texi: Likewise.
1642         * doc/md.texi: Likewise.
1643         * doc/passes.texi: Likewise.
1644         * doc/rtl.texi: Likewise.
1645         * doc/sourcebuild.texi: Likewise.
1646         * doc/tm.texi: Likewise.
1647         * doc/tree-ssa.texi: Likewise.
1648
1649 2008-02-17  Richard Guenther  <rguenther@suse.de>
1650
1651         PR middle-end/35227
1652         * tree-complex.c (init_parameter_lattice_values): Handle parameters
1653         without default definition.
1654
1655 2008-02-17  Richard Guenther  <rguenther@suse.de>
1656
1657         PR tree-optimization/35231
1658         * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
1659         if A | B != 1.
1660
1661 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
1662
1663         Revert:
1664
1665         2008-02-15  Uros Bizjak  <ubizjak@gmail.com>    
1666         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
1667         libgcc_cmp_return mode.
1668
1669 2008-02-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1670
1671         PR c/28368
1672         * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
1673
1674 2008-02-16  Ralf Corsepius  <ralf.corsepius@rtems.org>
1675
1676         * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
1677         multilibs.
1678
1679 2008-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1680
1681         * doc/c-tree.texi: Use `@.' where appropriate.
1682         * doc/extend.texi: Likewise.
1683         * doc/install.texi: Likewise.
1684         * doc/invoke.texi: Likewise.
1685         * doc/loop.texi: Likewise.
1686         * doc/makefile.texi: Likewise.
1687         * doc/md.texi: Likewise.
1688         * doc/passes.texi: Likewise.
1689         * doc/standards.texi: Likewise.
1690         * doc/tm.texi: Likewise.
1691
1692 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
1693
1694         PR middle-end/35196
1695         * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
1696         in entry_bb.
1697         (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
1698         rather than in entry_bb.
1699
1700 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
1701
1702         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
1703         libgcc_cmp_return mode.
1704
1705 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
1706
1707         PR middle-end/35130
1708         * tree-nested.c (convert_call_expr): Put FRAME.* vars into
1709         OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
1710
1711 2008-02-15  Richard Guenther  <rguenther@suse.de>
1712             Zdenek Dvorak  <ook@ucw.cz>
1713
1714         PR tree-optimization/35164
1715         * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
1716         * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
1717         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
1718         Only propagate addresses which do not have abnormal SSA_NAMEs
1719         in their operands.
1720
1721 2008-02-15  Joseph Myers  <joseph@codesourcery.com>
1722
1723         PR target/35088
1724         * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
1725
1726 2008-02-15  Jan Hubicka  <jh@suse.cz>
1727
1728         PR middle-end/35149
1729         * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
1730
1731 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
1732
1733         PR middle-end/34621
1734         * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
1735         when calculating alignment_pad.
1736
1737 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
1738
1739         * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
1740         (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
1741         * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
1742         and STACK_BOUNDARY define.
1743
1744 2008-02-14  Danny Smith  <dannysmith@users.sourceforge.net>
1745
1746         PR preprocessor/35061
1747         * c-pragma.c (handle_pragma_pop_macro): Check that
1748         pushed_macro_table has been allocated.
1749
1750 2008-02-14  Eric Botcazou  <ebotcazou@adacore.com>
1751
1752         PR middle-end/35136
1753         * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
1754         (force_gimple_operand): Likewise.
1755         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
1756         for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
1757         Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
1758         (find_interesting_uses_address): Check addressability and alignment
1759         of the base expression only after substituting bases of IVs into it.
1760
1761 2008-02-14  Michael Matz  <matz@suse.de>
1762
1763         PR target/34930
1764         * function.c (instantiate_virtual_regs_in_insn): Reload address
1765         before falling back to reloading the whole operand.
1766
1767 2008-02-14  Andreas Krebbel  <krebbel1@de.ibm.com>
1768
1769         * config/s390/s390.c (s390_mainpool_start): Emit the pool
1770         before the first section switch note.
1771
1772 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1773
1774         * doc/bugreport.texi: Update copyright years.
1775         * doc/c-tree.texi: Likewise.
1776         * doc/cfg.texi: Likewise.
1777         * doc/cpp.texi: Likewise.
1778         * doc/cppinternals.texi: Likewise.
1779         * doc/fragments.texi: Likewise.
1780         * doc/frontends.texi: Likewise.
1781         * doc/gcc.texi: Likewise.
1782         * doc/gty.texi: Likewise.
1783         * doc/hostconfig.texi: Likewise.
1784         * doc/implement-c.texi: Likewise.
1785         * doc/libgcc.texi: Likewise.
1786         * doc/loop.texi: Likewise.
1787         * doc/makefile.texi: Likewise.
1788         * doc/options.texi: Likewise.
1789         * doc/passes.texi: Likewise.
1790         * doc/rtl.texi: Likewise.
1791         * doc/sourcebuild.texi: Likewise.
1792         * doc/standards.texi: Likewise.
1793         * doc/tree-ssa.texi: Likewise.
1794         * doc/trouble.texi: Likewise.
1795
1796         * doc/extend.texi: Use @: or add comma where appropriate.
1797         * doc/invoke.texi: Likewise.
1798         * doc/tm.texi: Likewise.
1799
1800 2008-02-14  Alan Modra  <amodra@bigpond.net.au>
1801
1802         PR target/34393
1803         * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
1804         to a reg.
1805
1806 2008-02-14  Jesper Nilsson  <jesper.nilsson@axis.com>
1807
1808         * doc/md.texi (clz, ctz): Add reference.
1809         * doc/rtl.texi (clz, ctz): Likewise.
1810
1811 2008-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1812
1813         PR other/35148
1814         * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
1815         srcdir.
1816
1817 2008-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
1818
1819         * config/s390/s390.c (struct constant_pool): New field
1820         emit_pool_after added.
1821         (s390_mainpool_start): Set the emit_pool_after flag according
1822         to the section switch notes.
1823         (s390_mainpool_finish): Consider emit_pool_after when emitting
1824         the literal pool at the end of the function.
1825         (s390_chunkify_start): Force literal pool splits at section
1826         switch notes.
1827
1828 2008-02-13  Michael Matz  <matz@suse.de>
1829
1830         PR debug/35065
1831         * var-tracking.c (clobber_variable_part): Correctly traverse the
1832         list.
1833
1834 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1835
1836         PR 29673
1837         * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
1838         Add -fdump-ipa-inline.
1839         * tree-dump.c (dump_files): Remove tree-inlined dump.
1840         * tree-pass.h (tree_dump_index): Remove TDI_inlined.
1841         
1842 2008-02-12  Richard Guenther  <rguenther@suse.de>
1843
1844         PR tree-optimization/35171
1845         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
1846         default defs.
1847
1848 2008-02-12  Richard Guenther  <rguenther@suse.de>
1849
1850         PR middle-end/35163
1851         * fold-const.c (fold_widened_comparison): Use get_unwidened in
1852         value-preserving mode.  Disallow final truncation.
1853
1854 2008-02-12  Eric Botcazou  <ebotcazou@adacore.com>
1855
1856         PR middle-end/35136
1857         * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
1858         code from here to...
1859         (force_gimple_operand): ...here.
1860
1861 2008-02-12  Jakub Jelinek  <jakub@redhat.com>
1862
1863         PR c++/35144
1864         * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
1865         non-compatible pointers.
1866         (generate_element_copy): If SRC and DST are RECORD_TYPEs with
1867         different FIELD_DECLs, try harder by comparing field offsets, sizes
1868         and types.
1869
1870         PR inline-asm/35160
1871         * function.c (match_asm_constraints_1): Don't replace the same input
1872         multiple times.
1873
1874 2008-02-12  Anatoly Sokolov <aesok@post.ru>
1875
1876         * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
1877         * config/avr/avr.c (expand_prologue): Save RAMPZ register.
1878         (expand_epilogue): Restore RAMPZ register.
1879         * config/avr/avr.md (RAMPZ_ADDR): New constant.
1880
1881 2008-02-11  Kai Tietz  <kai.tietz@onevision.com>
1882
1883         * config/i386/cygwin.asm: (__alloca): Correct calling
1884         convention and alignment.
1885         (__chkstk): Force 8 byte stack alignment.
1886
1887 2008-02-11  Uros Bizjak  <ubizjak@gmail.com>
1888             Richard Guenther  <rguenther@suse.de>
1889
1890         PR tree-optimization/33992
1891         * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
1892         the zero we compare against.
1893
1894 2008-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
1895
1896         PR libfortran/35063
1897         * gthr-win32.h (__gthread_mutex_destroy_function): New function
1898         to CloseHandle after unlocking to prevent accumulation of handle
1899         count.
1900
1901 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1902
1903         PR middle_end/34150
1904         * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
1905         pic_label_operand source.  Similarly, add a REG_LABEL_OPERAND note
1906         and update LABEL_NUSES during and after reload.
1907
1908 2008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
1909
1910         PR middle-end/34627
1911         * combine.c (simplify_if_then_else): Make sure the comparison is
1912         against const0_rtx when simplifying to (abs x) or (neg (abs X)).
1913
1914 2008-02-08  Richard Sandiford  <rsandifo@nildram.co.uk>
1915
1916         PR bootstrap/35051
1917         * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
1918         (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
1919         * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
1920         (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
1921         * tree.h (get_type_static_bounds): Likewise.
1922
1923 2008-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1924
1925         * doc/invoke.texi (Option Summary, C++ Dialect Options)
1926         (Objective-C and Objective-C++ Dialect Options, Warning Options):
1927         Make -Wfoo language annotations match what the compiler outputs.
1928
1929 2008-02-08  Sa Liu  <saliu@de.ibm.com>
1930
1931         * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
1932         intrinsics spu_convts, spu_convtu, spu_convtf.
1933         * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
1934
1935 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
1936
1937         * doc/extend.texi (Function Attributes) <noinline>: Mention
1938         asm ("") as method to keep calls.
1939
1940 2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1941
1942         PR other/32754
1943         * doc/options.texi (Options): Replace references to opts.sh with
1944         optc-gen.awk.
1945         * opts-common.c: Likewise.
1946         * optc-gen.awk: Likewise.
1947         
1948 2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
1949
1950         * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
1951
1952 2008-02-07  Richard Henderson  <rth@redhat.com>
1953
1954         PR rtl-opt/33410
1955         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
1956         EXPR_LIST for the REG_EQUAL instead of a comparison with a 
1957         funny mode.
1958
1959 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
1960
1961         PR tree-optimization/35085
1962         * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
1963         for operand entry oe2 in addition to operand entry oe3 in order to
1964         expose more opportunities for vectorizer sum reduction.
1965
1966 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1967
1968         PR other/35107
1969         * Makefile.in (LIBS): Remove $(GMPLIBS).
1970         (cc1-dummy, cc1): Add $(GMPLIBS).
1971
1972 2008-02-06  Jan Hubicka  <jh@suse.cz>
1973
1974         PR target/23322
1975         * i386.md (moddf_integer): Do not produce partial memory stalls for
1976         targets where it hurts.
1977
1978 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
1979
1980         PR target/35083
1981         * optabs.c (expand_float): Do not check for decimal modes when
1982         expanding unsigned integer through signed conversion.
1983
1984 2008-02-06  Nick Clifton  <nickc@redhat.com>
1985
1986         * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
1987         inside the clobber with a match_operand and duplicated operand
1988         number in the constraint.
1989         (ineqbranchsi): Delete redundant comment.
1990
1991 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
1992
1993         * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
1994         builtin_define ("__USE_INIT_FINI__").
1995         * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
1996         -msx multilibs.
1997         * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
1998
1999 2008-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2000
2001         PR documentation/30330
2002         * doc/invoke.texi (C++ Dialect Options)
2003         (Objective-C and Objective-C++ Dialect Options, Warning Options):
2004         For each warning option -Wfoo that allows -Wno-foo, ensure both
2005         -Wfoo and -Wno-foo are listed in the option index.  Fix index
2006         entry of -Wswitch-default, index -Wnormalized= including the
2007         `=', and -Wlarger-than-@var{len} including @var{len}.
2008
2009 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
2010
2011         * config/i386/i386.md (floatunssisf2): Use
2012         ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
2013         (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
2014         Macroize expander using MODEF mode iterator.
2015
2016 2008-02-05  Diego Novillo  <dnovillo@google.com>
2017
2018         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
2019
2020         PR 33738
2021         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
2022
2023 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2024
2025         PR other/35070
2026         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
2027
2028 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
2029
2030         PR target/35084
2031         * config/i386/i386.c (ix86_function_sseregparm): Add an arg
2032         to indicate if a message should be generated.
2033         (init_cumulative_args): Updated.
2034         (function_value_32): Likewise.
2035
2036 2008-02-05  Joseph Myers  <joseph@codesourcery.com>
2037
2038         * doc/include/texinfo.tex: Update to version 2008-02-04.16.
2039
2040 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
2041
2042         PR target/35083
2043         * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
2044         Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
2045
2046 2008-02-04  Diego Novillo  <dnovillo@google.com>
2047
2048         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
2049
2050         PR 33738
2051         * tree-vrp.c (vrp_evaluate_conditional): With
2052         -Wtype-limits, emit a warning when comparing against a
2053         constant outside the natural range of OP0's type.
2054
2055 2008-02-04  Richard Guenther  <rguenther@suse.de>
2056
2057         PR middle-end/33631
2058         * expr.c (count_type_elements): Give for unions instead of
2059         guessing.
2060
2061 2008-02-04  Richard Guenther  <rguenther@suse.de>
2062
2063         PR middle-end/35043
2064         * gimplify.c (gimplify_init_ctor_eval): Convert array indices
2065         to TYPE_DOMAINs base type instead of using bitsizetype here.
2066
2067 2008-02-03  Jason Merrill  <jason@redhat.com>
2068
2069         * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
2070
2071 2008-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2072
2073         PR other/29972
2074         * doc/invoke.texi (C++ Dialect Options, Optimize Options)
2075         (HPPA Options, i386 and x86-64 Options, IA-64 Options)
2076         (RS/6000 and PowerPC Options): Fix typos and markup.
2077         * doc/passes.texi (Tree-SSA passes): Likewise.
2078
2079 2008-02-02  Michael Matz  <matz@suse.de>
2080
2081         PR target/35045
2082         * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
2083         from record_last_reg_set_info.
2084         (record_last_reg_set_info): Take an RTX argument, iterate over all
2085         constituent hardregs.
2086         (record_last_set_info, record_opr_changes): Change calls to
2087         new signature or to record_last_reg_set_info_regno.
2088
2089 2008-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
2090
2091         * doc/extend.texi (X86 Built-in Functions): Fix grammar.
2092
2093 2008-02-01  Hans-Peter Nilsson  <hp@axis.com>
2094
2095         PR rtl-optimization/34773
2096         * reg-notes.def (EQUAL): Mention significance of combination of
2097         REG_EQUAL and REG_RETVAL.
2098         * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
2099         insn that has a REG_RETVAL.
2100
2101 2008-02-01  Roger Sayle  <roger@eyesopen.com>
2102
2103         PR bootstrap/33781
2104         * configure.ac (--enable-fixed-point): Disable unless explicitly
2105         requested on IRIX.
2106         * configure: Regenerate.
2107
2108 2008-02-01  Richard Guenther  <rguenther@suse.de>
2109
2110         PR other/35042
2111         * invoke.texi (-finline-limit): Remove no longer true parts
2112         of the documentation.  Note that there is no default value.
2113
2114 2008-02-01  Andrew Pinski  <pinskia@gmail.com>
2115             Mark Mitchell  <mark@codesourcery.com>
2116             Ben Elliston  <bje@au.ibm.com>
2117
2118         PR c/29326
2119         * doc/extend.texi (Other Builtins): Document.
2120
2121 2008-01-31  Tom Browder <tom.browder@gmail.com>
2122
2123         * doc/c-tree.texi (Types): Fix grammar.
2124         (Expression trees): Ditto.
2125         * doc/passes.texi (Tree-SSA passes): Ditto.
2126         
2127         * doc/configterms.texi (Configure Terms): Fix typo.
2128         * doc/cpp.texi (Common Predefined Macros): Ditto.
2129         * doc/md.texi (Machine Constraints): Ditto.
2130         
2131         * doc/makefile.texi (Makefile): Add comma.
2132
2133 2008-01-31  Tom Browder  <tom.browder@gmail.com>
2134             Gerald Pfeifer  <gerald@pfeifer.com>
2135         
2136         * doc/sourcebuild.texi (Front End): Remove references to CVS
2137         and CVSROOT/modules.
2138         (Texinfo Manuals): Replace reference to CVS by one to SVN.
2139         (Back End): Remove reference to CVS.
2140
2141 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
2142
2143         PR target/34900
2144         * config/mips/mips.c (gen_load_const_gp): New function, taking a
2145         comment from...
2146         (mips16_gp_pseudo_reg): ...here.
2147         * config/mips/mips.md (load_const_gp): Replace with...
2148         (load_const_gp_<mode>): ...this :P-based insn.
2149
2150 2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2151
2152         * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
2153         options. Minor fixes.
2154         (-std): Move reference to standards closer to where language
2155         standards are first mentioned.
2156         
2157 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
2158
2159         PR rtl-optimization/34995
2160         * reload.c (alternative_allows_const_pool_ref): Take an rtx
2161         parameter and return a bool.  If the rtx parameter is nonnull,
2162         check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
2163         (find_reloads): Update call accordingly.  Pass the new operand
2164         if it needed no address reloads, otherwise pass null.
2165
2166 2008-01-30  Richard Henderson  <rth@redhat.com>
2167
2168         PR c/34993
2169         * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
2170         for unbounded arrays.
2171
2172 2008-01-30  Silvius Rus  <rus@google.com>
2173
2174         * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
2175
2176 2008-01-30  Jan Hubicka  <jh@suse.cz>
2177
2178         PR target/34982
2179         * i386.c (init_cumulative_args): Use real function declaration when
2180         calling locally.
2181
2182 2008-01-30  Richard Sandiford  <rsandifo@nildram.co.uk>
2183
2184         PR rtl-optimization/34998
2185         * global.c (build_insn_chain): Treat non-subreg_lowpart
2186         SUBREGs of pseudos as clobbering all the words covered by the
2187         SUBREG, not just all the bytes.
2188         * ra-conflict.c (clear_reg_in_live): Likewise.  Take the
2189         original df_ref rather than an extract parameter.
2190         (global_conflicts): Update call accordingly.
2191
2192 2008-01-30  Andreas Krebbel  <krebbel1@de.ibm.com>
2193
2194         * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
2195         the overflow check to make it easier to read.
2196         (__fixtfdi): Change the type of the ll member in union
2197         long_double to UDItype_x.
2198
2199 2008-01-30  Jakub Jelinek  <jakub@redhat.com>
2200
2201         PR middle-end/34969
2202         * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
2203         * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
2204         * tree-inline.c (fold_marked_statements): Call
2205         cgraph_update_edges_for_call_stmt if folding a call statement.
2206         * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
2207         debug_generic_stmt calls, reset it back afterwards.
2208
2209         PR c/35017
2210         * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
2211         static decls.
2212         * c-typeck.c (build_external_ref): Don't pedwarn about
2213         static vars in current function's scope.
2214
2215 2008-01-29  Joseph Myers  <joseph@codesourcery.com>
2216
2217         * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
2218
2219 2008-01-29  Bernhard Fischer  <aldot@gcc.gnu.org>
2220
2221         PR c/35002
2222         * ipa-struct-reorg.c: Fix spelling.
2223         * params.def: Ditto.
2224
2225 2008-01-29  Richard Guenther  <rguenther@suse.de>
2226
2227         PR middle-end/35006
2228         * tree-inline.h (struct copy_body_data): Add remapping_type_depth
2229         field.
2230         * tree-inline.c (remap_type): Increment remapping_type_depth
2231         around remapping types.
2232         (copy_body_r): Only add referenced variables if they are referenced
2233         from code, not types.
2234
2235 2008-01-29  Douglas Gregor  <doug.gregor@gmail.com>
2236
2237         PR c++/34055
2238         PR c++/34103
2239         PR c++/34219
2240         PR c++/34606
2241         PR c++/34753
2242         PR c++/34754
2243         PR c++/34755
2244         PR c++/34919
2245         PR c++/34961
2246         * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
2247         qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
2248
2249 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
2250
2251         PR target/34412
2252         * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
2253         pointer for tiny stack.
2254
2255 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
2256
2257         * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
2258
2259 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
2260
2261         * config/vx-common.h: Fix typo in comment.
2262
2263 2008-01-28  Ian Lance Taylor  <iant@google.com>
2264
2265         PR c++/34862
2266         PR c++/33407
2267         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2268         coalesce pointers if they have different DECL_NO_TBAA_P values.
2269         * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
2270         between variables with different DECL_NO_TBAA_P values.
2271
2272 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
2273
2274         PR 31535
2275         * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
2276         are not legitimate small data references on SPE targets.
2277
2278 2008-01-28  David Daney  <ddaney@avtrex.com>
2279
2280         * doc/install.texi (mips-*-*): Recommend binutils 2.18.
2281
2282 2008-01-28  David Daney  <ddaney@avtrex.com>
2283
2284         * doc/install.texi (--disable-libgcj-bc):  Reword documentation.
2285
2286 2008-01-27  Joseph Myers  <joseph@codesourcery.com>
2287
2288         * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
2289         m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
2290         *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
2291         *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
2292         hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
2293         i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
2294         i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
2295         vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
2296
2297 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
2298
2299         * basic-block.h (condjump_equiv_p): Fix comment.
2300
2301 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
2302
2303         * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
2304         print_generic_stmt_indented): Fix comment.
2305
2306 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
2307
2308         * configure.ac (__stack_chk_fail): Add detecion for availability
2309         of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
2310         * configure: Regenerate.
2311
2312 2008-01-26  Maxim Kuvyrkov  <maxim@codesourcery.com>
2313
2314         PR middle-end/34688
2315         * final.c (output_addr_const): Handle TRUNCATE.
2316
2317 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
2318
2319         PR target/34711
2320         * tree-ssa-loop-ivopts.c (comp_cost): New type.
2321         (zero_cost, infinite_cost): New constants.
2322         (struct cost_pair): Change type of cost to comp_cost.
2323         (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
2324         (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
2325         New functions.
2326         (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
2327         split_address_cost, ptr_difference_cost, difference_cost,
2328         get_computation_cost_at, get_computation_cost,
2329         determine_use_iv_cost_generic, determine_use_iv_cost_address,
2330         determine_use_iv_cost_condition, determine_use_iv_costs,
2331         cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
2332         iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
2333         iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
2334         Change type of cost to comp_cost.
2335         (determine_iv_cost): Increase cost of non-original ivs, instead
2336         of decreasing the cost of original ones.
2337         (get_address_cost): Indicate the complexity of the addressing mode 
2338         in comp_cost.
2339         (try_add_cand_for): Prefer using ivs not specific to some object.
2340         * tree-flow.h (force_expr_to_var_cost): Declaration removed.
2341
2342 2008-01-26  Peter Bergner  <bergner@vnet.ibm.com>
2343             Janis Johnson  <janis187@us.ibm.com>
2344
2345         PR target/34814
2346         * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
2347         (TARGET_INSTANTIATE_DECLS): Likewise.
2348         * target.h (expand_to_rtl_hook): New target hook.
2349         (instantiate_decls): Likewise.
2350         * function.c (instantiate_decl): Make non-static.  Rename to...
2351         (instantiate_decl_rtl): ... this.
2352         (instantiate_expr): Use instantiate_decl_rtl.
2353         (instantiate_decls_1): Likewise.
2354         (instantiate_decls): Likewise.
2355         (instantiate_virtual_regs: Call new instantiate_decls taget hook.
2356         * function.h (instantiate_decl_rtl): Add prototype.
2357         * cfgexpand.c (target.h): New include.
2358         (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
2359         * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
2360         (TARGET_INSTANTIATE_DECLS): Likewise.
2361         (TARGET_INITIALIZER): New target hooks added.
2362         * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
2363         New prototype.
2364         * config/rs6000/rs6000.c (tree-flow.h): New include.
2365         (machine_function): Add sdmode_stack_slot field.
2366         (rs6000_alloc_sdmode_stack_slot): New function.
2367         (rs6000_instantiate_decls): Likewise.
2368         (rs6000_secondary_memory_needed_rtx): Likewise.
2369         (rs6000_check_sdmode): Likewise.
2370         (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
2371         (TARGET_INSTANTIATE_DECLS): Likewise.
2372         (rs6000_hard_regno_mode_ok): Allow SDmode.
2373         (num_insns_constant): Likewise.  Handle _Decimal32 constants.
2374         (rs6000_emit_move): Handle SDmode.
2375         (function_arg_advance): Likewise.
2376         (function_arg): Likewise.
2377         (rs6000_gimplify_va_arg): Likewise.  Add special handling of
2378         SDmode var args for 32-bit compiles.
2379         (rs6000_secondary_reload_class): Handle SDmode.
2380         (rs6000_output_function_epilogue): Likewise.
2381         (rs6000_function_value): Simplify if statement.
2382         (rs6000_libcall_value): Likewise.
2383         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
2384         (SECONDARY_MEMORY_NEEDED_RTX): Add define.
2385         * config/rs6000/dfp.md (movsd): New define_expand and splitter.
2386         (movsd_hardfloat): New define_insn.
2387         (movsd_softfloat): Likewise.
2388         (movsd_store): Likewise.
2389         (movsd_load): Likewise.
2390         (extendsddd2): Likewise.
2391         (extendsdtd2): Likewise.
2392         (truncddsd2): Likewise.
2393         (movdd_hardfloat64): Fixup comment.
2394         (UNSPEC_MOVSD_LOAD): New constant.
2395         (UNSPEC_MOVSD_STORE): Likewise.
2396
2397 2008-01-26  Jakub Jelinek  <jakub@redhat.com>
2398
2399         PR c++/34965
2400         * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
2401         TRUTH_XOR_EXPR.
2402         (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
2403         (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
2404         (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
2405         and TRUTH_XOR_EXPR.
2406
2407 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
2408
2409         PR target/34794
2410         * config.gcc: Separate AIX 5.3 from AIX 6.1.
2411         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
2412         __LONGDOUBLE128 too.
2413         * config/rs6000/aix61.h: New file.
2414
2415 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
2416
2417         PR rtl-optimization/34959
2418         * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
2419         popcount and parity rtxes the same mode as their operand.
2420         Truncate or extend the result to the return value's mode
2421         if necessary.
2422
2423 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
2424
2425         PR target/34981
2426         * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
2427         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
2428         to GOT_VERSION_REGNUM.
2429         (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
2430         (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
2431         * config/mips/mips.c (mips_emit_call_insn): New function.
2432         (mips_call_tls_get_addr): Call mips_expand_call directly.
2433         (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
2434         emit_call_insn.
2435         (mips16_build_call_stub): Likewise.  Return the call insn or null.
2436         (mips_expand_call): Update the call to mips16_build_call_stub
2437         accordingly and a remove redundant condition.  Assert that MIPS16
2438         stubs do not use lazy binding.  Use mips_emit_call_insn and return
2439         the call insn.
2440         (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
2441         TARGET_USE_GOT.
2442         (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
2443         (mips_avoid_hazard): Remove hazard_set handling.
2444         * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
2445         (UNSPEC_RESTORE_GP): ...this.
2446         (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
2447         (FAKE_CALL_REGNO): Rename to...
2448         (GOT_VERSION_REGNUM): ...this.
2449         (type): Add "ghost" value.  Add an associated insn reservation.
2450         (hazard_set): Remove.
2451         (exception_receiver): Rename to...
2452         (restore_gp): ...this and update the unspec identifier accordingly.
2453         (exception_receiver, nonlocal_got_receiver): New expanders.
2454         (load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
2455         FAKE_CALL_REGNO.  Remove hazard_set attribute.
2456         (set_got_version, update_got_version): New patterns.
2457
2458 2008-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
2459
2460         PR target/34970
2461         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
2462
2463 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
2464
2465         PR other/31955
2466         * doc/install.texi2html: Generate gcc-vers.texi.
2467
2468 2008-01-25  DJ Delorie  <dj@redhat.com>
2469
2470         * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2471
2472 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
2473
2474         * config/c4x: Remove directory.
2475         * config.gcc (crx-*, mt-*): Mark obsolete.
2476         (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
2477         h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
2478         sh-*-rtemscoff*): Remove cases.
2479         * defaults.h (C4X_FLOAT_FORMAT): Remove.
2480         * real.c (encode_c4x_single, decode_c4x_single,
2481         encode_c4x_extended, decode_c4x_extended, c4x_single_format,
2482         c4x_extended_format): Remove.
2483         * real.h (c4x_single_format, c4x_extended_format): Remove.
2484         * doc/extend.texi (interrupt, naked): Remove mention of attributes
2485         on C4x.
2486         (Pragmas): Remove comment about c4x pragmas.
2487         * doc/install.texi (c4x): Remove target-specific instructions.
2488         * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
2489         * doc/md.texi (Machine Constraints): Remove C4x documentation.
2490         * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
2491         refer to C4x source files as examples.
2492         (C4X_FLOAT_FORMAT): Remove documentation.
2493
2494 2008-01-25  Bernd Schmidt  <bernd.schmidt@analog.com>
2495
2496         * config/bfin/bfin.c (override_options): Reorder tests so that
2497         flag_pic gets enabled for -msep-data.
2498
2499 2008-01-25  Richard Guenther  <rguenther@suse.de>
2500
2501         PR middle-end/32244
2502         * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
2503         to its bitfield precision if required.
2504
2505 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
2506
2507         PR middle-end/33880
2508         * tree-nested.c (walk_omp_for): New function.
2509         (convert_nonlocal_reference, convert_local_reference): Call
2510         walk_omp_for on OMP_FOR.
2511         (convert_call_expr): Call walk_body on OMP_FOR's
2512         OMP_FOR_PRE_INIT_BODY.
2513
2514 2008-01-25  Richard Guenther  <rguenther@suse.de>
2515
2516         PR tree-optimization/34966
2517         * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
2518         default defs and PHI_NODEs we have to insert after the
2519         defining statement.
2520
2521 2008-01-24  Nick Clifton  <nickc@redhat.com>
2522
2523         * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
2524         Provide a default definition.
2525         (LIBGCC2_UNITS_PER_WORD): Likewise.
2526
2527         * config/stormy16/stormy16.c: Include df.h for the prototype
2528         for df_regs_ever_live_p.
2529         (xstormy16_expand_builtin_va_start): Convert the stack offset
2530         into a component_ref and then use POINTER_PLUS_EXPR to add it
2531         to the incoming_virtual_args_rtx.
2532         (xstormy16_gimplify_va_arg_expr): Rename to
2533         xstormy16_gimplify_va_arg_expr.
2534         Use POINTER_PLUS_EXPR when performing pointer arithmetic.
2535         (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
2536         xstormy16_gimplify_va_arg_expr.
2537         Fix up some formatting issues.
2538
2539         * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
2540         Move to predicates.md.
2541         (xs_hi_general_operand): Likewise.
2542         (xs_hi_nonmemory_operand): Likewise.
2543         * config/stormy16/predicates.md:
2544         (xstormy16_carry_plus_operand): New predicate.
2545         (xs_hi_general_operand): New predicate.
2546         (xs_hi_nonmemory_operand): New predicate.
2547         * config/stormy16/stormy16-protos.h:
2548         (xstormy16_carry_plus_operand): Delete prototype.
2549         (xs_hi_general_operand): Likewise.
2550         (xs_hi_nonmemory_operand): Likewise.
2551
2552         * config/storm16/stormy16.md (addhi3): Remove earlyclobber
2553         modifiers as they are no longer needed and they can trigger
2554         reload spill failures.
2555
2556         * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
2557         with a match_operand in order to help reload.
2558
2559         * config/storm16/stormy16.md (movhi_internal): Replace 'r'
2560         constraint with 'e' for the 8th alternative as this version of
2561         the mov.w instruction only accepts the lower 8 registers.
2562
2563 2008-01-25  Uros Bizjak  <ubizjak@gmail.com>
2564
2565         PR target/34856
2566         * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
2567         Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
2568         vector elements.
2569
2570 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
2571
2572         PR middle-end/33333
2573         * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
2574
2575 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
2576
2577         * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
2578         New functions.
2579         (remove_structure): Update allocations list before removing structure.
2580         
2581 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
2582
2583         * ipa-struct-reorg.c (is_safe_cond_expr, 
2584         create_new_stmts_for_cond_expr): Use integer_zerop function,
2585         that recognize not only zero-pointer, but zero-integer too.
2586
2587 2008-01-25  Ben Elliston  <bje@au.ibm.com>
2588
2589         PR other/22232
2590         * fixproto: Escape "." in sed expression that strips leading "./".
2591
2592 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2593
2594         PR driver/34904
2595         * gcc.c (SWITCH_OK): Removed.
2596         (SWITCH_LIVE): Changed to bit.
2597         (SWITCH_FALSE): Likewise.
2598         (SWITCH_IGNORE): Likewise.
2599         (switchstr): Change live_cond to unsigned int.
2600         (process_command): Replace SWITCH_OK with 0.
2601         (do_self_spec): Likewise.
2602         (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
2603         (give_switch): Likewise.
2604         (used_arg): Likewise.
2605         (do_spec_1): Set the SWITCH_IGNORE bit.
2606         (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
2607         bits.  Set the SWITCH_LIVE bit.
2608
2609 2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
2610
2611         * config/s390/s390.h (MOVE_RATIO): Define new target macro.
2612
2613 2008-01-24  Richard Sandiford  <rsandifo@nildram.co.uk>
2614
2615         PR tree-optimization/34472
2616         * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
2617         parameter to a "bool *" and set *DATA to false if there is
2618         an unsafe access.  Do not delete the structure here.
2619         (check_cond_exprs): Delete it here instead.
2620         (check_cond_exprs, exclude_cold_structs): Do not increase
2621         I when removing a structure.
2622
2623 2008-01-24  Uros Bizjak  <ubizjak@gmail.com>
2624
2625         PR target/34856
2626         * config/i386/i386.c (ix86_expand_vector_init): Consider only
2627         CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
2628
2629 2008-01-24  Jakub Jakub Jelinek  <jakub@redhat.com>
2630
2631         PR middle-end/34934
2632         * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
2633         a fixed vector for stack.
2634
2635 2008-01-24  Ben Elliston  <bje@au.ibm.com>
2636
2637         PR c++/25701
2638         * doc/gcc.texi (Software development): Add a direntry for g++.
2639         
2640 2008-01-23  Hans-Peter Nilsson  <hp@axis.com>
2641
2642         * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
2643         stale and straggling -fforce-addr comments above.
2644
2645         * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
2646         define.
2647         * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
2648         * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
2649
2650 2008-01-23  Michael Matz  <matz@suse.de>
2651
2652         PR debug/34895
2653         * dwarf2out.c (force_type_die): Use modified_type_die instead of
2654         gen_type_die.
2655
2656 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
2657
2658         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
2659         malloc result type.
2660
2661 2008-01-23 Anatoly Sokolov <aesok@post.ru>
2662
2663         * config/avr/avr.c (avr_current_arch): New variable.
2664         (avr_arch_types): Add 'avr31' and 'avr51' entries.
2665         (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
2666         (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
2667         (avr_override_options): Init 'avr_current_arch'. 
2668         (base_arch_s): Move from here...
2669         * config/avr/avr.h (base_arch_s): ... here. Add new members 
2670         'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
2671         'mega' to 'have_jmp_call'.
2672         (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
2673         "__AVR_HAVE_RAMPZ__",   "__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
2674         macros.
2675         (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
2676         architectures.
2677         * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
2678         MULTILIB_MATCHES): (Ditto.).
2679
2680 2008-01-23  Richard Guenther  <rguenther@suse.de>
2681
2682         PR middle-end/31529
2683         * cgraphunit.c (cgraph_reset_node): Always mark the node
2684         not reachable if it is not queued already.
2685
2686 2008-01-23  Bernd Schmidt  <bernd.schmidt@analog.com>
2687
2688         * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
2689         * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
2690         (cputype_selected): New static variable.
2691         (bfin_handle_option): Set it if -mcpu is used.
2692         (override_option): Select default set of workarounds if no cpu type
2693         selected on the command line.
2694         (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
2695
2696         From  Michael Frysinger  <michael.frysinger@analog.com>
2697         * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
2698         BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
2699
2700         * config/bfin/elf.h (LIB_SPEC): Use proper linker script
2701         for bf547, bf523, bf524, and bf526.
2702         * config/bfin/bfin.c (bfin_cpus[]): Add bf547,  bf523, bf524, and
2703         bf526.
2704         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
2705         __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
2706         __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
2707         __ADSPBF547__ and __ADSPBF54x__ for bf547.
2708         * doc/invoke.texi (Blackfin Options): Document that
2709         -mcpu now accept bf547, bf523, bf524, and bf526.
2710
2711 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
2712
2713         PR rtl-optimization/34628
2714         * combine.c (try_combine): Stop and undo after the first combination
2715         if an autoincrement side-effect on the first insn has effectively
2716         been lost.
2717
2718 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
2719
2720         PR target/34529
2721         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
2722         Offset addresses are not valid for Altivec or paired float modes.
2723
2724 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
2725
2726         PR c++/34607
2727         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
2728         if DECL_INITIAL (decl) is error_mark_node.
2729
2730         PR c++/34914
2731         * c-common.c (handle_vector_size_attribute): Only allow
2732         integral, scalar float and fixed point types.  Handle OFFSET_TYPE
2733         the same way as pointer, array etc. types.
2734         * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
2735
2736         PR c++/34917
2737         * tree.c (build_type_attribute_qual_variant): Call
2738         build_qualified_type if attributes are equal, but quals are not.
2739
2740 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2741
2742         PR 32102
2743         * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
2744         * flags.h (warn_strict_aliasing): Remove.
2745         (warn_strict_overflow): Remove.
2746         * opts.c (warn_strict_aliasing): Remove.
2747         (warn_strict_overflow): Remove.
2748         * c-opts.c (c_common_handle_option): -Wall only sets
2749         -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
2750         (c_common_post_options): Give default values to -Wstrict-aliasing
2751         and -Wstrict-overflow if they are uninitialized.
2752         * common.opt (Wstrict-aliasing): Specify Var and Init.
2753         (Wstrict-overflow): Likewise.
2754
2755 2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
2756
2757         PR rtl-optimization/26854
2758         PR rtl-optimization/34400
2759         PR rtl-optimization/34884
2760         * ddg.c (create_ddg_dep_from_intra_loop_link): Use
2761         DF_RD->gen.
2762         * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
2763         (df_rd_bb_info.expanded_lr_out): Deleted
2764         * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
2765         * loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
2766         (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
2767         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
2768         Removed code to allocate, initialize or free expanded_lr_out.
2769         (df_rd_bb_local_compute_process_def): Restructured to make more
2770         understandable.
2771         (df_rd_confluence_n): Removed code to no apply invalidate_by_call
2772         sets if the sets are being trimmed.
2773
2774 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
2775
2776         PR bootstrap/32287
2777         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
2778         (as_vers): Likewise.
2779         * configure: Regenerated.
2780
2781 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2782
2783         PR middle-end/33092
2784         * tree-pass.h (pass_build_alias): New pass.
2785         * tree-ssa-alias.c (gate_build_alias): New.
2786         (pass_build_alias): New.
2787         * passes.c (init_optimization_passes): Add pass_build_alias after
2788         pass_create_structure_vars.
2789
2790 2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>
2791
2792         * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
2793         Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
2794         (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
2795         S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
2796         (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
2797         S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
2798         (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
2799         S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
2800         (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
2801         (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
2802         (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
2803         (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
2804         * config/s390/s390.md (FP_ALL): New mode iterator.
2805         (_d): New mode attribute.
2806         ("*signbit<mode>2>"): Changed mode of first operand.
2807         ("isinf<mode>2"): Changed mode of first operand.
2808         ("*TDC_insn"): Adaptation for DFP modes.
2809
2810 2008-01-22  Ben Elliston  <bje@au.ibm.com>
2811
2812         * tree.c (check_qualified_type): Improve function description.
2813
2814 2008-01-21  Jason Merrill  <jason@redhat.com>
2815
2816         PR c++/34196
2817         * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
2818         * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
2819         if it is set.
2820
2821 2008-01-21  DJ Delorie  <dj@redhat.com>
2822
2823         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
2824         return zero.
2825
2826 2008-01-21  Richard Guenther  <rguenther@suse.de>
2827
2828         PR middle-end/34856
2829         * tree-cfg.c (verify_expr): Allow all invariant expressions
2830         instead of just constant class ones as reference argument.
2831         * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
2832         like any other constant.
2833         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
2834
2835 2008-01-21  H.J. Lu  <hongjiu.lu@intel.com>
2836
2837         * regmove.c (fixup_match_1): Update call crossed frequencies.
2838
2839 2008-01-21  Richard Guenther  <rguenther@suse.de>
2840
2841         PR c/34885
2842         * tree-inline.c (setup_one_parameter): Deal with mismatched
2843         types using a VIEW_CONVERT_EXPR.
2844
2845 2008-01-21  Alon Dayan  <alond@il.ibm.com>
2846             Olga Golovanevsky  <olga@il.ibm.com>
2847         
2848         PR tree-optimization/34701
2849         * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
2850         when the structure size is not a power of 2.
2851
2852 2008-01-20  Kenneth Zadeck <zadeck@naturalbridge.com>
2853
2854         * doc/install.texi: Add doc for --enable-checking=df.
2855         
2856 2008-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
2857
2858         PR rtl-optimization/34808
2859         * emit-rtl.c (try_split): Handle REG_RETVAL notes.
2860
2861 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
2862
2863         * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
2864         input.
2865
2866 2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
2867
2868         PR rtl-optimization/26854
2869         PR rtl-optimization/34400
2870         * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
2871         DF_RD->gen.
2872         * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
2873         (df_rd_bb_info.expanded_lr_out): New.
2874         * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
2875         * loop_iv.c (iv_analysis_loop_init): Ditto.
2876         * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
2877         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
2878         Added code to allocate, initialize or free expanded_lr_out.
2879         (df_rd_bb_local_compute_process_def): Restructured to make
2880         more understandable.
2881         (df_rd_confluence_n): Add code to do nothing with fake edges and
2882         code to no apply invalidate_by_call sets if the sets are being trimmed.
2883         (df_lr_local_finalize): Renamed to df_lr_finalize.
2884         (df_live_local_finalize): Renamed to df_live_finalize.
2885
2886 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
2887
2888         PR target/34831
2889         * config/mips/mips.md (div<mode>3): Use <recip_condition> when
2890         deciding whether to use reciprocal instructions.
2891
2892 2008-01-19  Uros Bizjak  <ubizjak@gmail.com>
2893
2894         * dwarf2out.c (dwarf2out_switch_text_section): Do not call
2895         dwarf2out_note_section_used if cold_text_section is NULL.
2896
2897 2008-01-19  Jakub Jelinek  <jakub@redhat.com>
2898
2899         PR gcov-profile/34610
2900         * tree-cfg.c (make_edges): Mark both outgoing edges from
2901         OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
2902         * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
2903         from OMP_FOR and OMP_CONTINUE outgoing edges.
2904
2905         * tree-profile.c (tree_profiling): Return early if
2906         cfun->after_tree_profile != 0.  Set cfun->after_tree_profile
2907         at the end.
2908         * omp-low.c (expand_omp_parallel): Copy after_tree_profile
2909         from cfun to child_cfun.
2910         * function.h (struct function): Add after_tree_profile bit.
2911
2912 2008-01-19 Anatoly Sokolov <aesok@post.ru>
2913
2914         * config/avr/avr.S (_exit): Disable interrupt.
2915
2916 2008-01-18  Kenneth Zadeck  <zadeck@naturalbridge.com>
2917             Steven Bosscher  <stevenb.gcc@gmail.com>
2918
2919         PR rtl-optimization/26854
2920         PR rtl-optimization/34400
2921         * df-problems.c (df_live_scratch): New scratch bitmap.
2922         (df_live_alloc): Allocate df_live_scratch when doing df_live.
2923         (df_live_reset): Clear the proper bitmaps.
2924         (df_live_bb_local_compute): Only process the artificial defs once
2925         since the order is not important.
2926         (df_live_init): Init the df_live sets only with the variables
2927         found live by df_lr.
2928         (df_live_transfer_function): Use the df_lr sets to prune the
2929         df_live sets as they are being computed.  
2930         (df_live_free): Free df_live_scratch.
2931
2932 2008-01-18  Ian Lance Taylor  <iant@google.com>
2933
2934         * common.opt: Add fmerge-debug-strings.
2935         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
2936         flag_merge_debug_strings rather than flag_merge_constants.
2937         * doc/invoke.texi (Option Summary): Mention
2938         -fmerge-debug-strings.
2939         (Debugging Options): Document -fmerge-debug-strings.
2940
2941 2008-01-18  Ian Lance Taylor  <iant@google.com>
2942
2943         PR c++/33407
2944         * tree.h (DECL_IS_OPERATOR_NEW): Define.
2945         (struct tree_function_decl): Add new field operator_new_flag.
2946         * tree-inline.c (expand_call_inline): When inlining a call to
2947         operator new, force the return value to go into a variable, and
2948         set DECL_NO_TBAA_P on that variable.
2949         * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
2950
2951 2008-01-18  Uros Bizjak  <ubizjak@gmail.com>
2952
2953         PR debug/34484
2954         * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
2955         DWARF2_DEBUGGING_INFO.
2956         (dwarf2out_note_section_used): Ditto.  Add prototype.
2957         (have_multiple_function_sections, text_section_used,
2958         cold_text_section_used, *cold_text_sections): Move declarations
2959         before their uses.
2960
2961 2008-01-17  Bob Wilson  <bob.wilson@acm.org>
2962
2963         * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
2964         field and add signal_ra.
2965         * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
2966         assignments to frame state pc.  Move end of stack check after
2967         MD_FALLBACK_FRAME_STATE_FOR.
2968         (uw_update_context_1): Use frame state signal_regs if set, instead
2969         of checking signal_frame flag.
2970         (uw_update_context): Use frame state signal_ra if set.
2971         * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
2972         * config/xtensa/linux-unwind.h: New file.
2973
2974 2008-01-18  Bernhard Fischer  <aldot@gcc.gnu.org>
2975
2976         * modulo-sched.c (get_sched_window): Fix comment typo.
2977
2978 2008-01-17  Andrew MacLeod  <amacleod@redhat.com>
2979
2980         PR tree-optimization/34648
2981         * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
2982
2983 2008-01-17  Anatoly Sokolov <aesok@post.ru>
2984
2985         * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
2986         * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
2987
2988 2008-01-17  Seongbae Park  <seongbae.park@gmail.com>
2989
2990         PR rtl-optimization/34400
2991         * df-core.c (df_worklist_dataflow_overeager,
2992         df_worklist_dataflow_doublequeue): New functions.
2993         (df_worklist_dataflow): Two different worklist solvers.
2994         * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
2995         New param.
2996
2997 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2998
2999         PR testsuite/34821
3000         * doc/invoke.texi: Document the dependence on pthread for fopenmp
3001         and ftree-parallelize-loops.
3002
3003 2008-01-17  Mircea Namolaru  <namolaru@il.ibm.com>
3004
3005         PR rtl-optimization/34826
3006         * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
3007
3008 2008-01-17  Andreas Krebbel  <krebbel1@de.ibm.com>
3009
3010         * global.c (find_reg): Mark the eh regs as used if necessary.
3011         * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
3012         * ra.h (struct allocno): no_eh_reg field added.  Changed
3013         no_stack_reg type to bitfield.
3014
3015 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
3016
3017         * tree.c (substitute_in_expr): Add missing 'break'.
3018
3019 2008-01-17  Richard Guenther  <rguenther@suse.de>
3020
3021         PR tree-optimization/34825
3022         * tree-ssa-math-opts.c (is_division_by): Do not recognize
3023         x / x as division to handle.
3024
3025 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3026
3027         * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
3028         "-pthread" is specified.
3029         * pa-hpux11.h (LIB_SPEC): Likewise.
3030
3031 2008-01-16  Janis Johnson  <janis187@us.ibm.com>
3032             Peter Bergner  <bergner@vnet.ibm.com>
3033
3034         PR rtl-optimization/33796
3035         * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
3036
3037 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3038
3039         PR libgfortran/34699
3040         * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
3041         static links.
3042         * pa-hpux10.h (LINK_SPEC): Likewise.
3043         * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
3044
3045 2008-01-16  Richard Guenther  <rguenther@suse.de>
3046
3047         PR middle-end/32628
3048         * fold-const.c (fold_convert_const_int_from_int): Do not
3049         set overflow if that occured only because of a sign extension
3050         change when converting from/to a sizetype with the same
3051         precision and signedness.
3052
3053 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
3054
3055         PR debug/34249
3056         * dwarf2out.c (output_call_frame_info): Move output of FDE initial
3057         location address to the correct place.  Update copyright year.
3058
3059 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
3060
3061         * lambda-code.c (lambda_transform_legal_p): Handle the case of
3062         no dependences in the dependence_relations vector.
3063
3064 2008-01-16  Jan Hubicka  <jh@suse.cz>
3065
3066         PR rtl-optimization/31396
3067         * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
3068         * cfg.c (dump_reg_info): Print it.
3069         * regs.h (struct reg_info_t): add freq_calls_crossed.
3070         (REG_FREQ_CALLS_CROSSED): New macro.
3071         * global.c (global_alloc): Compute freq_calls_crossed for allocno.
3072         (find_reg): Update call of CALLER_SAVE_PROFITABLE.
3073         * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
3074         regmove_optimize): Update call crossed frequencies.
3075         * local-alloc.c (struct qty): Add freq_calls_crossed.
3076         (alloc_qty): Copute freq_calls_crossed.
3077         (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
3078         (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
3079         * ra.h (struct allocno): Add freq_calls_crossed.
3080
3081 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
3082
3083         * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
3084         libgomp when compiling with ftree-parallelize-loops.
3085         (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
3086
3087 2008-01-16  Richard Guenther  <rguenther@suse.de>
3088
3089         PR tree-optimization/34769
3090         * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
3091         * tree.c (int_cst_value): Instead make this function more
3092         permissive in what it accepts as valid input.  Document this
3093         function always sign-extends the value.
3094
3095 2008-01-16  Jakub Jelinek  <jakub@redhat.com>
3096             Richard Guenther  <rguenther@suse.de>
3097
3098         PR c/34668
3099         * gimplify.c (fold_indirect_ref_rhs): Rename to ...
3100         (gimple_fold_indirect_ref_rhs): ... this.
3101         (gimple_fold_indirect_ref): New function with foldings
3102         that preserve lvalueness.
3103         (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
3104         * tree-flow.h (gimple_fold_indirect_ref): Declare.
3105         * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
3106         to fold an INDIRECT_REF, fall back to the old use of
3107         fold_indirect_ref_1.
3108
3109 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
3110
3111         * tree-data-ref.c (subscript_dependence_tester_1): Call 
3112         free_conflict_function.
3113         (compute_self_dependence): Same.
3114
3115 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
3116
3117         PR debug/34249
3118         * debug.h (dwarf2out_switch_text_section): Move declaration from ...
3119         * dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
3120         function global.
3121         * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
3122         Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
3123         for DWARF2_UNWIND_INFO targets.
3124
3125 2008-01-16  Richard Guenther  <rguenther@suse.de>
3126
3127         PR c/34768
3128         * c-typeck.c (common_pointer_type): Do not merge inconsistent
3129         type qualifiers for function types.
3130
3131 2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3132
3133         * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
3134         loop_iterator li from previous commit.
3135
3136 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
3137
3138         * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
3139
3140 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
3141
3142         * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
3143         (parallelize_loops): Don't parallelize irreducible components.
3144
3145 2008-01-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3146
3147         PR c++/24924
3148         * c-opts (c_common_post_options): Do not enable CPP
3149         flag_pedantic_errors by default.
3150         
3151 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
3152
3153         PR rtl-optimization/31944
3154         * cse.c (remove_pseudo_from_table): New function.
3155         (merge_equiv_classes): Use above function to remove pseudo-registers.
3156         (invalidate): Likewise.
3157
3158 2008-01-13  Richard Guenther  <rguenther@suse.de>
3159
3160         PR middle-end/34601
3161         * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
3162         instead of TYPE_MODE to deal with calls from expand_one_error_var.
3163
3164 2008-01-13  Uros Bizjak  <ubizjak@gmail.com>
3165
3166         * gcse.c (cprop_jump): Call validate_unshare_change instead of
3167         validate_change to unshare the source of the PC set.
3168
3169 2008-01-12  Jan Hubicka  <jh@suse.cz>
3170
3171         PR middle-end/32135
3172         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
3173         references above array bounds.  This might trigger bounds checks for
3174         pointers to arrays.
3175
3176 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
3177
3178         * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
3179         new_replaceable_dependencies.
3180
3181 2008-01-12  Doug Kwan  <dougkwan@google.com>
3182
3183         * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
3184         instead of OPT_Wreturn_type in warning due to ignored return type
3185         qualifiers.
3186         * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
3187         options included in -Wextra.
3188         * c.opt: New option -Wignored_qualifiers.
3189         * doc/invoke.texi (Warning Options, -Wextra): Add new option
3190         -Wignore_qualifiers.
3191         (-Wignored-qualifiers): Document.
3192         (-Wreturn-type): Remove description of functionality now handled
3193         by -Wignored-qualifiers.
3194
3195 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
3196
3197         PR ada/33788
3198         * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
3199         NOP_EXPR if it is between integral types with the same precision.
3200
3201 2008-01-12  Jan Hubicka  <jh@suse.cz>
3202
3203         PR other/28023
3204         * invoke.texi (max-inline-recursive-depth): Fix default value.
3205
3206 2008-01-12  Zdenek Dvorak  <ook@ucw.cz>
3207
3208         * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
3209         correct type.
3210
3211 2008-01-11  Bob Wilson  <bob.wilson@acm.org>
3212         
3213         * config/xtensa/xtensa.c (override_options): Set flag_shlib.
3214         
3215 2008-01-11  James E. Wilson  <wilson@specifix.com>
3216
3217         PR target/26015
3218         * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
3219
3220 2008-01-11  Anatoly Sokolov <aesok@post.ru>
3221
3222         * config/avr/avr.c (expand_prologue, expand_epilogue): Don't 
3223         save/restore frame pointer register and don't use 'call-prologues' 
3224         optimization in function with "OS_task" attribute.
3225
3226 2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
3227
3228         PR middle-end/31309
3229         * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
3230         when copying to memory.
3231
3232 2008-01-11  Steven Bosscher  <stevenb.gcc@gmail.com>
3233
3234         PR rtl-optimization/30905
3235         * cfgcleanup.c: Include dce.h
3236         (crossjumps_occured): New global variable.
3237         (try_crossjump_bb): Exit loop after finding a fallthru edge.
3238         If something changed, set crossjumps_occured to true.
3239         (try_optimize_cfg): Clear crossjumps_occured at the beginning.
3240         Don't add/remove fake edges to exit here...
3241         (cleanup_cfg): ...but do it here, when crossjumping.
3242         Run a fast DCE when successful crossjumps occured in the latest
3243         iteration of try_optimize_cfg.
3244
3245 2008-01-11  Richard Guenther  <rguenther@suse.de>
3246
3247         * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
3248         (struct vn_unary_op_s): Likewise.
3249         (vn_reference_insert): Free old reference on hash collision.
3250
3251 2008-01-10  Raksit Ashok  <raksit@google.com>
3252
3253         PR rtl-optimization/27971
3254         * combine.c (find_split_point): Split PLUS expressions which are
3255         inside a MEM rtx, and whose first operand is complex.
3256
3257 2008-01-10  DJ Delorie  <dj@redhat.com>
3258
3259         * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
3260         (m32c_hard_regno_nregs): ...this, which is now a wrapper.
3261         (m32c_hard_regno_ok): Call the underlying function.
3262
3263 2008-01-10  Richard Guenther  <rguenther@suse.de>
3264
3265         PR middle-end/34683
3266         * tree-cfg.c (tree_merge_blocks): Do not go through the
3267         full-blown folding and stmt updating path if we just deal
3268         with virtual operands.
3269         * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
3270         test for abnormal SSA_NAMEs.
3271
3272 2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>
3273
3274         PR middle-end/34641
3275         * reload.c (push_reload): Add assertions.  All constants from
3276         reg_equiv_constant should have been used for replacing the respective
3277         pseudo earlier.
3278         (find_reloads_address): Invoke find_reloads_address_part for
3279         constant taken from the reg_equiv_constant array.
3280
3281 2008-01-10  Steven Bosscher  <stevenb.gcc@gmail.com>
3282
3283         * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
3284         field (valnum) the first in the struct.  Replace bools with
3285         unit bit fields.
3286
3287 2008-01-10  Richard Guenther  <rguenther@suse.de>
3288
3289         PR tree-optimization/34651
3290         * tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
3291         types and ordering for masking and converting.
3292
3293 2008-01-09  Sebastian Pop  <sebastian.pop@amd.com>
3294
3295         PR tree-optimization/34017
3296         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
3297         also for PHI_NODE expressions.
3298
3299 2008-01-09  Jan Hubicka  <jh@suse.cz>
3300
3301         PR tree-optimization/34708
3302         * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
3303         based on number of case labels.
3304         (init_inline_once): Remove switch_cost.
3305         * tree-inline.h (eni_weights_d): Remove switch_cost.
3306
3307 2008-01-09  Richard Guenther  <rguenther@suse.de>
3308         Andrew Pinski  <andrew_pinski@playstation.sony.com>
3309
3310         PR middle-end/30132
3311         * gimplify.c (gimplify_cond_expr): Do not create an addressable
3312         temporary if an rvalue is ok or an lvalue is not required.
3313
3314 2008-01-09  Richard Guenther  <rguenther@suse.de>
3315
3316         PR middle-end/34458
3317         * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
3318         adjust return type.
3319
3320 2008-01-09  Richard Guenther  <rguenther@suse.de>
3321
3322         PR middle-end/34679
3323         * tree.c (host_integerp): Check for sizetype only if the
3324         type is an integer type.
3325
3326 2008-01-09  Steven Bosscher  <stevenb.gcc@gmail.com>
3327
3328         PR debug/26364
3329         * opts.c (decode_options): Disable inlining of functions called
3330         once if not in unit-at-a-time mode.
3331
3332 2008-01-09  Alexandre Oliva  <aoliva@redhat.com>
3333
3334         * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
3335
3336 2008-01-08  Richard Guenther  <rguenther@suse.de>
3337
3338         PR middle-end/31863
3339         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
3340         out early if the result will be unused.
3341
3342 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
3343
3344         PR target/34709
3345         Revert:
3346
3347         2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
3348         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
3349         for TARGET_RECIP.       
3350         
3351 2008-01-08  Jan Sjodin  <jan.sjodin@amd.com>
3352         
3353         * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
3354         for vectorization tuned.
3355         
3356 2008-01-08  Richard Guenther  <rguenther@suse.de>
3357
3358         PR tree-optimization/34683
3359         * tree-ssa-operands.c (operand_build_cmp): Export.
3360         * tree-ssa-operands.h (operand_build_cmp): Declare.
3361         * tree-vn.c (vuses_compare): Remove.
3362         (sort_vuses): Use operand_build_cmp.
3363         (sort_vuses_heap): Likewise.
3364         * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
3365         to re-use old VEC if available.  Do not sort already sorted VUSEs.
3366         (vdefs_to_vec): Do not sort already sorted VDEFs.
3367
3368 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
3369
3370         PR middle-end/34694
3371         * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
3372
3373 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
3374
3375         PR target/34702
3376         * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
3377         limitations of reciprocal sequences on x86 targets.
3378
3379 2008-01-08  Richard Guenther  <rguenther@suse.de>
3380
3381         PR tree-optimization/34683
3382         * tree-flow-inline.h (var_ann): Remove overzealous asserts.
3383
3384 2008-01-07  Jakub Jelinek  <jakub@redhat.com>
3385
3386         PR target/34622
3387         * config/darwin.c (darwin_mergeable_string_section): Don't use
3388         .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
3389
3390 2008-01-07  Uros Bizjak  <ubizjak@gmail.com>
3391
3392         PR target/34682
3393         * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
3394         negxf2.  Macroize expander using X87MODEF mode iterator.  Change
3395         predicates of op0 and op1 to register_operand.
3396         (abs<mode>2): Rename from abssf2, absdf2 and negxf2.  Macroize
3397         expander using X87MODEF mode iterator.  Change predicates of
3398         op0 and op1 to register_operand.
3399         ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
3400         corresponding patterns and macroize using MODEF macro.  Change
3401         predicates of op0 and op1 to register_operand and remove
3402         "m" constraint. Disparage "r" alternative with "!".
3403         ("*absneg<mode>2_i387"): Rename from corresponding patterns and
3404         macroize using X87MODEF macro.  Change predicates of op0 and op1
3405         to register_operand and remove "m" constraint.  Disparage "r"
3406         alternative with "!".
3407         (absneg splitter with memory operands): Remove.
3408         ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
3409         patterns and macroize using X87MODEF mode iterator.
3410         * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
3411         Change predicate of op1 to register_operand.
3412         * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
3413         for memory operands.
3414
3415 2008-01-07  Nathan Froyd  <froydnj@codesourcery.com>
3416
3417         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
3418
3419 2008-01-07  Richard Guenther  <rguenther@suse.de>
3420
3421         * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
3422         fields.
3423
3424 2008-01-07  Richard Guenther  <rguenther@suse.de>
3425
3426         PR tree-optimization/34683
3427         * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
3428         VOPs of the needed size to save memory.  Use VEC_quick_push
3429         to save compile-time.
3430         (vdefs_to_vec): Likewise.
3431
3432 2008-01-07  Sa Liu  <saliu@de.ibm.com>
3433
3434         * config/spu/spu.md (divdf3): Genetate inline code for double
3435         division.  The implementation doesn't handle INF or NAN, therefore it
3436         only applies when -ffinite-math-only is given.
3437
3438 2008-01-06  Paolo Carlini  <pcarlini@suse.de>
3439
3440         PR libstdc++/34680
3441         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
3442         * doc/cpp.texi ([Common Predefined Macros]): Document.
3443
3444 2008-01-06  Uros Bizjak  <ubizjak@gmail.com>
3445
3446         * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
3447         order to use commutative addition instead of subtraction.
3448
3449 2008-01-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
3450             Mircea Namolaru  <namolaru@il.ibm.com>
3451             Vladimir Yanovsky  <yanov@il.ibm.com>
3452             Revital Eres  <eres@il.ibm.com>
3453
3454         PR tree-optimization/34263
3455         * tree-outof-ssa.c (process_single_block_loop_latch,
3456         contains_tree_r): New functions.
3457         (analyze_edges_for_bb): Call process_single_block_loop_latch
3458         function to empty single-basic-block latch block if possible.
3459
3460 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
3461
3462         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
3463         for TARGET_RECIP.
3464         (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
3465
3466 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
3467
3468         * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
3469
3470 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
3471
3472         * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
3473
3474 2008-01-05  Jakub Jelinek  <jakub@redhat.com>
3475
3476         PR tree-optimization/34618
3477         * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
3478         flag from T.
3479
3480 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
3481
3482         PR target/34673
3483         * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
3484         in the call to gen_rtx_NE.  Remove unneeded VECTOR_MODE_P check.
3485         Update copyright year.
3486
3487         * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
3488         Update copyright year.
3489         * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
3490         using NR fixup.
3491
3492 2008-01-05  Zhouyi Zhou  <zhouzhouyi@FreeBSD.org>
3493
3494         * tree-vrp.c (find_conditional_asserts): Remove redundant check that
3495         edge does not point to current bb before changing need_assert.
3496
3497 2008-01-04  Richard Guenther  <rguenther@suse.de>
3498
3499         PR middle-end/34029
3500         * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
3501         for verifying purposes if they are is_gimple_min_invariant.
3502
3503 2008-01-04  Aldy Hernandez  <aldyh@redhat.com>
3504
3505         PR tree-optimization/34448
3506         PR tree-optimization/34465
3507         * gimplify.c (gimplify_init_constructor): Add new parameter
3508         notify_temp_creation.  Use it.
3509         (gimplify_modify_expr_rhs): Take volatiles into account when
3510         optimizing constructors.
3511         Do not optimize constructors if gimplify_init_constructor will dump to
3512         memory.
3513         * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
3514         * gcc.c-torture/compile/pr34448.c: New.
3515
3516 2008-01-04  Jakub Jelinek  <jakub@redhat.com>
3517
3518         PR gcov-profile/34609
3519         * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
3520         return_slot if result is TREE_ADDRESSABLE.
3521
3522 2008-01-04  Richard Sandiford  <rsandifo@nildram.co.uk>
3523
3524         * config/mips/mips.md (sqrt_condition): Tweak comment.
3525         (recip_condition): Likewise.  Require TARGET_FLOAT64 for DFmode.
3526
3527 2008-01-03  Tom Tromey  <tromey@redhat.com>
3528
3529         PR c/34457
3530         * c-common.c (c_type_hash): Handle VLAs.
3531
3532 2008-01-03  Jan Hubicka  <jh@suse.cz>
3533
3534         PR tree-optimization/31081
3535         * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
3536         0 when inlining and not inlining to first basic block.
3537         (remap_decl): When var is initialized to 0, don't set default_def.
3538         (expand_call_inline): Set entry_bb.
3539         * tree-inline.h (copy_body_data): Add entry_bb.
3540
3541 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
3542
3543         PR c++/34619
3544         * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
3545         before returning.
3546
3547         PR tree-optimization/29484
3548         * tree-inline.c (inline_forbidden_p_2): New function.
3549         (inline_forbidden_p): Disallow inlining if some static var
3550         has an address of a local LABEL_DECL in its initializer.
3551         * doc/extend.texi (Labels as Values): Document &&foo behaviour
3552         vs. inlining.
3553
3554 2008-01-03  Sebastian Pop  <sebastian.pop@amd.com>
3555
3556         PR tree-optimization/34635
3557         * tree-data-ref.c (add_other_self_distances): Make sure that the
3558         evolution step is constant.
3559
3560 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
3561
3562         PR middle-end/34608
3563         * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
3564
3565 2008-01-02  Richard Sandiford  <rsandifo@nildram.co.uk>
3566
3567         * tree-sra.c (scalarize_init): Insert the generate_element_init
3568         statements after the generate_element_zero statements.
3569
3570 2008-01-02  Richard Guenther  <rguenther@suse.de>
3571
3572         PR middle-end/34093
3573         PR middle-end/31976
3574         * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
3575         for very large number of operands instead of ICEing.
3576
3577 2008-01-02  Arthur Norman <acn1@cam.ac.uk>
3578
3579         PR target/34013
3580         * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
3581         while stack probing.
3582
3583 2008-01-01  Douglas Gregor  <doug.gregor@gmail.com>
3584
3585         * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
3586         in C++0x mode.
3587
3588 2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
3589
3590         PR libmudflap/26442
3591         * tree-mudflap.c (mx_register_decls): Guard warning by
3592         !DECL_ARTIFICIAL check.
3593
3594 2008-01-01  Jakub Jelinek  <jakub@redhat.com>
3595
3596         * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
3597         sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
3598         sse5_perm<mode>): Fix constraints.