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