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