simplify-rtx.c (simplify_unary_operation_1): Extend the handling of SUBREG_PROMOTED_V...
[gcc.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.