OSDN Git Service

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