OSDN Git Service

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