intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes.
[gcc.git] / gcc / ChangeLog
1 2010-06-25 Douglas B Rupp <rupp@gnat.com>
2
3 * dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
4 * dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
5 * config/ia64/ia64-protos.h (ia64_start_function): Declare.
6 * config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
7 to ia64_start_function. Invoke it.
8 * config/ia64/ia64.c (ia64_start_function): Call new function
9 dwarf2out_vms_debug_main_pointer.
10
11 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
12
13 * tree-if-conv.c (insert_gimplified_predicates): Do not insert
14 statements computing the true predicate.
15
16 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
17
18 * tree-if-conv.c (init_bb_predicate): Initialize the predicate
19 to boolean_true_node.
20 (reset_bb_predicate): New.
21 (predicate_bbs): Call reset_bb_predicate.
22
23 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
24
25 * tree-if-conv.c (combine_blocks): Remove FIXME comment.
26 (tree_if_conversion): Returns true when something has been changed.
27 (main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
28 changed something.
29
30 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
31
32 * Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
33 * dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
34 * tree-if-conv.c: Include dbgcnt.h.
35 (tree_if_conversion): Use if_conversion_tree to count the number of
36 if-convertible loops.
37
38 2010-06-25 Changpeng Fang <changpeng.fang@amd.com>
39
40 * common.opt (fprefetch-loop-arrays): Re-define
41 -fprefetch-loop-arrays as a tri-state option with the initial
42 value of -1.
43 * tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
44 pass only when flag_prefetch_loop_arrays > 0.
45 * toplev.c (process_options): Note that, with tri-states,
46 flag_prefetch_loop_arrays>0 means prefetching is enabled.
47 * config/i386/i386.c (override_options): Enable prefetching at -O3
48 for a set of CPUs that sw prefetching is helpful.
49 (software_prefetching_beneficial_p): New. Return TRUE if software
50 prefetching is beneficial for the given CPU.
51
52 2010-06-25 H.J. Lu <hongjiu.lu@intel.com>
53
54 PR rtl-optimization/44326
55 * implicit-zee.c (find_removable_zero_extends): Replace
56 INSN_P with NONDEBUG_INSN_P.
57
58 2010-06-25 Martin Jambor <mjambor@suse.cz>
59
60 * ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
61 (struct ipa_node_params): Removed the modification_analysis_done flag.
62 (ipa_is_param_modified): Removed.
63 (ipa_analyze_node): Declare.
64 (ipa_compute_jump_functions): Remove declaration.
65 (ipa_count_arguments): Likewise.
66 (ipa_detect_param_modifications): Likewise.
67 (ipa_analyze_params_uses): Likewise.
68 * ipa-prop.c (struct param_analysis_info): New type.
69 (visit_store_addr_for_mod_analysis): Removed.
70 (visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
71 moved down in the file.
72 (ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
73 (ipa_count_arguments): Made static.
74 (mark_modified): New function.
75 (is_parm_modified_before_call): New function.
76 (compute_pass_through_member_ptrs): New parameter parms_info, call
77 is_parm_modified_before_call instead of ipa_is_param_modified.
78 (ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
79 it to compute_pass_through_member_ptrs.
80 (ipa_compute_jump_functions): New parameter parms_info, pass it to
81 ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params
82 on the callee if it is analyzed. Made static.
83 (ipa_analyze_indirect_call_uses): New parameter parms_info, call
84 is_parm_modified_before_call instead of ipa_is_param_modified.
85 (ipa_analyze_call_uses): New parameter parms_info, pass it to
86 ipa_analyze_indirect_call_uses.
87 (ipa_analyze_stmt_uses): New parameter parms_info, pass it to
88 ipa_analyze_call_uses.
89 (ipa_analyze_params_uses): New parameter parms_info, pass it to
90 ipa_analyze_stmt_uses. Also perform the used analysis. Made static.
91 (ipa_analyze_node): New function.
92 (ipa_print_node_params): Do not dump the modified flag.
93 (ipa_write_node_info): Assert uses_analysis_done rather than streaming
94 it. Do not stream the modified parameter flag.
95 (ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
96 it. Do not stream the modified parameter flag.
97 * ipa-cp.c (ipcp_analyze_node): Removed.
98 (ipcp_init_stage): Iterate only once over the nodes, analyze each one
99 with only a call to ipa_analyze_node.
100 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
101 node with only a call to ipa_analyze_node.
102
103 2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
104
105 * doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
106
107 2010-06-25 Jan Hubicka <jh@suse.cz>
108
109 * tree-pass.h (pass_split_functions): Declare.
110 * opts.c (decode_options): Enable function splitting at -O2
111 * timevar.def (TV_IPA_FNSPLIT): New macro.
112 * ipa-split.c: New file.
113 * common.opt (-fpartial-inlining): New flag.
114 * Makefile.in (ipa-split.o): New object file.
115 * passes.c (init_optimization_passes): Add ipa-split.
116 * params.def (partial-inlining-entry-probability): New parameters.
117 * doc/invoke.texi (-fpartial-inlining): New.
118
119 2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
120
121 PR 44665
122 * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
123 * gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
124 (gimplify_expr): Likewise.
125
126 2010-06-25 Martin Jambor <mjambor@suse.cz>
127
128 * ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
129 statements instead of bailing out on them.
130 (ipa_analyze_indirect_call_uses): Do not require that loads from the
131 parameter are in the same BB as the condition. Update comments.
132
133 2010-06-25 Jakub Jelinek <jakub@redhat.com>
134
135 PR middle-end/43866
136 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
137 true or always false, return NULL_TREE.
138 (tree_unswitch_single_loop): Optimize conditions even when reaching
139 max-unswitch-level parameter. If num > 0, optimize first all conditions
140 using entry checks, then do still reachable block discovery and consider
141 only conditions in still reachable basic blocks in the loop.
142
143 PR tree-optimization/44539
144 * tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
145 the call doesn't have LHS, but has VDEF.
146
147 2010-06-25 Joseph Myers <joseph@codesourcery.com>
148
149 * config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
150 * doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
151 * gcc.c (enum add_del, struct modify_target, modify_target):
152 Remove.
153 (process_command): Remove code conditional on MODIFY_TARGET_NAME.
154 * system.h (MODIFY_TARGET_NAME): Poison.
155
156 2010-06-25 Alan Modra <amodra@gmail.com>
157
158 * doc/invoke.texi: Delete mcmodel=medium from powerpc options.
159 * config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
160 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
161 CMODEL_LARGE as default.
162 * config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
163 (offsettable_ok_by_alignment): Delete.
164 (rs6000_emit_move): Remove mcmodel=medium optimization.
165
166 2010-06-25 Bernd Schmidt <bernds@codesourcery.com>
167
168 With large parts from Jim Wilson:
169 PR target/43902
170 * tree-pretty-print.c (dump_generic_node, op_code_prio): Add
171 WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
172 * optabs.c (optab_for_tree_code): Likewise.
173 (expand_widen_pattern_expr): Likewise.
174 * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
175 out of execute_optimize_widening_mul.
176 (convert_plusminus_to_widen): New function.
177 (execute_optimize_widening_mul): Use the two new functions.
178 * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
179 Remove code to generate widening multiply-accumulate. Add support
180 for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
181 * gimple-pretty-print.c (dump_ternary_rhs): New function.
182 (dump_gimple_assign): Call it when appropriate.
183 * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
184 * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
185 (expand_gimple_stmt_1): Likewise.
186 (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
187 WIDEN_MULT_MINUS_EXPR.
188 * tree-ssa-operands.c (get_expr_operands): Likewise.
189 * tree-inline.c (estimate_operator_cost): Likewise.
190 * gimple.c (extract_ops_from_tree_1): Renamed from
191 extract_ops_from_tree. Add new arg for a third operand; fill it.
192 (gimple_build_assign_stat): Support operations with three operands.
193 (gimple_build_assign_with_ops_stat): Likewise.
194 (gimple_assign_set_rhs_from_tree): Likewise.
195 (gimple_assign_set_rhs_with_ops_1): Renamed from
196 gimple_assign_set_rhs_with_ops. Add new arg for a third operand.
197 (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
198 (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
199 WIDEN_MULT_MINUS_EXPR.
200 * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
201 (extract_ops_from_tree_1): Adjust declaration.
202 (gimple_assign_set_rhs_with_ops_1): Likewise.
203 (gimple_build_assign_with_ops): Pass NULL for last operand.
204 (gimple_build_assign_with_ops3): New macro.
205 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
206 gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
207 functions.
208 * tree-cfg.c (verify_gimple_assign_ternary): New static function.
209 (verify_gimple_assign): Call it.
210 * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
211 (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
212 functions for dealing with three-operand statements.
213 * tree.c (commutative_ternary_tree_code): New function.
214 * tree.h (commutative_ternary_tree_code): Declare it.
215 * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for ternary
216 statements.
217 (gimple_assign_nonzero_warnv_p): Likewise.
218 * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
219 * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
220 (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS.
221 * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
222 (struct hashtable_expr): New member ternary in the union.
223 (initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
224 (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY.
225 (iterative_hash_hashable_expr): Likewise.
226 (print_expr_hash_elt): Handle EXPR_TERNARY.
227 * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
228 * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
229 statements. Handle GIMPLE_TERNARY_RHS.
230
231 2010-06-25 Jan Hubicka <jh@suse.cz>
232
233 * doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
234
235 2010-06-25 Shujing Zhao <pearly.zhao@oracle.com>
236
237 PR c/44517
238 * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
239 parameters are not good.
240 (c_parser_parameter_declaration): Error unknown type name if the type
241 name can't start declaration specifiers.
242
243 2010-06-25 Joseph Myers <joseph@codesourcery.com>
244
245 * gcc.c (translate_options): Don't mention +e in comment.
246 (process_command): Don't handle +e specially.
247
248 2010-06-25 Bernd Schmidt <bernds@codesourcery.com>
249
250 * ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
251
252 * ira-build.c (merge_hard_reg_conflicts): New function.
253 (create_cap_allocno, copy_info_to_removed_store_destinations,
254 propagate_some_info_from_allocno, propagate_allocno_info): Use it.
255 (move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
256 (remove_unnecessary_allocnos, remove_low_level_allocnos)
257 copy_nifo_to_removed_store_destination): Use them.
258 * ira-lives.c (make_hard_regno_born): New function, split out of
259 make_regno_born.
260 (make_allocno_born): Likewise.
261 (make_hard_regno_dead): New function, split out of make_regno_dead.
262 (make_allocno_dead): Likewise.
263 (inc_register_pressure): New function, split out of set_allocno_live.
264 (dec_register_pressure): New function, split out of clear_allocno_live.
265 (mark_pseudo_regno_live): New function, split out of mark_reg_live.
266 (mark_hard_reg_live): Likewise. Use inc_register_pressure.
267 (mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
268 (mark_hard_reg_dead): Likewise. Use dec_register_pressure.
269 (make_pseudo_conflict): Use mark_pseudo_regno_dead and
270 mark_pseudo_regno_live.
271 (process_bb_node_lives): Use mark_pseudo_regno_live,
272 make_hard_regno_born and make_allocno_dead.
273 (make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
274 set_allocno_live, clear_allocno_live): Delete functions.
275
276 * ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
277 * ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
278 functions.
279 (ira_flattening): Use ira_parent_allocno.
280 * ira-conflicts.c (process_regs_for_copy, propagate_copies)
281 build_allocno_conflicts): Use ira_parent_or_cap_allocno.
282
283 * ira-color.c (assign_hard_reg): Improve formatting of multi-line for
284 statement.
285
286 * ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
287 TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
288 minmax_set_iter_cond, minmax_set_iter_next,
289 FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
290 CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
291 ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
292 ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All
293 uses changed.
294
295 * ira-int.h (struct live_range, live_range_t): Renamed from struct
296 ira_allocno_live_range and allocno_live_range_t; all uses changed.
297 * ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
298 All uses changed.
299
300 2010-06-24 Richard Earnshaw <rearnsha@arm.com>
301
302 * thumb2.md (thumb2_tlobits_cbranch): Delete.
303 (peephole2 to convert zero_extract/compare of single bit to
304 lshift/compare): New.
305
306 2010-06-24 Anatoly Sokolov <aesok@post.ru>
307
308 * fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
309 recursive call and call to 'int_const_binop'.
310 (build_range_check, fold_cond_expr_with_comparison, unextend,
311 fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
312 multiple_of_p): Adjust call to const_binop.
313
314 2010-06-24 Uros Bizjak <ubizjak@gmail.com>
315
316 * config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
317 determine size of XFmode operand.
318 (XFmode extended DFmode push splitter): Ditto.
319 (XFmode extended SFmode push splitter): Ditto.
320
321 2010-06-24 H.J. Lu <hongjiu.lu@intel.com>
322
323 PR target/44588
324 * config/i386/i386.md (extract_code): New.
325 (<u>divmodqi4): Likewise.
326 (divmodhiqi3): Likewise.
327 (udivmodhiqi3): Likewise.
328 (<u>divqi3): Remvoved.
329
330 2010-06-24 Jakub Jelinek <jakub@redhat.com>
331
332 PR middle-end/44492
333 * recog.h (struct recog_data): Add is_asm field.
334 * recog.c (asm_operand_ok, constrain_operands): If neither < nor > is
335 present in constraints of inline-asm operand and memory operand
336 contains {PRE,POST}_{INC,DEC,MODIFY}, return 0.
337 (extract_insn): Initialize recog_data.is_asm.
338 * doc/md.texi (Constraints): Document operand side-effect rules.
339
340 2010-06-24 Andi Kleen <ak@linux.intel.com>
341
342 * c-parser.c (c_parser_conditional_expression): Call
343 warn_for_omitted_condop.
344 * doc/invoke.texi: Document omitted condop warning.
345
346 2010-06-24 Nick Clifton<nickc@redhat.com>
347
348 * loop-unswitch.c (compare_and_jump_seq): Assert that the last
349 insn in the sequence is a jump insn before setting its label.
350
351 2010-06-24 Alan Modra <amodra@gmail.com>
352
353 * collect2.c (main): Match exactly --version and --help.
354
355 2010-06-24 DJ Delorie <dj@redhat.com>
356
357 * config/m32c/m32c-pragma.c: Don't include rtl.h.
358
359 2010-06-23 Uros Bizjak <ubizjak@gmail.com>
360
361 * config/i386/i386.md (mov<mode>): Macroize expander from mov{sf,df,xf}
362 using X87MODEF mode iterator.
363 (pushsf splitter): Macroize splitter using P mode iterator.
364 (*swap<mode>): Macroize insn from *swap{sf,df} using MODEF
365 mode iterator.
366
367 (*movxf_internal): Rename from *movxf_integer.
368 (*movxf_internal_nointeger): Rename from *movxf_nointeger.
369 (*movdf_internal_rex64): Rename from *movdf_integer_rex64.
370 (*movdf_internal): Rename from *movdf_integer.
371 (*movdf_internal_nointeger): Rename from *movdf_nointeger.
372 (*movsf_internal): Rename from *movdf_1.
373
374 2010-06-23 Basile Starynkevitch <basile@starynkevitch.net>
375
376 * coretypes.h: (gimple_seq_node_d, gimple_seq_node)
377 (const_gimple_seq_node): Removed typedefs.
378
379 * gimple.h: (gimple_seq_node_d, gimple_seq_node)
380 (const_gimple_seq_node): Added typedefs moved from coretypes.h.
381
382 2010-06-23 H.J. Lu <hongjiu.lu@intel.com>
383
384 * config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
385 CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
386 CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
387 and CODE_FOR_vec_extract_lo_v4df.
388
389 * config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
390 Changed to define_insn_and_split.
391 (vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
392 (vec_extract_lo_v16hi): Likewise.
393 (vec_extract_lo_v32qi): Likewise.
394 (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
395 (avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.
396
397 2010-06-23 Joern Rennecke <joern.rennecke@embecosm.com>
398
399 PR target/44640
400 * config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
401 * config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
402 (spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
403 (spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
404 (spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.
405
406 PR target/44640
407 * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
408
409 PR other/44644
410 * df-core.c (struct df): Rename to df_d.
411 * df.h (struct df): Likewise.
412 * dse.h (struct df): Remove forward declaration.
413 * recog.h (struct insn_data): Rename to:
414 (struct_insn_data_d). Adjusted all users.
415
416 2010-06-23 Arnaud Charlet <charlet@adacore.com
417
418 PR ada/22220
419 * doc/install.texi: Update requirements to build GNAT.
420
421 2010-06-22 Andreas Schwab <schwab@linux-m68k.org>
422
423 * config/m68k/m68k.c (m68k_output_addr_const_extra): Add cast to
424 enum type.
425 (m68k_sched_attr_opx_type): Remove unreachable return.
426 (m68k_sched_attr_opy_type): Likewise.
427 (m68k_sched_attr_size): Likewise.
428 (sched_get_opxy_mem_type): Likewise.
429 (m68k_sched_attr_op_mem): Likewise.
430
431 2010-06-22 Eric Botcazou <ebotcazou@adacore.com>
432
433 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
434 new statement and adjust VDEF only if necessary. Remove superfluous
435 call to maybe_clean_or_replace_eh_stmt.
436 * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
437 copy the flags.
438 * gimple-iterator.c (gsi_replace): Clear BB of old statement here...
439 * tree-inline.c (copy_bb): ...and not there.
440
441 2010-06-22 Cary Coutant <ccoutant@google.com>
442
443 * dwarf2out.c (is_nested_in_subprogram): New function.
444 (should_move_die_to_comdat): Use it.
445 (copy_ancestor_tree): Don't mark DIEs here.
446 (copy_decls_walk): Start walk from root of newly-added tree;
447 mark DIEs here instead.
448
449 2010-06-22 H.J. Lu <hongjiu.lu@intel.com>
450
451 * config/i386/i386.md (unit): Also check sseishft1.
452
453 2010-06-22 Jan Hubicka <jh@suse.cz>
454
455 * gimple.h (gimple_expr_code): Do checking on when gimple checking is
456 enabled.
457
458 2010-06-22 Jan Hubicka <jh@suse.cz>
459
460 * df-problems.c (df_rd_confluence_n, df_lr_confluence_n,
461 df_live_confluence_n, df_byte_lr_confluence_n, df_md_confluence_n):
462 Return true if something changed.
463 * df.h (df_confluence_function_n): Return bool.
464 * df-core.c (df_worklist_propagate_forward,
465 df_worklist_propagate_backward): Track changes and ages.
466 (df_worklist_dataflow_doublequeue): Use bitmap iterator for main walk;
467 track ages.
468 * dse.c (dse_confluence_n): Return always true.
469
470 2010-06-22 Jan Hubicka <jh@suse.cz>
471
472 * bitmap.c (bitmap_clear_bit): Micro optimize.
473
474 2010-06-22 Uros Bizjak <ubizjak@gmail.com>
475
476 * config/i386/i386.md (SWI1248x): New mode iterator.
477 (SWI48x): Ditto.
478 (SWI12): Ditto.
479 (SWI24): Ditto.
480
481 (mov<mode>): Macroize expander from mov{qi,hi,si,di} using
482 SWI1248x mode iterator.
483 (*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
484 using SWI124 mode iterator.
485 (*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
486 mode iterator.
487 (*push<mode>2_prologue): Macroize insn from *pushsi2_prologue and
488 *pushdi2_prologue_rex64 using P mode iterator.
489 (*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
490 using SWI48 mode iterator.
491 (*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
492 (*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
493 using SWI1248x mode iterator.
494 (*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
495 (*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
496 SWI48 mode iterator.
497 (*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
498 iterator.
499 (*swap<mode>_2): Ditto from *swap{qi,hi}_2.
500 (movstrict<mode>): Macroize expander from movstrict{qi,hi} using
501 SWI12 mode iterator.
502 (*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
503 SWI12 mode iterator.
504 (*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
505 (*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
506 SWI24 mode iterator.
507 (*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
508 SWI48 mode iterator.
509 (mov<mode>_insn_1): New expander.
510 (*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
511 using SWI48x mode iterator.
512
513 (*movoi_internal_avx): Rename from *movoi_internal.
514 (*movti_internal_rex64): Rename from *movti_rex64.
515 (*movti_internal_sse): Rename from *movti_sse.
516 (*movdi_internal_rex64): Rename from *movdi_1_rex64.
517 (*movdi_internal): Rename from *movdi_2.
518 (*movsi_internal): Rename from *movsi_1.
519 (*movhi_internal): Rename from *movhi_1.
520 (*movqi_internal): Rename from *movqi_1.
521
522 (insv): Update the call to gen_movsi_insv_1 for rename.
523 * config/i386/i386.c (promote_duplicated_reg): Ditto.
524
525 2010-06-22 Jan Hubicka <jh@suse.cz>
526
527 * passes.c (execute_function_todo): Move call of statistics_fini_pass
528 to ...
529 (execute_todo) ... this one.
530
531 2010-06-22 Alan Modra <amodra@gmail.com>
532
533 PR target/44364
534 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
535 * caller-save.c (insert_restore, insert_save): Use non-validate
536 form of adjust_address.
537
538 2010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
539
540 PR target/39690
541 * config/pa/pa.c (override_options): Disable
542 -freorder-blocks-and-partition.
543
544 2010-06-21 H.J. Lu <hongjiu.lu@intel.com>
545
546 PR target/44615
547 * config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
548
549 * config/i386/i386.md (type): Add sseishft1
550
551 * config/i386/ppro_insn (ppro_insn): Also check sseishft1.
552 (ppro_insn_load): Likewise.
553 (ppro_insn_store): Likewise.
554 (ppro_insn_both): Likewise.
555
556 * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
557 (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
558 for type.
559 (*vec_extractv2di_1_avx): Likewise.
560 (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
561 type. Remove atom_unit.
562 (*vec_extractv2di_1_sse2): Likewise.
563
564 2010-06-21 DJ Delorie <dj@redhat.com>
565
566 * diagnostic.h (diagnostic_classification_change_t): New.
567 (diagnostic_context): Add history and push/pop list.
568 (diagnostic_push_diagnostics): Declare.
569 (diagnostic_pop_diagnostics): Declare.
570 * diagnostic.c (diagnostic_classify_diagnostic): Store changes
571 from pragmas in a history chain instead of the global table.
572 (diagnostic_push_diagnostics): New.
573 (diagnostic_pop_diagnostics): New.
574 (diagnostic_report_diagnostic): Scan history chain to find state
575 of diagnostics as of the diagnostic location.
576 * opts.c (set_option): Pass UNKNOWN_LOCATION to
577 diagnostic_classify_diagnostic.
578 (enable_warning_as_error): Likewise.
579 * diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
580 use in the history chain.
581 * c-family/c-pragma.c (handle_pragma_diagnostic): Add push/pop,
582 allow these pragmas anywhere.
583 * doc/extend.texi: Document pragma GCC diagnostic changes.
584
585 2010-06-21 Jakub Jelinek <jakub@redhat.com>
586
587 * dwarf2out.c (add_linkage_name): New function. Don't add
588 anything to DW_TAG_member DIEs.
589 (add_name_and_src_coords_attributes): Use it.
590 (gen_variable_die): Call it for C++ static data members if
591 specification is DW_TAG_member.
592
593 * dwarf2out.c (base_type_die): Use DW_ATE_UTF for
594 C++ char16_t and char32_t.
595
596 * Makefile.in (build/genattrtab.o): Depend on vecprim.h.
597 * genattrtab.c: Include vecprim.h.
598 (cached_attrs, cached_attr_count, attrs_seen_once,
599 attrs_seen_more_than_once, attrs_to_cache, attrs_cached_inside,
600 attrs_cached_after): New variables.
601 (find_attrs_to_cache): New function.
602 (FLG_BITWISE, FLG_AFTER, FLG_INSIDE, FLG_OUTSIDE_AND): Define.
603 (write_test_expr): Add attrs_cached argument, return it too,
604 attempt to cache non-const attributes used more than once in
605 a single case handling.
606 (write_attr_get): Use find_attrs_to_cache, for caching candidates
607 emit cached_* variables. Adjust write_attr_set callers.
608 (write_attr_set): Add attrs_cached attribute, use find_attrs_to_cache
609 to find attributes that should be cached in this block. Adjust
610 write_test_expr callers.
611 (write_attr_case): Clear attrs_to_cache. Adjust write_attr_set
612 callers.
613 (make_automaton_attrs): Adjust write_test_expr caller.
614
615 * Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
616 * genattrtab.c (check_tune_attr, find_tune_attr): New functions.
617 (make_automaton_attrs): If find_tune_attr returns non-NULL,
618 write separate internal_dfa_insn_code_* and insn_default_latency_*
619 functions for each attribute's value and emit init_sched_attrs
620 function and function pointers.
621 * genattr.c (const_attrs, reservations): New variables.
622 (gen_attr): Add const attributes to const_attrs vector.
623 (check_tune_attr, find_tune_attr): New functions.
624 (main): Add reservations to reservations vector. If find_tune_attr
625 returns true, add prototype for init_sched_attrs and make
626 internal_dfa_insn_code and insn_default_latency function pointers,
627 otherwise define init_sched_attrs as dummy macro.
628 * cfgexpand.c: Include insn-attr.h.
629 (gimple_expand_cfg): Call init_sched_attrs.
630
631 * stmt.c (resolve_asm_operand_names): Fix handling of %%.
632
633 PR target/44575
634 * config/i386/i386.c (ix86_gimplify_va_arg): When copying
635 va_arg from a set of register save slots into a temporary,
636 if the container is bigger than type size, do the copying
637 using smaller mode or using memcpy.
638
639 PR bootstrap/44426
640 * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
641 prototype.
642 (sel_print_to_dot): Remove macro.
643 (sel_print): Likewise. New prototype.
644 * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
645 (sel_print): New function.
646
647 2010-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
648
649 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
650 __STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.
651
652 2010-06-21 Nick Clifton <nickc@redhat.com>
653
654 * config/rx/rx.h (PTRDIFF_TYPE): Define.
655 (SMALL_REGISTER_CLASS): Define (to zero).
656 (PRINT_OPERAND): Delete.
657 (PRINT_OPERAND_ADDRESS): Delete.
658 * config/rx/rx-protos.h (rx_print_operand): Delete prototype.
659 (rx_print_operand_address): Delete prototype.
660 * config/rx/rx.c (rx_print_operand): Make static.
661 Allow %H and %L to handle CONST_DOUBLEs.
662 (rx_print_operand_address): Make static.
663 (rx_gen_move_template): Rename local variable 'template' to
664 out_template.
665 (rx_function_arg): Do not pass unknown sized objects in registers.
666 (TARGET_PRINT_OPERAND): Define.
667 (TARGET_PRINT_OPERAND_ADDRESS): Define.
668
669 2010-06-21 Jan Kratochvil <jan.kratochvil@redhat.com>
670
671 * Makefile.in (POD2MAN): Provide --date from $(DATESTAMP).
672
673 2010-06-21 Kai Tietz <kai.tietz@onevision.com>
674
675 * config/i386/i386.c (ix86_compute_frame_layout): Avoid
676 stack-alignment for simple leaf-functions.
677
678 2010-06-20 Alexandre Oliva <aoliva@redhat.com>
679
680 * doc/install.texi: Document bootstrap-lto.
681
682 2010-06-20 Alexandre Oliva <aoliva@redhat.com>
683
684 PR debug/44248
685 * lto-streamer-in.c (input_bb): Leave debug stmts alone.
686 (input_function): Drop them here, if VTA is disabled.
687
688 2010-06-20 Uros Bizjak <ubizjak@gmail.com>
689
690 PR target/44546
691 * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
692 New predicate.
693 * config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use
694 ix86_swapped_fp_comparsion_operator instead of
695 ix86_fp_comparison_operator.
696
697 (*fp_jcc_1_387): Rename from *fp_jcc_3_387.
698 (*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
699 (*fp_jcc_2_387): Rename from *fp_jcc_5_387.
700 (*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
701 (*fp_jcc_3_387): Rename from *fp_jcc_7_387.
702 (*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
703
704 2010-06-20 Joseph Myers <joseph@codesourcery.com>
705
706 PR other/32998
707 * opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown,
708 OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
709 * opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure.
710 (decode_cmdline_option): Update for this return value. Set
711 orig_option_with_args_text field. Set arg field for unknown
712 options. Make static.
713 (decode_cmdline_options_to_array): New.
714 (prune_options): Update handling of find_opt return value.
715 * opts.c (read_cmdline_option): Take decoded option. Return void.
716 (read_cmdline_options): Take decoded options.
717 (decode_options): Add parameters for decoded options. Use
718 decode_cmdline_options_to_array. Use decoded options for -O
719 scan. Use integral_argument for -O parameters. Update call to
720 read_cmdline_options.
721 (enable_warning_as_error): Update handling of find_opt return value.
722 * opts.h: Update comment on unknown options.
723 (struct cl_decoded_option): Update comments on opt_index and arg.
724 Add orig_option_with_args_text.
725 (decode_cmdline_option): Remove.
726 (decode_cmdline_options_to_array): Declare.
727 (decode_options): Update prototype.
728 * toplev.c (save_argv): Remove.
729 (save_decoded_options, save_decoded_options_count): New.
730 (read_integral_parameter): Remove.
731 (print_switch_values): Use decoded options.
732 (toplev_main): Don't set save_argv. Update call to decode_options.
733 * toplev.h (read_integral_parameter): Remove.
734 * varasm.c (elf_record_gcc_switches): Don't handle holding back names.
735
736 2010-06-19 Richard Earnshaw <rearnsha@arm.com>
737
738 PR target/44072
739 * arm.md (cmpsi2_addneg): Prefer emitting adds to subs with a negative
740 immediate.
741 * constraints.md (Pw, Px): New constraints.
742 * thumb2.md (cmpsi2_addneg peephole2): New peepholes.
743
744 2010-06-19 H.J. Lu <hongjiu.lu@intel.com>
745
746 * config/i386/sse.md (fma4modesuffixf4): Removed.
747 (ssemodesuffixf2s): Likewise.
748 (ssemodesuffixf4): Likewise.
749 (ssemodesuffixf2c): Likewise.
750 (ssescalarmodesuffix2s): Likewise.
751 (avxmodesuffixf2c): Likewise.
752 (ssemodesuffix): New.
753 (ssescalarmodesuffix): Likewise.
754 Update patterns with ssemodesuffix and ssescalarmodesuffix.
755
756 2010-06-19 Philip Herron <herron.philip@googlemail.com>
757
758 * c-decl.c (c_write_global_declarations): Don't check flag_syntax_only.
759
760 2010-06-18 H.J. Lu <hongjiu.lu@intel.com>
761
762 * stor-layout.c (debug_rli): Remove unused local variables.
763
764 2010-06-18 Eric Botcazou <ebotcazou@adacore.com>
765
766 PR rtl-optimization/40900
767 * expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
768 original expression for later reuse.
769 <expand_decl_rtl>: Use promote_function_mode to compute the signedness
770 of the promoted RTL for a SSA_NAME on the LHS of a call statement.
771
772 2010-06-18 Anatoly Sokolov <aesok@post.ru>
773
774 * double-int.h (double_int_to_shwi, double_int_to_uhwi,
775 double_int_fits_in_uhwi_p): Implement as static inline.
776 (double_int_xor): New inline function.
777 (double_int_lrotate, double_int_rrotate, double_int_max,
778 double_int_umax, double_int_smax, double_int_min, double_int_umin,
779 double_int_smin): Declare.
780 (lrotate_double, rrotate_double): Remove declaration.
781 * double-int.c (double_int_fits_in_uhwi_p, double_int_to_shwi,
782 double_int_to_uhwi, lrotate_double, rrotate_double): Remove function.
783 (double_int_lrotate, double_int_rrotate, double_int_max,
784 double_int_umax, double_int_smax, double_int_min, double_int_umin,
785 double_int_smin): New function.
786 * fold-const.c (int_const_binop): Clean up, use double_int_*
787 functions.
788 * simplify-rtx.c (simplify_const_binary_operation): Clean up, use
789 double_int_* and immed_double_int_const functions.
790
791 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
792
793 * function.h (types_used_by_cur_var_decl): Change type to a VEC.
794 * function.c (types_used_by_cur_var_decl): Likewise.
795 (used_types_insert): Adjust for new type of types_used_by_cur_var_decl.
796
797 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
798
799 * tree.h (record_layout_info): Change type of pending_statics field
800 to a VEC.
801 * stor-layout.c (start_record_layout): Store NULL into
802 pending_statics.
803 (debug_rli): Call debug_vec_tree instead of debug_tree.
804 (place_field): Likewise.
805 (finish_record_layout): Likewise.
806
807 2010-06-18 Alan Modra <amodra@gmail.com>
808
809 * config/rs6000/linux64.h (SET_CMODEL): Don't expand to empty.
810
811 2010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
812
813 PR target/43740
814 * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
815 for SET source operand from SET destination operand.
816
817 2010-06-17 Bernd Schmidt <bernds@codesourcery.com>
818
819 PR rtl-optimization/39871
820 * reload1.c (init_eliminable_invariants): For flag_pic, disable
821 equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
822 (function_invariant_p): Rule out a plus of frame or arg pointer with
823 a SYMBOL_REF.
824 * ira.c (find_reg_equiv_invariant_const): Likewise.
825
826 2010-06-17 Gunther Nikl <gnikl@users.sourceforge.net>
827
828 * config/rs6000/rs6000.c (print_operand) <'K'>: Also use
829 print_operand_address and puts to output the operand for CONST.
830
831 2010-06-17 Jakub Jelinek <jakub@redhat.com>
832
833 PR debug/44572
834 * dwarf2out.c (dwarf2out_debug_hooks): Add entry for begin_epilogue
835 hook.
836
837 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
838
839 * v850-protos.h (print_operand): Delete.
840 (print_operand_address): Delete.
841 * v850.h (PRINT_OPERAND): Delete.
842 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
843 (PRINT_OPERAND_ADDRESS): Delete.
844 * v850.c (print_operand_address): Rename to...
845 (v850_print_operand_address): ...this. Make static. Call
846 v850_print_operand.
847 (print_operand): Rename to...
848 (v850_print_operand): ...this. Make static. Call
849 v850_print_operand_address.
850 (v850_print_operand_punct_valid_p): New function.
851 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
852 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
853
854 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
855
856 * config/sh/sh-protos.h (print_operand): Delete.
857 (print_operand_address): Delete.
858 * config/sh/sh.h (PRINT_OPERAND): Delete.
859 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
860 (PRINT_OPERAND_ADDRESS): Delete.
861 * config/sh/sh.c (sh_print_operand_address): Make static.
862 (sh_print_operand): Make static. Call sh_print_operand_address
863 and sh_print_operand.
864 (sh_print_operand_punct_valid_p): New function.
865 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
866 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
867
868 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
869
870 * config/mcore/mcore-protos.h (mcore_print_operand): Delete.
871 (mcore_print_operand_address): Delete.
872 * config/mcore/mcore.h (PRINT_OPERAND): Delete.
873 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
874 (PRINT_OPERAND_ADDRESS): Delete.
875 * config/mcore/mcore.c (mcore_print_operand_address): Make static.
876 (mcore_print_operand): Make static.
877 (mcore_print_operand_punct_valid_p): New function.
878 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define
879 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
880
881 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
882
883 * config/m68hc11/m68hc11-protos.h (print_operand): Delete.
884 (print_operand_address): Delete.
885 * config/m68hc11/m68hc11.h (PRINT_OPERAND): Delete.
886 (PRINT_OPERAND_ADDRESS): Delete.
887 * config/m68hc11/m68hc11.c (m68hc11_print_operand_address): Make
888 static.
889 (m68hc11_print_operand): Make static.
890 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
891
892 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
893
894 * config/m32r/m32r-protos.h (m32r_print_operand): Delete.
895 (m32r_print_operand_address): Delete.
896 * config/m32r/m32r.h (m32r_punct_chars): Delete.
897 (PRINT_OPERAND): Delete.
898 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
899 (PRINT_OPERAND_ADDRESS): Delete.
900 * config/m32r/m32r.c (m32r_punct_chars): Make static.
901 (m32r_print_operand_address): Make static.
902 (m32r_print_operand): Make static.
903 (m32r_print_operand_punct_valid_p): New function.
904 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
905 (TARGET_PRINT_OPERAND_ADDRESS): Define.
906
907 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
908
909 * config/iq2000/iq2000-protos.h (print_operand): Delete.
910 (print_operand_address): Delete.
911 * config/iq2000/iq2000.h (PRINT_OPERAND): Delete.
912 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
913 (PRINT_OPERAND_ADDRESS): Delete.
914 (iq2000_print_operand_punct): Delete.
915 * config/iq2000/iq2000.c (iq2000_print_operand_punct): Make static.
916 (iq2000_print_operand_address): Make static.
917 (iq2000_print_operand): Make static.
918 (iq2000_print_operand_punct_valid_p): New function.
919 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
920 (TARGET_PRINT_OPERAND_ADDRESS): Define.
921
922 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
923
924 * config/frv/frv-protos.h (frv_print_operand): Delete.
925 (frv_print_operand_address): Delete.
926 * config/frv/frv.h (PRINT_OPERAND): Delete.
927 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
928 (PRINT_OPERAND_ADDRESS): Delete.
929 * config/frv/frv.c (frv_print_operand_address): Make static.
930 (frv_print_operand): Make static.
931 (frv_print_operand_punct_valid_p): New function.
932 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
933 (TARGET_PRINT_OPERAND_ADDRESS): Define.
934
935 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
936
937 * tree.h (vec_member): Declare.
938 * tree.c (vec_member): Define.
939
940 2010-06-17 Richard Guenther <rguenther@suse.de>
941
942 * tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
943 * tree-flow.h (array_ref_contains_indirect_ref): Likewise.
944
945 2010-06-17 Richard Guenther <rguenther@suse.de>
946
947 * tree-inline.c (declare_return_variable): Remove bogus code.
948
949 2010-06-17 Richard Guenther <rguenther@suse.de>
950
951 * gimplify.c (gimplify_bind_expr): Always promote complex
952 and vector variables to registers if possible.
953
954 2010-06-17 Richard Guenther <rguenther@suse.de>
955
956 * expr.c (get_inner_reference): Use double_int for bit_offset
957 calculation.
958
959 2010-06-16 DJ Delorie <dj@redhat.com>
960
961 * common.opt (-fstrict-volatile-bitfields): new.
962 * doc/invoke.texi: Document it.
963 * fold-const.c (optimize_bit_field_compare): For volatile
964 bitfields, use the field's type to determine the mode, not the
965 field's size.
966 * expr.c (expand_assignment): Likewise.
967 (get_inner_reference): Likewise.
968 (expand_expr_real_1): Likewise.
969 * expmed.c (store_fixed_bit_field): Likewise.
970 (extract_bit_field_1): Likewise.
971 (extract_fixed_bit_field): Likewise.
972
973 2010-06-16 Richard Guenther <rguenther@suse.de>
974
975 * tree-inline.c (remap_gimple_op_r): Recurse using remap_gimple_op_r.
976
977 2010-06-16 Douglas B Rupp <rupp@gnat.com>
978
979 * config/ia64/vms.h (ASM_OUTPUT_DWARF_DELTA_UNITS): Remove.
980 (ASM_OUTPUT_DWARF_VMS_DELTA: Define new macro.
981 * dbxout.c (gcc_debug_hooks): New entry begin_epilogue.
982 * debug.c: Likewise.
983 * sdbout.c: Likewise.
984 * vmsdbgout.c: Likewise.
985 * debug.h: Likewise. (dwarf2out_vms_{begin,end}_prologue): Declare.
986 * doc/tm.texi (ASM_OUTPUT_DWARF_VMS_DELTA): Document.
987 * dwarf2asm.c (dw2_asm_output_vms_delta): New function.
988 (ASM_OUTPUT_DWARF_VMS_DELTA): Call it.
989 * dwarf2asm.h (dw2_asm_output_vms_delta): Declare.
990 * dwarf2out.c (dw_fde_struct): New fields
991 dw_fde_vms_{end,begin}_prologue.
992 (PROLOGUE_END_LABEL, EPILOGUE_BEGIN_LABEL): New macros.
993 (dwarf2out_begin_prologue): Set dw_fde_struct defaults for above.
994 (dwarf2out_vms_end_prologue): New function.
995 (dwarf2out_vms_begin_epilogue): New function.
996 (dw_val_struct): New value dw_val_class_vms_delta.
997 (gcc_debug_hooks): New entry begin_epilogue. Set end_prologue,
998 begin_epilogue for VMS.
999 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): Declare
1000 new static functions.
1001 (dwarf_attr_name): New cases DW_AT_HP_{prologue,epilogue}.
1002 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): New
1003 static functions.
1004 (print_die): New case dw_val_class_vms_delta.
1005 (attr_checksum): Likewise.
1006 (same_dw_val_p: Likewise.
1007 (size_of_die): Likewise.
1008 (value_format): Likewise.
1009 (output_die): Likewise.
1010 (gen_subprogram_die): Call add_AT_vms_delta on VMS.
1011 (dwarf2out_begin_epilogue): Rename to dwarf2out_cfi_begin_epilogue
1012 * dwarf2out.h (dwarf2out_begin_epilogue): Rename to
1013 dwarf2out_cfi_begin_epilogue
1014 * final.c (final_scan_insn): Likewise. Call begin_epilogue.
1015
1016 2010-06-16 Nathan Froyd <froydnj@codesourcery.com>
1017
1018 * config/cris/cris-protos.h (cris_print_operand): Delete.
1019 (cris_print_operand_address): Delete.
1020 * config/cris/cris.h (PRINT_OPERAND): Delete.
1021 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
1022 (PRINT_OPERAND_ADDRESS): Delete.
1023 * config/cris/cris.c (cris_print_operand_address): Make static.
1024 (cris_print_operand): Make static.
1025 (cris_print_operand_punct_valid_p): New function.
1026 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
1027 (TARGET_PRINT_OPERAND_ADDRESS): Define.
1028
1029 2010-06-16 Nathan Froyd <froydnj@codesourcery.com>
1030
1031 * config/arm/arm-protos.h (arm_print_operand): Delete.
1032 (arm_print_operand_address): Delete.
1033 * config/arm/arm.h (PRINT_OPERAND): Delete.
1034 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
1035 (PRINT_OPERAND_ADDRESS, ARM_PRINT_OPERAND_ADDRESS):
1036 (THUMB_PRINT_OPERAND_ADDRESS): Delete and move code to...
1037 * config/arm/arm.c (arm_print_operand_address): ...here. New function.
1038 (arm_print_operand): Make static.
1039 (arm_print_operand_punct_valid_p): New function.
1040 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
1041 (TARGET_PRINT_OPERAND_ADDRESS): Define.
1042
1043 2010-06-16 Nick Clifton <nickc@redhat.com>
1044
1045 * config/rx/constraints.md (NEGint4): New constraint.
1046 * config/rx/rx.md (attr cc): Add set_zsc.
1047 (cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
1048 initialised.
1049 (cmpsf): Likewise.
1050 (call_internal): Clobber the cc0 register.
1051 (call_value_internal): Likewise.
1052 (cstoresi4): Likewise.
1053 (movsieq): Likewise.
1054 (movsine): Likewise.
1055 (addsi3): Add alternative to handle small negative constants.
1056 (sunsi3): Likewise.
1057 (addsi3): Do not set the O bit in the cc0 register.
1058 (adddi3): Likewise.
1059 (subsi3): Likewise.
1060 (subdi3): Likewise.
1061 (andsi3): Reorder alternatives to prefer shorter forms.
1062 (mulsi3): Likewise.
1063 (iorsi3): Likewise.
1064 (negsi2): Note that the cc0 flags are set.
1065 (rotlsi3): Note that only the Z and S bits are set in cc0.
1066 (lshrsi3): Likewise.
1067 (ashlsi3): Likewise.
1068 (subsf3): Use %Q for the MEM operand.
1069 (fix_truncsfsi2): Likewise.
1070 (floatsisf2): Likewise.
1071 (bitset): Remove early clobber from destination.
1072 (bitset_in_memory): Likewise.
1073 (lrintsf2): Clobber the cc0 register.
1074 * config/rx/rx.c (rx_notice_update_cc): Handle CC_SET_ZSC.
1075 (rx_print_operand): Handle %N.
1076
1077 2010-06-16 Jan Hubicka <jh@suse.cz>
1078
1079 * df-core.c (df_compact_blocks): Free problem_temps vector.
1080
1081 2010-06-16 Martin Jambor <mjambor@suse.cz>
1082
1083 PR tree-optimization/43905
1084 * tree-sra.c: Include tree-inline.h.
1085 (create_abstract_origin): Removed.
1086 (modify_function): Version the call graph node instead of creating
1087 abstract origins and dealing with same_body aliases.
1088 * tree-sra.c (ipa_sra_preliminary_function_checks): Check whether the
1089 function is versionable.
1090 * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
1091
1092 2010-06-16 Maxim Kuvyrkov <maxim@codesourcery.com>
1093
1094 * config/mips/linux64.h (BIONIC_DYNAMIC_LINKERN32): Define.
1095 (CHOOSE_DYNAMIC_LINKER): Update.
1096
1097 2010-06-15 Uros Bizjak <ubizjak@gmail.com>
1098
1099 * config/i386/i386.c (*prefetch_sse_<mode>): Macroize insn from
1100 *prefetch_sse and *prefetch_sse_rex using P mode iterator.
1101 (*prefetch_3dnow_<mode>): Ditto from *prefetch_3dnow and
1102 *prefetch_3dnow_rex.
1103
1104 2010-06-15 Anatoly Sokolov <aesok@post.ru>
1105
1106 * target.h (struct asm_out):Add declare_constant_name field.
1107 * target-def.h (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
1108 (TARGET_INITIALIZER): Use TARGET_ASM_DECLARE_CONSTANT_NAME.
1109 * output.h (default_asm_declare_constant_name): Declare.
1110 (assemble_label): Update prototype.
1111 * varasm.c (assemble_constant_contents): Use
1112 targetm.asm_out.declare_constant_name target hook.
1113 (assemble_label): Add 'file' argument.
1114 (default_asm_declare_constant_name): New function.
1115 * system.h (ASM_DECLARE_CONSTANT_NAME): Poison.
1116 * doc/tm.texi (ASM_DECLARE_CONSTANT_NAME): Remove.
1117 (TARGET_ASM_DECLARE_CONSTANT_NAME): Document it.
1118
1119 * config/darwin-protos.h (darwin_asm_declare_constant_name): Declare.
1120 * config/darwin.c (darwin_asm_declare_constant_name): New function.
1121 (machopic_output_indirection): Update assemble_label argument list.
1122 * config/darwin.h (ASM_DECLARE_CONSTANT_NAME): Remove.
1123 (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
1124
1125 2010-06-15 Sebastian Pop <sebastian.pop@amd.com>
1126
1127 PR middle-end/44391
1128 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
1129 size_one_node for pointer types. Do not call gmp_cst_to_tree.
1130
1131 2010-06-15 Richard Guenther <rguenther@suse.de>
1132
1133 * tree-ssa-pre.c (eliminate): Handle PHI elimination to constants.
1134
1135 2010-06-15 Paul Brook <paul@codesourcery.com>
1136
1137 * config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
1138 hard-float ABI.
1139
1140 2010-06-15 Alexandre Oliva <aoliva@redhat.com>
1141
1142 * tree-vect-patterns.c (vect_pattern_recog_1): Bail out if we
1143 don't get a vector type for output.
1144
1145 2010-06-15 Jakub Jelinek <jakub@redhat.com>
1146
1147 PR fortran/44536
1148 * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
1149 * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
1150 (LANG_HOOKS_DECLS): Add it.
1151 * gimplify.c (omp_notice_variable): Call
1152 lang_hooks.decls.omp_report_decl.
1153
1154 2010-06-15 Martin Jambor <mjambor@suse.cz>
1155
1156 PR lto/44464
1157 * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
1158 on the newly dead SSA name.
1159
1160 2010-06-15 Alan Modra <amodra@gmail.com>
1161
1162 * doc/invoke.texi: Add mcmodel to powerpc options.
1163 * configure.ac: Add HAVE_LD_LARGE_TOC test.
1164 * configure: Regenerate.
1165 * config.in: Regenerate.
1166 * config/rs6000/linux64.opt (mcmodel): New.
1167 * config/rs6000/linux64.h (TARGET_USES_LINUX64_OPT): Define.
1168 (TARGET_CMODEL, SET_CMODEL): Define.
1169 (SUBSUBTARGET_OVERRIDE_OPTIONS): Check user -mcmodel choice,
1170 select CMODEL_MEDIUM default.
1171 * config/rs6000/rs6000.h (enum rs6000_cmodel): New.
1172 (TARGET_CMODEL): Define default.
1173 * config/rs6000/rs6000.c (cmodel): New variable.
1174 (rs6000_explicit_options): Add cmodel field.
1175 (rs6000_handle_option): Handle -mcmodel.
1176 (create_TOC_reference): Add largetoc_reg param. Generate high,
1177 lo_sum rtl for CMODEL_MEDIUM and CMODEL_LARGE. Update all callers.
1178 (rs6000_delegitimize_address): Recognise new toc reference rtl
1179 and minimal-toc rtl.
1180 (rs6000_legitimize_reload_address): Handle new toc references.
1181 (print_operand_address): Handle legitimate_constant_pool_address_p
1182 match before lo_sum.
1183 (rs6000_eliminate_indexed_memrefs): Tidy.
1184 (rs6000_emit_move): Tweak threshold for inlining constants.
1185 Keep rs6000_emit_allocate_stack large stack frame offsets
1186 loaded into r0 inline.
1187 (rs6000_generate_compare <cmptf_internal2>): One more clobber.
1188 (tocrel_base, tocrel_offset): New variables.
1189 (toc_relative_expr_p): Set them here.
1190 (print_operand_address): Skip over any offset on constant pool address.
1191 (rs6000_output_addr_const_extra): Print tocrel_offset before @toc.
1192 (rs6000_mode_dependent_address <LO_SUM>): False for new toc refs.
1193 (offsettable_ok_by_alignment): New function.
1194 (rs6000_emit_move): Address suitably aligned local symbol_refs
1195 relative to the toc pointer for -mcmodel=medium.
1196 (legitimate_constant_pool_address_p): Make param const_rtx. Add
1197 strict param. Allow lo_sum version of addressing. Verify reg
1198 used for -mminimal-toc and -mcmodel != small. Update all callers.
1199 * config/rs6000/constraints.md: Update for above change.
1200 * config/rs6000/predicates.md: Likewise.
1201 * config/rs6000/rs6000.md (tls_gd_aix): Generate -mcmodel=medium/large
1202 code.
1203 (tls_gd): Split for -mcmodel=medium/large.
1204 (tls_gd_high, tls_gd_low): New.
1205 (tls_ld_aix, tls_ld, tls_ld_high, tls_ld_low): Similarly.
1206 (tls_got_dtprel, tls_got_dtprel_high, tls_got_dtprel_low): Similarly.
1207 (tls_got_tprel, tls_got_tprel_high, tls_got_tprel_low): Similarly.
1208 (largetoc_high, largetoc_low): New.
1209 (cmptf_internal2): Add clobber.
1210 * config/rs6000/rs6000-protos.h: Update.
1211
1212 2010-06-14 Changpeng Fang <changpeng.fang@amd.com>
1213
1214 * tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New. Return
1215 true if no prefetch is going to be generated for a given group.
1216 (estimate_prefetch_count): Use prefetch_mod and unroll_factor to
1217 estimate the prefetch_count.
1218 (loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
1219 prefetch count by considering the unroll_factor and prefetch_mod
1220 for is_loop_prefetching_profitable.
1221
1222 2010-06-14 Andreas Schwab <schwab@linux-m68k.org>
1223
1224 * config/m68k/m68k.c (m68k_delegitimize_address): Don't do
1225 anything if the argument is not a MEM.
1226
1227 2010-06-14 Alexandre Oliva <aoliva@redhat.com>
1228
1229 PR debug/43650
1230 PR debug/44181
1231 PR debug/44247
1232 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip
1233 debug stmts.
1234 (canonicalize_loop_ivs): Likewise.
1235
1236 2010-06-14 Alexandre Oliva <aoliva@redhat.com>
1237
1238 PR debug/43656
1239 * haifa-sched.c (setup_insn_reg_pressure_info,
1240 update_register_pressure): Reject debug insns.
1241 (ready_sort): Don't setup reg pressure for debug insns.
1242 (schedule_insn): Don't update reg pressure for debug insns.
1243
1244 2010-06-14 Richard Guenther <rguenther@suse.de>
1245
1246 * lto-streamer.c (cached_bp): Remove.
1247 (bitpack_delete): Likewise.
1248 (bitpack_create): Likewise.
1249 (bp_get_next_word): Likewise.
1250 (bp_pack_value, bp_unpack_value): Move ...
1251 * lto-streamer.h (bp_pack_value, bp_unpack_value): ... here.
1252 Re-implement.
1253 (struct bitpack_d): Likewise.
1254 (bitpack_create, lto_output_bitpack, lto_input_bitpack):
1255 New inline functions.
1256 * lto-streamer-out.c (lto_output_bitpack): Remove.
1257 (pack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
1258 (pack_value_fields): Adjust.
1259 (lto_write_tree): Likewise.
1260 (output_gimple_stmt): Likewise.
1261 (output_function): Likewise.
1262 * lto-streamer-in.c (input_gimple_stmt): Adjust.
1263 (input_function): Likewise.
1264 (unpack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
1265 (lto_input_bitpack): Remove.
1266 (lto_materialize_tree): Adjust.
1267 * Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency.
1268 * lto-cgraph.c (lto_output_edge): Adjust.
1269 (lto_output_node): Likewise.
1270 (lto_output_varpool_node): Likewise.
1271 (lto_output_ref): Likewise.
1272 (input_node): Likewise.
1273 (input_varpool_node): Likewise.
1274 (input_ref): Likewise.
1275 (input_edge): Likewise.
1276 (output_node_opt_summary): Likewise.
1277 (input_node_opt_summary): Likewise.
1278 * ipa-pure-const.c (pure_const_write_summary): Likewise.
1279 (pure_const_read_summary): Likewise.
1280 * ipa-prop.c (ipa_write_indirect_edge_info): Likewise.
1281 (ipa_read_indirect_edge_info): Likewise.
1282 (ipa_write_node_info): Likewise.
1283 (ipa_read_node_info): Likewise.
1284
1285 2010-06-14 H.J. Lu <hongjiu.lu@intel.com>
1286
1287 PR target/44534
1288 * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0.
1289 (vec_extract_lo_v16hi): Likewise.
1290 (vec_extract_lo_v32qi): Likewise.
1291
1292 2010-06-14 Jakub Jelinek <jakub@redhat.com>
1293
1294 PR bootstrap/44426
1295 * tree.h (build_call_expr): Don't define as vararg macro, instead
1296 add a prototype.
1297 * builtins.c (build_call_nofold): Remove.
1298 (expand_builtin_int_roundingfn, expand_builtin_pow,
1299 expand_builtin_mempcpy_args, expand_builtin_stpcpy,
1300 expand_builtin_memset_args, expand_builtin_strcmp,
1301 expand_builtin_strncmp, expand_builtin_memory_chk): Use
1302 build_call_nofold_loc instead of build_call_nofold.
1303 (build_call_expr): New function.
1304
1305 PR tree-optimization/44508
1306 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
1307 * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
1308 don't eliminate trivially dead stmts.
1309 * tree-vrp.c (vrp_finalize): Pass false as last argument
1310 to substitute_and_fold.
1311 * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
1312 to substitute_and_fold.
1313 * tree-ssa-ccp.c (ccp_finalize): Likewise.
1314
1315 PR bootstrap/44509
1316 * c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c.
1317 * c-family/c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
1318 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
1319 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
1320 ggc_strdup instead of xstrdup.
1321
1322 2010-06-14 Ira Rosen <irar@il.ibm.com>
1323
1324 PR tree-optimization/44507
1325 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1
1326 to build initial vector for BIT_AND_EXPR.
1327 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
1328
1329 2010-06-14 Jakub Jelinek <jakub@redhat.com>
1330
1331 * config/s390/s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly
1332 adjust z10prop set_attr.
1333
1334 2010-06-13 Jan Hubicka <jh@suse.cz>
1335
1336 * bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
1337 bitmap_and_compl_into, bitmap_compl_and_into, bitmap_ior,
1338 bitmap_ior_into, bitmap_xor, bitmap_xor_into,
1339 bitmap_ior_and_compl, bitmap_ior_and_compl): Turn internal
1340 datastructure checks into checking asserts.
1341 * rtlanal.c (find_reg_note): Use gcc_checking_assert.
1342 * tree-ssa-sccvn.c (VN_INFO): Likewise.
1343 * df-scan.c (df_reorganize_refs_by_reg_by_reg, df_install_ref,
1344 df_ref_create_structure): Likewise.
1345 * alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc,
1346 pool_free): Use gcc_checking_assert.
1347 * alias.c (get_alias_set): Likewise.
1348 * var-tracking.c (variable_htab_free, shared_hash_copy,
1349 canonicalize_values_mark, variable_merge_over_cur): Likewise.
1350 * lto-streamer.c (bp_unpack_value): Likewise.
1351
1352 2010-06-13 Richard Guenther <rguenther@suse.de>
1353
1354 * lto-streamer-in.c (lto_input_ts_type_tree_pointers):
1355 Do not stream but initialize TYPE_CANONICAL to NULL.
1356 (lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
1357 * gimple.c (gimple_types_compatible_p): Disregard
1358 TYPE_STRUCTURAL_EQUALITY_P.
1359 (gimple_register_type): Use TYPE_CANONICAL as cache.
1360 * lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
1361 before registering common types.
1362 * config/i386/i386.c (ix86_function_arg_boundary): Do not
1363 use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
1364 * tree.h (TYPE_CANONICAL): Clarify documentation.
1365
1366 2010-06-13 Anatoly Sokolov <aesok@post.ru>
1367
1368 * config/ia64/ia64.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
1369 LIBCALL_VALUE): Remove macros.
1370 * config/ia64/ia64-protos.h (ia64_function_value): Remove.
1371 * config/ia64/ia64.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1372 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1373 (ia64_libcall_value, ia64_function_value_regno_p): New functions.
1374 (ia64_function_value): Make static. Handle receiving the function
1375 type in 'fn_decl_or_type' argunent. Add 'outgoing' argument.
1376
1377 2010-06-12 Jan Hubicka <jh@suse.cz>
1378
1379 * cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p
1380 at correct place.
1381
1382 2010-06-12 Bernd Schmidt <bernds@codesourcery.com>
1383
1384 * config/arm/arm.c (thumb2_reorg): Fix errors in previous change.
1385
1386 2010-06-12 Jan Hubicka <jh@suse.cz>
1387
1388 * df-core.c (df_clear_bb_info): New function.
1389 (df_set_blocks): bb_info is always allocated.
1390 (df_get_bb_info): Use block_info_elt_size.
1391 (df_set_bb_info): Likewise.
1392 (df_compact_blocks): Update for new block_info.
1393 (grow_bb_info): New function.
1394 * df-problems.c (df_grow_bb_info): Move to df-core.c
1395 (df_rd_set_bb_info): Remove.
1396 (df_rd_free_bb_info): Do not free block pool.
1397 (df_rd_alloc): Do not create pool, use check for
1398 obstack presence instead of NULL pointer for new blocks.
1399 (df_rd_free): DO not free alloc pool; clear block_info.
1400 (problem_RD): Add size of block info structure.
1401 (df_lr_set_bb_info): Remove.
1402 (df_lr_free_bb_info): Do not free block pool.
1403 (df_lr_alloc): Do not create pool, use check for
1404 obstack presence instead of NULL pointer for new blocks.
1405 (df_lr_free): DO not free alloc pool; clear block_info.
1406 (problem_LR): Add size of block info structure.
1407 (df_live_set_bb_info): Remove.
1408 (df_live_free_bb_info): Do not free block pool.
1409 (df_live_alloc): Do not create pool, use check for
1410 obstack presence instead of NULL pointer for new blocks.
1411 (df_live_free): DO not free alloc pool; clear block_info.
1412 (problem_LIVE): Add size of block info structure.
1413 (problem_CHAIN): Add size of block info structure.
1414 (df_byte_lr_set_bb_info): Remove.
1415 (df_byte_lr_free_bb_info): Do not free block pool.
1416 (df_byte_lr_alloc): Do not create pool, use check for
1417 obstack presence instead of NULL pointer for new blocks.
1418 (df_byte_lr_free): DO not free alloc pool; clear block_info.
1419 (problem_BYTE_LR): Add size of block info structure.
1420 (problem_NOTE): Add size of block info structure.
1421 (df_byte_MD_set_bb_info): Remove.
1422 (df_byte_MD_free_bb_info): Do not free block pool.
1423 (df_byte_MD_alloc): Do not create pool, use check for
1424 obstack presence instead of NULL pointer for new blocks.
1425 (df_byte_MD_free): DO not free alloc pool; clear block_info.
1426 (problem_BD): Add size of block info structure.
1427 * df-scan.c (df_scan_free_internal): Free block pool.
1428 (df_scan_set_bb_info): Remove.
1429 (df_scan_free_bb_info): Check for artificial_defs instead
1430 of bb_info being non-NULL.
1431 (df_scan_alloc): DO not create df_scan_block pool.
1432 (problem_SCAN): Set size of block info.
1433 (df_bb_refs_record): Do not allocate bb_info.
1434 * df.h (df_problem): Add block_info_elt_size.
1435 (struct dataflow): Change block_info to void *.
1436 (df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
1437 df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
1438 in-line structures.
1439
1440 2010-06-12 Jan Hubicka <jh@suse.cz>
1441
1442 PR tree-optimize/44485
1443 * tree-cfgcleanup.c (fixup_noreturn_call): Remove basic blocks
1444 containing use of return value of noreturn function.
1445
1446 2010-06-12 Anatoly Sokolov <aesok@post.ru>
1447
1448 * targhooks.c (default_function_value): Don't use
1449 FUNCTION_OUTGOING_VALUE.
1450 * system.h (FUNCTION_OUTGOING_VALUE): Poison.
1451 * doc/tm.texi (FUNCTION_OUTGOING_VALUE): Removed.
1452
1453 2010-06-12 Kazu Hirata <kazu@codesourcery.com>
1454
1455 * config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
1456 Add crtfastmath.o to extra_parts.
1457 * config/mips/crtfastmath.c: New.
1458 * config/mips/linux.h (ENDFILE_SPEC): New.
1459
1460 2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
1461
1462 * graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
1463 old_type in parameter.
1464 (gcc_type_for_value): Update call to gcc_type_for_interval.
1465 (compute_type_for_level_1): Renamed compute_type_for_level.
1466 Update call to gcc_type_for_interval.
1467
1468 2010-06-11 Joseph Myers <joseph@codesourcery.com>
1469
1470 * common.opt (Wstrict-aliasing=, Wstrict-overflow=, fabi-version=,
1471 flto-compression-level=, ftree-parallelize-loops=): Add RejectNegative.
1472
1473 2010-06-11 Joseph Myers <joseph@codesourcery.com>
1474
1475 * opts-common.c: Include options.h.
1476 (integral_argument): Move from opts.c.
1477 (decode_cmdline_option): New. Based on read_cmdline_option.
1478 * opts.c (integral_argument): Move to opts-common.c.
1479 (read_cmdline_option): Move most contents to
1480 decode_cmdline_option. Use %qs in diagnostics.
1481 * opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG,
1482 CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument,
1483 decode_cmdline_option): New.
1484
1485 2010-06-11 Uros Bizjak <ubizjak@gmail.com>
1486
1487 PR target/44481
1488 * config/i386/i386.md (UNSPEC_PARITY): New unspec.
1489 (paritydi2_cmp): Use UNSPEC_PARITY unspec instead of parity RTX.
1490 (partiysi2_cmp): Ditto.
1491 (*partiyhi2_cmp): Ditto.
1492 (*parityqi2_cmp): Remove.
1493
1494 2010-06-11 Jan Hubicka <jh@suse.cz>
1495
1496 * bitmap.h (bmp_iter_next_bit): New.
1497 (bmp_iter_set, bmp_iter_and, bmp_iter_and_compl): Use it.
1498
1499 2010-06-11 Sandra Loosemore <sandra@codesourcery.com>
1500 Eric Botcazou <ebotcazou@adacore.com>
1501
1502 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
1503 computed cost.
1504
1505 2010-06-11 Uros Bizjak <ubizjak@gmail.com>
1506
1507 * config/i386/i386.md (unspec): New define_c_enum.
1508 (unspecv): Ditto.
1509
1510 2010-06-10 Jakub Jelinek <jakub@redhat.com>
1511
1512 * c-family/c-cppbuiltin.c: Include cpp-id-data.h.
1513 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
1514 (lazy_hex_fp_value): New function.
1515 (builtin_define_with_hex_fp_value): Provide definitions lazily.
1516 * Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
1517
1518 2010-06-11 Sebastian Pop <sebastian.pop@amd.com>
1519
1520 PR middle-end/44483
1521 * tree-if-conv.c (bb_predicate_s): New struct.
1522 (bb_predicate_p): New.
1523 (bb_has_predicate): New.
1524 (bb_predicate): New.
1525 (set_bb_predicate): New.
1526 (bb_predicate_gimplified_stmts): New.
1527 (set_bb_predicate_gimplified_stmts): New.
1528 (add_bb_predicate_gimplified_stmts): New.
1529 (init_bb_predicate): New.
1530 (free_bb_predicate): New.
1531 (is_predicated): Use bb_predicate.
1532 (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
1533 (predicate_bbs): Same. Gimplify the condition of the basic blocks
1534 before processing their successors.
1535 (clean_predicate_lists): Removed.
1536 (find_phi_replacement_condition): Use bb_predicate.
1537 (process_phi_nodes): Renamed ifconvert_phi_nodes. Avoid useless
1538 computations.
1539 (insert_gimplified_predicates): New.
1540 (combine_blocks): Call insert_gimplified_predicates.
1541 (tree_if_conversion): Call free_bb_predicate instead of
1542 clean_predicate_lists.
1543
1544 2010-10-11 Paul Brook <paul@codesourcery.com>
1545
1546 * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
1547 * config/arm/arm.c (all_architectures): Change v7e-m default to
1548 cortexm4.
1549 * config/arm/arm-cores.def: Add cortex-m4.
1550 * config/arm/arm-tune.md: Regenerate.
1551
1552 2010-06-11 Jan Hubicka <jh@suse.cz>
1553
1554 * ipa-pure-const.c (special_builtlin_state): New function.
1555 (check_call): Use it instead of special casign BUILT_IN_RETURN.
1556 (propagate_pure_const): Use it.
1557
1558 2010-06-11 Jan Hubicka <jh@suse.cz>
1559
1560 * df-problems.c (df_live_scratch): Convert to bitmap_head.
1561 (df_live_alloc): Initialize df_live_scratch when initializing
1562 problem_data.
1563 (df_live_transfer_function): Update uses of df_live_scratch.
1564 (df_live_free): Free problem_data; clear df_live_scratch before
1565 releasing the obstack.
1566 (df_md_free): Free problem data.
1567
1568 2010-06-11 Jan Hubicka <jh@suse.cz>
1569
1570 * doc/invoke.texi (Wsuggest-attribute): Document.
1571 (Wmissing-noreturn): Remove.
1572 * ipa-pure-const.c (warn_function_noreturn): New function.
1573 * opts.c (decode_options): Set warn_suggest_attribute_noreturn on
1574 warn_missing_noreturn.
1575 * common.opt (Wsuggest-attribute=noreturn): New.
1576 * tree-flow.h (warn_function_noreturn): Declare.
1577 * tree-cfg.c (execute_warn_function_noreturn): Use
1578 warn_function_noreturn.
1579 (gate_warn_function_noreturn): New.
1580 (pass_warn_function_noreturn): Update.
1581
1582 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1583
1584 * c-typeck.c (handle_warn_cast_qual): Add loc
1585 parameter. Improve warning message.
1586 (build_c_cast): Pass location to handle_warn_cast_qual.
1587
1588 2010-06-11 Uros Bizjak <ubizjak@gmail.com>
1589
1590 * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
1591 that operand 0 == operand 1. Use x86_maybe_negate_const_int to output
1592 insn mnemonic.
1593 (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
1594
1595 2010-06-10 Dodji Seketeli <dodji@redhat.com>
1596
1597 Fix bootstap on mips
1598 * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
1599 be naming typedefs.
1600
1601 2010-06-11 Kai Tietz <kai.tietz@onevision.com>
1602
1603 * system.h (helper_const_non_const_cast): New inline for
1604 gcc version <= 4.0.
1605 (CONST_CAST2): For gcc version <= 4.0 use
1606 new helper to do const/non-const casting.
1607
1608 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1609
1610 * doc/md.texi: Document the "unspec" and "unspecv" enum names.
1611 * Makefile.in (OBJS-common): Include insn-enums.o.
1612 (insn-enums.o): New rule.
1613 (simple_generated_c): Add insn-enums.c.
1614 (build/genenums.o): New rule.
1615 (genprogmd): Add "enums".
1616 * genconstants.c (print_enum_type): Declare a C string array
1617 for each enum.
1618 * genenums.c: New file.
1619 * print-rtl.c (print_rtx): If defined, use the "unspecv" enum
1620 for UNSPEC_VOLATILE. If defined, use the "unspec" enum for both
1621 UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
1622
1623 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1624
1625 * doc/md.texi (define_enum_attr): Document.
1626 * rtl.def (DEFINE_ENUM_ATTR): New rtx.
1627 * read-md.h (lookup_enum_type): Declare.
1628 * read-md.c (lookup_enum_type): New function.
1629 * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
1630 * genattrtab.c (attr_desc): Add an enum_name field.
1631 (evaluate_eq_attr): Take the associated attribute as argument.
1632 Get the enum prefix from the enum_name field, if defined.
1633 Use ACONCAT rather than a fixed-length buffer. Update recursive calls.
1634 (simplify_test_exp): Pass attr to evaluate_eq_attr.
1635 (add_attr_value): New function, split out from...
1636 (gen_attr): ...here. Handle DEFINE_ENUM_ATTR.
1637 (write_test_expr): Pass attr to evaluate_eq_attr.
1638 (write_attr_get): Use the enum_name as the enum tag, if defined.
1639 (write_attr_valueq): Use the enum_name as a prefix, if defined.
1640 (find_attr): Initialize enum_name.
1641 (main): Handle DEFINE_ENUM_ATTR.
1642 * gensupport.c (process_rtx): Likewise.
1643 * config/mips/mips.h (mips_tune_attr): Delete.
1644 * config/mips/mips.md (cpu): Use define_attr_enum.
1645
1646 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1647
1648 * doc/md.texi (define_c_enum, define_enum): Document.
1649 * read-md.h (md_constant): Add a parent_enum field.
1650 (enum_value, enum_type): New structures.
1651 (upcase_string, traverse_enum_types): Declare.
1652 * read-md.c (enum_types): New variable.
1653 (upcase_string, add_constant): New functions.
1654 (handle_constants): Don't create the hash table here.
1655 Use add_constant.
1656 (traverse_md_constants): Don't check for a null md_constants.
1657 (decimal_string, handle_enum, traverse_enum_types): New functions.
1658 (read_md_files): Initialize md_constants and md_enums.
1659 * genconstants.c (print_md_constant): Ignore info argument.
1660 Only print constants that belong to no enum.
1661 (print_enum_type): New function.
1662 (main): Don't pass stdout to print_md_constant. Call print_enum_type
1663 for each defined enum type.
1664 * config/mips/mips.md (processor): New define_enum.
1665 (unspec): New define_c_enum.
1666 (UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
1667 (UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
1668 (UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
1669 (UNSPEC_MEMORY_BARRIER): Moved to sync.md.
1670 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
1671 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
1672 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
1673 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
1674 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
1675 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
1676 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
1677 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
1678 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
1679 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
1680 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
1681 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
1682 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
1683 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
1684 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
1685 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
1686 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
1687 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
1688 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
1689 (UNSPEC_RDDSP): Move to mips-dsp.md.
1690 (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
1691 (UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
1692 (UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
1693 (UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
1694 (UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
1695 (UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
1696 (UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
1697 (UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
1698 (UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
1699 (UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
1700 (UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
1701 (UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
1702 (UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
1703 Moved to mips-dspr2.md.
1704 (UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
1705 (UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
1706 (UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
1707 (UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Move from mips-ps-3d.md.
1708 (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
1709 (UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
1710 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
1711 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
1712 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
1713 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
1714 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
1715 UNSPEC_LOONGSON_PSADBH)
1716 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
1717 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
1718 (UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
1719 (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
1720 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
1721 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
1722 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Move to mips-loongson2ef.md.
1723 (cpu): Update comment.
1724 * config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
1725 (UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
1726 (UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
1727 (UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
1728 * config/mips/loongson.md (UNSPEC_LOONGSON_PAVG,
1729 UNSPEC_LOONGSON_PCMPEQ)
1730 (UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR,
1731 UNSPEC_LOONGSON_PINSR_0)
1732 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
1733 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
1734 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
1735 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
1736 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
1737 UNSPEC_LOONGSON_PSADBH)
1738 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
1739 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
1740 (UNSPEC_LOONGSON_PSUBD): Moved from mips.md
1741 * config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
1742 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
1743 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
1744 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
1745 * config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
1746 (UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
1747 (UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
1748 (UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
1749 (UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
1750 (UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
1751 (UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
1752 (UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
1753 (UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
1754 (UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
1755 (UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
1756 (UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
1757 (UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
1758 (UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
1759 (UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
1760 (UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
1761 (UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
1762 (UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
1763 (UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
1764 (UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
1765 (UNSPEC_RDDSP): Moved from mips.md.
1766 * config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
1767 (UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
1768 (UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
1769 (UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
1770 (UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
1771 (UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
1772 (UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
1773 (UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
1774 (UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
1775 (UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
1776 (UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
1777 (UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
1778 (UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
1779 (UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
1780 * config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
1781 (UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
1782 (UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
1783 (UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
1784 (UNSPEC_SCC): Moved from mips.md.
1785 * config/mips/mips.c (mips_arch, mips_tune): Change enum from
1786 "processor_type" to "processor".
1787 (mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
1788 * config/mips/mips.h (processor_type): Delete.
1789 (mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
1790 "processor_type" to "processor".
1791
1792 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1793
1794 * configure.ac (tm_include_list): Add insn-constants.h.
1795 * configure: Regenerate.
1796 * Makefile.in (GTM_H): Move insn-constants.h here from...
1797 (TM_H): ...here.
1798 * mkconfig.sh: Remove special handling for insn-constants.h.
1799
1800 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1801
1802 * Makefile.in (BUILD_RTL): Move build/read-md.o to...
1803 (BUILD_MD): ...this new variable.
1804 (simple_generated_rtl_h, simple_generated_rtl_c): New variables
1805 that include the old contents of simple_generated_h and
1806 simple_generated_c.
1807 (simple_generated_h, simple_generated_c): Include them. Add
1808 insn-constants.h.
1809 (s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
1810 and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
1811 Remove these dependencies from the main rule and include
1812 insn-conditions.md in the command line only if it appears
1813 in the dependency list.
1814 (insn-constants.h, s-constants): Delete.
1815 (build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
1816 or gensupport.h.
1817 (build/genmddeps.o): Likewise.
1818 (genprogrtl): New variable that contains everything from genprogmd
1819 except mddeps and constants.
1820 (genprogmd): Redefine in terms of genprogrtl. Make these programs
1821 depend on $(BUILD_MD)
1822 (genprog): New variable. Make these programs depend on
1823 $(BUILD_ERRORS).
1824 * genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
1825 (main): Use read_md_files instead of init_rtx_reader_args.
1826 * genconstants.c: As for genmddeps.c.
1827 * read-md.h (read_skip_construct): Declare.
1828 * read-md.c (read_skip_construct): New function.
1829 (handle_file): Allow a null handle_directive, skipping the
1830 construct if so.
1831 (parse_include): Update the comment accordingly.
1832
1833 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1834
1835 * Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
1836 * genmddeps.c: Include read-md.h.
1837 (main): Call init_rtx_reader_args instead of init_md_reader_args.
1838 * genattr.c (main): Likewise.
1839 * genattrtab.c (main): Likewise.
1840 * genautomata.c (main): Likewise.
1841 * gencodes.c (main): Likewise.
1842 * genconditions.c (main): Likewise.
1843 * genconfig.c (main): Likewise.
1844 * genconstants.c (main): Likewise.
1845 * genemit.c (main): Likewise.
1846 * genextract.c (main): Likewise.
1847 * genflags.c (main): Likewise.
1848 * genopinit.c (main): Likewise.
1849 * genoutput.c (main): Likewise.
1850 * genpeep.c (main): Likewise.
1851 * genrecog.c (main): Likewise.
1852 * genpreds.c (main): Likewise.
1853 * gensupport.h (in_fname): Move to read-md.h.
1854 (init_md_reader_args_cb): Rename to...
1855 (init_rtx_reader_args_cb): ...this and return a bool.
1856 (init_md_reader_args): Rename to...
1857 (init_rtx_reader_args): ...this and return a bool.
1858 (include_callback): Move to read-md.h.
1859 * gensupport.c (in_fname, include_callback, base_dir, max_include_len)
1860 (file_name_list, first_dir_md_include): Move to read-md.c
1861 (first_bracket_include): Delete unused variable.
1862 (last_dir_md_include): Move to read-md.c.
1863 (process_include): Delete, moving code to read-md.c:handle_include.
1864 (process_rtx): Don't handle INCLUDE.
1865 (save_string): Delete.
1866 (rtx_handle_directive): New function.
1867 (init_md_reader_args_cb): Rename to...
1868 (init_rtx_reader_args_cb): ...this and return a boolean success value.
1869 Use read_md_args.
1870 (init_md_reader_args): Rename to...
1871 (init_rtx_reader_args): ...this and return a boolean success value.
1872 * rtl.def (INCLUDE): Delete.
1873 * rtl.h (read_rtx): Remove "int *" argument. Add "const char *"
1874 argument.
1875 * read-rtl.c (read_conditions): Don't gobble ')' here.
1876 (read_mapping): Likewise.
1877 (read_rtx): Remove LINENO argument. Add RTX_NAME argument.
1878 Handle top-level non-rtx constructs here rather than in read_rtx_1.
1879 Store the whole queue in *X. Remove call to init_md_reader.
1880 (read_rtx_1): Rename to...
1881 (read_rtx_code): ...this. Call read_nested_rtx to read subrtxes.
1882 Don't handle top-level non-rtx constructs here. Don't handle (nil)
1883 here.
1884 (read_nested_rtx): New function. Handle (nil) here rather than
1885 in read_rtx_code.
1886 (read_rtx_variadic): Call read_nested_rtx to read subrtxes. Don't
1887 gobble ')' here.
1888 * read-md.h (directive_handler_t): New type.
1889 (in_fname, include_callback): Moved from read-md.h.
1890 (read_constants, init_md_reader): Delete.
1891 (read_md_files): Declare.
1892 * read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
1893 (last_dir_md_include_ptr, include_callback, max_include_len): Moved
1894 from gensupport.c.
1895 (read_constants): Rename to...
1896 (handle_constants): ...this. Don't gobble ')' here.
1897 (handle_include, handle_file, handle_toplevel_file)
1898 (parse_include): New functions, mostly taken from gensupport.c.
1899 (init_md_reader): Subsume into...
1900 (read_md_files): ...this new function.
1901
1902 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1903
1904 * read-md.h (read_char): Increment read_md_lineno after reading '\n'.
1905 (unread_char): Decrement read_md_lineno after putting back '\n'.
1906 * read-md.c (fatal_with_file_and_line): Push back any characters
1907 that we decide not to add to the context.
1908 (read_skip_spaces): Don't increment read_md_lineno here. Avoid using
1909 fatal_expected_char in cases where '/' ends a line (for example).
1910 (read_name): Don't increment read_md_lineno here.
1911 (read_escape): Likewise.
1912 (read_quoted_string): Likewise.
1913 (read_braced_string): Likewise.
1914
1915 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1916
1917 * Makefile.in (READ_MD_H): Add $(HASHTAB_H).
1918 (build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
1919 * genconstants.c: Include read-md.h.
1920 * read-rtl.c (md_constants): Move to read-md.c.
1921 (md_name): Move to read-md.h.
1922 (initialize_iterators): Use leading_string_hash instead of def_hash
1923 and leading_string_eq_p instead of def_name_eq_p.
1924 (read_name): Move to read-md.c.
1925 (def_hash, def_name_eq_p): Delete.
1926 (read_constants, traverse_md_constants): Move to read-md.c.
1927 * rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
1928 * read-md.h: Include hashtab.h.
1929 (md_name): Moved from read-rtl.c.
1930 (md_constant): Moved from read-md.h.
1931 (leading_string_hash, leading_string_eq_p, read_name)
1932 (read_constants, traverse_md_constants): Declare.
1933 * read-md.c (md_constants): Moved from read-rtl.c.
1934 (leading_string_hash, leading_string_eq_p): New functions.
1935 (read_name, read_constants, traverse_md_constants): Moved from
1936 read-rtl.c.
1937
1938 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1939
1940 * read-rtl.c (md_name): New structure.
1941 (read_name): Take an md_name instead of a buffer pointer.
1942 Use the "string" field instead of strcpy when expanding constants.
1943 (read_constants): Remove the tmp_char argument. Update the calls
1944 to read_name, using two local name buffers instead of the tmp_char
1945 argument. Merge the constant-creation code.
1946 (read_conditions): Remove the tmp_char argument. Update the calls
1947 to read_name, using a local name buffer instead of the tmp_char
1948 argument.
1949 (read_mapping): Replace tmp_char variable with a local name buffer.
1950 Update the calls to read_name.
1951 (read_rtx_1): Likewise. Update the calls to read_constants and
1952 read_conditions.
1953
1954 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1955
1956 * Makefile.in (build/read-md.o): Depend on errors.h.
1957 * read-md.h (error_with_line): Declare.
1958 * read-md.c: Include errors.h.
1959 (message_with_line_1): New function, extracted from...
1960 (message_with_line): ...here.
1961 (error_with_line): New function.
1962 * genattrtab.c: If a call to message_with_line is followed by
1963 "have_error = 1;", replace both statements with a call to
1964 error_with_line.
1965 * genoutput.c: Likewise.
1966 * genpreds.c: Likewise.
1967 * genrecog.c: If a call to message_with_line is followed by
1968 "error_count++;", replace both statements with a call to
1969 error_with_line.
1970 (errorcount): Delete.
1971 (main): Don't check it.
1972 * gensupport.c: If a call to message_with_line is followed by
1973 "errors = 1;", replace both statements with a call to error_with_line.
1974 (errors): Delete.
1975 (process_define_cond_exec): Check have_error instead of errors.
1976 (init_md_reader_args_cb): Likewise. Don't set errors.
1977
1978 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
1979
1980 * read-md.h (read_md_file): Declare.
1981 (read_char, unread_char): New functions.
1982 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
1983 (read_quoted_string, read_string): Remove FILE * argument.
1984 * read-md.c (read_md_file): New variable.
1985 (read_md_filename, read_md_lineno): Update comments and remove
1986 unnecessary initialization.
1987 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
1988 (read_escape, read_quoted_string, read_braced_string, read_string):
1989 Remove FILE * argument. Update calls accordingly, using read_char
1990 and unread_char instead of getc and ungetc.
1991 * rtl.h (read_rtx): Remove FILE * argument.
1992 * read-rtl.c (iterator_group): Remove FILE * argument from
1993 "find_builtin".
1994 (iterator_traverse_data): Remove "infile" field.
1995 (find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
1996 (add_mapping, read_name, read_constants, read_conditions)
1997 (validate_const_int, find_iterator, read_mapping, check_code_iterator)
1998 (read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
1999 Remove file arguments from all calls, using read_char and unread_char
2000 instead of getc and ungetc.
2001 * gensupport.c (process_include): Preserve read_md_file around
2002 the include. Set read_md_file to the handle of the included file.
2003 Update call to read_rtx.
2004 (init_md_reader_args_cb): Set read_md_file to the handle of the file
2005 and remove local FILE *. Update calls to read_rtx.
2006
2007 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
2008
2009 * read-md.h (read_rtx_lineno): Rename to...
2010 (read_md_lineno): ...this.
2011 (read_rtx_filename): Rename to...
2012 (read_md_filename): ...this.
2013 (copy_rtx_ptr_loc): Rename to...
2014 (copy_md_ptr_loc): ...this.
2015 (print_rtx_ptr_loc): Rename to...
2016 (print_md_ptr_loc): ...this.
2017 * read-md.c: Likewise. Update references after renaming.
2018 (string_obstack): Replace RTL with MD in comment.
2019 (set_rtx_ptr_loc): Rename to...
2020 (set_md_ptr_loc): ...this.
2021 (get_rtx_ptr_loc): Rename to...
2022 (get_md_ptr_loc): ...this.
2023 * genconditions.c: Update references after renaming.
2024 * genemit.c: Likewise.
2025 * genoutput.c: Likewise.
2026 * genpreds.c: Likewise.
2027 * gensupport.c: Likewise.
2028 * read-rtl.c: Likewise.
2029
2030 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
2031
2032 * Makefile.in (READ_MD_H): New variable.
2033 (BUILD_RTL): Add build/read-md.o.
2034 (lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
2035 (build/gensupport.o, build/read-rtl.o, build/genattr.o)
2036 (build/genattrtab.o, build/genconditions.o build/genemit.o)
2037 (build/genextract.o, build/genflags.o, build/genoutput.o)
2038 (build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
2039 (build/read-md.o): New rule.
2040 * defaults.h (obstack_chunk_alloc, obstack_chunk_free)
2041 (OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
2042 * coretypes.h: ...here.
2043 * lto-wrapper.c: Include coretypes.h instead of defaults.h.
2044 * pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
2045 * genattr.c: Include read-md.h.
2046 * genattrtab.c: Likewise.
2047 * genconditions.c: Likewise.
2048 * genemit.c: Likewise.
2049 * genextract.c: Likewise.
2050 * genflags.c: Likewise.
2051 * genoutput.c: Likewise.
2052 * genpreds.c: Likewise.
2053 * genrecog.c: Likewise.
2054 * rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
2055 (join_c_conditions, print_c_condition, read_rtx_filename)
2056 (read_rtx_lineno): Move to read-md.h.
2057 * read-rtl.c: Include read-md.h.
2058 (ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
2059 (joined_conditions, joined_conditions_obstack, read_rtx_lineno)
2060 (read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
2061 (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
2062 (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
2063 (print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
2064 (read_braced_string, read_string): Move to read-md.c.
2065 (read_rtx): Move some initialization to init_md_reader and call
2066 init_md_reader here.
2067 * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
2068 Move to read-md.h.
2069 * gensupport.c: Include read-md.h.
2070 (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
2071 * read-md.h, read-md.c: New files.
2072
2073 2010-06-10 Anatoly Sokolov <aesok@post.ru>
2074
2075 * config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
2076 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
2077 * config/moxie/moxie-protos.h (moxie_function_value): Remove.
2078 * config/moxie/moxie.c (moxie_function_value): Make static.
2079 (moxie_libcall_value, moxie_function_value_regno_p): New functions.
2080 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
2081
2082 2010-06-10 Martin Jambor <mjambor@suse.cz>
2083
2084 * Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
2085 * dbgcnt.def (tree_sra): New counter.
2086 * tree-sra.c: Include dbgcnt.h.
2087 (gate_intra_sra): Check tree_sra debug counter.
2088
2089 2010-06-10 Martin Jambor <mjambor@suse.cz>
2090
2091 PR tree-optimization/44258
2092 * tree-sra.c (build_access_subtree): Return false iff there is a
2093 partial overlap.
2094 (build_access_trees): Likewise.
2095 (analyze_all_variable_accesses): Disqualify candidates if
2096 build_access_trees returns true for them.
2097
2098 2010-06-10 Alexandre Oliva <aoliva@redhat.com>
2099
2100 PR debug/41371
2101 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
2102 tail-recurse into canonical node. Fast-forward over
2103 non-canonical VALUEs.
2104
2105 2010-06-10 H.J. Lu <hongjiu.lu@intel.com>
2106
2107 PR boostrap/44470
2108 * config/i386/i386.md (*add<mode>_1): Revert revision 160394.
2109 (*addsi_1_zext) <TYPE_LEA>: Likewise.
2110 (add lea splitter): Likewise.
2111 (add_zext lea splitter): Likewise.
2112
2113 2010-06-10 Joseph Myers <joseph@codesourcery.com>
2114
2115 * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
2116
2117 2010-06-10 Jan Hubicka <jh@suse.cz>
2118
2119 * df-problems.c (df_live_problem_data): Add live_bitmaps.
2120 (df_live_alloc): Initialize problem data and live_osbtacks.
2121 (df_live_finalize): Remove obstack, problem data; do not
2122 clear all bitmaps.
2123 (df_live_top_dump, df_live_bottom_dump): Do not dump old
2124 data when not allocated.
2125 (df_live_verify_solution_start): Do not allocate problem data.
2126 (df_live_verify_solution_end): Check if out is allocated.
2127 (struct df_md_problem_data): New structure.
2128 (df_md_alloc): Allocate problem data.
2129 (df_md_free): Free problem data; do not clear bitmaps.
2130
2131 2010-06-10 Jan Beulich <jbeulich@novell.com>
2132
2133 PR bootstrap/37304
2134 * configure.ac: Replace $() with ${} when intending to expand
2135 variables rather than invoking commands.
2136 * configure: Re-generate.
2137
2138 2010-06-10 Jan Hubicka <jh@suse.cz>
2139
2140 PR rtl-optimization/44460
2141 * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
2142 TYPE_NEEDS_CONSTRUCTING sanity check.
2143
2144 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
2145
2146 * doc/include/fdl.texi: Move to GFDL version 1.3.
2147
2148 * doc/cpp.texi: Move to GFDL version 1.3.
2149 * doc/gcc.texi: Move to GFDL version 1.3. Fix copyright years.
2150 * doc/gccint.texi: Move to GFDL version 1.3.
2151 * doc/gcov.texi: Move to GFDL version 1.3. Update copyright years.
2152 * doc/install.texi: Move to GFDL version 1.3. Fix copyright years.
2153 * doc/invoke.texi: Move to GFDL version 1.3.
2154
2155 2010-06-09 Jan Hubicka <jh@suse.cz>
2156
2157 * ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
2158 Break out from ...
2159 (propagate) ... here; swap the order.
2160
2161 2010-06-09 Jan Hubicka <jh@suse.cz>
2162
2163 * bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit,
2164 bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit,
2165 bitmap_and_into, bitmap_and_compl_into, bitmap_set_range,
2166 bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts.
2167
2168 2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
2169
2170 * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
2171 Do not the gather memory reference in the outer loop if the step
2172 is not a constant.
2173
2174 2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
2175
2176 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
2177 Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
2178 8 to 4. Minor change of the related comments.
2179
2180 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
2181
2182 * tree-scalar-evolution.c (instantiate_scev_name): Do not fail
2183 the scev analysis when the variable is not used outside the loop
2184 in a close phi node: call compute_overall_effect_of_inner_loop.
2185
2186 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
2187
2188 * graphite-sese-to-poly.c (single_pred_cond): Renamed
2189 single_pred_cond_non_loop_exit. Return NULL for loop exit edges.
2190 (build_sese_conditions_before): Renamed call to single_pred_cond.
2191 (build_sese_conditions_after): Same.
2192
2193 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
2194
2195 * graphite-poly.h: Fix comments and indentation.
2196 * graphite-sese-to-poly.c: Same.
2197 (build_sese_conditions_before): Compute stmt and gbb only when needed.
2198 * tree-chrec.c: Fix comments and indentation.
2199 (tree-ssa-loop-niter.c): Same.
2200
2201 2010-06-09 Eric Botcazou <ebotcazou@adacore.com>
2202
2203 PR rtl-optimization/42461
2204 * dce.c (deletable_insn_p): Return true for const or pure calls again.
2205 * except.c (insn_could_throw_p): Return false if !flag_exceptions.
2206
2207 2010-06-09 Jan Hubicka <jh@suse.cz>
2208
2209 * bitmap.c (bitmap_and): Walk array forward.
2210 (bitmap_and_compl_into): Likewise.
2211 (bitmap_xor): Likewise.
2212 (bitmap_xor_into): Likewise.
2213 (bitmap_equal_p): Likewise.
2214 (bitmap_intersect_p): Likewise.
2215 (bitmap_intersect_compl_p): Likewise.
2216 (bitmap_ior_and_into): Likewise.
2217 (bitmap_elt_copy): Likewise.
2218 (bitmap_and_compl): Likewise.
2219 (bitmap_elt_ior): Likewise.
2220
2221 2010-06-09 Dave Korn <dave.korn.cygwin@gmail.com>
2222
2223 * opts-common.c (prune_options): Ensure replacement argv array
2224 is correctly terminated by a NULL entry.
2225
2226 2010-06-09 Jan Hubicka <jh@suse.cz>
2227
2228 * cgraph.h (varpool_first_static_initializer,
2229 varpool_next_static_initializer): Make checking only when
2230 checking enabled.
2231 * tree-vectorizer.h (vinfo_for_stmt): Remove check.
2232 (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
2233 gcc_assert to gcc_checking_assert.
2234 * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
2235 phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
2236 op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
2237 op_iter_init_phiuse, op_iter_init_phidef,
2238 array_ref_contains_indirect_ref, ref_contains_array_ref): Use
2239 gcc_checking_assert.
2240 * emit-rtl.h (set_first_insn, set_last_insn): Likewise.
2241 * tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
2242 partition_is_global, live_on_entry, live_on_exit,
2243 live_merge_and_clear): Likewise.
2244 * system.h (gcc_checking_assert): New macro.
2245 * gimple.h (set_bb_seq): Use gcc_checking_assert.
2246
2247 2010-06-09 Jason Merrill <jason@redhat.com>
2248
2249 * Makefile.in (TAGS): Collect tags info from c-family.
2250
2251 2010-06-09 Jan Hubicka <jh@suse.cz>
2252
2253 * gimple.h (gcc_gimple_checking_assert): New macro.
2254 (gimple_set_def_ops, gimple_set_use_ops,
2255 gimple_set_vuse, gimple_set_vdef,
2256 gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
2257 gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
2258 gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
2259 gimple_asm_output_op, gimple_asm_output_op_ptr,
2260 gimple_asm_set_output_op, gimple_asm_clobber_op,
2261 gimple_asm_set_clobber_op, gimple_asm_label_op,
2262 gimple_asm_set_label_op, gimple_try_set_kind,
2263 gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
2264 gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
2265 gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
2266 gimple_omp_for_index_ptr, gimple_omp_for_set_index,
2267 gimple_omp_for_initial, gimple_omp_for_initial_ptr,
2268 gimple_omp_for_set_initial, gimple_omp_for_final,
2269 gimple_omp_for_final_ptr, gimple_omp_for_set_final,
2270 gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
2271 gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
2272 conditional with ENABLE_GIMPLE_CHECKING.
2273 (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
2274
2275 2010-06-09 Sandra Loosemore <sandra@codesourcery.com>
2276
2277 * tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
2278 (get_computation_cost_at): Use it.
2279 (determine_use_iv_cost_condition): Likewise.
2280 (determine_iv_cost): Likewise.
2281
2282 2010-06-09 Richard Guenther <rguenther@suse.de>
2283
2284 * tree-ssa-loop-niter.c (simplify_replace_tree): Do not
2285 replace constants.
2286
2287 2010-06-09 Kai Tietz <kai.tietz@onevision.com>
2288
2289 * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
2290
2291 2010-06-09 Martin Jambor <mjambor@suse.cz>
2292
2293 PR tree-optimization/44423
2294 * tree-sra.c (dump_access): Dump also grp_assignment_read.
2295 (analyze_access_subtree): Pass negative allow_replacements to children
2296 if the current type is scalar.
2297
2298 2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
2299
2300 PR testsuite/42843
2301 * gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
2302 * doc/plugins.texi (Plugin license check): Update information
2303 on type of plugin_is_GPL_compatible.
2304 * Makefile.in (PLUGINCC): Define as $(COMPILER).
2305 (PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
2306
2307 2010-06-09 Bernd Schmidt <bernds@codesourcery.com>
2308
2309 * config/arm/arm.c (thumb2_reorg): New function.
2310 (arm_reorg): Call it.
2311 * config/arm/thumb2.md (define_peephole2 for flag clobbering
2312 arithmetic operations): Delete.
2313
2314 2010-06-09 Edmar Wienskoski <edmar@freescale.com>
2315
2316 PR target/44067
2317 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
2318 e500v2 target.
2319
2320 2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
2321
2322 PR plugins/44459
2323 * gcc-plugin.h: Encapsulate all declarations in extern "C".
2324
2325 2010-06-08 Jan Hubicka <jh@suse.cz>
2326
2327 * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
2328 ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
2329
2330 2010-06-08 Sandra Loosemore <sandra@codesourcery.com>
2331
2332 PR tree-optimization/39874
2333 PR middle-end/28685
2334 * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
2335 Declare.
2336 * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
2337 same_bool_result_p): New.
2338 (and_var_with_comparison, and_var_with_comparison_1,
2339 and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
2340 (or_var_with_comparison, or_var_with_comparison_1,
2341 or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
2342 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
2343 maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
2344 of combine_comparisons.
2345 * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
2346
2347 2010-06-08 Anatoly Sokolov <aesok@post.ru>
2348
2349 * config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
2350 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
2351 * config/pdp11/pdp11.c (pdp11_function_value, pdp11_libcall_value,
2352 pdp11_function_value_regno_p): New functions.
2353 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2354 TARGET_FUNCTION_VALUE_REGNO_P): Define.
2355
2356 2010-06-08 Kazu Hirata <kazu@codesourcery.com>
2357
2358 * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
2359 Thumb-2 in the MINUS case.
2360
2361 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2362
2363 * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
2364
2365 * doc/gty.texi (GTY Options): Document typed GC allocation and
2366 variable_size GTY option.
2367
2368 * ggc-internal.h: New.
2369
2370 * ggc.h: Update copyright year.
2371 (digit_string): Move to stringpool.c.
2372 (ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
2373 (gt_pch_save_stringpool, gt_pch_fixup_stringpool)
2374 (gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
2375 (init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
2376 (ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
2377 (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
2378 (ggc_force_collect, ggc_get_size, ggc_statistics)
2379 (ggc_print_common_statistics): Move to ggc-internal.h.
2380 (digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
2381 (ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
2382 (GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
2383 (ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
2384 (ggc_min_heapsize_heuristic, ggc_alloc_zone)
2385 (ggc_alloc_zone_pass_stat): Remove.
2386 (ggc_internal_alloc_stat, ggc_internal_alloc)
2387 (ggc_internal_cleared_alloc_stat): New.
2388 (GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
2389 (ggc_internal_vec_alloc_stat)
2390 (ggc_internal_cleared_vec_alloc_stat)
2391 (ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
2392 (ggc_alloc_atomic_stat, ggc_alloc_atomic)
2393 (ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
2394 (ggc_cleared_alloc_ptr_array_two_args): New.
2395 (htab_create_ggc, splay_tree_new_ggc): Redefine.
2396 (ggc_splay_alloc): Change the type of the first argument to
2397 enum gt_types_enum.
2398 (ggc_alloc_string): Make macro.
2399 (ggc_alloc_string_stat): New.
2400 (ggc_strdup): Redefine.
2401 (rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
2402 (ggc_alloc_rtvec_sized): New.
2403 (ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
2404 (ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
2405 (ggc_internal_cleared_alloc_zone_stat)
2406 (ggc_internal_zone_alloc_stat)
2407 (ggc_internal_zone_cleared_alloc_stat)
2408 (ggc_internal_zone_vec_alloc_stat)
2409 (ggc_alloc_zone_rtx_def_stat)
2410 (ggc_alloc_zone_tree_node_stat)
2411 (ggc_alloc_zone_cleared_tree_node_stat)
2412 (ggc_alloc_cleared_gimple_statement_d_stat): New.
2413
2414 * ggc-common.c: Include ggc-internal.h.
2415 (ggc_internal_cleared_alloc_stat): Rename from
2416 ggc_alloc_cleared_stat.
2417 (ggc_realloc_stat): Use ggc_internal_alloc_stat.
2418 (ggc_calloc): Remove.
2419 (ggc_cleared_alloc_htab_ignore_args): New.
2420 (ggc_cleared_alloc_ptr_array_two_args): New.
2421 (ggc_splay_alloc): Add obj_type parameter.
2422 (init_ggc_heuristics): Formatting fixes.
2423
2424 * ggc-none.c: Update copyright year.
2425 (ggc_alloc_stat): Rename to ggc_alloc_stat.
2426 (ggc_alloc_cleared_stat): Rename to
2427 ggc_internal_cleared_alloc_stat.
2428 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
2429
2430 * ggc-page.c: Update copyright year. Include ggc-internal.h.
2431 Remove references to ggc_alloc in comments.
2432 (ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
2433 (ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
2434 (new_ggc_zone, destroy_ggc_zone): Remove.
2435 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
2436
2437 * ggc-zone.c: Include ggc-internal.h. Remove references to
2438 ggc_alloc in comments.
2439 (ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
2440 (ggc_internal_alloc_zone_pass_stat): New.
2441 (ggc_internal_cleared_alloc_zone_stat): New.
2442 (ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
2443 (ggc_alloc_stat): Rename ggc_internal_alloc_stat.
2444 (new_ggc_zone, destroy_ggc_zone): Remove.
2445
2446 * stringpool.c: Update copyright year. Include ggc-internal.h
2447 (digit_vector): Make static.
2448 (digit_string): Moved from ggc.h.
2449 (stringpool_ggc_alloc): Use ggc_alloc_atomic.
2450 (ggc_alloc_string): Rename to ggc_alloc_string_stat.
2451
2452 * Makefile.in (GGC_INTERNAL_H): New.
2453 (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
2454 $(GGC_INTERNAL_H) to dependencies.
2455
2456 * gentype.c: Update copyright year.
2457 (walk_type): Accept variable_size GTY option.
2458 (USED_BY_TYPED_GC_P): New macro.
2459 (write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output
2460 whitespace at the end of strings.
2461 (get_type_specifier, variable_size_p): New functions.
2462 (alloc_quantity, alloc_zone): New enums.
2463 (write_typed_alloc_def): New function.
2464 (write_typed_struct_alloc_def): Likewise.
2465 (write_typed_typed_typedef_alloc_def): Likewise.
2466 (write_typed_alloc_defns): Likewise.
2467 (output_typename, write_splay_tree_allocator_def): Likewise.
2468 (write_splay_tree_allocators): Likewise.
2469 (main): Call write_typed_alloc_defns and
2470 write_splay_tree_allocators.
2471
2472 * lto-streamer.h (lto_file_decl_data_ptr): New.
2473
2474 * passes.c (order): Define using cgraph_node_ptr.
2475
2476 * strinpool.c (struct string_pool_data): Declare nested_ptr using
2477 ht_identifier_ptr.
2478
2479 * gimple.h (union gimple_statement_d): Likewise.
2480
2481 * rtl.h (struct rtx_def): Likewise.
2482 (struct rtvec_def): Likewise.
2483
2484 * tree.h (union tree_node): Likewise.
2485
2486 * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
2487
2488 * cfgloop.c (record_loop_exits): Use htab_create_ggc.
2489
2490 * tree-scalar-evolution.c (scev_initialize): Likewise.
2491
2492 * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
2493
2494 * dwarf2asm.c (dw2_force_const_mem): Likewise.
2495
2496 * omp-low.c (lower_omp_critical): Likewise.
2497
2498 * bitmap.h (struct bitmap_head_def): Update comment to not
2499 reference ggc_alloc.
2500
2501 * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
2502
2503 * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
2504
2505 * ipa-prop.c (duplicate_ggc_array): Rename to
2506 duplicate_ipa_jump_func_array. Use typed GC allocation.
2507 (ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
2508
2509 * gimple.c (gimple_alloc_stat): Use
2510 ggc_alloc_cleared_gimple_statement_d_stat.
2511
2512 * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
2513
2514 * tree.c (make_node_stat): Use
2515 ggc_alloc_zone_cleared_tree_node_stat.
2516 (make_tree_vec_stat): Likewise.
2517 (build_vl_exp_stat): Likewise.
2518 (copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
2519 (make_tree_binfo_stat): Likewise.
2520 (tree_cons_stat): Likewise.
2521
2522 * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
2523 (shallow_copy_rtx_stat): Likewise.
2524 (make_node_stat): Likewise.
2525
2526 * lto-symtab.c: Fix comment.
2527
2528 * tree-cfg.c (create_bb): Update comment to not reference
2529 ggc_alloc_cleared.
2530 * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
2531
2532 * varpool.c (varpool_node): Use typed GC allocation.
2533 (varpool_extra_name_alias): Likewise.
2534
2535 * varasm.c (emutls_decl): Likewise.
2536 (get_unnamed_section): Likewise.
2537 (get_noswitch_section): Likewise.
2538 (get_section): Likewise.
2539 (get_block_for_section): Likewise.
2540 (build_constant_desc): Likewise.
2541 (create_constant_pool): Likewise.
2542 (force_const_mem): Likewise.
2543
2544 * tree.c (build_vl_exp_stat): Likewise.
2545 (build_real): Likewise.
2546 (build_string): Likewise.
2547 (decl_debug_expr_insert): Likewise.
2548 (decl_value_expr_insert): Likewise.
2549 (type_hash_add): Likewise.
2550 (build_omp_clause): Likewise.
2551
2552 * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
2553
2554 * tree-ssa.c (init_tree_ssa): Likewise.
2555
2556 * tree-ssa-structalias.c (heapvar_insert): Likewise.
2557
2558 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
2559
2560 * tree-ssa-loop-niter.c (record_estimate): Likewise.
2561
2562 * tree-ssa-alias.c (get_ptr_info): Likewise.
2563
2564 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
2565
2566 * tree-phinodes.c (allocate_phi_node): Likewise.
2567
2568 * tree-iterator.c (tsi_link_before): Likewise.
2569 (tsi_link_after): Likewise.
2570
2571 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
2572
2573 * tree-dfa.c (create_var_ann): Likewise.
2574
2575 * tree-cfg.c (create_bb): Likewise.
2576
2577 * toplev.c (alloc_for_identifier_to_locale): Likewise.
2578 (general_init): Likewise.
2579
2580 * stringpool.c (stringpool_ggc_alloc): Likewise.
2581 (gt_pch_save_stringpool): Likewise.
2582
2583 * sese.c (if_region_set_false_region): Likewise.
2584
2585 * passes.c (do_per_function_toporder): Likewise.
2586
2587 * optabs.c (set_optab_libfunc): Likewise.
2588 (set_conv_libfunc): Likewise.
2589
2590 * lto-symtab.c (lto_symtab_register_decl): Likewise.
2591
2592 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
2593 (input_eh_region): Likewise.
2594 (input_eh_lp): Likewise.
2595 (make_new_block): Likewise.
2596 (unpack_ts_real_cst_value_fields): Likewise.
2597
2598 * lto-section-in.c (lto_new_in_decl_state): Likewise.
2599
2600 * lto-cgraph.c (input_node_opt_summary): Likewise.
2601
2602 * loop-init.c (loop_optimizer_init): Likewise.
2603
2604 * lambda.h (lambda_vector_new): Likewise.
2605
2606 * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
2607
2608 * ira.c (update_equiv_regs): Likewise.
2609
2610 * ipa.c (cgraph_node_set_new): Likewise.
2611 (cgraph_node_set_add): Likewise.
2612 (varpool_node_set_new): Likewise.
2613 (varpool_node_set_add): Likewise.
2614
2615 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
2616 (duplicate_ipa_jump_func_array): Likewise.
2617 (ipa_read_node_info): Likewise.
2618
2619 * ipa-cp.c (ipcp_create_replace_map): Likewise.
2620
2621 * integrate.c (get_hard_reg_initial_val): Likewise.
2622
2623 * gimple.c (gimple_alloc_stat): Likewise.
2624 (gimple_build_omp_for): Likewise.
2625 (gimple_seq_alloc): Likewise.
2626 (gimple_copy): Likewise.
2627
2628 * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
2629 (gsi_insert_after_without_update): Likewise.
2630
2631 * function.c (add_frame_space): Likewise.
2632 (insert_temp_slot_address): Likewise.
2633 (assign_stack_temp_for_type): Likewise.
2634 (allocate_struct_function): Likewise.
2635 (types_used_by_var_decl_insert): Likewise.
2636
2637 * except.c (init_eh_for_function): Likewise.
2638 (gen_eh_region): Likewise.
2639 (gen_eh_region_catch): Likewise.
2640 (gen_eh_landing_pad): Likewise.
2641 (add_call_site): Likewise.
2642
2643 * emit-rtl.c (get_mem_attrs): Likewise.
2644 (get_reg_attrs): Likewise.
2645 (start_sequence): Likewise.
2646 (init_emit): Likewise.
2647
2648 * dwarf2out.c (new_cfi): Likewise.
2649 (queue_reg_save): Likewise.
2650 (dwarf2out_frame_init): Likewise.
2651 (new_loc_descr): Likewise.
2652 (find_AT_string): Likewise.
2653 (new_die): Likewise.
2654 (add_var_loc_to_decl): Likewise.
2655 (clone_die): Likewise.
2656 (clone_as_declaration): Likewise.
2657 (break_out_comdat_types): Likewise.
2658 (new_loc_list): Likewise.
2659 (loc_descriptor): Likewise.
2660 (add_loc_descr_to_each): Likewise.
2661 (add_const_value_attribute): Likewise.
2662 (tree_add_const_value_attribute): Likewise.
2663 (add_comp_dir_attribute): Likewise.
2664 (add_name_and_src_coords_attributes): Likewise.
2665 (lookup_filename): Likewise.
2666 (store_vcall_insn): Likewise.
2667 (dwarf2out_init): Likewise.
2668
2669 * dbxout.c (dbxout_init): Likewise.
2670
2671 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
2672
2673 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
2674
2675 * config/score/score7.c (score7_output_external): Likewise.
2676
2677 * config/score/score3.c (score3_output_external): Likewise.
2678
2679 * config/s390/s390.c (s390_init_machine_status): Likewise.
2680
2681 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
2682 (rs6000_init_machine_status): Likewise.
2683 (output_toc): Likewise.
2684
2685 * config/pa/pa.c (pa_init_machine_status): Likewise.
2686 (get_deferred_plabel): Likewise.
2687
2688 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
2689
2690 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
2691
2692 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
2693
2694 * config/mep/mep.c (mep_init_machine_status): Likewise.
2695 (mep_note_pragma_flag): Likewise.
2696
2697 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
2698
2699 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
2700
2701 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
2702
2703 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
2704 (i386_pe_maybe_record_exported_symbol): Likewise.
2705
2706 * config/i386/i386.c (get_dllimport_decl): Likewise.
2707 (ix86_init_machine_status): Likewise.
2708 (assign_386_stack_local): Likewise.
2709
2710 * config/frv/frv.c (frv_init_machine_status): Likewise.
2711
2712 * config/darwin.c (machopic_indirection_name): Likewise.
2713
2714 * config/cris/cris.c (cris_init_machine_status): Likewise.
2715
2716 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
2717
2718 * config/avr/avr.c (avr_init_machine_status): Likewise.
2719
2720 * config/arm/arm.c (arm_init_machine_status): Likewise.
2721
2722 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
2723 (alpha_need_linkage): Likewise.
2724 (alpha_use_linkage): Likewise.
2725
2726 * cgraph.c (cgraph_allocate_node): Likewise.
2727 (cgraph_create_edge_1): Likewise.
2728 (cgraph_create_indirect_edge): Likewise.
2729 (cgraph_add_asm_node): Likewise.
2730
2731 * cfgrtl.c (init_rtl_bb_info): Likewise.
2732
2733 * cfgloop.c (alloc_loop): Likewise.
2734 (rescan_loop_exit): Likewise.
2735
2736 * cfg.c (init_flow): Likewise.
2737 (alloc_block): Likewise.
2738 (unchecked_make_edge): Likewise.
2739
2740 * c-parser.c (c_parse_init): Likewise.
2741 (c_parse_file): Likewise.
2742
2743 * c-decl.c (bind): Likewise.
2744 (record_inline_static): Likewise.
2745 (push_scope): Likewise.
2746 (make_label): Likewise.
2747 (lookup_label_for_goto): Likewise.
2748 (finish_struct): Likewise.
2749 (finish_enum): Likewise.
2750 (c_push_function_context): Likewise.
2751
2752 * bitmap.c (bitmap_element_allocate): Likewise.
2753 (bitmap_gc_alloc_stat): Likewise.
2754
2755 * alias.c (record_alias_subset): Likewise.
2756 (init_alias_analysis): Likewise.
2757
2758 2010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
2759
2760 * fold-const.c (fold_comparison): Remove redundant parenthesis.
2761 * tree-inline.c (expand_call_inline): Pass translated return value of
2762 cgraph_inline_failed_string to diagnostic function.
2763
2764 2010-06-08 Andrew Pinski <pinskia@gmail.com>
2765 Shujing Zhao <pearly.zhao@oracle.com>
2766
2767 PR c/37724
2768 * c-typeck.c (convert_for_assignment): Call pedwarn_init if the
2769 implicit bad conversions is initialization.
2770 (error_init): Use gmsgid instead of msgid for argument name and change
2771 the call for error.
2772 (pedwarn_init): Use gmsgid instead of msgid for argument name and
2773 change the call for pedwarn.
2774 (warning_init): Use gmsgid instead of msgid for argument name and
2775 change the call for warning.
2776
2777 2010-06-07 Nathan Froyd <froydnj@codesourcery.com>
2778
2779 * config/mips/mips-protos.h (mips_print_operand): Delete.
2780 (mips_print_operand_address): Delete.
2781 * config/mips/mips.h (mips_print_operand_punct): Delete.
2782 (PRINT_OPERAND): Delete.
2783 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
2784 (PRINT_OPERAND_ADDRESS): Delete.
2785 * config/mips/mips.c (mips_print_operand_punct): Make static.
2786 (mips_print_operand_address): Make static.
2787 (mips_print_operand): Make static. Call
2788 mips_print_operand_punct_valid_p.
2789 (mips_print_operand_punct_valid_p): New function.
2790 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
2791 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
2792
2793 2010-06-07 Jan Hubicka <jh@suse.cz>
2794
2795 PR middle-end/44454
2796 (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
2797 are allocated.
2798
2799 2010-06-07 Kaz Kojima <kkojima@gcc.gnu.org>
2800
2801 * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
2802 name of RECORD.
2803
2804 2010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2805
2806 * doc/sourcebuild.texi (Effective-Target Keywords, Other
2807 attributes): Document gas.
2808
2809 2010-06-07 Uros Bizjak <ubizjak@gmail.com>
2810
2811 * config/i386/i386.md (*add<mode>_1): Remove alternative 2.
2812 <TYPE_LEA>: Split instruction.
2813 <default>: Remove alternative 2 handling.
2814 (*addsi_1_zext) <TYPE_LEA>: Split instruction.
2815 (add lea splitter): Generate SImode lea for mode sizes <= SImode.
2816 (add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
2817
2818 (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
2819 (ashift_zext lea splitter): Use DImode for multiplication.
2820
2821 * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
2822 to generate addition.
2823
2824 2010-06-07 Joseph Myers <joseph@codesourcery.com>
2825
2826 * common.opt (fira-verbose): Use Var.
2827 (fpcc-struct-return): Use Init instead of VarExists.
2828 * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
2829 toplev.c.
2830 * flags.h (flag_signed_char, flag_short_enums,
2831 flag_pcc_struct_return, flag_ira_verbose,
2832 flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
2833 * toplev.c (flag_detailed_statistics, flag_signed_char,
2834 flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
2835 (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
2836 * toplev.h (flag_crossjumping, flag_if_conversion,
2837 flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
2838 flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
2839 flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
2840 flag_cprop_registers, time_report, flag_ira_loop_pressure,
2841 flag_ira_coalesce, flag_ira_move_spills,
2842 flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
2843
2844 2010-06-07 Jan Hubicka <jh@suse.cz>
2845
2846 * df-core.c (df_analyze_problem): Do verification after allocation.
2847
2848 * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
2849 (df_lr_alloc): Initialize problem data; move bitmaps to
2850 lr_bitmaps obstack.
2851 (df_lr_finalize): Free problem data; do not bother to free bitmaps.
2852 (df_lr_verify_solution_start): Do not initialize problem data;
2853 allocate bitmaps in lr_bitmaps.
2854 (df_lr_verify_solution_end): Do not free problem data.
2855
2856 2010-06-07 Jan Hubicka <jh@suse.cz>
2857
2858 * cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
2859 if caller is noreturn.
2860 * ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
2861 * ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
2862 * ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
2863 * ipa-pure-const.c (check_decl): Add IPA parameter.
2864 (state_from_flags): New function.
2865 (better_state, worse_state): New functions.
2866 (check_call): When in IPA mode, do not care about callees.
2867 (check_load, check_store): Update.
2868 (check_ipa_load, check_ipa_store): New.
2869 (check_stmt): When in IPA mode, use IPA checkers.
2870 (analyze_function): Use state_from_flags.
2871 (propagate): Check indirect edges and references.
2872
2873 2010-06-07 Kazu Hirata <kazu@codesourcery.com>
2874
2875 PR rtl-optimization/44404
2876 * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
2877 of count_occurrences to see if it's safe to modify mem_insn.
2878
2879 2010-06-07 Richard Guenther <rguenther@suse.de>
2880
2881 * gimplify.c (gimplify_cleanup_point_expr): For empty body
2882 and EH-only cleanup drop the cleanup instead of inserting it
2883 unconditionally.
2884
2885 2010-06-07 Ira Rosen <irar@il.ibm.com>
2886
2887 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
2888 documentation.
2889 * targhooks.c (default_builtin_vectorization_cost): New function.
2890 * targhooks.h (default_builtin_vectorization_cost): Declare.
2891 * target.h (enum vect_cost_for_stmt): Define.
2892 (builtin_vectorization_cost): Change argument and comment.
2893 * tree-vectorizer.h: Remove cost model macros.
2894 * tree-vect-loop.c: Include target.h.
2895 (vect_get_cost): New function.
2896 (vect_estimate_min_profitable_iters): Replace cost model macros with
2897 calls to vect_get_cost.
2898 (vect_model_reduction_cost, vect_model_induction_cost): Likewise.
2899 * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
2900 default implementation.
2901 * tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
2902 calls to target hook builtin_vectorization_cost.
2903 (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
2904 Likewise.
2905 * Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
2906 * config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
2907 implementation to return costs.
2908 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
2909 * config/spu/spu.h: Remove vectorizer cost model macros.
2910 * config/i386/i386.h: Likewise.
2911 * tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
2912 a call to target hook builtin_vectorization_cost.
2913
2914 2010-06-06 Sriraman Tallam <tmsriram@google.com>
2915
2916 PR target/44319
2917 * config/i386/i386.c (override_options): Turn zee pass on for level 2
2918 and above and defer till target is known.
2919 (optimization_options): Turn on zee pass if TARGET_64BIT is set and
2920 turn off otherwise.
2921
2922 2010-05-25 Jan Hubicka <jh@suse.cz>
2923
2924 * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
2925 (df_compact_blocks): Likewise.
2926 * df.h (struct df): Turn hardware_regs_used,
2927 regular_block_artificial_uses, eh_block_artificial_uses,
2928 insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
2929 bitmap_head.
2930 * df-problems.c (df_lr_local_compute, df_lr_confluence_0,
2931 df_byte_lr_alloc, df_simulate_fixup_sets): Update.
2932 * df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
2933 df_scan_blocks, df_insn_delete, df_insn_rescan,
2934 df_insn_rescan_debug_internal, df_insn_rescan_all,
2935 df_process_deferred_rescans, df_process_deferred_rescans,
2936 df_notes_rescan, df_get_call_refs, df_get_call_refs,
2937 regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
2938 df_record_entry_block_defs, df_record_exit_block_uses,
2939 df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
2940 df_scan_verify): Update.
2941
2942 2010-05-25 Dodji Seketeli <dodji@redhat.com>
2943
2944 PR c++/44188
2945 * c-common.c (is_typedef_decl): Move this definition ...
2946 * tree.c (is_typedef_decl): ... here.
2947 (typdef_variant_p): Move definition here from gcc/cp/tree.c.
2948 * c-common.h (is_typedef_decl): Move this declaration ...
2949 * tree.h (is_typedef_decl): ... here.
2950 (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
2951 * dwarf2out.c (is_naming_typedef_decl): New function.
2952 (gen_tagged_type_die): Split out of ...
2953 (gen_type_die_with_usage): ... this function. When an anonymous
2954 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
2955 is emitted for the typedef.
2956 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
2957 anonymous tagged types.
2958
2959 2010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
2960
2961 PR c/20000
2962 * c-decl.c (grokdeclarator): Delete warning.
2963
2964 2010-06-06 Eric Botcazou <ebotcazou@adacore.com>
2965
2966 * stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
2967 newly built CALL_EXPR.
2968 * tree-profile.c (tree_profiling): Don't profile functions produced
2969 for built-in stuff.
2970
2971 2010-06-06 Segher Boessenkool <segher@kernel.crashing.org>
2972
2973 PR bootstrap/44427
2974 PR bootstrap/44428
2975 * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
2976 endianness-independent.
2977
2978 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
2979
2980 * c-common.c: Move to c-family/.
2981 * c-common.def: Likewise.
2982 * c-common.h: Likewise.
2983 * c-cppbuiltin.c: Likewise.
2984 * c-dump.c: Likewise.
2985 * c-format.c: Likewise.
2986 * c-format.h : Likewise.
2987 * c-gimplify.c: Likewise.
2988 * c-lex.c: Likewise.
2989 * c-omp.c: Likewise.
2990 * c.opt: Likewise.
2991 * c-opts.c: Likewise.
2992 * c-pch.c: Likewise.
2993 * c-ppoutput.c: Likewise.
2994 * c-pragma.c: Likewise.
2995 * c-pragma.h: Likewise.
2996 * c-pretty-print.c: Likewise.
2997 * c-pretty-print.h: Likewise.
2998 * c-semantics.c: Likewise.
2999 * stub-objc.c: Likewise.
3000
3001 * gengtype.c (get_file_langdir): Special-case files in c-family/.
3002 (get_output_file_with_visibility): Fix name for c-common.h.
3003 * c-config-lang.in: Update paths in gtfiles for files in c-family/.
3004
3005 * c-tree.h: Update include path for moved files.
3006 * c-lang.c: Likewise.
3007 * c-lang.h: Likewise.
3008 * c-parser.c: Likewise.
3009 * c-convert.c: Likewise.
3010 * c-decl.c: Likewise.
3011 * c-objc-common.c: Likewise.
3012 * configure.ac: Make sure c-family/ exists in the build directory.
3013 * configure: Regenerate.
3014 * Makefile.in: Update paths for moved files. Regroup files per
3015 location and update dependencies. Move generated_files down after
3016 ALL_GTFILES_H.
3017
3018 * config/spu/spu-c.c: Update paths for moved files.
3019 * config/mep/mep-pragma.c: Likewise.
3020 * config/darwin-c.c: Likewise.
3021 * config/i386/msformat-c.c: Likewise.
3022 * config/i386/i386-c.c: Likewise.
3023 * config/avr/avr-c.c: Likewise.
3024 * config/sol2-c.c: Likewise.
3025 * config/ia64/ia64-c.c: Likewise.
3026 * config/rs6000/rs6000-c.c: Likewise.
3027 * config/arm/arm.c: Likewise.
3028 * config/arm/arm-c.c: Likewise.
3029 * config/h8300/h8300.c: Likewise.
3030 * config/v850/v850-c.c: Likewise.
3031
3032 * config/t-darwin: Fix dependencies for moved files.
3033 * config/t-sol2: Fix dependencies for moved files.
3034 * config/mep/t-mep: Fix dependencies for moved files.
3035 * config/ia64/t-ia64: Fix dependencies for moved files.
3036 * config/rs6000/t-rs6000: Fix dependencies for moved files.
3037 * config/v850/t-v850: Fix dependencies for moved files.
3038 * config/v850/t-v850e: Fix dependencies for moved files.
3039
3040 * config/m32c/m32c-pragma.c
3041
3042 * po/exgettext: Look in c-family/ also.
3043
3044 2010-06-05 Eric Botcazou <ebotcazou@adacore.com>
3045
3046 * tree-ssa-dce.c (mark_last_stmt_necessary): New function.
3047 (mark_control_dependent_edges_necessary): Call it instead of marking
3048 the last statement manually.
3049 (propagate_necessity): Likewise.
3050
3051 2010-06-05 Jan Hubicka <jh@suse.cz>
3052
3053 * basic-block.h (compute_dominance_frontiers): Updated.
3054 (compute_idf): Likewise.
3055
3056 * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
3057 for dominance frontiers.
3058 (rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
3059 (insert_updated_phi_nodes_for): Likewise.
3060 (update_ssa): Likewise.
3061 * cfganal.c (compute_dominance_frontiers_1): Likewise.
3062 (compute_dominance_frontiers): Likewise.
3063 (compute_idf): Likewise.
3064 * df-problems.c (df_md_local_compute): Likewise.
3065
3066 2010-06-05 Anatoly Sokolov <aesok@post.ru>
3067
3068 * target.h (struct gcc_target): Add memory_move_cost field.
3069 * target-def.h (TARGET_MEMORY_MOVE_COST): New.
3070 (TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
3071 * targhooks.c (default_memory_move_cost): New function.
3072 * targhooks.h (default_memory_move_cost): Declare function.
3073 * reload.h (memory_move_cost): Declare.
3074 (memory_move_secondary_cost): Change type of 'in' argument to bool.
3075 * reginfo.c (memory_move_cost): New function.
3076 (memory_move_secondary_cost): Change type of 'in' argument to bool.
3077 * ira.h (ira_memory_move_cost): Update comment.
3078 * ira.c: (ira_memory_move_cost): Update comment.
3079 (setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
3080 with memory_move_cost.
3081 * postreload.c (reload_cse_simplify_set): (Ditto.).
3082 * reload1.c (choose_reload_regs): (Ditto.).
3083 * doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
3084 (MEMORY_MOVE_COST): Revise documentation.
3085
3086 * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
3087 * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
3088 * config/i386/i386.h (ix86_memory_move_cost): Make static. Change
3089 type of 'in' argument to bool.
3090 (TARGET_MEMORY_MOVE_COST): Define.
3091
3092 2010-06-05 Jan Hubicka <jh@suse.cz>
3093
3094 * ipa-pure-const.c (propagate): Fix typo in handling of functions
3095 that cannot return. Be more careful when merging the results with
3096 previously known ones.
3097
3098 2010-06-05 Matthias Klose <doko@ubuntu.com>
3099
3100 * gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
3101 function to add the -iplugindir option.
3102 (find_plugindir_spec_function): Add new declaration and function.
3103 (static_spec_func): Use it for "find-plugindir".
3104
3105 2010-06-05 Jakub Jelinek <jakub@redhat.com>
3106
3107 PR c++/44361
3108 * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
3109 * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
3110 statement expression.
3111
3112 2010-06-05 Jan Hubicka <jh@suse.cz>
3113
3114 * df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
3115 (df_rd_problem_data): Convert sparse_invalidated_by_call,
3116 dense_invalidated_by_call to bitmap head.
3117 (df_rd_alloc, df_rd_bb_local_compute_process_def,
3118 df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
3119 df_rd_start_dump, df_lr_verify_transfer_functions,
3120 df_live_verify_transfer_functions, df_chain_create_bb,
3121 df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
3122 df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
3123 df_simulate_one_insn_forwards, df_md_alloc,
3124 df_md_bb_local_compute_process_def,
3125 df_md_bb_local_compute_process_def, df_md_local_compute,
3126 df_md_transfer_function df_md_free): Update.
3127
3128 2010-06-05 Joseph Myers <joseph@codesourcery.com>
3129
3130 PR c/44322
3131 * c-typeck.c (build_unary_op): Merge qualifiers into pointer
3132 target type for ADDR_EXPR; require no changes to qualifiers except
3133 for function types.
3134 * c-tree.h (c_build_type_variant): Remove.
3135
3136 2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
3137
3138 * genautomata.c (get_excl_set): Do work per element, not per char.
3139 (check_presence_pattern_sets): Similar.
3140 (check_absence_pattern_sets): Similar.
3141
3142 2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
3143
3144 * genautomata.c (curr_state_pass_num): Delete.
3145 (min_issue_delay_pass_states): Delete.
3146 (min_issue_delay): Delete.
3147 (initiate_min_issue_delay_pass_states): Delete.
3148 (output_min_issue_delay_table): Compute min_issue_delay_vect
3149 using a breadth-first search variant.
3150 (output_tables): Don't call initiate_min_issue_delay_pass_states.
3151
3152 2010-06-04 H.J. Lu <hongjiu.lu@intel.com>
3153
3154 PR boostrap/44421
3155 * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
3156 (df_byte_lr_bb_local_compute): Likewise.
3157
3158 2010-06-03 Jason Merrill <jason@redhat.com>
3159
3160 Implement noexcept operator (5.3.7)
3161 * c-common.c (c_common_reswords): Add noexcept.
3162 * c-common.h (enum rid): Add RID_NOEXCEPT.
3163
3164 2010-06-04 Joseph Myers <joseph@codesourcery.com>
3165
3166 * config/darwin-driver.c (darwin_default_min_version): Use
3167 GCC-specific formats in diagnostics.
3168 * cppspec.c (lang_specific_driver): Use GCC-specific formats in
3169 diagnostics.
3170 * gcc.c (translate_options, read_specs, add_sysrooted_prefix,
3171 execute, process_command, end_going_arg, do_self_spec, do_spec_1,
3172 eval_spec_function, handle_braces, process_brace_body, main,
3173 perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
3174 getenv_spec_function, compare_version_strings,
3175 version_compare_spec_function): Use GCC-specific formats in
3176 diagnostics.
3177
3178 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
3179
3180 * config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
3181 that operand 0 and operand 1 are equal.
3182 (*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
3183 (*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
3184 and operand 1 are equal.
3185 <default>: Ditto. Remove ??? comment.
3186 (*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
3187 and operand 1 are equal.
3188 <default>: Ditto. Remove ??? comment.
3189 (*adddi_4) <default>: Remove assert that operand 0 and operand 1
3190 are equal.
3191 (*add<mode>_4) <default>: Ditto.
3192 (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
3193
3194 2010-06-04 Nathan Froyd <froydnj@codesourcery.com>
3195
3196 * config/i386/i386-protos.h (ix86_print_operand): Declare.
3197 * config/i386/i386.c (ix86_print_operand): Make non-static.
3198 * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
3199 * output.h (output_operand): Declare.
3200 * final.c (output_operand): Make non-static.
3201
3202 2010-06-04 Alexandre Oliva <aoliva@redhat.com>
3203
3204 PR rtl-optimization/44013
3205 * sched-deps.c (add_dependence_list_and_free): Don't free lists
3206 when processing debug insns.
3207
3208 PR debug/41371
3209 * var-tracking.c (find_loc_in_1pdv): Mark initial value before
3210 recursing. Check that recursion is bounded. Rename inner var
3211 to avoid hiding incoming argument.
3212
3213 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
3214
3215 * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
3216 operands[2] == 255.
3217 (*addqi_3): Ditto.
3218 (*addqi_4): Ditto.
3219 (*addqi_5): Ditto.
3220 (*addqi_ext_1_rex64): Ditto.
3221 (*addqi_ext_1): Ditto.
3222
3223 (*addqi_4): Check for incdec_operand in QImode.
3224
3225 (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
3226 using SWI mode iterator.
3227 (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
3228 (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
3229 mode iterator.
3230 (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
3231 using SWI mode iterator.
3232
3233 2010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3234
3235 PR c/25880
3236 * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
3237 * c-format.c (gcc_diag_flag_specs): Add hash.
3238 (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
3239 (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
3240 * c-pretty-print.c (pp_c_cv_qualifier): Rename as
3241 pp_c_cv_qualifiers. Handle qualifiers spelling here.
3242 (pp_c_type_qualifier_list): Call the function above.
3243 * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
3244 * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
3245 (WARN_FOR_QUALIFIERS): New macro.
3246 (convert_for_assignment): Use it.
3247
3248 2010-06-04 Kai Tietz <kai.tietz@onevision.com>
3249
3250 * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
3251
3252 2010-06-04 Jan Hubicka <jh@suse.cz>
3253
3254 * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
3255 df_byte_lr_bb_info): Embedd bitmap_head into the structure.
3256 (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
3257 DF_BYTE_LR_OUT): Update for embedded bitmaps.
3258 * fwprop.c (single_def_use_enter_block): Likewise.
3259 * ddg.c (create_ddg_dep_from_intra_loop_link,
3260 add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
3261 * loop-iv.c (latch_dominating_def): Likewise.
3262 * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
3263 df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
3264 df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
3265 df_rd_transfer_function, df_rd_top_dump,
3266 df_rd_bottom_dump): Update.
3267 (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
3268 df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
3269 df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
3270 df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
3271 df_lr_verify_solution_start, df_lr_verify_solution_end,
3272 df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
3273 df_live_free_bb_info, df_live_alloc, df_live_reset,
3274 df_live_bb_local_compute, df_live_init, df_live_transfer_function,
3275 df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
3276 df_live_verify_solution_start, df_live_verify_solution_end,
3277 df_live_verify_transfer_functions, df_chain_create_bb,
3278 df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
3279 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
3280 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
3281 df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
3282 df_byte_lr_confluence_0, df_byte_lr_confluence_n,
3283 df_byte_lr_transfer_function, df_byte_lr_top_dump,
3284 df_byte_lr_bottom_dump, df_create_unused_note,
3285 df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
3286 df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
3287 df_md_transfer_function, df_md_init, df_md_confluence_0,
3288 df_md_confluence_n,
3289 df_md_top_dump, df_md_bottom_dump): Update.
3290 (struct df_lr_problem_data): Embedd bitmap headers.
3291
3292 2010-06-04 Jan Hubicka <jh@suse.cz>
3293
3294 * dce.c (dce_process_block): Do not re-scan already marked
3295 instructions.
3296
3297 2010-06-04 Bernd Schmidt <bernds@codesourcery.com>
3298
3299 PR rtl-optimization/39871
3300 PR rtl-optimization/40615
3301 PR rtl-optimization/42500
3302 PR rtl-optimization/42502
3303 * ira.c (init_reg_equiv_memory_loc: New function.
3304 (ira): Call it twice.
3305 * reload.h (calculate_elim_costs_all_insns): Declare.
3306 * ira-costs.c: Include "reload.h".
3307 (regno_equiv_gains): New static variable.
3308 (init_costs): Allocate it.
3309 (finish_costs): Free it.
3310 (ira_costs): Call calculate_elim_costs_all_insns.
3311 (find_costs_and_classes): Take estimated elimination costs
3312 into account.
3313 (ira_adjust_equiv_reg_cost): New function.
3314 * ira.h (ira_adjust_equiv_reg_cost): Declare it.
3315 * reload1.c (init_eliminable_invariants, free_reg_equiv,
3316 elimination_costs_in_insn, note_reg_elim_costly): New static functions.
3317 (elim_bb): New static variable.
3318 (reload): Move code out of here into init_eliminable_invariants and
3319 free_reg_equiv. Call them.
3320 (calculate_elim_costs_all_insns): New function.
3321 (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
3322 all callers changed. If FOR_COSTS is true, don't call alter_reg,
3323 but call note_reg_elim_costly if we turned a valid memory address
3324 into an invalid one.
3325 * Makefile.in (ira-costs.o): Depend on reload.h.
3326
3327 2010-06-04 Julian Brown <julian@codesourcery.com>
3328
3329 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
3330 for pool ranges.
3331
3332 2010-06-04 Richard Guenther <rguenther@suse.de>
3333
3334 PR lto/41584
3335 * cgraph.h (struct varpool_node): Add lto_file_data field.
3336 * lto-cgraph.c (input_varpool_node): Initialize it.
3337
3338 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
3339
3340 * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
3341 * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
3342 predicate in "type" attribute calculation.
3343 (*addsi_1_zext): Ditto.
3344 (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
3345 (*addsi_2_zext): Ditto.
3346 (*add<mode>_3): Ditto.
3347 (*addsi_3_zext): Ditto.
3348 (*add<mode>_5): Ditto.
3349
3350 2010-06-03 Jan Hubicka <jh@suse.cz>
3351
3352 * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
3353 of bitmap_bit_p.
3354 * cfganal.c (compute_dominance_frontiers_1): Likewise.
3355
3356 2010-06-03 Jan Hubicka <jh@suse.cz>
3357
3358 * df-problems.c (df_create_unused_note, df_note_bb_compute):
3359 micro-optimize the checks when to add new note.
3360
3361 2010-06-03 Nathan Froyd <froydnj@codesourcery.com>
3362
3363 * final.c (output_asm_insn): Call
3364 targetm.asm_out.print_operand_punct_valid_p. Update comments.
3365 (output_operand): Call targetm.asm_out.print_operand. Update comments.
3366 (output_address): Call targetm.asm_out.print_operand_address.
3367 Update comments.
3368 * target.h (struct gcc_target): Add print_operand,
3369 print_operand_address, and print_operand_punct_valid_p fields.
3370 * targhooks.h (default_print_operand): Declare.
3371 (default_print_operand_address): Declare.
3372 (default_print_operand_punct_valid_p): Declare.
3373 * targhooks.c (default_print_operand): Define.
3374 (default_print_operand_address): Define.
3375 (default_print_operand_punct_valid_p): Define.
3376 * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
3377 (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
3378 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
3379 (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
3380 TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
3381 * vmsdbgout.c (addr_const_to_string): Update comment.
3382 * config/i386/i386.c (print_operand): Rename to...
3383 (ix86_print_operand): ...this. Make static.
3384 (print_operand_address): Rename to...
3385 (ix86_print_operand_address): ...this. Make static. Call
3386 ix86_print_operand instead of PRINT_OPERAND.
3387 (ix86_print_operand_punct_valid_p): New function.
3388 (TARGET_PRINT_OPERAND): Define.
3389 (TARGET_PRINT_OPERAND_ADDRESS): Define.
3390 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
3391 * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
3392 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
3393 (PRINT_OPERAND): Delete.
3394 (PRINT_OPERAND_ADDRESS): Delete.
3395 * config/i386/i386-protos.h (print_operand): Delete prototype.
3396 (print_operand_address): Delete prototype.
3397
3398 2010-06-03 Richard Guenther <rguenther@suse.de>
3399
3400 PR tree-optimization/44403
3401 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
3402 Preserve pointer qualifiers.
3403 (vect_create_data_ref_ptr): Likewise.
3404
3405 2010-06-03 H.J. Lu <hongjiu.lu@intel.com>
3406
3407 PR c++/44294
3408 * defaults.h (MAX_FIXED_MODE_SIZE): New.
3409
3410 * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
3411
3412 2010-06-03 Jakub Jelinek <jakub@redhat.com>
3413
3414 PR debug/44375
3415 * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
3416 return false if merging the bbs would lead to goto_locus
3417 location being lost from the IL.
3418
3419 2010-06-03 Jan Hubicka <jh@suse.cz>
3420 Jakub Jelinek <jakub@redhat.com>
3421
3422 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
3423 set->regs[i] is NULL or has just one entry.
3424
3425 2010-06-03 Jan Hubicka <jh@suse.cz>
3426
3427 * lto-cgraph.c (lto_varpool_encoder_size): Remove.
3428 * lto-streamer.h (lto_varpool_encoder_size): New inline function.
3429
3430 2010-06-03 Paul Brook <paul@codesourcery.com>
3431
3432 * config/arm/arm.c (FL_TUNE): Define.
3433 (arm_default_cpu, arm_cpu_select): Remove.
3434 (all_cores): Populate core field.
3435 (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
3436 (arm_find_cpu): New function.
3437 (arm_handle_option): Lookup cpu/architecture names.
3438 (arm_override_options): Cleanup mcpu/march/mtune handling.
3439 (arm_file_start): Ditto.
3440
3441 2010-06-03 Alan Modra <amodra@gmail.com>
3442
3443 PR target/44169
3444 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
3445 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
3446 rtx to gen_load_toc_v4_PIC_1b. Tidy.
3447 (rs6000_emit_load_toc_table): Likewise.
3448
3449 2010-06-02 Jan Hubicka <jh@suse.cz>
3450
3451 * passes.c (init_optimization_passes): Put ipa reference
3452 after ipa pure-const.
3453
3454 2010-06-02 Jan Hubicka <jh@suse.cz>
3455
3456 * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
3457 calls_read_all and calls_write_all.
3458 (get_reference_optimization_summary): Fix formatting.
3459 (is_proper_for_analysis): Check that decl is not readonly.
3460 (propagate_bits): Check CONST/PURE/noreturn flags.
3461 (ipa_init): Move all_module_statics to optimization_summary_obstack.
3462 (analyze_function): Ignore indirect edges.
3463 (copy_global_bitmap): For all module statics, do nothing.
3464 (generate_summary): Do not print calls_read_all/calls_write_all.
3465 (read_write_all_from_decl): Take node as argument; check
3466 cgraph_node_cannot_return.
3467 (propagate): Reorganize read_all/write_all computation;
3468 check indirect edges; check ecf flags; use all_module_statics
3469 in the results; do not free all_module_statics.
3470 (stream_out_bitmap): Handle all_module_statics.
3471 (ipa_reference_write_optimization_summary): Likewise; use
3472 varpool/cgraph encoders to get boundaries.
3473 (ipa_reference_read_optimization_summary): Read in all_module_statics;
3474 use it when possible.
3475
3476 2010-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
3477
3478 PR target/44218
3479 * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
3480 -mswdiv option. Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
3481
3482 * doc/extend.texi (powerpc builtins): Document vec_recip,
3483 vec_rsqrt, vec_rsqrte altivec/vsx builtins.
3484
3485 * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
3486 (rs6000_emit_swrsqrt): Ditto.
3487 (rs6000_emit_swdivsf): Delete.
3488 (rs6000_emit_swdivdf): Ditto.
3489 (rs6000_emit_swrsqrtsf): Ditto.
3490
3491 * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
3492 describe the reciprocal estimate support for each type.
3493 (recip_options): Map -mrecip=<opt> into option bits.
3494 (gen_2arg_fn_t): New typedef for binary rtx gen function.
3495 (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
3496 reciprocal estimate instructions.
3497 (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
3498 debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
3499 Set up rs6000_recip_bits based on the -mrecip* options. Print the
3500 cost information if -mdebug=cost or -mdebug=reg.
3501 (rs6000_override_options): Set -mrecip-precision for power6, and
3502 power7 machines. If -mvsx or -mdfp, enable various options that
3503 came in previous instruction set ISAs, unless the option was
3504 explicitly disabled by the command line option. Parse
3505 -mrecip=<opt> options.
3506 (rs6000_builtin_vectorized_function): Add support for vectorizing
3507 the reciprocal estimate builtins and expansions.
3508 (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
3509 (bdesc_2arg): Add reciprocal estimate builtins.
3510 (bdesc_1arg): Add reciprocal square root estimate builtins.
3511 (rs6000_expand_builtin): Rewrite to use a switch statement,
3512 instead of multiple if/then/elses. Add reciprocal estimate builtins.
3513 (rs6000_init_builtins): Create declarations for reciprocal
3514 estimate builtins.
3515 (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
3516 sized, prefer traditional floating point registers, if integer
3517 vector types, prefer altivec registers. Don't actually look at
3518 the memory address any more.
3519 (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
3520 builtins.
3521 (rs6000_load_constant_and_splat): New helper function to load up
3522 the constant for reciprocal estimate instructions.
3523 (rs6000_emit_madd): New helper function for generating
3524 multiply/add type instructions, based on the current switches.
3525 (rs6000_emit_msub): Ditto.
3526 (rs6000_emit_mnsub): Ditto.
3527 (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
3528 replace a divide with a reciprocal estimate and fixup, adding
3529 support for machines with high precision and vectors.
3530 (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
3531 low precision machines.
3532 (rs6000_emit_swdiv): New common function to be called to replace a
3533 division with reciprocal estimate and fixup.
3534 (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf. Add support
3535 for double and vector types. Add support for high precision machines.
3536
3537 * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
3538 the reciprocal estimate instructions can be generated.
3539 (TARGET_FRE): Ditto.
3540 (TARGET_FRSQRTES): Ditto.
3541 (TARGET_FRSQRTE): Ditto.
3542 (RS6000_RECIP_*): New macros for reciprocal estimate support.
3543
3544 * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
3545 square root estimate on vectors.
3546 (re<mode>2): New insn for reciprocal division estimate on vectors.
3547
3548 * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
3549 New builtin.
3550 (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
3551 (ALTIVEC_BUITLIN_VEC_RE): Ditto.
3552 (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
3553 (VSX_BUILTIN_RSQRT_V4SF): Ditto.
3554 (VSX_BUITLIN_RSQRT_V2DF): Ditto.
3555 (RS6000_BUILTIN_RSQRT): Ditto.
3556 (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
3557 floating point builtin.
3558
3559 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3560 macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
3561 __RECIP_PRECISION__ based on the command line switches.
3562 (altivec_overloaded_builtins): Add reciprocal estimate builtins.
3563
3564 * config/rs6000/rs6000.opt (-mrecip): Document add support for
3565 replacing division instructions with reciprocal estimate and fixup.
3566 (-mrecip=<opt>): New option.
3567 (-mrecip-precision): Ditto.
3568
3569 * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
3570 (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
3571 (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
3572 precision scalar.
3573
3574 * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
3575 (UNSPEC_VREFP): Ditto.
3576 (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
3577 conterparts with regard to support of -mno-fused-madd and -ffast-math.
3578 (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
3579 reciprocal estimate instructions to be generated.
3580 (altivec_vrefp): Ditto.
3581
3582 * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
3583 estimate support.
3584 (rreg): New mode attribute for reciprocal estimate support.
3585 (recip<mode>3): New insn for division using reciprocal estimate
3586 and fixup builtins.
3587 (divide define_split): New define_split to convert floating point
3588 division to use reciprocal estimate if the user used the
3589 appropriate options and the split is run when we can add new
3590 pseudo registers for the fixup.
3591 (rsqrt<mode>2): New insn for reciprocal square root support.
3592 (recipsf3): Move into recip<mode>3.
3593 (recipdf3): Ditto.
3594 (fres): Use TARGET_FRES.
3595 (rsqrtsf2): Move into rsqrt<mode>2.
3596 (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
3597 (copysignsf3): Add support for VSX.
3598 (fred): Use TARGET_FRE.
3599 (fred_fpr): Ditto.
3600 (rsqrtdf_internal1): New function for frsqrte instruciton.
3601
3602 * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
3603 (vec_rsqrt): Ditto.
3604
3605 2010-06-03 Richard Guenther <rguenther@suse.de>
3606
3607 PR middle-end/44291
3608 * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
3609 (set_user_assembler_libfunc): Likewise.
3610
3611 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
3612
3613 * mkconfig.sh: Include insn-flags.h and insn-constants.h before
3614 defaults.h.
3615 * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
3616 to defaults.h
3617 * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
3618 DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
3619 FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
3620 STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
3621 STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
3622 STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
3623 STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
3624 STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
3625 * defaults.h: Updated for above mentioned changes.
3626
3627 2010-06-02 Kai Tietz <kai.tietz@onevision.com>
3628
3629 * c-common.c: Remove header include of tm_p.h.
3630 * Makefile.in (c-common.o): Remove TM_P_H dependency.
3631
3632 2010-06-02 Jakub Jelinek <jakub@redhat.com>
3633
3634 * tree.h (struct tree_decl_map): New type.
3635 (tree_decl_map_eq, tree_decl_map_marked_p): Define.
3636 (tree_decl_map_hash): New prototype.
3637 (debug_expr_for_decl, value_expr_for_decl): Change into
3638 tree_decl_map hashtab from tree_map.
3639 (init_ttree): Adjust initialization.
3640 (tree_decl_map_hash): New function.
3641 (decl_debug_expr_lookup, decl_debug_expr_insert,
3642 decl_value_expr_lookup, decl_value_expr_insert): Adjust.
3643
3644 2010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3645
3646 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
3647 linker emulations.
3648 * configure: Regenerate.
3649 * config.in: Regenerate.
3650
3651 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
3652 (X86_64_EMULATION): Define.
3653 (TARGET_LD_EMULATION): Use them.
3654
3655 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
3656 (SPARC64_EMULATION): Define.
3657 (LINK_ARCH_SPEC): Use them.
3658
3659 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
3660
3661 * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
3662 smallest_mode_for_size for computing the precision types of new
3663 graphite IVs. Do not call lang_hooks.types.type_for_size.
3664
3665 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
3666
3667 * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
3668 information.
3669 (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
3670
3671 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
3672
3673 PR middle-end/44363
3674 * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
3675 return false instead.
3676
3677 2010-06-02 Jan Hubicka <jh@suse.cz>
3678
3679 PR middle-end/44295
3680 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
3681 create new cgraph node to check callee.
3682
3683 2010-06-02 Richard Guenther <rguenther@suse.de>
3684
3685 * lto-streamer-in.c (input_gimple_stmt): Fix typo.
3686
3687 2010-06-02 Richard Guenther <rguenther@suse.de>
3688
3689 * lto-wrapper.c (lto_wrapper_exit): Rename to ...
3690 (lto_wrapper_cleanup): ... this. Do not exit.
3691 (fatal): Adjust. Exit here.
3692 (fatal_perror): Likewise.
3693 (fatal_signal): New function.
3694 (main): Set up signal handlers to cleanup temporary files.
3695 * Makefile.in (lto-wrapper.o): Adjust dependencies.
3696
3697 2010-06-02 Richard Guenther <rguenther@suse.de>
3698
3699 PR tree-optimization/44377
3700 * tree-ssa-structalias.c (find_func_aliases): Fix typo.
3701
3702 2010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3703
3704 * config/s390/2097.md (z10_fhex): Remove insn reservation.
3705 * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
3706 (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
3707 *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
3708 instruction.
3709 * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
3710
3711 2010-06-02 Jan Hubicka <jh@suse.cz>
3712
3713 * bitmap.c (bitmap_descriptor): Add search_iter.
3714 (bitmap_find_bit): Increment it.
3715 (print_statistics): Print it.
3716
3717 2010-06-02 Nathan Froyd <froydnj@codesourcery.com>
3718
3719 * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
3720 instead of gimple_build_call_vec. Delete unnecessary local variable.
3721
3722 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
3723
3724 * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
3725 change from yesterday.
3726
3727 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
3728
3729 * c-ada-spec.c: Clean up redundant includes.
3730
3731 2010-06-01 Steven Bosscher <steven@gcc.gnu.org>
3732
3733 * gimplify.c: Do not include except.h and optabs.h.
3734 (gimplify_body): Do not initialize RTL profiling.
3735 * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
3736 langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
3737 * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
3738 output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
3739 langhooks.h.
3740
3741 * tree-pretty-print.h: Include pretty-print.h.
3742 * gimple-pretty-print.h: Include pretty-print.h.
3743
3744 * tree-pretty-print.c: Do not include diagnostic.h.
3745 * tree-vrp.c: Likewise.
3746 * tree-tailcall.c: Likewise
3747 * tree-scalar-evolution.c: Likewise
3748 * tree-ssa-dse.c: Likewise
3749 * tree-chrec.c: Likewise
3750 * tree-ssa-sccvn.c: Likewise
3751 * tree-ssa-copyrename.c: Likewise
3752 * tree-nomudflap.c: Likewise
3753 * tree-call-cdce.c: Likewise
3754 * tree-stdarg.c: Likewise
3755 * tree-ssa-math-opts.c: Likewise
3756 * tree-nrv.c: Likewise
3757 * tree-ssa-sink.c: Likewise
3758 * tree-browser.c: Likewise
3759 * tree-ssa-loop-ivcanon.c: Likewise
3760 * tree-ssa-loop.c: Likewise
3761 * tree-parloops.c: Likewise
3762 * tree-ssa-address.c: Likewise
3763 * tree-ssa-ifcombine.c: Likewise
3764 * tree-if-conv.c: Likewise
3765 * tree-data-ref.c: Likewise
3766 * tree-affine.c: Likewise
3767 * tree-ssa-phiopt.c: Likewise
3768 * tree-ssa-coalesce.c: Likewise
3769 * tree-ssa-pre.c: Likewise
3770 * tree-ssa-live.c: Likewise
3771 * tree-predcom.c: Likewise
3772 * tree-ssa-forwprop.c: Likewise
3773 * tree-ssa-dce.c: Likewise
3774 * tree-ssa-ter.c: Likewise
3775 * tree-ssa-loop-prefetch.c: Likewise
3776 * tree-optimize.c: Likewise
3777 * tree-ssa-phiprop.c: Likewise
3778 * tree-object-size.c: Likewise
3779 * tree-outof-ssa.c: Likewise
3780 * tree-ssa-structalias.c: Likewise
3781 * tree-switch-conversion.c: Likewise
3782 * tree-ssa-reassoc.c: Likewise
3783 * tree-ssa-operands.c: Likewise
3784 * tree-vectorizer.c: Likewise
3785 * tree-vect-data-refs.c: Likewise
3786 * tree-vect-generic.c: Likewise
3787 * tree-vect-stmts.c: Likewise
3788 * tree-vect-patterns.c: Likewise
3789 * tree-vect-slp.c: Likewise
3790 * tree-vect-loop.c: Likewise
3791 * tree-ssa-loop-ivopts.c: Likewise
3792 * tree-ssa-loop-im.c: Likewise
3793 * tree-ssa-loop-niter.c: Likewise
3794 * tree-ssa-loop-unswitch.c: Likewise
3795 * tree-ssa-loop-manip.c: Likewise
3796 * tree-ssa-loop-ch.c: Likewise
3797 * tree-dump.c: Likewise
3798 * tree-complex.c: Likewise
3799
3800 * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
3801 * tree-ssa-uninit.c: Likewise
3802 * tree-ssa-threadupdate.c: Likewise
3803 * tree-ssa-uncprop.c: Likewise
3804 * tree-ssa-ccp.c: Likewise
3805 * tree-ssa-dom.c: Likewise
3806 * tree-ssa-propagate.c: Likewise
3807 * tree-ssa-alias.c: Likewise
3808 * tree-dfa.c: Likewise
3809 * tree-cfgcleanup.c: Likewise
3810 * tree-sra.c: Likewise
3811 * tree-ssa-copy.c: Likewise
3812 * tree-ssa.c: Likewise
3813 * tree-profile.c: Likewise
3814 * tree-cfg.c: Likewise
3815 * tree-ssa-threadedge.c: Likewise
3816 * tree-vect-loop-manip.c: Likewise
3817
3818 * tree-inline.c: Do not include diagnostic.h and expr.h.
3819 Include rtl.h.
3820 (copy_decl_for_dup_finish): Do not use NULL_RTX.
3821
3822 * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
3823 * tree-loop-distribution.c: Likewise.
3824
3825 2010-06-01 Jan Hubicka <jh@suse.cz>
3826
3827 * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
3828
3829 2010-06-01 Jan Hubicka <jh@suse.cz>
3830
3831 * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
3832 remove return value.
3833 (split_bbs_on_noreturn_calls) .... here.
3834 * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
3835 * tree-flow.h (fixup_noreturn_call): New.
3836
3837 2010-06-01 Jan Hubicka <jh@suse.cz>
3838
3839 * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
3840
3841 2010-06-01 Nathan Froyd <froydnj@codesourcery.com>
3842
3843 * tree.h (build_nt_call_list): Delete.
3844 * tree.c (build_nt_call_list): Delete.
3845
3846 2010-06-01 Jan Hubicka <jh@suse.cz>
3847
3848 * fwprop.c: Make emit-rtl.h include last.
3849 * rtlanal.c: Include emit-rtl.h.
3850 * genautomata.c: Output emit-rtl include into insn-automata.c
3851 * df-scan.c: Include emit-rtl.h.
3852 * haifa-sched.c: Indlude emit-rtl.h.
3853 * mode-switching.c: Indlude emit-rtl.h.
3854 * graph.c: Indlude emit-rtl.h.
3855 * sel-sched.c: Include emit-rtl.h.
3856 * sel-sched-ir.c: Include emit-rtl.h.
3857 * ira-build.c: Include emit-rtl.h.
3858 * emit-rtl.c: (first_insn, last_insn): Remove defines.
3859 (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
3860 Move to emit-rtl.h.
3861 (set_new_first_and_last_insn, get_last_insn_anywhere,
3862 get_first_nonnote_insn, get_last_nonnote_insn, try_split,
3863 make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
3864 delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
3865 emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
3866 push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
3867 Use accessor functions.
3868 * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
3869 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
3870 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
3871 mem_expr_equal_p): Move here from rtl.h.
3872 (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
3873 Move here from emit-rtl.c; make inline.
3874 * cfglayout.h: Include emit-rtl.h.
3875 * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
3876 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
3877 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
3878 mem_expr_equal_p, get_insns, set_first-insn,
3879 get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
3880 * reg-stack.c: Include emit-rtl.h.
3881 * dce.c: Likewise.
3882
3883 2010-06-01 Jan Hubicka <jh@suse.cz>
3884
3885 * cgraph.h (tree_function_versioning): Update prototype.
3886 (cgraph_function_versioning): Update prototype.
3887 * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
3888 bitmap.
3889 (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
3890 (cgraph_materialize_clone, save_inline_function_body): Update use of
3891 tree_function_versioning.
3892 * tree-inline.c (copy_bb): Look for previous copied block to link
3893 after; fix debug output.
3894 (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
3895 (copy_body): Likewise.
3896 (expand_call_inline): Update use of copy_body.
3897 (tree_function_versioning): Update use of copy body; accept
3898 blocks_to_copy and new_entry.
3899
3900 2010-06-01 Jan Hubicka <jh@suse.cz>
3901
3902 * gegenrtl.c: Remove unnecesary prototypes.
3903 (gendecl): Remove.
3904 (gendef): Produce static inline.
3905 (gencode): Remove.
3906 (main): Do not decode parameters; generate header only.
3907 * Makefile.in (genrtl.c): Remove.
3908
3909 2010-06-01 Jan Hubicka <jh@suse.cz>
3910
3911 * tree-switch-conversion.c (build_one_array): Make it readonly.
3912
3913 2010-06-01 Richard Guenther <rguenther@suse.de>
3914
3915 * optabs.c (init_optabs): Guard all accesses to reinit.
3916 * ipa-pure-const.c (propagate): Fix another typo.
3917 * opts.c (common_handle_option): Split assignment to bool.
3918 * c-opts.c (c_common_handle_option): Likewise.
3919
3920 2010-06-01 Arnaud Charlet <charlet@adacore.com>
3921 Matthew Gingell <gingell@adacore.com>
3922
3923 * doc/invoke.texi: Mention -fdump-ada-spec.
3924 * tree-dump.c (dump_files): Add ada-spec.
3925 (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
3926 * tree-pass.h (tree_dump_index): Add TDI_ada.
3927 * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
3928 (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
3929 (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
3930 * c-decl.c: Include c-ada-spec.h.
3931 (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
3932 functions.
3933 (c_write_global_declarations): Add handling of -fdump-ada-spec.
3934 * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
3935 * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
3936 * c-ada-spec.h, c-ada-spec.c: New files.
3937
3938 2010-06-01 Richard Guenther <rguenther@suse.de>
3939
3940 PR lto/43853
3941 * ipa-pure-const.c (get_function_state): Hand back varying state
3942 if we do not have one.
3943 (has_function_state): New function.
3944 (duplicate_node_data): Adjust.
3945 (remove_node_data): Likewise.
3946 (pure_const_write_summary): Likewise.
3947 (propagate): Likewise. Fix typo.
3948
3949 2010-06-01 Jan Hubicka <jh@suse.cz>
3950
3951 * tree-cfg.c (verify_stmt): Do not skip could_throw test.
3952 * passes.c (execute_function_todo): Do not make implicit verify_ssa.
3953 (execute_all_ipa_transforms): Do not play with the states.
3954
3955 2010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
3956
3957 * config/arm/t-linux-androideabi: New.
3958 * config.gcc (arm*-*-linux-androideabi): Include multilib config.
3959
3960 2010-06-01 Jan Hubicka <jh@suse.cz>
3961
3962 * tree-inline.c (estimate_num_insns): For stdarg functions look
3963 into call statement to count cost of argument passing.
3964
3965 2010-06-01 Kai Tietz <kai.tietz@onevision.com>
3966
3967 * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
3968 argument for fprintf.
3969 (ix86_output_addr_diff_elt): Likewise.
3970 (x86_function_profiler): Likewise.
3971 * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
3972 (LPREFIX): Likewise.
3973 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3974
3975 2010-05-31 Jakub Jelinek <jakub@redhat.com>
3976
3977 PR target/44338
3978 * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
3979 fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
3980 fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
3981 fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
3982 fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
3983 fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
3984 fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
3985 Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
3986 TARGET_FUSED_MADD.
3987
3988 2010-05-31 Jan Hubicka <jh@suse.cz>
3989
3990 * tree.h (tree_range_check_failed): Declare noreturn.
3991
3992 2010-05-31 Jan Hubicka <jh@suse.cz>
3993
3994 * gimple.c (gimple_call_builtin_p): New function.
3995 * gimple.h (gimple_call_builtin_p): Declare.
3996 * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
3997 to exit.
3998 (execute_warn_function_return): BUILT_IN_RETURN is return.
3999 (split_critical_edges): Return edges are not critical.
4000 (is_ctrl_altering_stmt): Builtin_in_return is altering.
4001 (gimple_verify_flow_info): Handle built_in_return.
4002 (execute_warn_function_return): Handle built_in_return.
4003 * ipa-pure-const.c (check_call): Ignore builtin_return.
4004
4005 2010-05-31 Jakub Jelinek <jakub@redhat.com>
4006
4007 PR middle-end/44337
4008 * expr.c (expand_assignment): Don't store anything for out-of-bounds
4009 array accesses with non-MEM.
4010
4011 PR tree-optimization/44182
4012 * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
4013 newly needs to end a bb is followed by debug stmts, instead return
4014 true from the function at the end.
4015 (maybe_move_debug_stmts_to_successors): New function.
4016 (copy_cfg_body): Call it if copy_edges_for_bb returned true.
4017
4018 2010-05-31 Kai Tietz <kai.tietz@onevision.com>
4019
4020 PR target/44161
4021 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
4022
4023 2010-05-31 Eric Botcazou <ebotcazou@adacore.com>
4024
4025 * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
4026 for nested functions in non-optimized compilation.
4027
4028 2010-05-31 Richard Guenther <rguenther@suse.de>
4029
4030 * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
4031
4032 2010-05-30 Jan Hubicka <jh@suse.cz>
4033
4034 * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
4035
4036 2010-05-30 Richard Guenther <rguenther@suse.de>
4037
4038 PR lto/42975
4039 * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
4040 (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
4041 no longer needed.
4042
4043 2010-05-30 Iain Sandoe <iains@gcc.gnu.org>
4044
4045 * config/darwin.c (output_objc_section_asm_op): Add comment.
4046 (name_needs_quotes): Add '_' to list of valid comment chars.
4047 (machopic_output_function_base_name): Remove unneeded quotes.
4048 (darwin_encode_section_info): Adjust asm whitespace.
4049 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
4050 (ASM_OUTPUT_LOCAL): Ditto.
4051 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
4052 * config/darwin.h (GLOBAL_ASM_OP): Ditto.
4053 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
4054
4055 2010-05-30 Eric Botcazou <ebotcazou@adacore.com>
4056
4057 * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
4058 RS6000_OUTPUT_BASENAME unconditionally.
4059 (rs6000_output_function_epilogue): Likewise.
4060
4061 2010-05-30 Jan Hubicka <jh@suse.cz>
4062
4063 * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
4064 nodes.
4065
4066 2010-05-30 Richard Guenther <rguenther@suse.de>
4067
4068 * tree-cfg.c (verify_gimple_assign_single): Implement
4069 verification for COND_EXPR rhs.
4070
4071 2010-05-30 Jan Hubicka <jh@suse.cz>
4072
4073 * cgraph.h (cgraph_dump_file): Declare.
4074 * cgraphunit.c (cgraph_dump_file): Export.
4075 * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
4076
4077 2010-05-30 Jan Hubicka <jh@suse.cz>
4078
4079 * dwarf2out.c (reference_to_unused,
4080 premark_types_used_by_global_vars_helper): Avoid creation of new
4081 varpool nodes.
4082
4083 2010-05-30 Jan Hubicka <jh@suse.cz>
4084
4085 * cgraph.h (cgraph_node_cannot_return,
4086 cgraph_edge_cannot_lead_to_return): New functions.
4087 * cgraph.c (cgraph_node_cannot_return,
4088 cgraph_edge_cannot_lead_to_return): Use them.
4089 * ipa-pure-const.c (pure_const_names): New static var.
4090 (check_call): Handle calls not leading to return.
4091 (pure_const_read_summary): Dump info read.
4092 (propagate): Dump info about propagation process; ignore side effects
4093 of functions not leading to exit; fix handling of pure functions.
4094
4095 2010-05-30 Jan Hubicka <jh@suse.cz>
4096
4097 * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
4098 for tail call epilogues.
4099
4100 2010-05-30 Jan Hubicka <jh@suse.cz>
4101
4102 * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
4103 ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
4104 dump files.
4105
4106 2010-05-29 Jan Hubicka <jh@suse.cz>
4107
4108 * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
4109 node; remove references in node we no longer keep in cgrpah but need
4110 body of.
4111
4112 2010-05-29 Jan Hubicka <jh@suse.cz>
4113
4114 * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
4115
4116 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4117
4118 PR target/44165
4119 * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
4120
4121 2010-05-29 Jan Hubicka <jh@suse.cz>
4122
4123 * tree-vrp.c (debug_value_range, debug_all_value_ranges,
4124 debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
4125 * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
4126 debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
4127 debug_names_replaced_by, debug_update_ssa): Likewise.
4128 * sbitmap.c (debug_sbitmap): Likewise.
4129 * genrecog.c (debug_decision, debug_decision_list): Likewise.
4130 * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
4131 debug_tree_chain): Likewise.
4132 * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
4133 * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
4134 * optabs.c (debug_optab_libfuncs): Likewise.
4135 (verify_loop_closed_ssa): Likewise.
4136 * value-prof.c (verify_histograms): Likewise.
4137 * reload.c (debug_reload_to_stream, debug_reload): Likewise.
4138 * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
4139 * cfghooks.c (verify_flow_info): Likewise.
4140 * fold-const.c (debug_fold_checksum): Likewise.
4141 * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
4142 * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
4143 Likewise.
4144 * omega.c (debug_omega_problem): Likewise.
4145 * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
4146 * tree-ssa-ccp.c (debug_lattice_value): Likewise.
4147 * dominance.c (verify_dominators, debug_dominance_info,
4148 debug_dominance_tree): Likewise.
4149 * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
4150 * df_regno_debug, df_ref_debug,
4151 debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
4152 debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
4153 * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
4154 * sel-sched.c (debug_state): Likewise.
4155 * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
4156 Likewise.
4157 * cfganal.c (print_edge_list, verify_edge_list): Likewise.
4158 * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
4159 * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
4160 * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
4161 Likewise.
4162 * c-pretty-print.c (debug_c_tree): Likewise.
4163 * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
4164 debug_av_set, debug_lv_set, debug_ilist, debug_blist,
4165 debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
4166 * ebitmap.c (debug_ebitmap): Likewise.
4167 * function.c (debug_find_var_in_block_tree): Likewise.
4168 * print-rtl.c (debug_rtx): Likewise.
4169 (debug_rtx_count): Likewise.
4170 (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
4171 * stor-layout.c (debug_rli): Likewise.
4172 * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
4173 * tree-data-ref.c (debug_data_references,
4174 debug_data_dependence_relations, debug_data_reference,
4175 debug_data_dependence_relation, debug_rdg_vertex,
4176 debug_rdg_component, debug_rdg): Likewise.
4177 * tree-affine.c (debug_aff): Likewise.
4178 * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
4179 Likewise.
4180 * except.c (debug_eh_tree, verify_eh_tree): Likewise.
4181 * emit-rtl.c (verify_rtl_sharing): Likewise.
4182 * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
4183 debug_value_expressions): Likewise.
4184 * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
4185 * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
4186 * print-tree.c (debug_tree, debug_vec_tree): Likewise.
4187 * cfglayout.c (verify_insn_chain): Likewise.
4188 * graphite-clast-to-gimple.c (debug_clast_name_indexes,
4189 debug_clast_stmt, debug_generated_program): Likewise.
4190 * ggc-page.c (debug_print_page_list): Likewise.
4191 * tree-ssa-ter.c (debug_ter): Likewise.
4192 * graphite-dependences.c (debug_pddr): Likewise.
4193 * sched-deps.c (debug_ds): Likewise.
4194 * tree-ssa.c (verify_ssa): Likewise.
4195 * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
4196 debug_scattering_functions, debug_iteration_domains, debug_pdr,
4197 debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
4198 debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
4199 * tree-inline.c (debug_find_tree): Likewise.
4200 * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
4201 debug_ppl_powerset_matrix): Likewise.
4202 * var-tracking.c (debug_dv): Likewise.
4203 * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
4204 * cfgloop.c (verify_loop_structure): Likewise.
4205 * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
4206 * c-common.c (verify_sequence_points): Likewise.
4207 * sched-rgn.c (debug_regions, debug_region, debug_candidate,
4208 debug_candidates, debug_rgn_dependencies): Likewise.
4209 * tree-ssa-structalias.c (debug_constraint, debug_constraints,
4210 * debug_constraint_graph, debug_solution_for_var,
4211 debug_sa_points_to_info): Likewise.
4212 * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
4213 Likewie.
4214 * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
4215 debug_loops, debug_loop, debug_loop_num): Likewise.
4216 * passes.c (debug_pass): Likewise.
4217 (dump_properties): Likewise; add cfglayout property.
4218 (debug_properties): Likewise.
4219 * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
4220 * varpool.c (debug_varpool): Likewise.
4221 * regcprop.c (debug_value_data): Likewise.
4222 * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
4223 debug_immediate_uses_for): Likewise.
4224
4225 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
4226
4227 PR bootstrap/44315
4228 * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
4229 Filter out insn-flags.h.
4230
4231 2010-05-29 Jan Hubicka <jh@suse.cz>
4232
4233 * cgraph.h (struct varpool_node_set_def,
4234 struct cgraph_node_set_def): Remove unused AUX pointer.
4235 (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
4236 VEC_empty macro.
4237
4238 2010-05-29 Jan Hubicka <jh@suse.cz>
4239
4240 PR middle-end/44324
4241 * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
4242
4243 2010-05-29 Richard Guenther <rguenther@suse.de>
4244
4245 * lto-streamer.c (cached_bp): New global variable.
4246 (bitpack_create): Return the cached bitpack, if available.
4247 (bitpack_delete): Clear and cache the bitpack, if appropriate.
4248 (bp_pack_value): Remove redundant asserts.
4249
4250 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
4251
4252 PR middle-end/44306
4253 * tree-if-conv.c (is_true_predicate): New.
4254 (is_predicated): Use is_true_predicate.
4255 (add_to_predicate_list): Same. Do not use unshare_expr.
4256 (add_to_dst_predicate_list): Same.
4257
4258 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
4259
4260 * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
4261 field on edges.
4262 (predicate_bbs): Same.
4263 (clean_predicate_lists): Same.
4264 (find_phi_replacement_condition): Do not AND the predicate from
4265 edge->aux.
4266
4267 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
4268
4269 PR bootstrap/44315
4270 * Makefile.in (build/gencondmd.o): Add a missing `\'.
4271
4272 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4273
4274 PR target/44261
4275 config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
4276 (negdf2): Adjust expander pattern and use negdf2_slow.
4277 (negsf2): Likewise.
4278
4279 2010-05-29 Nathan Froyd <froydnj@codesourcery.com>
4280
4281 * basic-block.h (struct control_flow_graph): Move last_label_uid field
4282 up.
4283 * df.h (struct df_base_ref): Move regno field up.
4284 * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
4285 * expr.h (struct separate_ops): Move location field up.
4286 * optabs.h (struct optab_d): Move libcall_basename field down.
4287 * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
4288 * config/i386/i386.h (struct machine_function): Convert call_abi field
4289 into a bitfield. Move cfa field to the end of the structure.
4290
4291 2010-05-29 Jan Hubicka <jh@suse.cz>
4292
4293 * varpool.c (varpool_get_node): Fix lookup.
4294
4295 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
4296
4297 * config/spu/spu-protos.h: Do not include rtl.h. Protect
4298 RTL specific prototypes with #ifdef RTX_CODE.
4299 * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
4300 * config/spu/t-spu-elf: Fix dependencies.
4301
4302 * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
4303
4304 2010-05-29 Mike Stump <mikestump@comcast.net>
4305
4306 PR bootstrap/44315
4307 * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
4308 TM_H when building to avoid dependency loops.
4309
4310 2010-05-29 Jan Hubicka <jh@suse.cz>
4311
4312 * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
4313 refs and body; not the whole node for masters of materialized clones.
4314
4315 2010-05-29 Mike Stump <mikestump@comcast.net>
4316
4317 * config/rs6000/rs6000-c.c: Remove c-tree.h include.
4318
4319 2010-05-29 Jan Hubicka <jh@suse.cz>
4320
4321 * cgraph.c (clone_function_name): Take SUFFIX argument; export.
4322 (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
4323 use of clone_function_name.
4324 * cgraph.h (cgraph_create_virtual_clone,
4325 cgraph_function_versioning): update prototypes.
4326 (clone_function_name): Declare.
4327 * ipa-cp.c (ipcp_insert_stage): Update call of
4328 cgraph_create_virtual_clone.
4329 * omp-low.c (create_omp_child_function_name): Use
4330 cgraph_create_virtual_clone.
4331 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
4332 (cgraph_function_versioning): Take SUFFIX argument; produce new name
4333 and make decl local.
4334
4335 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
4336
4337 * vec.h: Include statistics.h
4338 * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
4339 with VEC_H.
4340
4341 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
4342
4343 * c-lex.c: Do not include c-tree.h.
4344 * c-pretty-print.c: Likewise.
4345 * c-opts.c: Likewise.
4346 * c-gimplify.c: Likewise.
4347 * c-common.c: Likewise.
4348 * c-dump.c: Likewise. Include c-common.h.
4349
4350 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
4351
4352 * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
4353 before including diagnostic-core.h.
4354 (c_cpp_error): New prototype moved from c-tree.h.
4355 Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
4356 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
4357 (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
4358 (c_cpp_error): Prototype moved to c-common.h.
4359 * Makefile.in: Update dependency for C_COMMON_H.
4360
4361 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
4362
4363 * c-common.h: Add FIXME for awkward split of c_register_addr_space.
4364 * c-common.c (c_register_addr_space): Remove here.
4365 * c-decl.c (c_register_addr_space): Re-add here.
4366
4367 2010-05-28 Mike Stump <mikestump@comcast.net>
4368
4369 * config/darwin-c.c: Remove c-tree.h include.
4370
4371 2010-05-28 Joseph Myers <joseph@codesourcery.com>
4372
4373 * gcc.c: Include diagnostic.h.
4374 (error_count): Remove. All users changed to use errorcount.
4375 (programname): Remove. All users changed to use progname.
4376 (fancy_abort, internal_error, fatal_error, error, warning, inform,
4377 fnotice): Remove.
4378 (execute): Don't include "Internal error" and bug reporting
4379 information in argument of internal_error call.
4380 (process_command): Don't increment error_count after calling
4381 perror_with_name.
4382 (input_filename): Rename to gcc_input_filename. All users
4383 changed.
4384 (main): Call diagnostic_initialize. Register delete_temp_files
4385 with atexit. Use seen_error to test for errors.
4386 * gcc.h: Include diagnostic-core.h.
4387 (fatal_error, error, warning): Remove.
4388 * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
4389 (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
4390 (gcc.o): Update dependencies.
4391
4392 2010-05-28 Jeff Law <law@redhat.com>
4393
4394 * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
4395 functions.
4396 * ira.h (ira_bad_reload_regno): Declare
4397 * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
4398
4399 * ira-color.c (update_curr_costs): Free updated hard reg costs.
4400 (ira_reassign_conflict_allocnos): Remove bogus asserts.
4401 (allocno_reload_assign): Likewise.
4402
4403 2010-05-28 Nathan Froyd <froydnj@codesourcery.com>
4404
4405 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
4406 build1_stat.
4407
4408 2010-05-28 Richard Guenther <rguenther@suse.de>
4409
4410 PR lto/44312
4411 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
4412 Stream fixed-point constants mode.
4413 (unpack_ts_type_value_fields): Fix width of TYPE_MODE
4414 and TYPE_PRECISION.
4415 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
4416 Stream fixed-point constants mode.
4417 (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
4418 and TYPE_PRECISION.
4419
4420 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
4421
4422 * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
4423 only place it was called from.
4424 (number_of_latch_executions): Do not return chrec_dont_know when the
4425 may_be_zero is a runtime condition: instead, return a COND_EXPR
4426 including the may_be_zero condition.
4427 * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
4428 of nb_iterations.
4429 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
4430 COND_EXPRs.
4431
4432 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
4433
4434 * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
4435 generate COND_EXPRs for degenerate_phi_result.
4436
4437 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
4438
4439 PR middle-end/44293
4440 * tree-if-conv.c (if_convertible_loop_p): Check the
4441 if-convertibility of phi nodes in non predicated BBs.
4442
4443 2010-05-28 Joseph Myers <joseph@codesourcery.com>
4444
4445 * gcc.c (error, warning, inform): Remove duplicate ": " in output.
4446
4447 2010-05-28 Joseph Myers <joseph@codesourcery.com>
4448
4449 PR driver/15303
4450 * gcc.c (inform, warning, inform): New functions.
4451 (fatal_ice): Rename to internal_error; change cmsgid parameter to
4452 gmsgid. All callers changed.
4453 (notice): Rename to fnotice; add parameter fp. All callers changed.
4454 (fatal_error): Rename to fatal_signal. All users changed.
4455 (fatal): Rename to fatal_error; change cmsgid parameter to
4456 gmsgid. All callers changed.
4457 (process_command): Use warning instead of error for warnings.
4458 (end_going_arg): Don't use _() around argument of error.
4459 (do_spec_1): Use inform for message from %n specs. Use warning
4460 instead of error for warnings.
4461 (main): Use inform for comparison messages. Use warning for
4462 message about unused linker input.
4463 (error): Increment error_count. Print "error: ".
4464 * gcc.h (fatal): Change to fatal_error.
4465 (warning): Declare.
4466 * config/darwin-driver.c (darwin_default_min_version): Use warning
4467 instead of fprintf for warnings.
4468 * cppspec.c (lang_specific_driver): Use fatal_error instead of fatal.
4469
4470 2010-05-28 Julian Brown <julian@codesourcery.com>
4471
4472 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
4473 (*thumb2_addsi3_compare0_scratch): New.
4474 * config/arm/constraints.md (Pv): New.
4475 * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
4476 for ARM mode only.
4477 (*addsi3_compare0_scratch): Likewise.
4478
4479 2010-05-28 Jan Hubicka <jh@suse.cz>
4480
4481 * ipa-reference.c (add_static_var): Remove redundant all_module_statics
4482 check.
4483 (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
4484 only on local statics.
4485
4486 2010-05-28 Iain Sandoe <iains@gcc.gnu.org>
4487
4488 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
4489
4490 2010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
4491
4492 PR bootstrap/44314
4493 * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
4494 (OPTION_GLIBC): Define.
4495
4496 2010-05-28 Jakub Jelinek <jakub@redhat.com>
4497
4498 PR debug/41048
4499 * dwarf2out.c (double_int_type_size_in_bits): New function.
4500 (round_up_to_align): Change first argument and return value to
4501 double_int.
4502 (field_byte_offset): Work internally on double_ints.
4503
4504 PR target/43636
4505 * builtins.c (expand_movstr): Use a temporary pseudo instead
4506 of target even when target is not NULL and not const0_rtx, but
4507 fails movstr predicate.
4508 * config/m32c/blkmov.md (movstr): Add predicate to first operand.
4509
4510 2010-05-28 Joseph Myers <joseph@codesourcery.com>
4511
4512 * final.c (rest_of_clean_state): Use %m in errors instead of
4513 strerror (errno).
4514 * gengtype.c (read_input_list, close_output_files): Use xstrerror
4515 instead of strerror.
4516 * toplev.c (process_options): Use %m in errors instead of strerror
4517 (errno).
4518 * tree-dump.c (dump_begin): Use %m in errors instead of strerror
4519 (errno).
4520
4521 2010-05-28 Uros Bizjak <ubizjak@gmail.com>
4522
4523 * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
4524 (ix86_canonical_va_list_type): Make static. Add declaration.
4525 (ix86_enum_va_list): Make static. Reindent.
4526 * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
4527 (ix86_canonical_va_list_type): Ditto.
4528 (ix86_enum_va_list): Ditto.
4529
4530 2010-05-28 Richard Guenther <rguenther@suse.de>
4531
4532 * lto-wrapper.c (run_gcc): With -save-temps generate a
4533 user-visible ltrans filename. Fixup ltrans unit numbering.
4534
4535 2010-05-28 Kai Tietz <kai.tietz@onevision.com>
4536
4537 * c-common.c (c_common_nodes_and_builtins): Replace use
4538 of TARGET_ENUM_VA_LIST by target hook enum_va_list.
4539 * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
4540 to ix86_enum_va_list.
4541 * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
4542 * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
4543 (TARGET_ENUM_VA_LIST_P): Add hook description.
4544 * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
4545 * target.h (gcc_target): Add enum_va_list hook.
4546
4547 PR bootstrap/44299
4548 * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
4549 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
4550 * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
4551
4552 2010-05-28 Alan Modra <amodra@gmail.com>
4553
4554 PR target/44266
4555 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
4556 emit_library_call machinery to set up __tls_get_addr calls.
4557
4558 2010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4559
4560 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
4561
4562 2010-05-28 Dodji Seketeli <dodji@redhat.com>
4563
4564 Revert fix for PR c++/44188
4565 * c-common.c (is_typedef_decl): Revert the moving of this
4566 definition ...
4567 * tree.c (is_typedef_decl): ... here.
4568 (typdef_variant_p): Revert the moving of this definition
4569 here from gcc/cp/tree.c.
4570 * c-common.h (is_typedef_decl): Revert the moving of this
4571 declaration ...
4572 * tree.h (is_typedef_decl): ... here.
4573 (typedef_variant_p): Revert the moving of this declaration here
4574 from gcc/cp/cp-tree.h
4575 * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
4576 (gen_tagged_type_die): Revert the splitting out of ...
4577 (gen_type_die_with_usage): ... this function. Revert the anonymous
4578 tagged type handling.
4579 (gen_typedef_die): Revert emitting DW_TAG_typedef for
4580 typedefs naming anonymous tagged types.
4581
4582 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
4583
4584 * config/rs6000/rs6000-modes.def (PSImode): Delete.
4585
4586 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
4587
4588 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
4589 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
4590 throughout.
4591 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
4592 "xer" to "ca".
4593 Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
4594 XER_REGS to CA_REGS throughout.
4595 * config/rs6000/rs6000.h: Same.
4596 (ADDITIONAL_REGISTER_NAMES): Add "xer".
4597 * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document
4598 that mode_iterator "P" is the size for arithmetic carries as well.
4599 * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
4600
4601 2010-05-28 Jakub Jelinek <jakub@redhat.com>
4602
4603 PR bootstrap/44255
4604 * combine.c (struct rtx_subst_pair): Define unconditionally.
4605 (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC,
4606 copy_rtx pair->to instead of cleanup_auto_inc_dec it.
4607 Call make_compound_operation on pair->to.
4608 (propagate_for_debug): Don't call make_compound_operation here.
4609 Always use simplify_replace_fn_rtx.
4610
4611 2010-05-27 Sterling Augustine <sterling@tensilica.com>
4612
4613 * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
4614 * config/xtensa/xtensa.c (override_options): Check
4615 TARGET_FORCE_NO_PIC and set flag_pic.
4616 * config/xtensa/xtensa.opt: Document -mforce-no-pic
4617
4618 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
4619
4620 PR bootstrap/44299
4621 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
4622 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
4623
4624 2010-05-27 Joseph Myers <joseph@codesourcery.com>
4625
4626 * diagnostic-core.h: New. Contents moved from diagnostic.h and
4627 toplev.h.
4628 * diagnostic.c: Don't include toplev.h.
4629 (progname): Define. Moved from toplev.c.
4630 (seen_error): New function.
4631 * diagnostic.h: Include diagnostic-core.h.
4632 (diagnostic_t, emit_diagnostic): Don't declare here.
4633 * toplev.c (progname): Move to toplev.c.
4634 (emit_debug_global_declarations, compile_file, finalize,
4635 do_compile, toplev_main): Use seen_error.
4636 * toplev.h: Include diagnostic-core.h.
4637 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
4638 internal_error, warning, warning_at, error, error_n, error_at,
4639 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
4640 verbatim, fnotice, progname): Move to diagnostic-core.h.
4641 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
4642 (expand_builtin_expect): Use seen_error.
4643 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
4644 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
4645 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
4646 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
4647 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
4648 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
4649 errorcount for errors.
4650 * c-opts.c (c_common_finish): Use seen_error.
4651 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
4652 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
4653 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
4654 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
4655 (get_coverage_counts): Use seen_error.
4656 * dwarf2out.c (dwarf2out_finish): Use seen_error.
4657 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
4658 gimplify_body): Use seen_error.
4659 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
4660 * ipa-pure-const.c (gate_pure_const): Use seen_error.
4661 * ipa-reference.c (gate_reference): Use seen_error.
4662 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
4663 * lambda-code.c: Include diagnostic-core.h instead of
4664 diagnostic.h.
4665 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
4666 * lto-compress.c: Include diagnostic-core.h instead of
4667 diagnostic.h.
4668 * lto-section-in.c: Include diagnostic-core.h instead of
4669 diagnostic.h.
4670 * lto-streamer-out.c: Include diagnostic-core.h instead of
4671 diagnostic.h.
4672 * lto-streamer.c: Include diagnostic-core.h instead of
4673 diagnostic.h.
4674 (gate_lto_out): Use seen_error.
4675 * matrix-reorg.c: Include diagnostic-core.h instead of
4676 diagnostic.h.
4677 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
4678 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
4679 (gate_expand_omp, lower_omp_1): Use seen_error.
4680 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
4681 (rest_of_decl_compilation, rest_of_type_compilation,
4682 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
4683 * tree-cfg.c (label_to_block_fn): Use seen_error.
4684 * tree-inline.c (optimize_inline_calls): Use seen_error.
4685 * tree-mudflap.c (mudflap_finish_file): Use
4686 seen_error.
4687 * tree-optimize.c (gate_all_optimizations,
4688 gate_all_early_local_passes, gate_all_early_optimizations): Use
4689 seen_error.
4690 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
4691 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
4692 (varpool_remove_unreferenced_decls,
4693 varpool_assemble_pending_decls): Use seen_error.
4694 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
4695 (TOPLEV_H, DIAGNOSTIC_H): Update.
4696 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
4697 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
4698 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
4699 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
4700 coverage.o, lambda-code.o): Update dependencies.
4701
4702 2010-05-25 Dodji Seketeli <dodji@redhat.com>
4703
4704 PR c++/44188
4705 * c-common.c (is_typedef_decl): Move this definition ...
4706 * tree.c (is_typedef_decl): ... here.
4707 (typdef_variant_p): Move definition here from gcc/cp/tree.c.
4708 * c-common.h (is_typedef_decl): Move this declaration ...
4709 * tree.h (is_typedef_decl): ... here.
4710 (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
4711 * dwarf2out.c (is_naming_typedef_decl): New function.
4712 (gen_tagged_type_die): Split out of ...
4713 (gen_type_die_with_usage): ... this function. When an anonymous
4714 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
4715 is emitted for the typedef.
4716 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
4717 anonymous tagged types.
4718
4719 2010-05-27 Jason Merrill <jason@redhat.com>
4720
4721 * print-tree.c (debug_vec_tree): New fn.
4722 (print_vec_tree): New fn.
4723 * tree.h: Declare them.
4724 * gdbinit.in (pvt): New command.
4725
4726 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
4727
4728 * gdbinit.in (pdd): New command.
4729
4730 2010-05-27 Jan Hubicka <jh@suse.cz>
4731
4732 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
4733 (update_caller_keys): Return early if there are no callers;
4734 only update fibheap when decresing the key.
4735 (update_callee_keys): Avoid recursion.
4736 (decide_inlining_of_small_functions): When badness does not match;
4737 re-insert into fibheap.
4738
4739 2010-05-27 Steven Bosscher <steven@gcc.gnu.org>
4740
4741 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
4742 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
4743 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
4744 (ALL_HOST_OBJS): Now a union of the above two.
4745 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
4746 all files in ALL_HOST_FRONTEND_OBJS.
4747 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
4748
4749 * c-common.c: Pretend to be a backend file by undefining
4750 IN_GCC_FRONTEND (still need rtl.h here).
4751
4752 2010-05-27 Jan Hubicka <jh@suse.cz>
4753
4754 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
4755 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
4756
4757 2010-05-27 Jan Hubicka <jh@suse.cz>
4758
4759 * sched-ebb.c: Rename struct deps to struct deps_desc.
4760 * ddg.c: Likewise.
4761 * sel-sched-ir.c: Likewise.
4762 * sched-deps.c: Likewise.
4763 * sched-int.h: Likewise.
4764 * sched-rgn.c: Likewise.
4765
4766 2010-05-27 Jon Beniston <jon@beniston.com>
4767
4768 PR 43726
4769 * config/lm32/lm32.h: Remove definition of
4770 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
4771
4772 2010-05-27 Eric Botcazou <ebotcazou@adacore.com>
4773
4774 PR lto/44230
4775 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
4776
4777 2010-05-27 Richard Guenther <rguenther@suse.de>
4778
4779 PR tree-optimization/44284
4780 * tree-vect-stmts.c (vectorizable_assignment): Handle
4781 sign-changing conversions as simple copy.
4782
4783 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
4784
4785 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
4786 Bionic C library.
4787 (__gthread_active_p): Check for pthread_create if compiling against
4788 Bionic C library.
4789
4790 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
4791
4792 Support compilation for Android platform. Reimplement -mandroid.
4793
4794 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
4795 (*android*): Set ANDROID_DEFAULT.
4796 (arm*-*-linux*): Include linux-android.h.
4797 (arm*-*-eabi*): Don't include previous -mandroid implementation.
4798 * config/arm/eabi.h: Remove, move Android-specific parts ...
4799 * config/linux-android.h: ... here. New file.
4800 * config/arm/eabi.opt: Rename to ...
4801 * config/linux-android.opt: ... this.
4802 (mandroid): Allow -mno-android option. Initialize based on
4803 ANDROID_DEFAULT.
4804 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
4805 Move logic to corresponding LINUX_TARGET_* macros.
4806 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
4807 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
4808 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
4809 Android definitions.
4810 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
4811 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
4812 Document.
4813
4814 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
4815
4816 Add support for Bionic C library
4817
4818 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
4819 macro.
4820 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
4821 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
4822
4823 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
4824 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
4825 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
4826 to support multiple C libraries. Handle Bionic.
4827 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
4828 (BIONIC_DYNAMIC_LINKER64): Define.
4829 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
4830 Update.
4831 (TARGET_HAS_SINCOS): Enable for Bionic.
4832
4833 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
4834 the last option specified on command line take effect.
4835 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
4836 (mbionic): New.
4837 (mglibc, muclibc): Update.
4838
4839 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
4840 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
4841 DEFAULT_LIBC.
4842
4843 * doc/invoke.texi (-mglibc, -muclibc): Update.
4844 (-mbionic): Document.
4845
4846 2010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4847
4848 * c-common.h (c_register_addr_space): Add prototype.
4849 (ADDR_SPACE_KEYWORD): Remove.
4850 * c-common.c (c_register_addr_space): New function.
4851 (c_addr_space_name): Reimplement.
4852 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
4853
4854 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
4855 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
4856
4857 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
4858 Remove TARGET_ADDR_SPACE_KEYWORDS.
4859
4860 2010-05-27 Joseph Myers <joseph@codesourcery.com>
4861
4862 * input.c: New file.
4863 * input.h (main_input_filename): Move declaration to toplev.h.
4864 * toplev.c (input_location, line_table): Move to input.c
4865 * toplev.h (main_input_filename): Move declaration from input.h.
4866 * tree.c (expand_location): Move to input.c.
4867 * Makefile.in (OBJS-common): Add input.o.
4868 (input.o): Add dependencies.
4869
4870 2010-05-27 Richard Guenther <rguenther@suse.de>
4871
4872 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
4873 for non-existant files.
4874 (fork_execute): Mark args_name file as deleted.
4875
4876 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
4877
4878 PR bootstrp/44287
4879 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
4880 (narrow_signed_type): Likewise.
4881
4882 2010-05-26 Jan Hubicka <jh@suse.cz>
4883
4884 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
4885 edge only when checking is enabled; check using former_clone_of;
4886 check inline clones too.
4887 (cgraph_materialize_clone): Record former_clone_of pointer.
4888 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
4889 combining redirections; dump args_to_skip bitmap
4890 (cgraph_materialize_all_clones): Do no redirection here.
4891 * ipa-inline.c (inline_transform): Do redirection here.
4892 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
4893 cheking only).
4894
4895 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
4896
4897 * config/avr/avr-c.c: Do not include regs.h.
4898 Include cpplib.h for cpp_define and tree.h for c-common.h.
4899 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
4900 * config/avr/t-avr: Fix dependencies for avr-c.o.
4901
4902 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
4903
4904 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
4905 string instead of SYMBOL_REF rtx.
4906 * rtl.h (set_stack_check_libfunc): Move prototype from here...
4907 * libfuncs.h: ...to here. Adjust for explow.c change.
4908
4909 2010-05-26 Joseph Myers <joseph@codesourcery.com>
4910
4911 * pretty-print.c: Don't include ggc.h.
4912 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
4913 (identifier_to_locale): Use them for allocation.
4914 * pretty-print.h (identifier_to_locale_alloc,
4915 identifier_to_locale_free): Declare.
4916 * toplev.c (alloc_for_identifier_to_locale): New.
4917 (general_init): Set identifier_to_locale_alloc and
4918 identifier_to_locale_free.
4919 * Makefile.in (pretty-print.o): Update dependencies.
4920
4921 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
4922
4923 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
4924 pointer types if they have different alignment or mode.
4925
4926 2010-05-26 Anatoly Sokolov <aesok@post.ru>
4927
4928 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
4929 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
4930 * config/sparc/sparc-protos.h (function_value): Remove declaration.
4931 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
4932 sparc_function_value_regno_p): New functions.
4933 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4934 TARGET_FUNCTION_VALUE_REGNO_P): Define.
4935 (function_value): Rename to...
4936 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
4937 argument to 'outgoing'.
4938 (function_arg_record_value, function_arg_union_value,
4939 function_arg_vector_value): Update comment.
4940
4941 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
4942
4943 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
4944 (fde_needed_for_eh_p): New predicate.
4945 (output_call_frame_info): Use it throughout to decide whether FDEs
4946 are needed for EH purpose.
4947 (dwarf2out_begin_prologue): Reorder assignments.
4948
4949 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4950
4951 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
4952 special case loop->header.
4953 (is_predicated): New.
4954 (if_convertible_loop_p): Call it.
4955
4956 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4957
4958 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
4959 iterator in parameter. Do not generate code during the analysis.
4960 (tree_if_convert_cond_stmt): Removed.
4961 (tree_if_convert_stmt): Removed.
4962 (predicate_bbs): New.
4963 (if_convertible_loop_p): Call predicate_bbs.
4964 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
4965 now contains all the analysis part.
4966
4967 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4968
4969 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
4970 statements in the analysis part.
4971 (tree_if_convert_stmt): Update comment.
4972 (remove_conditions_and_labels): New.
4973 (combine_blocks): Call remove_conditions_and_labels.
4974 (tree_if_conversion): Update comment.
4975
4976 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4977
4978 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
4979 than 2 predecessors or more than 2 successors.
4980
4981 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4982
4983 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
4984 of loops in which the data dependence analysis fails.
4985
4986 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4987
4988 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
4989 CDI_POST_DOMINATORS.
4990 (tree_if_conversion): Same.
4991
4992 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4993
4994 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
4995
4996 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
4997
4998 * tree-if-conv.c: Update copyright years. Fix comments.
4999 Fix indentation.
5000
5001 2010-05-26 Kai Tietz <kai.tietz@onevision.com>
5002
5003 * builtin-types.def (BT_INT128): New primitive type.
5004 (BT_UINT128): Likewise.
5005 * c-common.c (c_common_r): Add __int128 keyword.
5006 (c_common_type_for_size): Handle __int128.
5007 (c_common_type_for_mode): Likewise.
5008 (c_common_signed_or_unsigned_type): Likewise.
5009 (c_common_nodes_and_builtins): Add builtin type
5010 if target supports 128-bit integer scalar.
5011 * c-common.h (enum rid): Add RID_INT128.
5012 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
5013 if target supports 128-bit integer scalar.
5014 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
5015 (finish_declspecs): Likewise.
5016 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
5017 (c_token_starts_declspecs): Likewise.
5018 (c_parser_declspecs): Likewise.
5019 (c_parser_attributes): Likewise.
5020 (c_parser_objc_selector): Likewise.
5021 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
5022 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
5023 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
5024 * tree.c (make_or_reuse_type): Likewise.
5025 (make_unsigned_type): Likewise.
5026 (build_common_tree_nodes_2): Likewise.
5027 * tree.h (enum integer_type_kind): Add itk_int128 and
5028 itk_unsigned_int128.
5029 (int128_integer_type_node): New define.
5030 (int128_unsigned_type_node): New define.
5031 * doc/extend.texi: Add documentation about __int128 type.
5032
5033 2010-05-26 Richard Guenther <rguenther@suse.de>
5034
5035 * tree-ssa-sccvn.c (copy_nary): Adjust.
5036 (copy_phis): Rename to ...
5037 (copy_phi): ... this. Adjust.
5038 (copy_references): Rename to ...
5039 (copy_reference): ... this. Adjust.
5040 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
5041 result into the valid table.
5042
5043 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
5044
5045 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
5046 insn-config.h, insn-codes.h, recog.h, and optabs.h.
5047
5048 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5049
5050 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
5051
5052 2010-05-26 Richard Guenther <rguenther@suse.de>
5053
5054 * opts.c (common_handle_option): Handle OPT_Ofast.
5055
5056 2010-05-26 Joseph Myers <joseph@codesourcery.com>
5057
5058 * diagnostic.c: Don't include opts.h.
5059 (permissive_error_option): Define.
5060 (diagnostic_initialize): Take n_opts parameter. Allocate memory
5061 for classify_diagnostic. Don't use memset for
5062 classify_diagnostic. Initialize new and recently added fields.
5063 (diagnostic_classify_diagnostic): Use context->n_opts instead of
5064 N_OPTS.
5065 (diagnostic_report_diagnostic): Pass context parameter to
5066 diagnostic_report_warnings_p. Use option_enabled and option_name
5067 hooks from context.
5068 (emit_diagnostic): Use permissive_error_option.
5069 (permerror): Likewise.
5070 * diagnostic.h: Don't include options.h.
5071 (struct diagnostic_context): Add n_opts, opt_permissive,
5072 inhibit_warnings, warn_system_headers, option_enabled and
5073 option_name fields. Change classify_diagnostic to a pointer.
5074 * opts-diagnostic.h: New file.
5075 * opts.c: Include opts-diagnostic.h.
5076 (common_handle_option): Set global_dc fields for -Wfatal-errors,
5077 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
5078 (option_name): New function.
5079 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
5080 (c_common_handle_option): Set global_dc->permissive for
5081 -fpermissive.
5082 * c-common.c (c_cpp_error): Save and restore
5083 global_dc->warn_system_headers, not variable warn_system_headers.
5084 * toplev.c: Include opts-diagnostic.h.
5085 (general_init): Update call to diagnostic_initialize. Set
5086 global_dc->show_column, global_dc->option_enabled and
5087 global_dc->option_name.
5088 (process_options): Don't set global_dc fields here.
5089 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
5090 (diagnostic.o, opts.o, toplev.o): Update dependencies.
5091
5092 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
5093
5094 * config/picochip/picochip.md (movsi): Split a movsi from a
5095 const after reload.
5096
5097 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5098
5099 * ggc-zone.c: Update copyright year.
5100 (poison_region): Mark memory for Valgrind as undefined before
5101 memset () call and inaccessible afterwards.
5102 (ggc_pch_total_size): Change type of i to int.
5103
5104 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5105
5106 * ggc-common.c (ggc_free_overhead): Allow empty slot.
5107
5108 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5109
5110 * ggc-common.c: Update copyright year.
5111 (ggc_rlimit_bound): Remove prototype. Compile only if
5112 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
5113 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
5114 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
5115 (ggc_min_heapsize_heuristic): Likewise.
5116
5117 2010-05-26 Richard Guenther <rguenther@suse.de>
5118
5119 PR rtl-optimization/44164
5120 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
5121 no-common access-path disambiguation.
5122 (indirect_ref_may_alias_decl_p): Adjust.
5123 (indirect_refs_may_alias_p): Likewise.
5124 (refs_may_alias_p_1): Likewise.
5125
5126 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
5127
5128 * c-typeck.c: Do not include expr.h.
5129
5130 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
5131
5132 * rtl.h (decl_default_tls_model): Move prototype from here...
5133 * output.h: ...to here.
5134 * c-decl.c: Do not include rtl.h.
5135 * c-pragma.c: Likewise.
5136 * c-parser.c: Likewise.
5137 * c-gimplify.c: Likewise. And also not hard-reg-set.
5138 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
5139 FIXME note for it. Add a FIXME note for expr.h.
5140 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
5141 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
5142 defined.
5143
5144 2010-05-26 Jakub Jelinek <jakub@redhat.com>
5145
5146 PR target/44199
5147 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
5148 or total_size is larger than red zone size for non-V4 ABI, emit a
5149 stack_tie resp. frame_tie insn before stack pointer restore.
5150 * config/rs6000/rs6000.md (frame_tie): New insn.
5151
5152 2010-05-25 Eric Botcazou <ebotcazou@adacore.com>
5153
5154 * function.h (struct function): Add can_throw_non_call_exceptions bit.
5155 * lto-streamer-in.c (input_function): Stream it in.
5156 * lto-streamer-out.c (output_function): Stream it out.
5157 * function.c (allocate_struct_function): Set it.
5158 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
5159 for flag_non_call_exceptions.
5160 * cfgbuild.c (control_flow_insn_p): Likewise.
5161 (make_edges): Likewise.
5162 * cfgexpand.c (expand_stack_alignment): Likewise.
5163 * combine.c (distribute_notes): Likewise.
5164 * cse.c (cse_extended_basic_block): Likewise.
5165 * except.c (insn_could_throw_p): Likewise.
5166 * gcse.c (simple_mem): Likewise.
5167 * ipa-pure-const.c (check_call): Likewise.
5168 (check_stmt ): Likewise.
5169 * lower-subreg.c (lower-subreg.c): Likewise.
5170 * optabs.c (emit_libcall_block): Likewise.
5171 (prepare_cmp_insn): Likewise.
5172 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
5173 * postreload.c (rest_of_handle_postreload): Likewise.
5174 * reload1.c (reload_as_needed): Likewise.
5175 (emit_input_reload_insns): Likewise.
5176 (emit_output_reload_insns): Likewise.
5177 (fixup_abnormal_edges): Likewise.
5178 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
5179 * store-motion.c (find_moveable_store): Likewise.
5180 * tree-eh.c (stmt_could_throw_p): Likewise.
5181 (tree_could_throw_p): Likewise.
5182 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
5183 * config/arm/arm.c (arm_expand_prologue): Likewise.
5184 (thumb1_expand_prologue): Likewise.
5185 * config/rx/rx.md (cbranchsf4): Likewise.
5186 (cmpsf): Likewise.
5187 * config/s390/s390.c (s390_emit_prologue): Likewise.
5188 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
5189 (inline_forbidden_into_p): New predicate.
5190 (expand_call_inline): Use it to forbid inlining.
5191 (tree_can_inline_p): Likewise.
5192
5193 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
5194
5195 * config/i386/i386-c.c: Do not include rtl.h.
5196 * config/i386/t-i386: Update dependencies.
5197
5198 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
5199
5200 * attribs.c: Do not include rtl.h.
5201 * Makefile.in: Update dependencies.
5202
5203 2010-05-25 Anatoly Sokolov <aesok@post.ru>
5204
5205 * double-int.h (double_int_and): New.
5206 * combine.c (try_combine): Clean up, use double_int_* and
5207 immed_double_int_const functions.
5208
5209 2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5210
5211 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
5212 stderr to /dev/null instead of grep -q.
5213 * configure: Regenerate.
5214
5215 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
5216
5217 * Makefile.in (EXCEPT_H): Fix typo.
5218
5219 2010-05-25 Vladimir Makarov <vmakarov@redhat.com>
5220
5221 * ira-build.c (update_conflict_hard_reg_costs): New.
5222 (ira_build): Call update_conflict_hard_reg_costs.
5223
5224 2010-05-25 Jakub Jelinek <jakub@redhat.com>
5225
5226 PR debug/41371
5227 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
5228 ENABLE_CHECKING.
5229 (intersect_loc_chains): Walk the s2var's loc_chain together
5230 with s1node chain as long as the locations are equal, don't
5231 call find_loc_in_1pdv in that case.
5232
5233 PR debug/42801
5234 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
5235 (copy_bind_expr): ... instead of here.
5236 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
5237 if the block hasn't been remapped.
5238 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
5239 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
5240
5241 2010-05-25 Richard Guenther <rguenther@suse.de>
5242
5243 PR middle-end/44069
5244 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
5245 out-of-bounds array accesses.
5246
5247 2010-05-25 Richard Guenther <rguenther@suse.de>
5248
5249 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
5250 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
5251 (run_gcc): Re-organize to make cleanup easier.
5252
5253 2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5254
5255 * config/s390/s390.c (optimization_options): Fix and move the
5256 flag_prefetch_loop_arrays override ...
5257 (override_options): ... here.
5258
5259 2010-05-25 Joseph Myers <joseph@codesourcery.com>
5260
5261 * diagnostic.c: Don't include plugin.h.
5262 (diagnostic_report_diagnostic): Don't handle plugins specially
5263 here. Pass context to internal_error callback.
5264 * diagnostic.h (struct diagnostic_context): Add context parameter
5265 to internal_error callback.
5266 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
5267 * plugin.h (struct diagnostic_context): Declare.
5268 (warn_if_plugins, plugins_internal_error_function): Declare.
5269 * toplev.c (general_init): Set global_dc->internal_error.
5270 * Makefile.in (diagnostic.o): Update dependencies.
5271
5272 2010-05-25 Iain Sandoe <iains@gcc.gnu.org>
5273
5274 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
5275 * config/rs6000/t-darwin64: New.
5276 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
5277 build crt2.
5278
5279 2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
5280
5281 PR 44203
5282 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
5283 match the original (and intended) behaviour before r159557. This
5284 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
5285 in two ways.
5286
5287 2010-05-25 Richard Guenther <rguenther@suse.de>
5288
5289 * doc/invoke.texi: Document -Ofast.
5290 * target.h (struct gcc_target): Add handle_ofast.
5291 * target-def.h (TARGET_HANDLE_OFAST): Add.
5292 (TARGET_INITIALIZER): Adjust.
5293 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
5294 * common.opt (Ofast): Add.
5295
5296 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
5297
5298 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
5299 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
5300
5301 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
5302
5303 PR target/43610
5304 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
5305 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
5306 false_rtx. Use false_rtx to compute the correct *ptest for reversed
5307 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
5308
5309 2010-05-25 Jakub Jelinek <jakub@redhat.com>
5310
5311 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
5312 DW_OP_minus with negated offset instead of DW_OP_plus.
5313 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
5314
5315 2010-05-25 Wei Guozhi <carrot@google.com>
5316
5317 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
5318 tst instruction and a new alternative.
5319 * config/arm/constraints.md (Pu): New constraint.
5320
5321 2010-05-24 Sebastian Pop <sebastian.pop@amd.com>
5322
5323 * function.c (assign_stack_local_1): Initialize variable
5324 to avoid warning when bootstrapping at -O3.
5325
5326 2010-05-24 Steven Bosscher <steven@gcc.gnu.org>
5327
5328 * configure.ac (all_lang_makefiles): Remove everything related to it.
5329 * configure: Regenerate.
5330 * Makefile.in: Fix reference to ada Make-lang.in.
5331 Remove support for LANG_MAKEFILES.
5332
5333 2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
5334 Sandra Loosemore <sandra@codesourcery.com>
5335
5336 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
5337 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
5338 description. Add arm_neon_fp16_ok.
5339 (Add Options): Add arm_neon and arm_neon_fp16.
5340
5341 2010-05-24 Joseph Myers <joseph@codesourcery.com>
5342
5343 * diagnostic.c: Don't include flags.h.
5344 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
5345 context parameters. Check flags in the context passed as a parameter.
5346 (diagnostic_build_prefix): Add context parameter. Check
5347 show_column flag in context.
5348 (diagnostic_action_after_output): Check fatal_errors flag in context.
5349 (diagnostic_report_current_module): Check show_column flag in context.
5350 (default_diagnostic_starter): Update call to
5351 diagnostic_build_prefix.
5352 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
5353 (emit_diagnostic): Pass context to permissive_error_kind.
5354 (permerror): Pass context to permissive_error_kind.
5355 * diagnostic.h (struct diagnostic_context): Add show_column,
5356 pedantic_errors, permissive and fatal_errors fields.
5357 (diagnostic_build_prefix): Update prototype.
5358 * langhooks.c
5359 * toplev.c (process_options): Set flags in global_dc from
5360 flag_show_column, flag_pedantic_errors, flag_permissive,
5361 flag_fatal_errors.
5362 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
5363 to diagnostic_build_prefix.
5364 * Makefile.in (diagnostic.o): Update dependencies.
5365
5366 2010-05-24 H.J. Lu <hongjiu.lu@intel.com>
5367
5368 * config/i386/ia32intrin.h (__crc32q): Define only if
5369 __SSE4_2__ is defined.
5370
5371 2010-05-24 Iain Sandoe <iains@gcc.gnu.org>
5372
5373 PR target/44132
5374 PR middle-end/43602
5375 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
5376 DECL_VISIBILITY_SPECIFIED.
5377 (emutls_decl): Set DECL_PRESERVE_P and copy
5378 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
5379 (emutls_finalize_control_var): New callback.
5380 (emutls_finish): Finalize emutls control variables.
5381 * toplev.c (compile_file): Move the call to emutls_finish ()
5382 before varpool_assemble_pending_decls ().
5383
5384 2010-05-24 Daniel Gutson <dgutson@codesourcery.com>
5385
5386 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
5387 added to the preprocessor condition.
5388
5389 2010-05-24 Paul Brook <paul@codesourcery.com>
5390
5391 * gengtype-lex.l: Add HARD_REG_SET.
5392 * expr.c (expand_expr_real_1): Record writes to hard registers.
5393 * function.c (rtl_data): Add asm_clobbers.
5394 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
5395 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
5396 Use crtl->asm_clobbers.
5397
5398 2010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5399
5400 * doc/makefile.texi (Makefile): Mention stages 'profile'
5401 and 'feedback' for profiledbootstrap.
5402
5403 2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
5404
5405 PR target/44245
5406 * config/i386/i386.c (def_builtin): Properly check
5407 OPTION_MASK_ISA_64BIT.
5408
5409 2010-05-23 Joseph Myers <joseph@codesourcery.com>
5410
5411 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
5412 typedefs with different but compatible types. Allow duplicate
5413 typedefs with the same type except for pedantic non-C1X, but give
5414 warning for variably modified types.
5415 * c-typeck.c (tagged_types_tu_compatible_p,
5416 function_types_compatible_p, type_lists_compatible_p,
5417 comptypes_internal): Add parameter different_types_p; set
5418 *different_types_p for different but compatible types. All
5419 callers changed.
5420 (comptypes_check_different_types): New.
5421 * c-tree.h (comptypes_check_different_types): Declare.
5422
5423 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
5424
5425 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
5426 * jump.c: Include basic-block.h.
5427 * profile.c: Likewise.
5428 * tree-profile.c: Likewise.
5429 * coverage.c: Likewise.
5430 * basic-block.h (optimize_function_for_size_p): Move to function.h.
5431 (optimize_function_for_speed_p): Likewise.
5432 * function.h (optimize_function_for_size_p,
5433 optimize_function_for_speed_p): Moved here from basic-block.h.
5434 * Makefile.in: Update dependencies.
5435
5436 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5437
5438 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
5439 before calling make; allow override through $MAKE.
5440 * doc/invoke.texi (Optimize Options): Document override.
5441
5442 2010-05-23 Anatoly Sokolov <aesok@post.ru>
5443
5444 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
5445 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
5446 (rs6000_mode_dependent_address_ptr): Make static.
5447 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
5448 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
5449 Remove.
5450
5451 2010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
5452
5453 PR target/43869
5454 * config/i386/i386.c: Make sure that the correct regparm is passed.
5455
5456 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
5457
5458 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
5459 * sbitmap.c: ...to here to internalize sbitmap element access.
5460 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
5461 Explain why basic-block.h is included.
5462 * function.h: Include tm.h for CUMULATIVE_ARGS.
5463 * Makefile.in: Update dependencies.
5464
5465 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
5466
5467 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
5468 New core types.
5469 * sbitmap.h (struct sbitmap_def): Do not typedef here.
5470 * sbitmap.c: Include sbitmap.h.
5471 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
5472 hard-reg-set.h. Split everything related to regsets out from here...
5473 * regset.h: ...to here. New file.
5474 * df.h: Include regset.h and sbitmap.h.
5475 * tree-flow.h: Likewise.
5476 * cfgloop.h: Likewise.
5477 * except.h: Do not include sbitmap.h. Include hashtab.h.
5478 * cgraph.h: Include vec.h and function.h.
5479 * reload.h (struct insn_chain): Change types of live_throughout
5480 and dead_or_set from regset_head to bitmap_head.
5481 (compute_use_by_pseudos): Be defined also if regset.h is not included.
5482 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
5483 spilled_regs from regset_head to bitmap_head to avoid dependency
5484 in regset.h.
5485 * sel-sched-ir.h: Include regset.h.
5486 * reload.c: Include df.h before reload.h.
5487 * caller-save.c: Likewise.
5488 * reload1.c: Likewise.
5489 * ira.c: Likewise.
5490 (mark_elimination): Update type of r to bitmap, consistent with
5491 DF_LR_IN.
5492 * dominance.c: Include bitmap.h.
5493 * modulo-sched.c: Include df.h.
5494 * cfganal.c: Include bitmap.h and sbitmap.h.
5495 * cfgbuild.c: Include sbitmap.h.
5496 * lcm.c: Include sbitmap.h.
5497 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
5498 * domwalk.c: Include sbitmap.h, exclude ggc.h.
5499 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
5500 * cselib.c: Include bitmap.h.
5501 * tree-optimize.c: Include regset.h.
5502 * stmt.c: Include bitmap.h.
5503 * Makefile.in: Update dependencies.
5504
5505 2010-05-22 Jan Hubicka <jh@suse.cz>
5506
5507 * cgraph.h (struct varpool_node): Add same_comdat_group.
5508 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
5509 pointer.
5510 (output_varpool): Update call of lto_output_varpool_node.
5511 (input_varpool): Read same_comdat_group pointer.
5512 (input_varpool_1): Fixup same_comdat_group pointer.
5513 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
5514 group is needed, all are.
5515 * varpool.c (varpool_remove_node): Remove node from same comdat group
5516 linklist too.
5517 (varpool_analyze_pending_decls): Walk same comdat groups.
5518
5519 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
5520
5521 * rtl.h (union rtunion_def): Remove rt_bit member.
5522 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
5523 * print-rtl (print_rtx): Do not print the member.
5524 * gengtype.c (adjust_field_rtx_def): Do not handle it.
5525 * gengenrtl.c (type_from_format): Likewise.
5526 (accessor_from_format): Likewise.
5527
5528 2010-05-22 Joseph Myers <joseph@codesourcery.com>
5529
5530 * dbgcnt.c: Include toplev.h instead of errors.h.
5531 * ira-emit.c: Don't include errors.h.
5532 * ira.c: Include toplev.h instead of errors.h.
5533 * lto-compress.c: Include toplev.h instead of errors.h.
5534 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
5535 ira.o, dbgcnt.o): Update dependencies.
5536
5537 2010-05-22 Richard Guenther <rguenther@suse.de>
5538
5539 * gimple.c (gimple_types_compatible_p): Check type qualifications
5540 before merging pointer to complete and pointer to incomplete type.
5541 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
5542 we use our own resolution algorithm. The gold linker plugin
5543 doesn't do the job we want it to do here.
5544
5545 2010-05-22 Anatoly Sokolov <aesok@post.ru>
5546
5547 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
5548 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
5549 (sparc_mode_dependent_address_p): New function.
5550
5551 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
5552
5553 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
5554
5555 * timevar.c: Do not include any core headers.
5556 (timevar_print): De-i18n-ize.
5557 (print_time): Likewise.
5558 * timevar.h (timevar_push, timevar_pop): Make inline functions.
5559
5560 2010-05-21 Joseph Myers <joseph@codesourcery.com>
5561
5562 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
5563 langhooks-def.h.
5564 (diagnostic_initialize): Initialize x_data not last_function.
5565 (diagnostic_report_current_function): Move to tree-diagnostic.c.
5566 (default_diagnostic_starter): Call
5567 diagnostic_report_current_module not
5568 diagnostic_report_current_function.
5569 (diagnostic_report_diagnostic): Initialize x_data not
5570 abstract_origin.
5571 (verbatim): Likewise.
5572 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
5573 x_data.
5574 (struct diagnostic_context): Change last_function to x_data.
5575 (diagnostic_auxiliary_data): Replace with
5576 diagnostic_context_auxiliary_data and
5577 diagnostic_info_auxiliary_data.
5578 (diagnostic_last_function_changed, diagnostic_set_last_function,
5579 diagnostic_report_current_function): Move to tree-diagnostic.h.
5580 (print_declaration, dump_generic_node, print_generic_stmt,
5581 print_generic_stmt_indented, print_generic_expr,
5582 print_generic_decl, debug_c_tree, dump_omp_clauses,
5583 print_call_name, debug_generic_expr, debug_generic_stmt,
5584 debug_tree_chain, default_tree_printer): Move to
5585 tree-pretty-print.h.
5586 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
5587 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
5588 gimple-pretty-print.h.
5589 * pretty-print.c: Don't include tree.h
5590 (pp_base_format): Don't handle %K here.
5591 (pp_base_tree_identifier): Move to tree-pretty-print.c.
5592 * pretty-print.h (text_info): Change abstract_origin to x_data.
5593 (pp_tree_identifier, pp_unsupported_tree,
5594 pp_base_tree_identifier): Move to tree-pretty-print.h.
5595 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
5596 tree-pretty-print.h: New files.
5597 * tree-pretty-print.c: Include tree-pretty-print.h.
5598 (percent_K_format): New. Moved from pretty-print.c.
5599 (pp_base_tree_identifier): Move from pretty-print.c.
5600 * c-objc-common.c: Include tree-pretty-print.h.
5601 (c_tree_printer): Handle %K here.
5602 * langhooks.c: Include tree-diagnostic.h.
5603 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
5604 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
5605 (default_tree_printer): Handle %K using percent_K_format.
5606 (general_init): Use default_tree_diagnostic_starter.
5607 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
5608 (free_lang_data): Use default_tree_diagnostic_starter.
5609 * c-pretty-print.c: Include tree-pretty-print.h.
5610 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
5611 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
5612 * dwarf2out.c: Include tree-pretty-print.h.
5613 * except.c: Include tree-pretty-print.h.
5614 * gimple-pretty-print.c: Include tree-pretty-print.h and
5615 gimple-pretty-print.h.
5616 * gimplify.c: Include tree-pretty-print.h.
5617 * graphite-poly.c: Include tree-pretty-print.h and
5618 gimple-pretty-print.h.
5619 * ipa-cp.c: Include tree-pretty-print.h.
5620 * ipa-inline.c: Include gimple-pretty-print.h.
5621 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
5622 * ipa-pure-const.c: Include gimple-pretty-print.h.
5623 * ipa-struct-reorg.c: Include tree-pretty-print.h and
5624 gimple-pretty-print.h.
5625 * ipa-type-escape.c: Include tree-pretty-print.h.
5626 * print-rtl.c: Include tree-pretty-print.h.
5627 * print-tree.c: Include gimple-pretty-print.h.
5628 * sese.c: Include tree-pretty-print.h.
5629 * tree-affine.c: Include tree-pretty-print.h.
5630 * tree-browser.c: Include tree-pretty-print.h.
5631 * tree-call-cdce.c: Include gimple-pretty-print.h.
5632 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
5633 * tree-chrec.c: Include tree-pretty-print.h.
5634 * tree-data-ref.c: Include tree-pretty-print.h and
5635 gimple-pretty-print.h.
5636 * tree-dfa.c: Include tree-pretty-print.h.
5637 * tree-if-conv.c: Include tree-pretty-print.h and
5638 gimple-pretty-print.h.
5639 * tree-inline.c: Include tree-pretty-print.h.
5640 * tree-into-ssa.c: Include tree-pretty-print.h and
5641 gimple-pretty-print.h.
5642 * tree-nrv.c: Include tree-pretty-print.h.
5643 * tree-object-size.c: Include tree-pretty-print.h and
5644 gimple-pretty-print.h.
5645 * tree-outof-ssa.c: Include tree-pretty-print.h and
5646 gimple-pretty-print.h.
5647 * tree-parloops.c: Include tree-pretty-print.h and
5648 gimple-pretty-print.h.
5649 * tree-predcom.c: Include tree-pretty-print.h and
5650 gimple-pretty-print.h.
5651 * tree-scalar-evolution.c: Include tree-pretty-print.h and
5652 gimple-pretty-print.h.
5653 * tree-sra.c: Include tree-pretty-print.h.
5654 * tree-ssa-address.c: Include tree-pretty-print.h.
5655 * tree-ssa-alias.c: Include tree-pretty-print.h.
5656 * tree-ssa-ccp.c: Include tree-pretty-print.h and
5657 gimple-pretty-print.h.
5658 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
5659 * tree-ssa-copy.c: Include tree-pretty-print.h and
5660 gimple-pretty-print.h.
5661 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
5662 * tree-ssa-dce.c: Include tree-pretty-print.h and
5663 gimple-pretty-print.h.
5664 * tree-ssa-dom.c: Include tree-pretty-print.h and
5665 gimple-pretty-print.h.
5666 * tree-ssa-dse.c: Include gimple-pretty-print.h.
5667 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
5668 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
5669 * tree-ssa-live.c: Include tree-pretty-print.h and
5670 gimple-pretty-print.h.
5671 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
5672 gimple-pretty-print.h.
5673 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
5674 gimple-pretty-print.h.
5675 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
5676 gimple-pretty-print.h.
5677 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
5678 gimple-pretty-print.h.
5679 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
5680 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
5681 * tree-ssa-operands.c: Include tree-pretty-print.h and
5682 gimple-pretty-print.h.
5683 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
5684 gimple-pretty-print.h.
5685 * tree-ssa-pre.c: Include tree-pretty-print.h and
5686 gimple-pretty-print.h.
5687 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
5688 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
5689 gimple-pretty-print.h.
5690 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
5691 gimple-pretty-print.h.
5692 * tree-ssa-sink.c: Include gimple-pretty-print.h.
5693 * tree-ssa-ter.c: Include tree-pretty-print.h and
5694 gimple-pretty-print.h.
5695 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
5696 * tree-ssa.c: Include tree-pretty-print.h and
5697 gimple-pretty-print.h.
5698 * tree-stdarg.c: Include gimple-pretty-print.h.
5699 * tree-switch-conversion.c: Include gimple-pretty-print.h.
5700 * tree-tailcall.c: Include tree-pretty-print.h and
5701 gimple-pretty-print.h.
5702 * tree-vect-data-refs.c: Include tree-pretty-print.h and
5703 gimple-pretty-print.h.
5704 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
5705 gimple-pretty-print.h.
5706 * tree-vect-loop.c: Include tree-pretty-print.h and
5707 gimple-pretty-print.h.
5708 * tree-vect-patterns.c: Include gimple-pretty-print.h.
5709 * tree-vect-slp.c: Include tree-pretty-print.h and
5710 gimple-pretty-print.h.
5711 * tree-vect-stmts.c: Include tree-pretty-print.h and
5712 gimple-pretty-print.h.
5713 * tree-vectorizer.c: Include tree-pretty-print.h.
5714 * tree-vrp.c: Include tree-pretty-print.h and
5715 gimple-pretty-print.h.
5716 * value-prof.c: Include tree-pretty-print.h and
5717 gimple-pretty-print.h.
5718 * var-tracking.c: Include tree-pretty-print.h.
5719 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
5720 (tree-diagnostic.o): New dependencies.
5721 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
5722 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
5723 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
5724 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
5725 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
5726 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
5727 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
5728 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
5729 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
5730 tree-ssa-address.o, tree-ssa-loop-niter.o,
5731 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
5732 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
5733 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
5734 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
5735 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
5736 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
5737 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
5738 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
5739 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
5740 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
5741 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
5742 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
5743 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
5744 tree-switch-conversion.o, var-tracking.o, value-prof.o,
5745 cfgexpand.o, pretty-print.o): Update dependencies.
5746
5747 2010-05-22 Andreas Tobler <andreast@fgznet.ch>
5748
5749 * tree-ssa-structalias.c: Remove tm_p.h from include.
5750
5751 2010-05-21 Jeff Law <law@redhat.com>
5752
5753 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
5754
5755 2010-05-21 Jason Merrill <jason@redhat.com>
5756
5757 * tree-eh.c (cleanup_is_dead_in): New.
5758 (lower_try_finally): Don't generate a dead cleanup region.
5759 (lower_cleanup): Likewise.
5760
5761 2010-05-21 Jakub Jelinek <jakub@redhat.com>
5762
5763 PR debug/44223
5764 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
5765 unchain each use from the cyclic next_regno_use chain first.
5766
5767 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
5768
5769 * real: Do not include gmp.h, mpfr.h, and mpc.h.
5770 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
5771 (real_value_negate, real_value_abs): New prototypes.
5772 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
5773 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
5774 new include file for interface between MPFR and REAL_VALUE_TYPE.
5775 * real.c: Include realmpfr.h.
5776 (real_arithmetic2): Remove legacy function.
5777 (real_value_negate): New.
5778 (real_value_abs): New.
5779 (mfpr_from_real, real_from_mpfr): Move from here...
5780 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
5781 * builtins.c: Include realmpfr.h.
5782 * fold-const.c: Include realmpfr.h.
5783 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
5784 (fold_negate_const): Likewise.
5785 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
5786 * toplev.c: Include realmpfr.h.
5787 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
5788 and real_value_negate.
5789 * fixed-value.c (check_real_for_fixed_mode): Likewise.
5790 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
5791 (vfp3_const_double_index): Likewise.
5792 (arm_print_operand): Likewise.
5793 * Makefile.in: Update dependencies.
5794
5795 2010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5796
5797 * config/s390/s390.c (override_options): Increase the default
5798 of max-completely-peel-times.
5799
5800 2010-05-21 Julian Brown <julian@codesourcery.com>
5801 Mark Mitchell <mark@codesourcery.com>
5802
5803 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
5804 sibling calls for Thumb-1.
5805 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
5806 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
5807 Thumb-2.
5808 (*call_insn, *call_value_insn): Don't use for Thumb-2.
5809 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
5810 for Thumb-2.
5811 (return): New expander.
5812 (*arm_return): New name for ARM return insn.
5813 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
5814
5815 2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
5816
5817 * config.gcc (sparc64-*-rtems*): New target.
5818
5819 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
5820
5821 * tree.c (build_function_decl_skip_args): Fix grammar.
5822 (build_function_type_list_1): Fix typos, adjust formatting.
5823
5824 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
5825
5826 * tree.h: Include real.h and fixed-value.h as basic datatypes.
5827 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
5828 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
5829 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
5830 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
5831 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
5832 tree-pretty-print.c, tree-loop-distribution.c,
5833 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
5834 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
5835 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
5836 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
5837 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
5838 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
5839 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
5840 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
5841 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
5842 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
5843 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
5844 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
5845 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
5846 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
5847 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
5848 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
5849 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
5850 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
5851 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
5852 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
5853 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
5854 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
5855 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
5856 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
5857 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
5858 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
5859 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
5860 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
5861 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
5862 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
5863 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
5864 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
5865 config/score/score7.c, config/score/score.c, config/arm/arm.c,
5866 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
5867 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
5868 config/bfin/bfin.c: Clean up redundant includes.
5869 * Makefile.in: Update accordingly.
5870
5871 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
5872
5873 PR middle-end/44204
5874 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
5875 statement has no arguments.
5876
5877 2010-05-21 Kai Tietz <kai.tietz@onevision.com>
5878
5879 PR/44139
5880 * varasm.c (emutls_decl): Merge attributes to new decl.
5881
5882 2010-05-21 Eric Botcazou <ebotcazou@adacore.com>
5883
5884 PR middle-end/44101
5885 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
5886 around the uniquized constructor if its type requires a conversion.
5887
5888 2010-05-21 Jakub Jelinek <jakub@redhat.com>
5889
5890 PR debug/44205
5891 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
5892 at -O0 goto_locus of any of the incoming edges differs from
5893 goto_locus of outgoing edge, or gimple_location of any of the
5894 labels differs.
5895
5896 2009-09-14 Vladimir Makarov <vmakarov@redhat.com>
5897
5898 * ira.c (ira_non_ordered_class_hard_regs): Define.
5899 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
5900 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
5901 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
5902 cost of unaligned hard regs when allocating multi-reg pseudos.
5903
5904 2010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
5905
5906 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
5907 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
5908 for TARGET_NO_FLOAT.
5909 * config/mips/mips.c (mips_file_start): Expand conditional expression
5910 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
5911 (mips_override_options): Move -mno-float override -msoft-float and
5912 -mhard-float.
5913 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
5914 Condition(TARGET_SUPPORTS_NO_FLOAT).
5915 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
5916 __mips_no_float here.
5917 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
5918 (TARGET_SUPPORTS_NO_FLOAT): Define.
5919 * config/mips/sdemtk.opt: Delete.
5920
5921 2010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
5922
5923 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
5924
5925 2010-05-20 Uros Bizjak <ubizjak@gmail.com>
5926
5927 PR target/43733
5928 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
5929 * configure: Regenerate.
5930 * config.in: Regenerate.
5931 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
5932 instead of sahf only for 64bit targets.
5933
5934 2010-05-20 Jakub Jelinek <jakub@redhat.com>
5935
5936 PR debug/44178
5937 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
5938 setup_ref_regs for DEBUG_INSNs.
5939
5940 2010-05-20 Jan Hubicka <jh@suse.cz>
5941
5942 PR middle-end/44197
5943 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
5944
5945 2010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5946
5947 PR bootstrap/43870
5948 * df-scan.c (df_ref_compare): Stabilize sort.
5949
5950 2010-05-20 Jakub Jelinek <jakub@redhat.com>
5951
5952 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
5953 argument. Don't use DW_OP_piece if offset is non-zero,
5954 put offset into second DW_OP_bit_piece argument.
5955 (dw_sra_loc_expr): Adjust callers. For memory expressions
5956 compute offset.
5957
5958 2010-05-20 Hans-Peter Nilsson <hp@axis.com>
5959
5960 PR target/44202
5961 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
5962 settings for 16-bit-constant "addo" alternative.
5963
5964 2010-05-19 James E. Wilson <wilson@codesourcery.com>
5965
5966 * config/mips/mips-dsp.md (add<DSPV:mode>3,
5967 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
5968
5969 PR target/43764
5970 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
5971 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
5972 Use it.
5973
5974 2010-05-19 Joseph Myers <joseph@codesourcery.com>
5975
5976 * diagnostic.c (FLOAT, FFS): Don't undefine.
5977 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
5978 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
5979 include ordering.
5980
5981 2010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
5982
5983 * combine.c (propagate_for_debug): Call make_compound_operation
5984 on the source value.
5985 (try_combine): When implementing a split chosen by find_split_point,
5986 either copy i2src or set it to null. Assert that i2src is not null
5987 before substituting into CALL_INSN_FUNCTION_USAGE.
5988
5989 2010-05-19 Anatoly Sokolov <aesok@post.ru>
5990
5991 * double-int.h (double_int_ior): New function.
5992 * tree.h (build_int_cst_wide_type): Remove.
5993 * tree.c (build_int_cst_wide_type): Remove.
5994 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
5995 of build_int_cst_wide_type.
5996 * stor-layout.c (set_sizetype): (Ditto.).
5997 * dojump.c (do_jump): Use build_int_cstu instead of
5998 build_int_cst_wide_type.
5999
6000 2010-05-19 Eric Botcazou <ebotcazou@adacore.com>
6001
6002 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
6003 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
6004 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
6005 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
6006 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
6007 propagate the 'data' argument to copy_tree_r.
6008 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
6009 Propagate 'data' argument to walk_tree.
6010 (copy_if_shared): New function.
6011 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
6012 (unmark_visited): New function.
6013 (unshare_body): Call copy_if_shared instead of doing it manually.
6014 (unvisit_body): Call unmark_visited instead of doing it manually.
6015
6016 2010-05-19 Nathan Froyd <froydnj@codesourcery.com>
6017
6018 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
6019 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
6020 * hooks.c: Likewise.
6021 * target-def.h (TARGET_FOLD_BUILTIN): Define to
6022 hook_tree_tree_int_treep_bool_null.
6023 * target.h (struct gcc_target): Update signature of fold_builtin
6024 field.
6025 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
6026 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
6027 instead of the call expression.
6028 (fold_builtin_call_array): Pass n and argarray directly.
6029 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
6030 consing a list.
6031 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
6032 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
6033 `i' and use it in place of `arity'.
6034 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
6035 Dereference `args' directly.
6036 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
6037
6038 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6039
6040 * doc/sourcebuild.texi (Effective-Target Keywords): Document
6041 3dnow, sse3, sse2.
6042 (Directives): Document optional dg-require-effective-target
6043 selector.
6044
6045 2010-05-19 Richard Guenther <rguenther@suse.de>
6046
6047 PR lto/44196
6048 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
6049
6050 2010-05-19 Richard Guenther <rguenther@suse.de>
6051
6052 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
6053 * common.opt (fwhopr=): New.
6054 * opts.c (common_handle_option): Handle OPT_fwhopr.
6055 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
6056 * collect2.c (main): Match -fwhopr*.
6057 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
6058 Execute ltrans stage in parallel when jobs is bigger than 1.
6059
6060 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6061
6062 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
6063 pentiumpro on Solaris 8/x86 with Sun as.
6064 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
6065 hidden alias bug.
6066 (gcc_cv_as_ix86_quad): Check for .quad directive.
6067 * configure: Regenerate.
6068 * config.in: Regenerate.
6069 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
6070
6071 2010-05-19 Martin Jambor <mjambor@suse.cz>
6072
6073 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
6074 also for indirect edges. Actual printing moved...
6075 (ipa_print_node_jump_functions_for_edge): ...here.
6076 (ipa_compute_jump_functions): Renamed to
6077 ipa_compute_jump_functions_for_edge and made static.
6078 (ipa_compute_jump_functions): New function.
6079 (make_edge_direct_to_target): Check if the number of arguments on
6080 the newly direct edge is the same as the number of parametrs of
6081 the callee.
6082 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
6083 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
6084 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
6085 analysis functions unconditionally, call the new
6086 ipa_analyze_params_uses on the node instead of every edge.
6087
6088 2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
6089
6090 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
6091 to tree.
6092 (dump_mem_ref): Adopt debug code to handle a tree as step. This
6093 also checks for a constant int vs. non-constant but
6094 loop-invariant steps.
6095 (find_or_create_group): Change the sort algorithm to only consider
6096 steps that are constant ints.
6097 (idx_analyze_ref): Adopt code to handle a tree instead of a
6098 HOST_WIDE_INT for step.
6099 (gather_memory_references_ref): Handle tree instead of int and be
6100 prepared to see a NULL_TREE.
6101 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
6102 prefetches if the step cannot be calculated at compile time.
6103 (issue_prefetch_ref): Issue prefetches for non-constant but
6104 loop-invariant steps.
6105
6106 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
6107
6108 Revert:
6109 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
6110
6111 * tree.h (build_call_list): Remove.
6112 * tree.c (build_call_list): Remove.
6113
6114 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
6115
6116 * tree.h (build_call_list): Remove.
6117 * tree.c (build_call_list): Remove.
6118
6119 2010-05-18 Jan Hubicka <jh@suse.cz>
6120
6121 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
6122
6123 2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
6124
6125 PR rtl-optimization/43332
6126 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
6127
6128 2010-05-18 Anatoly Sokolov <aesok@post.ru>
6129
6130 * tree.h (build_int_cstu): Implement as static inline.
6131 * tree.c (build_int_cstu): Remove function.
6132 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
6133 sign extended.
6134
6135 2010-05-18 Richard Guenther <rguenther@suse.de>
6136
6137 PR lto/44143
6138 * lto-wrapper.c (verbose): New variable. Initialize from -v.
6139 (debug): Initialize from -save-temps.
6140 (collect_execute): Print command-line when verbose.
6141 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
6142 for ltrans invocation. Produce -dumpbase flag again.
6143 (process_args): Remove.
6144 (main): Simplify.
6145 * collect2.c (maybe_run_lto_and_relink): Only pass object
6146 files to lto-wrapper.
6147 * gcc.c (LINK_COMMAND_SPEC): Likewise.
6148
6149 2010-05-18 Jan Hubicka <jh@suse.cz>
6150
6151 * opts.c (decode_options): Do not disable whopr at ipa_cp.
6152 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
6153
6154 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
6155
6156 PR lto/44184
6157 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
6158 in a GIMPLE_ASM.
6159 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
6160 in a GIMPLE_ASM.
6161
6162 2010-05-18 Jakub Jelinek <jakub@redhat.com>
6163
6164 PR debug/41371
6165 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
6166 rtx_equal_p inline.
6167
6168 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
6169
6170 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
6171 lto-macho as lto_binary_reader.
6172
6173 * darwin.c (darwin_asm_named_section): Do not add assembler comment
6174 after .section directive; just print it before the directive instead.
6175
6176 2010-05-17 Jan Hubicka <jh@suse.cz>
6177
6178 * cgraph.c (cgraph_create_virtual_clone): Only check
6179 versionable_function_p when not in wpa and checking is enabled.
6180 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
6181 there are no more functions to materialize.
6182
6183 2010-05-17 Jan Hubicka <jh@suse.cz>
6184
6185 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
6186 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
6187 New functions.
6188 (output_cgraph): Call output_cgraph_opt_summary.
6189 (input_cgrpah): Call input_cgraph_opt_summary.
6190 (output_cgraph_opt_summary_p, output_node_opt_summary,
6191 input_node_opt_summary, input_cgraph_opt_section): New functions.
6192 * lto-section-in.c (lto_section_name): Add cgraphopt.
6193 * tree-inline.c (tree_function_versioning): Handle parm_num.
6194 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
6195 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
6196
6197 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
6198
6199 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
6200 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
6201 the insn to prefetch ratio heuristic to loops with known trip count.
6202
6203 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
6204
6205 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
6206 (schedule_prefetches): Do not generate a prefetch if the unroll factor
6207 is far from what is required by the prefetch.
6208
6209 2010-05-17 Jan Hubicka <jh@suse.cz>
6210
6211 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
6212 (ipcp_estimate_growth): Likewise.
6213 (ipcp_const_param_count): Likewise.
6214 (ipcp_insert_stage): Likewise.
6215 * ipa-prop.c (visit_load_for_mod_analysis): New function.
6216 (visit_store_addr_for_mod_analysis): Set used flag.
6217 (ipa_detect_param_modifications): Set used flag for SSE params;
6218 update use of walk_stmt_load_store_addr_ops.
6219 (ipa_print_node_params): Print used flag.
6220 (ipa_write_node_info): Stream used flag.
6221 (ipa_read_node_info): Likewise.
6222 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
6223 (ipa_is_param_used): New function.
6224 (lto_ipa_fixup_call_notes): Remove unused declaration.
6225
6226 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6227
6228 PR target/44074
6229 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
6230 * configure: Regenerate.
6231 * config.in: Regenerate.
6232 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
6233 !HAVE_AS_IX86_REP_LOCK_PREFIX.
6234 Don't emit whitespace.
6235 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
6236 (*rep_movsi): Likewise.
6237 (*rep_movsi_rex64): Likewise.
6238 (*rep_movqi): Likewise.
6239 (*rep_movqi_rex64): Likewise.
6240 (*rep_stosdi_rex64): Likewise.
6241 (*rep_stossi): Likewise.
6242 (*rep_stossi_rex64): Likewise.
6243 (*rep_stosqi): Likewise.
6244 (*rep_stosqi_rex64): Likewise.
6245 (*cmpstrnqi_nz_1): Use {%;} after repz.
6246 (*cmpstrnqi_nz_rex_1): Likewise.
6247 (*cmpstrnqi_1): Likewise.
6248 (*cmpstrnqi_rex_1): Likewise.
6249 (*strlenqi_1): Use {%;} after repnz.
6250 (*strlenqi_rex_1): Likewise.
6251 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
6252 (*sync_compare_and_swap<mode>): Likewise.
6253 (sync_double_compare_and_swap<mode>): Likewise.
6254 (*sync_double_compare_and_swapdi_pic): Likewise.
6255 (sync_old_add<mode>): Likewise.
6256 (sync_add<mode>): Likewise.
6257 (sync_sub<mode>): Likewise.
6258 (sync_<code><mode>): Likewise.
6259
6260 2010-05-17 Martin Jambor <mjambor@suse.cz>
6261
6262 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
6263 otr_token and polymorphic.
6264 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
6265 (cgraph_clone_edge): Copy the above fields.
6266 * tree.c (get_binfo_at_offset): New function.
6267 * tree.h (get_binfo_at_offset): Declare.
6268 * ipa-prop.h (enum jump_func_type): Added known_type jump function
6269 type, reordered items, updated comments.
6270 (union jump_func_value): Added base_type field, reordered fields.
6271 (enum ipa_lattice_type): Moved down in the file.
6272 (struct ipa_param_descriptor): New field polymorphic.
6273 (ipa_is_param_polymorphic): New function.
6274 * ipa-prop.c: Include gimple.h and gimple-fold.h.
6275 (ipa_print_node_jump_functions): Print known type jump functions.
6276 (compute_complex_pass_through): Renamed to...
6277 (compute_complex_assign_jump_func): this.
6278 (compute_complex_ancestor_jump_func): New function.
6279 (compute_known_type_jump_func): Likewise.
6280 (compute_scalar_jump_functions): Create known type and complex ancestor
6281 jump functions.
6282 (ipa_note_param_call): New parameter polymorphic, set the corresponding
6283 flag in the call note accordingly.
6284 (ipa_analyze_call_uses): Renamed to...
6285 (ipa_analyze_indirect_call_uses): this. New parameter target, define
6286 variable var only in the block where it is used.
6287 (ipa_analyze_virtual_call_uses): New function.
6288 (ipa_analyze_call_uses): Likewise.
6289 (combine_known_type_and_ancestor_jfs): Likewise.
6290 (update_jump_functions_after_inlining): Implemented handling of a
6291 number of new jump function types combination.
6292 (print_edge_addition_message): Removed.
6293 (make_edge_direct_to_target): New function.
6294 (try_make_edge_direct_simple_call): Likewise.
6295 (try_make_edge_direct_virtual_call): Likewise.
6296 (update_call_notes_after_inlining): Renamed to...
6297 (update_indirect_edges_after_inlining): this. Moved edge creation for
6298 indirect calls to try_make_edge_direct_simple_call, also calls
6299 try_make_edge_direct_virtual_call for virtual calls.
6300 (ipa_print_node_params): Changed the header message.
6301 (ipa_write_jump_function): Stream also known type jump functions.
6302 (ipa_read_jump_function): Likewise.
6303 (ipa_write_indirect_edge_info): Stream new fields in
6304 cgraph_indirect_call_info.
6305 (ipa_read_indirect_edge_info): Likewise.
6306 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
6307 GIMPLE_FOLD_H.
6308
6309 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6310
6311 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
6312
6313 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
6314
6315 * tree.h (CALL_EXPR_ARGS): Delete.
6316 (call_expr_arglist): Delete.
6317 * tree.c (call_expr_arglist): Delete.
6318 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
6319 targetm.fold_builtin.
6320 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
6321 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
6322 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
6323 arglist parameter. Use CALL_EXPR_ARG.
6324 (picochip_expand_builtin_3op): Likewise.
6325 (picochip_expand_builtin_2opvoid): Likewise.
6326 (picochip_expand_array_get): Likewise.
6327 (picochip_expand_array_put): Likewise.
6328 (picochip_expand_array_testport): Likewise.
6329 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
6330 rather than arglist.
6331 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
6332 CALL_EXPR_ARGS.
6333 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
6334 than TREE_VALUE and TREE_CHAIN.
6335 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
6336 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
6337 the arglist.
6338
6339 2010-05-17 Jakub Jelinek <jakub@redhat.com>
6340
6341 PR bootstrap/42347
6342 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
6343 to have no fallthru edge.
6344
6345 PR middle-end/44102
6346 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
6347 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
6348 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
6349 add BARRIER after previous bb if needed.
6350
6351 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
6352
6353 * tree.c (build_function_type_list_1): Remove bogus assert condition.
6354
6355 2010-05-17 Alan Modra <amodra@gmail.com>
6356
6357 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
6358 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
6359 with copy_reg rtx param.
6360 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
6361 Correct cases where code for ABI_V4 did not initialise the reg
6362 used to access frame. Also leave frame_reg_rtx as sp for large
6363 frames that save no regs.
6364
6365 2010-05-17 Martin Jambor <mjambor@suse.cz>
6366
6367 PR middle-end/44133
6368 * tree-sra.c (create_access_replacement): New parameter rename, mark
6369 the replaement for renaming only when it is true.
6370 (get_access_replacement): Pass true in the rename parameter of
6371 create_access_replacement.
6372 (get_unrenamed_access_replacement): New function.
6373 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
6374 replacement declaration from it.
6375
6376 2010-05-17 Bernd Schmidt <bernds@codesourcery.com>
6377
6378 * function.c (try_fit_stack_local, add_frame_space): New static
6379 functions.
6380 (assign_stack_local_1): Use them. Look for opportunities to use
6381 space previously wasted on alignment.
6382 * function.h (struct frame_space): New.
6383 (struct rtl_data): Add FRAME_SPACE_LIST member.
6384 * reload1.c (something_was_spilled): New static variable.
6385 (alter_reg): Set it.
6386 (reload): Test it in addition to testing if the frame size changed.
6387
6388 2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
6389
6390 * config/s390/s390.c: Define sane prefetch settings and activate
6391 flag_prefetch_loop_arrays on -O3.
6392 * config/s390/s390.h: Declare that read can use write prefetch.
6393
6394 2010-05-17 Jakub Jelinek <jakub@redhat.com>
6395
6396 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
6397 build.
6398
6399 2010-05-16 Jan Hubicka <jh@suse.cz>
6400
6401 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
6402 function body; do not check stdarg field of struct function.
6403
6404 2010-05-16 Jan Hubicka <jh@suse.cz>
6405
6406 * cgraph.c (dump_cgraph_node): Dump versionable flag.
6407 * cgraph.h (cgraph_local_info): Add versionable flag.
6408 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
6409 (ipcp_versionable_function_p): Use it.
6410 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
6411 versionable flag.
6412
6413 2010-05-16 Jan Hubicka <jh@suse.cz>
6414
6415 * cgraph.c (cgraph_clone_node): Take decl argument and insert
6416 clone into hash when it is different from orig.
6417 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
6418 * cgraph.h (cgraph_clone_node): Update prototype.
6419 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
6420 (lto_cgraph_encoder_delete): Delete body map.
6421 (lto_cgraph_encoder_size): Move to header.
6422 (lto_cgraph_encoder_encode_body_p,
6423 lto_set_cgraph_encoder_encode_body): New.
6424 (lto_output_node): Do not take written_decls argument; output clone_of
6425 pointer.
6426 (add_node_to): Add include_body_argument; call
6427 lto_set_cgraph_encoder_encode_body on master of the clone.
6428 (add_references): Update use of add_node_to.
6429 (compute_ltrans_boundary): Likewise.
6430 (output_cgraph): Do not create written_decls bitmap.
6431 (input_node): Take nodes argument; stream in clone_of correctly.
6432 (input_cgraph_1): Update use of input_node.
6433 * lto-streamer-out.c (lto_output): Use encoder info to decide
6434 what bodies to output.
6435 * ipa-inline.c (cgraph_clone_inlined_nodes,
6436 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
6437 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
6438 (lto_cgraph_encoder_size): Define here.
6439 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
6440 Declare.
6441
6442 2010-05-16 Richard Guenther <rguenther@suse.de>
6443
6444 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
6445 -fipa-type-escape.
6446 * ipa-type-escape.c (gate_type_escape_vars): Run when
6447 -fipa-struct-reorg runs.
6448 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
6449 * common.opt (fipa-type-escape): Remove.
6450
6451 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
6452
6453 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
6454 (decode_options): Likewise.
6455 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
6456
6457 2010-05-16 Jan Hubicka <jh@suse.cz>
6458
6459 * ipa.c (function_and_variable_visibility): Also bring local all
6460 aliases.
6461
6462 2010-05-16 Richard Guenther <rguenther@suse.de>
6463
6464 * alias.c (nonoverlapping_memrefs_p): Remove use of
6465 IPA type-escape information.
6466
6467 2010-05-16 Joseph Myers <joseph@codesourcery.com>
6468
6469 * c-common.c (c_common_reswords): Add _Static_assert for C.
6470 * c-parser.c (c_token_starts_declaration,
6471 c_parser_next_token_starts_declaration,
6472 c_parser_static_assert_declaration_no_semi,
6473 c_parser_static_assert_declaration): New.
6474 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
6475 Handle static assertions if static_assert_ok.
6476 (c_parser_external_declaration, c_parser_declaration_or_fndef,
6477 c_parser_compound_statement_nostart, c_parser_label,
6478 c_parser_for_statement, c_parser_objc_methodprotolist,
6479 c_parser_omp_for_loop): All callers of
6480 c_parser_declaration_or_fndef changed.
6481 (c_parser_struct_declaration): Handle static assertions.
6482 (c_parser_compound_statement_nostart): Use
6483 c_parser_next_token_starts_declaration and
6484 c_token_starts_declaration to detect start of declarations.
6485 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
6486 Likewise.
6487
6488 2010-05-16 Anatoly Sokolov <aesok@post.ru>
6489
6490 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
6491 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
6492 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
6493 TARGET_FUNCTION_VALUE_REGNO_P): Define.
6494 (mmix_function_outgoing_value): Rename to...
6495 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
6496 (mmix_function_value_regno_p): Make static.
6497 (mmix_libcall_value): New function.
6498 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
6499 mmix_function_value_regno_p): Remove declaration.
6500
6501 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
6502
6503 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
6504 BUILT_IN_ALLOCA if stack checking is enabled.
6505
6506 2010-05-16 Richard Guenther <rguenther@suse.de>
6507
6508 * var-tracking.c (vars_copy_1): Inline ...
6509 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
6510 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
6511 (variable_merge_over_cur): Adjust. Merge asserts.
6512 (variable_merge_over_src): Likewise.
6513 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
6514 (variable_post_merge_new_vals): Merge asserts.
6515 (variable_post_merge_perm_vals): Likewise.
6516 (find_mem_expr_in_1pdv): Likewise.
6517 (dataflow_set_different_value): Remove.
6518 (onepart_variable_different_p): Merge asserts.
6519 (variable_different_p): Likewise.
6520 (dataflow_set_different_1): Inline ...
6521 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
6522 (emit_notes_for_differences_1): Merge asserts.
6523
6524 2010-05-16 Richard Guenther <rguenther@suse.de>
6525
6526 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
6527 * optabs.c (libfunc_decl_hash): Likewise.
6528 * varasm.c (emutls_decl): Likewise.
6529
6530 2010-05-16 Steven Bosscher <steven@gcc.gnu.org>
6531
6532 * c-decl.c: Don't include gimple.h.
6533 (merge_decls): Do not copy gimple_body.
6534
6535 2010-05-15 Jason Merrill <jason@redhat.com>
6536
6537 * c.opt: Add -fnothrow-opt.
6538
6539 2010-05-15 Jan Hubicka <jh@suse.cz>
6540
6541 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
6542 analyzed.
6543 * passes.c (ipa_write_summaries): Write all analyzed nodes.
6544
6545 2010-05-15 Steven Bosscher <steven@gcc.gnu.org>
6546
6547 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
6548 * Makefile.in: Add it.
6549 Fix all other Makefile dependencies for changes below.
6550 * tree.h: Include it instead of defining VEC primitives here.
6551 * gimple.h: Likewise.
6552 * rtl.h: Likewise.
6553 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
6554 * except.h: Include vecir.h, break dependence on tree.h.
6555
6556 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
6557 Move from here...
6558 * tree-iterator.c: ...to here.
6559 * tree-iterator.h: Fix file introduction comment. Add extern markers.
6560
6561 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
6562 tm_p.h.
6563 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
6564 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
6565 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
6566 tree-mudflap.h, and target.h.
6567 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
6568 predict.h, tree-inline.h, gimple.h, and langhooks.h.
6569 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
6570 Add FIXME for why gimple.h is still included (should be unnecessary
6571 since GCC 4.5 gimplification unit-at-a-time).
6572 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
6573 * c-pragma.c: Add FIXME for why function.h needs to be included just
6574 for cfun, at front-end level.
6575 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
6576 Do not include ggc.h, but include vecprim.h for VEC(char).
6577 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
6578 Explain why target.h is included.
6579 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
6580 Explain why gimple.h is included.
6581 * c-ppoutput.c: Do not include tm.h.
6582 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
6583 * c-parses.c: Explain why rtl.h is included, and that this (and only
6584 this) is also why tm.h must be included.
6585 Do not include except.h.
6586 * c-lang.c: Do not include ggc.h.
6587
6588 2010-05-15 Uros Bizjak <ubizjak@gmail.com>
6589
6590 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
6591
6592 2010-05-15 Joseph Myers <joseph@codesourcery.com>
6593
6594 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
6595 unions by default if those structs and unions have no tags. Do
6596 not condition anonymous struct and unions handling on flag_iso.
6597 Allow anonymous structs and unions for C1X.
6598 (finish_struct): Do not diagnose lack of named fields when
6599 anonymous structs and unions present for C1X. Accept flexible
6600 array members in structure with anonymous structs or unions but no
6601 directly named fields.
6602 * doc/extend.texi (Unnamed Fields): Update.
6603
6604 2010-05-15 Eric Botcazou <ebotcazou@adacore.com>
6605
6606 * gimple.h (compare_field_offset): Rename into...
6607 (gimple_compare_field_offset): ...this.
6608 * gimple.c (compare_field_offset): Rename into...
6609 (gimple_compare_field_offset): ...this. Compare the full access if
6610 the offset is self-referential.
6611 (gimple_types_compatible_p): Adjust for above renaming.
6612 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
6613 DECL_NONADDRESSABLE_P flag of fields before merging them.
6614
6615 2010-05-15 Nathan Froyd <froydnj@codesourcery.com>
6616
6617 * tree.h (ctor_to_list): Delete.
6618 * tree.c (ctor_to_list): Delete.
6619
6620 2010-05-15 Jan Hubicka <jh@suse.cz>
6621
6622 * ipa-reference.c: Include toplev.h
6623 (is_proper_for_analysis): Only add to all_module_statics
6624 if it is allocated.
6625 (write_node_summary_p, stream_out_bitmap,
6626 ipa_reference_write_optimization_summary,
6627 ipa_reference_read_optimization_summary): New.
6628 (struct ipa_opt_pass_d pass_ipa_reference): Add
6629 optimization summary streaming.
6630 * lto-cgraph.c (referenced_from_this_partition_p,
6631 reachable_from_this_partition_p): New functions.
6632 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
6633 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
6634 * opts.c (decode_options): Enable ipa_reference.
6635 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
6636 * lto-streamer.h (referenced_from_this_partition_p,
6637 reachable_from_this_partition_p): Declare.
6638
6639 2010-05-15 Richard Guenther <rguenther@suse.de>
6640
6641 PR tree-optimization/44038
6642 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
6643 taking the address of a V_C_E of a constant.
6644
6645 2010-05-14 Jan Hubicka <jh@suse.cz>
6646
6647 * tree.h (memory_identifier_string): Remove.
6648 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
6649 (ipa_reference_global_vars_info_d): Remove statics_not_read and
6650 statics_not_written.
6651 (ipa_reference_optimization_summary_d): New structure.
6652 (ipa_reference_optimization_summary_t): New type and vector.
6653 (ipa_reference_vars_info_d): Embedd structures instead of using
6654 pointers.
6655 (reference_vars_to_consider): Remove out of GGC space.
6656 (module_statics_escape): Remove.
6657 (global_info_obstack): Rename to ...
6658 (optimization_summary_obstack): ... this one.
6659 (initialization_status_t): Remove.
6660 (memory_identifier_string): Remove.
6661 (get_reference_vars_info): Fix indenting.
6662 (set_reference_vars_info): Likewise.
6663 (get_reference_optimization_summary): New.
6664 (set_reference_optimization_summary): New.
6665 (get_global_reference_vars_info): Remove.
6666 (ipa_reference_get_read_global): Remove.
6667 (ipa_reference_get_written_global): Remove.
6668 (ipa_reference_get_not_read_global): Update.
6669 (ipa_reference_get_not_written_global): Update.
6670 (is_proper_for_analysis): Outlaw addressable.
6671 (propagate_bits): Update for new datastructures.
6672 (analyze_variable): Remove.
6673 (init_function_info): Update for new datastructures.
6674 (clean_function_local_data): Remove.
6675 (clean_function): Remove.
6676 (copy_global_bitmap): Use optimizations_summary_obstack.
6677 (duplicate_node_data): Duplicate optimization summary only.
6678 (remove_node_data): Remove optimization summary only.
6679 (generate_summary): Do not analyze variables; do not compute
6680 module_statics_escape; do not prune solutions by it.
6681 (read_write_all_from_decl): Fix typos in comments.
6682 (propagate): Doscover readonly and nonaddressable first;
6683 update for new datastructures; share global bitmaps.
6684 * ipa-reference.h (ipa_reference_get_read_global,
6685 ipa_reference_get_written_global): Remove.
6686 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
6687 * Makefile.in: Remove ipa-refereference from GT files.
6688
6689 2010-05-14 Jakub Jelinek <jakub@redhat.com>
6690
6691 PR debug/44112
6692 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
6693 for all SYMBOL_REF_DECLs.
6694
6695 2010-05-14 Jan Hubicka <jh@suse.cz>
6696
6697 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
6698 (varpool_all_refs_explicit_p): New inline function.
6699 * ipa-reference.c: Update comment.
6700 (module_statics_written): Remove.
6701 (get_static_decl): Remove.
6702 (ipa_init): Do not initialize module_statics_written.
6703 (analyze_function): Likewise.
6704 (generate_summary): Likewise; do not compute module_statics_readonly
6705 and do not update variable flags.
6706 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
6707 * ipa.c: Inlucde flags.h
6708 (cgraph_local_node_p): New.
6709 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
6710 promote functions to local.
6711 (ipa_discover_readonly_nonaddressable_vars): New function.
6712 (function_and_variable_visibility): Use cgraph_local_node_p.
6713 * varpool.c (varpool_finalize_decl): Set force_output for
6714 DECL_PRESERVE_P vars.
6715
6716 2010-05-14 Jan Hubicka <jh@suse.cz>
6717
6718 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
6719
6720 2010-05-14 Richard Guenther <rguenther@suse.de>
6721
6722 PR tree-optimization/44119
6723 * tree-ssa-pre.c (eliminate): Properly mark replacement of
6724 a PHI node necessary.
6725
6726 2010-05-14 Eric Botcazou <ebotcazou@adacore.com>
6727
6728 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
6729
6730 2010-05-14 Jason Merrill <jason@redhat.com>
6731
6732 PR c++/44127
6733 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
6734 (gimple_call_set_nothrow): New.
6735 * gimple.c (gimple_build_call_from_tree): Call it.
6736 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
6737
6738 PR c++/44127
6739 * gimplify.c (gimplify_seq_add_stmt): No longer static.
6740 * gimple.h: Declare it.
6741 * gimple.c (gimple_build_eh_filter): No ops.
6742
6743 2010-05-14 Jan Hubicka <jh@suse.cz>
6744
6745 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
6746 nodes already in queue.
6747 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
6748 re-enqueueing node.
6749
6750 2010-05-14 Jakub Jelinek <jakub@redhat.com>
6751
6752 PR debug/44136
6753 * cfgexpand.c (expand_debug_expr): If non-memory op0
6754 has BLKmode, return NULL.
6755
6756 2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
6757
6758 * config.gcc: Add support for --with-cpu option for bdver1.
6759 * config/i386/i386.h (TARGET_BDVER1): New macro.
6760 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
6761 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
6762 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
6763 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
6764 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
6765 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
6766 (processor_type): Add PROCESSOR_BDVER1.
6767 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
6768 processor_type in config/i386/i386.h.
6769 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
6770 movaps <reg, reg> instead of movapd <reg, reg> when replacing
6771 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
6772 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
6773 to emit packed xor instead of packed double/packed integer
6774 xor for SSE and AVX when moving a zero value.
6775 * config/i386/sse.md: Add check for
6776 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
6777 movapd/movdqa for SSE and AVX.
6778 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
6779 single logical operations i.e and, or and xor instead of packed double
6780 logical operations for SSE and AVX.
6781 * config/i386/i386-c.c (ix86_target_macros_internal):
6782 Add PROCESSOR_BDVER1.
6783 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
6784 (has_fma4, has_xop): New.
6785 * config/i386/i386.c (bdver1_cost): New variable.
6786 (m_BDVER1): New macro.
6787 (m_AMD_MULTIPLE): Add m_BDVER1.
6788 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
6789 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
6790 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
6791 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
6792 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
6793 x86_tune_sse_partial_reg_dependency,
6794 x86_tune_sse_unaligned_load_optimal,
6795 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
6796 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
6797 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
6798 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
6799 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
6800 Enable/disable for bdver1.
6801 (processor_target_table): Add bdver1_cost.
6802 (cpu_names): Add bdver1.
6803 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
6804 processor_alias_table.
6805 (ix86_expand_vector_move_misalign): Change.
6806 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
6807 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
6808 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
6809 of movupd/movdqu for SSE and AVX.
6810 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
6811 (ix86_tune_adjust_cost): Add code for bdver1.
6812 (standard_sse_constant_opcode): Add check for
6813 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
6814 of packed double xor for SSE and AVX.
6815
6816 2010-05-14 Pat Haugen <pthaugen@us.ibm.com>
6817
6818 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
6819 result to unsigned.
6820
6821 2010-05-14 Tristan Gingold <gingold@adacore.com>
6822
6823 * toplev.c (default_debug_hooks): Remove this variable.
6824 (process_options): Remove assignments to default_debug_hooks.
6825
6826 2010-05-14 Martin Jambor <mjambor@suse.cz>
6827
6828 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
6829 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
6830 * langhooks.h (struct lang_hooks_for_decls): Removed field
6831 fold_obj_type_ref.
6832 * tree.c (free_lang_data): Remove assignment to
6833 lang_hooks.fold_obj_type_ref.
6834 * tree.def (OBJ_TYPE_REF): Update comment.
6835
6836 2010-05-14 Richard Guenther <rguenther@suse.de>
6837
6838 PR tree-optimization/44124
6839 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
6840
6841 2010-05-14 Alan Modra <amodra@gmail.com>
6842
6843 PR target/44075
6844 * config/rs6000/rs6000.c (struct machine_function): Reorder
6845 fields for better packing. Add lr_save_state.
6846 (rs6000_ra_ever_killed): Return lr_save_state if set.
6847 (rs6000_emit_eh_reg_restore): Set lr_save_state.
6848
6849 2010-05-13 Jan Hubicka <jh@suse.cz>
6850
6851 * varpool.c (decide_is_variable_needed): Drop code checking
6852 TREE_SYMBOL_REFERENCED.
6853
6854 2010-05-13 Jan Hubicka <jh@suse.cz>
6855
6856 * final.c (output_addr_const): Do not call mark_decl_referenced.
6857 * cgraphunit.c (process_function_and_variable_attributes): Use
6858 mark_needed_node dirrectly.
6859 (assemble_thunk): Do not call mark_decl_referenced.
6860
6861 2010-05-13 Anatoly Sokolov <aesok@post.ru>
6862
6863 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
6864
6865 2010-05-13 Jeff Law <law@redhat.com>
6866
6867 * ira-conflicts.c (print_allocno_conflicts): New function broken out
6868 from...
6869 (print_conflicts): Call print_allocno_conflicts.
6870
6871 2010-05-13 Jakub Jelinek <jakub@redhat.com>
6872
6873 PR debug/44104
6874 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
6875 if it is NULL.
6876
6877 2010-05-13 Kai Tietz <kai.tietz@onevision.com>
6878
6879 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
6880 t-mingw-w64 or t-mingw-w32 for multilib configuration.
6881 * config/i386/t-mingw-w32: New.
6882 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
6883
6884 2010-05-13 Martin Jambor <mjambor@suse.cz>
6885
6886 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
6887 gimple-fold.c).
6888 * gimple-fold.c (get_base_binfo_for_type): New function.
6889 (gimple_get_relevant_ref_binfo): Likewise.
6890 (gimple_fold_obj_type_ref_known_binfo): Likewise.
6891 (gimple_fold_obj_type_ref): Likewise.
6892 (fold_gimple_call): Simplify condition for folding virtual calls
6893 and call gimple_fold_obj_type_ref.
6894 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
6895 (gimple_fold_obj_type_ref_known_binfo): Likewise.
6896
6897 2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
6898
6899 * config/rs6000/rs6000-protos.h
6900 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
6901 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
6902 (rs6000_debug_mode_dependent_address)
6903 (rs6000_mode_dependent_address_ptr): Likewise.
6904
6905 2010-05-13 Jakub Jelinek <jakub@redhat.com>
6906
6907 PR debug/43983
6908 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
6909 by SRA.
6910 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
6911 * tree-sra.c (create_access_replacement): Call unshare_expr before
6912 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
6913 * dwarf2out.c: Include tree-flow.h.
6914 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
6915 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
6916 Handle DW_OP_bit_piece.
6917 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
6918 construct_piece_list, adjust_piece_list): New functions.
6919 (add_var_loc_to_decl): Handle SRA optimized variables.
6920 Adjust for var_loc_note to loc field renaming.
6921 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
6922 in VAR_LOCATION note.
6923 (new_loc_descr_op_bit_piece): New function.
6924 (dw_sra_loc_expr): New function.
6925 (dw_loc_list): Use it. Don't handle the last range after the
6926 loop, handle it inside of the loop. Adjust for var_loc_note
6927 to loc field renaming.
6928 (add_location_or_const_value_attribute): Only special case
6929 single entry loc lists if loc is NOTE_P. Adjust for
6930 var_loc_note to loc field renaming.
6931 (dwarf2out_var_location): Don't set newloc->var_loc_note
6932 and newloc->next here.
6933
6934 2010-05-12 Jan Hubicka <jh@suse.cz>
6935
6936 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
6937 flag.
6938 * cgraph.h (cgraph_only_called_directly_p,
6939 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
6940 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
6941 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
6942 (assemble
6943 * ipa.c (cgraph_remove_unreachable_nodes): Use
6944 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
6945 flags.
6946 * tree-inline.c (copy_bb): Check address_taken flag.
6947 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
6948 externally_visible flag.
6949
6950 2010-05-12 Jason Merrill <jason@redhat.com>
6951
6952 PR bootstrap/44048
6953 PR target/44099
6954 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
6955 * sdbout.c (plain_type_1): Likewise.
6956 * dwarf2out.c (is_base_type): Likewise.
6957 (gen_type_die_with_usage): Likewise. Generate
6958 DW_TAG_unspecified_type for any LANG_TYPE.
6959
6960 2010-05-12 Jan Hubicka <jh@suse.cz>
6961
6962 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
6963 indrect edges too.
6964 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
6965 (cgraph_clone_edge): Update.
6966 (cgraph_node_remove_callees): Remove indirect calls too.
6967 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
6968 (cgraph_create_indirect_edge): Update prototype.
6969 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
6970 is_proper_for_analysis.
6971 (add_new_function, visited_nodes, function_insertion_hook_holder,
6972 get_local_reference_vars_info, mark_address_taken, mark_address,
6973 mark_load, mark_store, check_asm_memory_clobber, check_call,
6974 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
6975 (ipa_init): Do not initialize visited_nodes;
6976 function_insertion_hook_holder.
6977 (analyze_variable): Rewrite.
6978 (analyze_function): Rewrite.
6979 (copy_local_bitmap): Remove.
6980 (duplicate_node_dat): Do not duplicate local info.
6981 (generate_summary): Simplify to only walk cgraph.
6982 (write_node_summary_p, ipa_reference_write_summary,
6983 ipa_reference_read_summary): Remove.
6984 (propagate): Do not remove function insertion;
6985 generate summary.
6986 (pass_ipa_reference): NULLify summary handling fields.
6987 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
6988 (input_edge): Input ecf_flags.
6989 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
6990 (update_indirect_edges_after_inlining): Ignore edges with unknown
6991 param.
6992
6993 2010-05-12 Sriraman Tallam <tmsriram@google.com>
6994
6995 * implicit-zee.c: New file.
6996 * tree-pass.h (pass_implicit_zee): Declare.
6997 * passes.c (init_optimization_passes): Add zee pass.
6998 * common.opt (fzee): New flag.
6999 * timevar.def (TV_ZEE): Define.
7000 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
7001 and beyond.
7002 * Makefile.in (implicit-zee.o): Add new build file.
7003
7004 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
7005 Nathan Froyd <froydnj@codesourcery.com>
7006
7007 * c-common.c (sync_resolve_params): Remove write-only variable.
7008
7009 2010-05-12 Anatoly Sokolov <aesok@post.ru>
7010
7011 * target.h (struct gcc_target): Add mode_dependent_address_p field.
7012 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
7013 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
7014 * targhooks.c (default_mode_dependent_address_p): New function.
7015 * targhooks.h (default_mode_dependent_address_p): Declare function.
7016 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
7017 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
7018 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
7019 target hook. Change return type to bool.
7020 * recog.h (mode_dependent_address_p): Change return type to bool.
7021
7022 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
7023 Nathan Froyd <froydnj@codesourcery.com>
7024
7025 * tree-mudflap.c (build_function_type_0, build_function_type_1,
7026 build_function_type_2, build_function_type_3): Remove.
7027 (mudflap_init): Use build_function_type_list.
7028
7029 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
7030 Nathan Froyd <froydnj@codesourcery.com>
7031
7032 * coverage.c (build_fn_info_value): Call build_constructor instead of
7033 build_constructor_from_list.
7034 (build_ctr_info_value): Likewise.
7035 (build_gcov_info): Likewise.
7036
7037 2010-05-12 Nathan Froyd <froydnj@codesourcery.com>
7038
7039 * tree.c (build_constructor): Compute TREE_CONSTANT for the
7040 resultant constructor.
7041 (build_constructor_single): Don't set TREE_CONSTANT.
7042 (build_constructor_from_list): Don't compute TREE_CONSTANT.
7043
7044 2010-05-12 Jan Hubicka <jh@suse.cz>
7045
7046 * cgraph.h (struct varpool_node): Add aux.
7047 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
7048 * varpool.c (varpool_remove_node): Do not remove initializer.
7049 (varpool_reset_queue): Export.
7050 (varpool_finalize_decl): Volatile vars are forced to be output.
7051 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
7052 replaced decl.
7053 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
7054 process_references, varpool_can_remove_if_no_refs): New functions.
7055 (cgraph_remove_unreachable_nodes): Handle variables too.
7056
7057 2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
7058
7059 PR target/44088
7060 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
7061
7062 2010-05-12 Jakub Jelinek <jakub@redhat.com>
7063
7064 PR middle-end/44085
7065 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
7066 change value of ORT_TASK.
7067 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
7068 (omp_notice_threadprivate_variable): New function.
7069 (omp_notice_variable): Call it for threadprivate variables.
7070 If enclosing ctx is a task, print enclosing task rather than
7071 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
7072 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
7073 if task has untied clause.
7074
7075 PR debug/42278
7076 * dwarf2out.c (base_type_die): Don't add name attribute here.
7077 (modified_type_die): Instead of sizetype use
7078 its underlying original type. If a DW_TAG_base_type doesn't
7079 have name added, add __unknown__.
7080 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
7081 always call force_type_die instead.
7082
7083 2010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
7084
7085 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
7086 for __stack_chk_guard.
7087
7088 2010-05-11 Jakub Jelinek <jakub@redhat.com>
7089
7090 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
7091 don't call start_source_file debug hook here...
7092 (finish_options): ... but here, after outputting predefined and
7093 command line defines and undefs.
7094
7095 PR middle-end/44071
7096 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
7097 no fallthru edge.
7098 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
7099 optimizing away empty bb with no successors, move over its
7100 footer chain to fallthru predecessor.
7101 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
7102 (rtl_split_edge): For asm goto call patch_jump_insn even if
7103 splitting fallthru edge.
7104
7105 PR c++/44059
7106 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
7107 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
7108 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
7109 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
7110 on DW.ref.* decls.
7111
7112 PR c++/44062
7113 * c-parser.c (c_parser_expression): Mark LHS of a comma
7114 expression as read if it is a decl, handled component or
7115 COMPOUND_EXPR with that on the RHS.
7116 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
7117 if it is a decl or handled component.
7118
7119 2010-05-11 Jan Hubicka <jh@suse.cz>
7120
7121 * lto-symtab.c (lto_symtab_free): New function.
7122 * lto-streamer.h (lto_symtab_free): Declare.
7123
7124 2010-05-11 Jan Hubicka <jh@suse.cz>
7125
7126 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
7127 that if function is needed it is reachable.
7128 (lto_output_node): See if it the function is reachable or referenced.
7129 (output_cgraph): Update call of lto_output_node.
7130 * lto-streamer.h (reachable_from_other_partition_p): Declare.
7131
7132 2010-05-11 Jan Hubicka <jh@suse.cz>
7133
7134 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
7135 Mark as used.
7136
7137 2010-05-11 Jan Hubicka <jh@suse.cz>
7138
7139 PR tree-optimize/44063
7140 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
7141 queue.
7142 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
7143 limits.
7144 (estimate_function_body_sizes): Compute sizes even when disregarding.
7145
7146 2010-05-11 Kai Tietz <kai.tietz@onevision.com>
7147
7148 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
7149
7150 2010-05-11 Jan Hubicka <jh@suse.cz>
7151
7152 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
7153 into every boundary.
7154
7155 2010-05-11 Jan Hubicka <jh@suse.cz>
7156
7157 * matrix-reorg.c (matrix_reorg): Rebuild edges.
7158
7159 2010-05-11 Jan Hubicka <jh@suse.cz>
7160
7161 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
7162 lto_streamer_cache_delete): Put nodes into heap.
7163 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
7164 heap.
7165
7166 2010-05-11 Jan Hubicka <jh@suse.cz>
7167
7168 * cgraphbuild.c (cgraph_rebuild_references): New.
7169 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
7170 out extern inlines.
7171 * cgraph.h (cgraph_rebuild_references): Declare.
7172 * tree-inline.c (tree_function_versioning): Use it.
7173 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
7174
7175 2010-05-11 Jan Hubicka <jh@suse.cz>
7176
7177 * cgraph.c: Include ipa-utils.h
7178 (cgraph_create_virtual_clone): Update references.
7179 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
7180
7181 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
7182
7183 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
7184 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
7185 cache size.
7186
7187 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
7188
7189 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
7190
7191 2010-05-11 Jakub Jelinek <jakub@redhat.com>
7192
7193 * gcc.c (execute): For -### don't quote arguments that
7194 contain just alphanumerics and _/-. characters.
7195 * doc/invoke.texi: Document that change for -###.
7196
7197 PR debug/44023
7198 * df-problems.c (struct dead_debug): Add to_rescan field.
7199 (dead_debug_init): Clear to_rescan field.
7200 (dead_debug_finish): Rescan all debug insns in to_rescan
7201 bitmap and free the bitmap.
7202 (dead_debug_insert_before): Instead of rescanning debug insns
7203 immediately queue their rescanning until dead_debug_finish.
7204 (df_note_bb_compute): After dead_debug_add do continue instead
7205 of break.
7206
7207 2010-05-10 Jakub Jelinek <jakub@redhat.com>
7208
7209 PR debug/44028
7210 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
7211 clear also INSN_REG_USE_LIST.
7212
7213 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7214
7215 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
7216
7217 2010-05-10 Jan Hubicka <jh@suse.cz>
7218
7219 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
7220 commited change.
7221
7222 2010-05-10 Jan Hubicka <jh@suse.cz>
7223
7224 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
7225 Allocate encoders.
7226 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
7227 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
7228 (lto_streamer_cache_create): Init alloc pool.
7229 (lto_streamer_cache_delete): Free alloc pool.
7230 * lto-streamer.h: Include alloc pool.
7231 (lto_streamer_cache_d): Use alloc pool.
7232 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
7233
7234 2010-05-10 Jan Hubicka <jh@suse.cz>
7235
7236 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
7237 * cgraphbuild.c: Include except.h
7238 (record_type_list, record_eh_tables): New function.
7239 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
7240
7241 2010-05-10 Jan Hubicka <jh@suse.cz>
7242
7243 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
7244 __frame_dummy_init_array_entry, force_to_data): Attribute as used
7245 rather than unused.
7246
7247 2010-05-10 Michael Matz <matz@suse.de>
7248
7249 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
7250 (can_reassociate_p): Use FLOAT_TYPE_P.
7251 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
7252 (vect_force_simple_reduction): ... this.
7253 * tree-parloops.c (gather_scalar_reductions): Use
7254 vect_force_simple_reduction.
7255 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
7256 vect_is_simple_reduction, add modify argument, if true rewrite
7257 "a-b" into "a+(-b)".
7258 (vect_is_simple_reduction, vect_force_simple_reduction): New
7259 functions.
7260 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
7261
7262 2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
7263 Vladimir Makarov <vmakarov@redhat.com>
7264
7265 PR rtl-optimization/44012
7266 * ira-build.c (remove_unnecessary_allocnos): Nullify
7267 regno_allocno_map of the removed allocno.
7268
7269 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7270
7271 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
7272 to /dev/null.
7273 * configure: Regenerate.
7274
7275 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7276
7277 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
7278 unused.
7279 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
7280 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
7281 support in Sun ld.
7282 * configure: Regenerate.
7283
7284 2010-05-10 Richard Guenther <rguenther@suse.de>
7285
7286 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
7287 marked if the entry identifier is marked.
7288
7289 2010-05-10 Richard Guenther <rguenther@suse.de>
7290
7291 * c-common.c (struct c_common_attributes): Add fnspec attribute.
7292 (handle_fnspec_attribute): New function.
7293 * gimple.h (gimple_call_return_flags): Declare.
7294 (gimple_call_arg_flags): Likewise.
7295 * gimple.c (gimple_call_arg_flags): New function.
7296 (gimple_call_return_flags): Likewise.
7297 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
7298 New argument flags.
7299 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
7300 return value flags.
7301 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
7302 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
7303 main work to ...
7304 (make_heapvar_for): ... this new function.
7305 (handle_rhs_call): Handle fnspec attribute argument specifiers.
7306 (handle_lhs_call): Likewise.
7307 (find_func_aliases): Adjust.
7308
7309 2010-05-10 Richard Guenther <rguenther@suse.de>
7310
7311 PR tree-optimization/44050
7312 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
7313
7314 2010-05-10 Wei Guozhi <carrot@google.com>
7315
7316 PR target/42879
7317 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
7318
7319 2010-05-09 Joseph Myers <joseph@codesourcery.com>
7320
7321 PR c/10676
7322 * c-typeck.c (lookup_field): Take a type directly. Update
7323 recursive calls.
7324 (build_component_ref): Update call to lookup_field.
7325 (set_init_label): Use lookup_field to find initialized field.
7326 Handle returned list of fields like a sequence of designators.
7327
7328 2010-05-09 Richard Guenther <rguenther@suse.de>
7329
7330 PR middle-end/44024
7331 * fold-const.c (tree_single_nonzero_warnv_p): Properly
7332 handle &FUNCTION_DECL.
7333
7334 2010-05-09 Joseph Myers <joseph@codesourcery.com>
7335
7336 PR c/4784
7337 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
7338 structures and unions recursively.
7339 (detect_field_duplicates): Move duplicate detection with a hash to
7340 detect_field_duplicates_hash. Always use a hash if anonymous
7341 structures or unions are present.
7342 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
7343 give errors.
7344
7345 2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
7346
7347 PR target/44046
7348 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
7349 detect Atom, Core 2 and Core i7.
7350
7351 2010-05-09 Richard Guenther <rguenther@suse.de>
7352
7353 * gcc.c (store_arg): Handle temporary file deletion for
7354 joined arguments.
7355
7356 2010-05-09 Richard Guenther <rguenther@suse.de>
7357
7358 PR middle-end/44043
7359 * ipa-inline.c (estimate_function_body_sizes): Return after
7360 disregarding inline limits.
7361
7362 2010-05-09 Richard Guenther <rguenther@suse.de>
7363
7364 * gcc.c (store_arg): Revert last change.
7365
7366 2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
7367
7368 PR middle-end/28685
7369 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
7370 (optimize_ops_list): Call it.
7371
7372 2010-05-08 Richard Guenther <rguenther@suse.de>
7373
7374 PR tree-optimization/44030
7375 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
7376 NECESSARY flag if we propagate from a inserted expression.
7377
7378 2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
7379
7380 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
7381 domain types as equal if they are both PLACEHOLDER_EXPRs.
7382
7383 2010-05-08 Richard Guenther <rguenther@suse.de>
7384
7385 * lto-wrapper.c (run_gcc): Remove linker output from
7386 command line for LTRANS invocation.
7387
7388 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
7389
7390 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
7391 lto-macho as lto_binary_reader.
7392 * target.h (struct gcc_target): New hooks lto_start and lto_end.
7393 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
7394 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
7395 in lto_start and lto_end calls.
7396 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
7397 magic numbers.
7398 (scan_prog_file): Update is_elf_or_coff call.
7399 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
7400
7401 * collect2.c (main): Fix enum comparison.
7402
7403 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
7404 Add prototypes.
7405 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
7406 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
7407 and TARGET_ASM_LTO_END.
7408 * darwin.c: Include obstack.h and lto-streamer.h.
7409 (lto_section_names_offset, lto_section_names_obstack,
7410 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
7411 global variables.
7412 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
7413 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
7414 to a temporary file.
7415 (darwin_asm_lto_end): New function. Restore asm_out_file.
7416 (darwin_asm_named_section): For LTO sections, replace the name with
7417 the offset of the section name in a string table, and build this
7418 table.
7419 (darwin_file_start): Initialize global vars for LTO support.
7420 (darwin_file_end): If output to asm_out_file was redirected, append it
7421 to the proper asm_out_file here. Add the section names section.
7422
7423 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
7424
7425 * c-pragma.c (pending_weak_d, pending_weak): New.
7426 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
7427 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
7428 handle_pragma_weak): Update the uses of pending_weaks.
7429
7430 2010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7431
7432 PR documentation/44016
7433 * doc/standards.texi (Standards): Link to unversioned
7434 cxx0x_status.html page.
7435
7436 2010-05-07 Iain Sandoe <iains@gcc.gnu.org>
7437
7438 PR target/43708
7439 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
7440 in addition to TREE_USED, to avoid "set but unused" warnings.
7441
7442 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
7443
7444 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
7445 (is_loop_prefetching_profitable): Do not insert prefetches
7446 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
7447 times the prefetch ahead distance.
7448
7449 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
7450
7451 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
7452 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
7453 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
7454 the unroll_factor.
7455
7456 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
7457
7458 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
7459 a diagnostic info when the insn-to-mem ratio is too small.
7460
7461 2010-05-07 Richard Guenther <rguenther@suse.de>
7462
7463 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
7464 the linker plugin.
7465 (store_arg): Queue temp_filename for deletion instead of
7466 the whole argument.
7467
7468 2010-05-07 Richard Guenther <rguenther@suse.de>
7469
7470 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
7471 (run_gcc): Handle LTRANS phase invocation.
7472 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
7473
7474 2010-05-07 Jakub Jelinek <jakub@redhat.com>
7475
7476 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
7477 this is also meaningful on PARM_DECLs and RESULT_DECLs.
7478
7479 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7480
7481 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
7482
7483 2010-05-07 Richard Guenther <rguenther@suse.de>
7484
7485 PR tree-optimization/44020
7486 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
7487 code when PRE is not yet initialized.
7488
7489 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7490
7491 * config/mips/dbxmdebug.h: Remove.
7492 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
7493
7494 2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
7495
7496 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
7497 with null pointer and also warn about ordered comparison of zero with
7498 pointer if -Wextra.
7499
7500 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
7501
7502 * graphite-blocking.c
7503 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
7504 * graphite-clast-to-gimple.c
7505 (clast_to_gcc_expression): Same.
7506 (precision_for_value): Same.
7507 (precision_for_interval): Same.
7508 (gcc_type_for_interval): Same.
7509 (graphite_create_new_guard): Same.
7510 (compute_bounds_for_level): Same.
7511 (graphite_create_new_loop_guard): Same.
7512 * graphite-interchange.c
7513 (build_linearized_memory_access): Same.
7514 (pdr_stride_in_loop): Same.
7515 (memory_strides_in_loop_1): Same.
7516 (memory_strides_in_loop): Same.
7517 (extend_scattering): Same.
7518 (psct_scattering_dim_for_loop_depth): Same.
7519 (pbb_number_of_iterations): Same.
7520 * graphite-poly.h
7521 (debug_iteration_domains): Same.
7522 * graphite-ppl.c
7523 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
7524 (ppl_set_inhomogeneous_gmp): Same.
7525 (ppl_strip_loop): Same.
7526 (ppl_lexico_compare_linear_expressions): Same.
7527 (ppl_read_polyhedron_matrix): Same.
7528 (ppl_max_for_le_pointset): Same.
7529 * graphite-ppl.h
7530 (ppl_read_polyhedron_matrix): Same.
7531 (tree_int_to_gmp): Same.
7532 (gmp_cst_to_tree): Same.
7533 (ppl_set_inhomogeneous): Same.
7534 (ppl_set_inhomogeneous_tree): Same.
7535 (ppl_set_coef): Same.
7536 (ppl_set_coef_tree): Same.
7537 * graphite-sese-to-poly.c
7538 (build_pbb_scattering_polyhedrons): Same.
7539 (build_scop_scattering): Same.
7540 (scan_tree_for_params_right_scev): Same.
7541 (scan_tree_for_params): Same.
7542 (find_params_in_bb): Same.
7543 (find_scop_parameters): Same.
7544 (add_upper_bounds_from_estimated_nit): Same.
7545 (build_loop_iteration_domains): Same.
7546 (add_condition_to_domain): Same.
7547 (pdr_add_memory_accesses): Same.
7548
7549 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
7550
7551 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
7552 CLooG's value_* macros to their respective mpz_* counterparts.
7553 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
7554 (graphite_create_new_loop_guard): Same.
7555 * graphite-interchange.c (build_linearized_memory_access): Same.
7556 (pdr_stride_in_loop): Same.
7557 (memory_strides_in_loop_1): Same.
7558 (1st_interchange_profitable_p): Same.
7559 * graphite-poly.c (extend_scattering): Same.
7560 (psct_scattering_dim_for_loop_depth): Same.
7561 (pbb_number_of_iterations): Same.
7562 (pbb_number_of_iterations_at_time): Same.
7563 * graphite-poly.h (new_1st_loop): Same.
7564 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
7565 (oppose_constraint): Same.
7566 (insert_constraint_into_matrix): Same.
7567 (ppl_set_inhomogeneous_gmp): Same.
7568 (ppl_set_coef_gmp): Same.
7569 (ppl_strip_loop): Same.
7570 (ppl_lexico_compare_linear_expressions): Same.
7571 (ppl_max_for_le_pointset): Same.
7572 (ppl_min_for_le_pointset): Same.
7573 (ppl_build_realtion): Same.
7574 * graphite-ppl.h (gmp_cst_to_tree): Same.
7575 (ppl_set_inhomogeneous): Same.
7576 (ppl_set_inhomogeneous_tree): Same.
7577 (ppl_set_coef): Same.
7578 (ppl_set_coef_tree): Same.
7579 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
7580 (build_scop_scattering): Same.
7581 (add_value_to_dim): Same.
7582 (scan_tree_for_params_right_scev): Same.
7583 (scan_tree_for_params_int): Same.
7584 (scan_tree_for_params): Same.
7585 (find_params_in_bb): Same.
7586 (find_scop_parameters): Same.
7587 (add_upper_bounds_from_estimated_nit): Same.
7588 (build_loop_iteration_domains): Same.
7589 (create_linear_expr_from_tree): Same.
7590 (add_condition_to_domain): Same.
7591 (pdr_add_memory_accesses): Same.
7592
7593 2010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
7594 Jason Merrill <jason@redhat.com>
7595
7596 * c-common.c (c_common_reswords): Add nullptr.
7597 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
7598 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
7599 (gen_type_die_with_usage): Likewise.
7600 * dbxout.c (dbxout_type): Likewise.
7601 * sdbout.c (plain_type_1): Likewise.
7602
7603 2010-05-06 Jason Merrill <jason@redhat.com>
7604
7605 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
7606 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
7607 ret appropriately.
7608 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
7609
7610 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
7611 stripping WITH_SIZE_EXPR.
7612 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
7613 change.
7614
7615 2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7616
7617 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
7618 list of obsolete configurations.
7619 Disabled check for obsolete configurations.
7620 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
7621 Removed support for previous versions.
7622 * config/mips/iris.h: Removed.
7623 * config/mips/iris5.h: Removed.
7624 * config/mips/iris6.h: Merged old iris.h contents.
7625 (TARGET_IRIX): Removed.
7626 (DRIVER_SELF_SPECS): Removed mabi=32.
7627 (IDENT_ASM_OP): Removed undef.
7628 (STARTFILE_SPEC): Removed mabi=32.
7629 (ENDFILE_SPEC): Likewise.
7630 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
7631 (MACHINE_TYPE): Update for IRIX 6.5.
7632 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
7633 TARGET_IRIX by TARGET_IRIX6.
7634 (mips_file_start): Likewise.
7635 (mips_output_external): Remove IRIX 5/6 O32 support.
7636 (mips_output_function_prologue): Likewise.
7637 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
7638 TARGET_IRIX6.
7639 (TARGET_CPU_CPP_BUILTINS): Likewise.
7640 (TARGET_IRIX): Removed.
7641 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
7642 (MULTILIB_DIRNAMES): Removed 32.
7643 (MULTILIB_OSDIRNAMES): Removed ../lib.
7644 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
7645 (Specific, mips-sgi-irix5): Document removal.
7646 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
7647 Remove references to older IRIX 6 releases and the O32 ABI.
7648
7649 2010-05-06 Jakub Jelinek <jakub@redhat.com>
7650
7651 PR bootstrap/43994
7652 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
7653 instead of DF_REF_REAL_REG.
7654
7655 2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
7656
7657 PR target/43888
7658 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
7659 handling to still return true for x64 targets.
7660
7661 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
7662
7663 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
7664
7665 2010-05-06 Jan Hubicka <jh@suse.cz>
7666
7667 PR tree-optimization/43791
7668 * ipa-inline.c (update_caller_keys): Remove bogus
7669 disregard_inline_limits check.
7670
7671 2010-05-06 Michael Matz <matz@suse.de>
7672
7673 PR tree-optimization/43984
7674 * tree-ssa-pre.c (inserted_phi_names): Remove.
7675 (inserted_exprs): Change to bitmap.
7676 (create_expression_by_pieces): Set bits, don't append to vector.
7677 (insert_into_preds_of_block): Don't handle inserted_phi_names.
7678 (eliminate): Don't look at inserted_phi_names, remove deleted
7679 insns from inserted_exprs.
7680 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
7681 (init_pre, fini_pre): Allocate and free bitmaps.
7682 (execute_pre): Insert insns on edges before elimination.
7683
7684 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
7685
7686 * tree.c (initializer_zerop): Handle STRING_CST.
7687
7688 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
7689
7690 PR 40989
7691 * doc/invoke.texi (Wimplicit): Document as C only.
7692 * opts.c (common_handle_option): Add argument kind.
7693 (handle_option): Rename as read_cmdline_option. Factor out code to...
7694 (handle_option): ... here. New.
7695 (handle_options): Rename as read_cmdline_options.
7696 (decode_options): Update call.
7697 (set_option): Use option index instead of option pointer. Classify
7698 diagnostics correctly.
7699 (enable_warning_as_error): Call handle_option.
7700 * opts.h (set_option): Update declaration.
7701 (handle_option): Declare.
7702 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
7703 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
7704 * c-opts.c (set_Wimplicit): Delete.
7705 (c_family_lang_mask): New static constant.
7706 (c_common_handle_option): Add argument kind. Use handle_option
7707 instead of set_Wimplicit.
7708 (c_common_post_options): warn_implicit and warn_implicit_int
7709 are disabled by default.
7710 * c-common.c (warn_implicit): Do not define here.
7711 * c-common.h (warn_implicit): Do not declare here.
7712 (c_common_handle_option): Update declaration.
7713 * lto-opts.c (lto_reissue_options): Update call to set_option.
7714
7715 2010-05-06 Richard Guenther <rguenther@suse.de>
7716
7717 PR tree-optimization/43571
7718 * domwalk.c (walk_dominator_tree): Walk the dominator
7719 sons in more optimal order.
7720
7721 2010-05-06 Richard Guenther <rguenther@suse.de>
7722
7723 PR tree-optimization/43934
7724 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
7725 (stmt_cost): Likewise.
7726 (extract_true_false_args_from_phi): New helper.
7727 (determine_max_movement): For PHI nodes verify we can hoist them
7728 and compute their cost.
7729 (determine_invariantness_stmt): Handle PHI nodes.
7730 (move_computations_stmt): Likewise. Hoist PHI nodes in
7731 if-converted form using COND_EXPRs.
7732 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
7733 (tree_ssa_lim): Likewise.
7734 * tree-flow.h (tree_ssa_lim): Adjust prototype.
7735 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
7736
7737 2010-05-06 Richard Guenther <rguenther@suse.de>
7738
7739 PR tree-optimization/43987
7740 * tree-ssa-structalias.c (could_have_pointers): For possibly
7741 address-taken variables force pointers to be recorded.
7742 (create_variable_info_for_1): Likewise.
7743 (push_fields_onto_fieldstack): Pass in wheter all fields
7744 must have pointers.
7745 (find_func_aliases): Query types instead of vars whether
7746 they contain pointers where appropriate.
7747
7748 2010-05-06 Jan Hubicka <jh@suse.cz>
7749
7750 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
7751 (record_reference, mark_address, mark_load, mark_store): Record
7752 references.
7753 (record_references_in_initializer): Update call of record_references.
7754 (rebuild_cgraph_edges): Remove all references before rebuiding.
7755 * cgraph.c (cgraph_create_node): Clear ref list.
7756 (cgraph_remove_node): Remove references.
7757 (dump_cgraph_node): Dump references.
7758 (cgraph_clone_node): Clone references.
7759 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
7760 (struct cgraph_node, varpool_node): Add ref_lst.
7761 * ipa-ref.c: New file.
7762 * ipa-ref.h: New file.
7763 * ipa-ref-inline.h: New file.
7764 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
7765 (referenced_from_other_partition_p): New function.
7766 (lto_output_varpool_node): Take set arugment; call
7767 referenced_from_other_partition.
7768 (lto_output_ref): New.
7769 (add_references): New.
7770 (output_refs): New.
7771 (output_cgraph): Compute boundary based on references; output refs.
7772 (output_varpool): Accept cgraph_node_set argument.
7773 (input_ref): New.
7774 (input_refs): New.
7775 (input_cgraph): Call input_refs.
7776 * lto-section-in.c (lto_section_name): Add refs.
7777 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
7778 (ipa-ref.o): New file.
7779 * varpool.c (varpool_node): Clear ipa ref list.
7780 (varpool_remove_node): Remove references.
7781 (dump_varpool_node): Dump references.
7782 (varpool_assemble_decl): Only compile finalized ones.
7783 (varpool_extra_name_alias): Initialize ref list.
7784 * lto-streamer.c (lto-get_section_name): Add .refs section.
7785 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
7786 (referenced_from_other_partition_p): Declared.
7787
7788 2010-05-06 Ira Rosen <irar@il.ibm.com>
7789
7790 PR tree-optimization/43901
7791 * tree-vect-stmts.c (vectorizable_call): Assert that vector
7792 type is not NULL if it's transformation phase, and return
7793 FALSE if it's analysis.
7794 (vectorizable_conversion, vectorizable_operation,
7795 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
7796
7797 2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
7798
7799 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
7800 Delete.
7801 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
7802 New define.
7803 * config/mips/mips-protos.h
7804 (mips_small_register_classes_for_mode_p): Delete prototype.
7805
7806 2010-05-06 Bernd Schmidt <bernds@codesourcery.com>
7807
7808 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
7809 * config/arm/arm.c (multiple_operation_profitable_p,
7810 compute_offset_order): New static functions.
7811 (load_multiple_sequence, store_multiple_sequence): Use them.
7812 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
7813 memory offsets, not register numbers.
7814 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
7815
7816 2010-05-05 Steven Bosscher <steven@gcc.gnu.org>
7817
7818 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
7819 (get_pending_sizes, put_pending_size, put_pending_sizes):
7820 Update the uses of pending_sizes.
7821 * c-decl.c (store_parm_decls): Likewise.
7822 * c-tree.h (struct c_arg_info): Likewise.
7823 * tree.h: Update the prototype for get_pending_sizes and
7824 put_pending_sizes.
7825
7826 2010-05-05 Jason Merrill <jason@redhat.com>
7827
7828 PR debug/43370
7829 * c-common.c (handle_aligned_attribute): Respect
7830 ATTR_FLAG_TYPE_IN_PLACE.
7831
7832 PR testsuite/43758
7833 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
7834 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
7835 (TARGET_INITIALIZER): Use it.
7836 * c-common.c (attribute_takes_identifier_p): Call it.
7837 * c-common.h: Update prototype.
7838 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
7839 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
7840
7841 2010-05-05 Jakub Jelinek <jakub@redhat.com>
7842
7843 PR debug/43950
7844 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
7845 DW_ID_down_case for Fortran compilation units.
7846
7847 2010-05-05 Jan Hubicka <jh@suse.cz>
7848
7849 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
7850 handle aliases.
7851
7852 2010-05-05 Eric Botcazou <ebotcazou@adacore.com>
7853
7854 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
7855 a variable-sized RESULT_DECL.
7856
7857 2010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
7858
7859 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
7860
7861 2010-05-05 Jason Merrill <jason@redhat.com>
7862
7863 PR c++/43787
7864 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
7865 returns GS_OK.
7866 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
7867
7868 2010-05-05 Alexandre Oliva <aoliva@redhat.com>
7869 Jakub Jelinek <jakub@redhat.com>
7870
7871 PR debug/43478
7872 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
7873 (dead_debug_init, dead_debug_finish): New functions.
7874 (dead_debug_add, dead_debug_insert_before): Likewise.
7875 (df_note_bb_compute): Initialize a dead_debug object, add dead
7876 debug uses to it, insert debug bind insns before death insns,
7877 reset debug insns that refer to pending uses at the end.
7878 * rtl.h (make_debug_expr_from_rtl): New prototype.
7879 * varasm.c (make_debug_expr_from_rtl): New function.
7880
7881 2010-05-05 Jan Hubicka <jh@suse.cz>
7882
7883 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
7884 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
7885 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
7886 lto_varpool_encoder_deref, lto_varpool_encoder_size,
7887 lto_varpool_encoder_encode_initializer_p,
7888 lto_set_varpool_encoder_encode_initializer): New functions.
7889 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
7890 call output_varpool.
7891 (input_varpool_node): Do not always set analyzed.
7892 (input_cgraph_1): Return vector of cgraph nodes.
7893 (input_varpool_1): Return vector of varpools.
7894 (input_cgraph): Free the vectors.
7895 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
7896 output only initializers needed.
7897 (lto_output): Only call output_cgraph.
7898 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
7899 * lto-section-out.c (lto_new_out_decl_state): Initialize
7900 state->varpool_node_encoder.
7901 * lto-streamer.h (lto_varpool_encoder_d): New.
7902 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
7903 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
7904 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
7905 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
7906 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
7907 Declare.
7908 (output_varpool, input_varpool): Remove declarations.
7909
7910 2010-05-05 Jan Hubicka <jh@suse.cz>
7911
7912 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
7913 with body can prevail.
7914
7915 2010-05-05 Jan Hubicka <jh@suse.cz>
7916
7917 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
7918 size.
7919
7920 2010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7921
7922 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
7923
7924 * gengtype.h (erro_at_line): Constify pos argument.
7925
7926 * gengtype.c: Include hashtab.h.
7927 (enum gc_used): Document GC_MAYBE_POINTED_TO.
7928 (error_at_line): Constify pos argument.
7929 (do_typedef): Initialize p->opt field.
7930 (get_file_gtfilename): Fix comment typo.
7931 (struct walk_type_data): Constify line field.
7932 (get_output_file_for_structure): New function.
7933 (write_local_func_for_structure): Constify orig_s argument.
7934 Use get_output_file_for_structure.
7935 (write_func_for_structure): Use get_output_file_for_structure.
7936 (INDENT): New define.
7937 (dump_pair, dump_type, dump_type_list, dump_typekind)
7938 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
7939 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
7940 functions.
7941 (seen_types): New variable.
7942 (main): New variable do_dump. Process "-d" command line option.
7943 Call dump_everything if dump requested.
7944
7945 2010-05-05 Jakub Jelinek <jakub@redhat.com>
7946
7947 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
7948 in a temporary instead of invoking the macro multiple times.
7949 (track_expr_p): Likewise.
7950
7951 2010-05-04 Neil Vachharajani <nvachhar@google.com>
7952
7953 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
7954 per new semantics.
7955 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
7956 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
7957 conditions for printing notes.
7958 * common.opt (-Wcoverage-mismatch): Allow negative, default to
7959 true, update documentation.
7960 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
7961
7962 2010-05-04 Jakub Jelinek <jakub@redhat.com>
7963
7964 PR c/43981
7965 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
7966 on dimen.
7967
7968 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
7969
7970 PR target/43799
7971 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
7972 (*sse_prologue_save_insn1): Likewise.
7973 (SSE prologue save splitter): Likewise.
7974
7975 2010-05-04 Eric Botcazou <ebotcazou@adacore.com>
7976
7977 * tree.c (free_lang_data_in_one_sizepos): New inline function.
7978 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
7979 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
7980 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
7981 all decls. Call it on DECL_FIELD_OFFSET of fields.
7982 (find_decls_types_r): Follow DECL_VALUE_EXPR.
7983 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
7984
7985 2010-05-04 Martin Jambor <mjambor@suse.cz>
7986
7987 * tree-sra.c (build_access_from_expr_1): The first parameter type
7988 changed to simple tree.
7989 (build_access_from_expr): Likewise, gsi parameter was eliminated.
7990 (scan_assign_result): Renamed to assignment_mod_result, enum elements
7991 renamed as well.
7992 (build_accesses_from_assign): Removed all parameters except for a
7993 simple gimple statement. Now returns a simple bool.
7994 (scan_function): All non-analysis parts moved to separate functions
7995 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
7996 parameters and updated both callers.
7997 (sra_modify_expr): Removed parameter data.
7998 (sra_modify_function_body): New function.
7999 (perform_intra_sra): Call sra_modify_function_body to modify the
8000 function body.
8001 (replace_removed_params_ssa_names): Parameter data changed into
8002 adjustments vector.
8003 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
8004 changed the parameter dont_convert to convert with the opposite
8005 meaning.
8006 (sra_ipa_modify_assign): Parameter data changed into adjustments
8007 vector, return value changed to bool.
8008 (ipa_sra_modify_function_body): New function.
8009 (sra_ipa_reset_debug_stmts): Updated a comment.
8010 (modify_function): Use ipa_sra_modify_function_body to modify function
8011 body.
8012
8013 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
8014
8015 PR middle-end/43671
8016 * alias.c (true_dependence): Handle the same VALUE in x and mem.
8017 (canon_true_dependence): Likewise.
8018 (write_dependence_p): Likewise.
8019
8020 2010-05-04 Jan Hubicka <jh@suse.cz>
8021
8022 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
8023 * cgraphbuild.c: Include ipa-utils.h
8024 (record_reference_ctx): New struct.
8025 (record_reference): Simplify to work on initializers; not statements.
8026 (mark_address, mark_load, mark_store): New.
8027 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
8028 walk PHI nodes too.
8029 (record_references_in_initializer): Update use of record_reference.
8030 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
8031 walk PHI nodes too.
8032
8033 2010-05-04 Jan Hubicka <jh@suse.cz>
8034
8035 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
8036 node will be removed anyway.
8037 (lto_varpool_replace_node): Allow also unanalyzed nodes;
8038 relink aliases of node into prevailing node.
8039 * varpool.c (varpool_remove_node): Remove aliases properly;
8040 when removing node, remove all its aliases too; remove DECL_INITIAL
8041 of removed node; ggc_free the varpool node.
8042
8043 2010-05-04 Richard Guenther <rguenther@suse.de>
8044
8045 PR tree-optimization/43879
8046 * tree-ssa-structalias.c (alias_get_name): Use
8047 DECL_ASSEMBLER_NAME if available.
8048 (create_function_info_for): Return the varinfo node.
8049 (ipa_pta_execute): Associate same-body aliases and extra names
8050 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
8051
8052 2010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
8053
8054 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
8055
8056 2010-05-04 Mikael Pettersson <mikpe@it.uu.se>
8057
8058 PR bootstrap/43964
8059 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
8060 only if HONOR_REG_ALLOC_ORDER is not defined.
8061
8062 2010-05-04 Richard Guenther <rguenther@suse.de>
8063
8064 PR tree-optimization/43949
8065 * tree-vrp.c (extract_range_from_binary_expr): Only handle
8066 TRUNC_MOD_EXPR.
8067
8068 2010-04-26 Jason Merrill <jason@redhat.com>
8069
8070 * c.opt (-fstrict-enums): New.
8071 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
8072
8073 2010-05-03 David Ung <davidu@mips.com>
8074 James E. Wilson <wilson@codesourcery.com>
8075
8076 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
8077 emit the trap instruction before the divide for TUNE_74K.
8078
8079 2010-05-03 Steven Bosscher <steven@gcc.gnu.org>
8080
8081 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
8082 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
8083 based on the above, for new target hook.
8084
8085 * hooks.c (hook_bool_mode_true): New generic hook.
8086 * hooks.h (hook_bool_mode_true): Add prototype.
8087
8088 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
8089 target hook.
8090 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
8091 target hook, set to hook_bool_mode_false.
8092 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
8093 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
8094 with targetm.small_register_classes_for_mode_p.
8095 (find_reusable_reload): Likewise.
8096 (combine_reloads): Likewise.
8097 * reload1.c (reload_as_needed): Likewise.
8098 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
8099 * ifcvt.c (noce_process_if_block, check_cond_move_block,
8100 dead_or_predicable): Likewise.
8101 * regmove.c (optimize_reg_copy_1): Likewise.
8102 * calls.c (prepare_call_address): Likewise.
8103 (precompute_register_parameters): Likewise.
8104
8105 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
8106 hook definition.
8107 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
8108 implementation of the hook that considers all register classes
8109 small except for SH64.
8110 (sh_override_options): Use the new hook.
8111 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
8112 Add prototype.
8113
8114 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
8115 hook definition.
8116 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
8117 implementation of the hook that considers all register classes
8118 small for THUMB1.
8119 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
8120 Add prototype.
8121
8122 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
8123 hook definition.
8124 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
8125 implementation of the hook that considers all register classes
8126 small for MIPS16.
8127 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
8128 Add prototype.
8129
8130 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
8131 hook definition.
8132 * config/m32c/m32c.h: Likewise.
8133 * config/pdp11/pdp11.h: Likewise.
8134 * config/avr/avr.h: Likewise.
8135 * config/xtensa/xtensa.h: Likewise.
8136 * config/m68hc11/m68hc11.h: Likewise.
8137 * config/mn10300/mn10300.h: Likewise.
8138 * config/mcore/mcore.h: Likewise.
8139 * config/h8300/h8300.h: Likewise.
8140 * config/bfin/bfin.h: Likewise.
8141
8142 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
8143 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
8144
8145 2010-05-03 Anatoly Sokolov <aesok@post.ru>
8146
8147 * double-int.h (tree_to_double_int): Remove macro.
8148 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
8149 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
8150 (tree_to_double_int): New function.
8151 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
8152 Move ...
8153 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
8154
8155 2010-05-03 Richard Guenther <rguenther@suse.de>
8156
8157 PR tree-optimization/43971
8158 * tree-ssa-structalias.c (get_constraint_for_1): Fix
8159 constraints in the !flag_delete_null_pointer_checks case.
8160
8161 2010-05-03 Jakub Jelinek <jakub@redhat.com>
8162
8163 PR debug/43972
8164 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
8165 result mode matches original rtl mode.
8166
8167 2010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
8168
8169 PR target/43888
8170 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
8171
8172 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
8173
8174 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
8175 when processing flag options.
8176
8177 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
8178
8179 * gcov-iov.c (main): Change format string placeholder
8180 from %#08x to 0x%08x.
8181 * genchecksum.c (dosum): Change format string placeholder
8182 from %#02x to 0x%02x.
8183
8184 2010-05-02 Richard Guenther <rguenther@suse.de>
8185
8186 PR tree-optimization/43879
8187 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
8188
8189 2010-05-02 Bruno Haible <bruno@clisp.org>
8190
8191 * doc/extend.texi (Function Attributes): Fix a typo.
8192
8193 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
8194
8195 Revert:
8196 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
8197 placeholder from 0x%x to %#x.
8198 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
8199 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
8200 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
8201 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
8202 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
8203 * config/i386/i386.c (ix86_target_string): Ditto.
8204 * config/i386/i386.c (output_pic_addr_const): Ditto.
8205 (print_operand): Ditto.
8206
8207 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
8208
8209 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
8210 placeholder from 0x%x to %#x.
8211 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
8212 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
8213 (ASM_OUTPUT_DEBUG_DATA): Ditto.
8214 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
8215 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
8216 * optc-gen.awk: Ditto.
8217 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
8218 (HOST_WIDE_INT_PRINT_HEX): Ditto.
8219 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
8220 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
8221
8222 2010-05-01 Anatoly Sokolov <aesok@post.ru>
8223
8224 * target.h (struct calls): Add function_value_regno_p field.
8225 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
8226 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
8227 * targhooks.c (default_function_value_regno_p): New function.
8228 * targhooks.h (default_function_value_regno_p): Declare function.
8229 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
8230 * builtins.c. (apply_result_size): (Ditto.).
8231 * combine.c. (likely_spilled_retval_p): (Ditto.).
8232 * mode-switching.c. Include 'target.h'.
8233 (create_pre_exit): Use function_value_regno_p hook.
8234 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
8235 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
8236 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
8237
8238 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
8239 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
8240 (ix86_function_value_regno_p): Declare as static, change argument
8241 type to const unsigned int.
8242 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
8243
8244 2010-05-01 Richard Guenther <rguenther@suse.de>
8245
8246 PR tree-optimization/43949
8247 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
8248 types.
8249 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
8250
8251 2010-05-01 Anatoly Sokolov <aesok@post.ru>
8252
8253 * rtl.h (CONST_DOUBLE_P): Define.
8254 (rtx_to_double_int): Declare.
8255 * emit-rtl.c (rtx_to_double_int): New function.
8256 * dwarf2out.c (insert_double): New function.
8257 (loc_descriptor, add_const_value_attribute): Clean up, use
8258 rtx_to_double_int and insert_double functions.
8259
8260 2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
8261
8262 * doc/extend.texi (Inline): Add missing return keyword to examples.
8263 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
8264 "command-line".
8265
8266 2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
8267
8268 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
8269 the variable part of the offset as well. Use highest_pow2_factor for
8270 all alignment checks.
8271
8272 2010-04-30 Richard Guenther <rguenther@suse.de>
8273
8274 PR tree-optimization/43879
8275 * tree-ssa-structalias.c (type_could_have_pointers): Functions
8276 can have pointers.
8277
8278 2010-04-30 Jan Hubicka <jh@suse.cz>
8279
8280 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
8281 varpool.
8282 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
8283
8284 2010-04-30 Jan Hubicka <jh@suse.cz>
8285
8286 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
8287 New.
8288 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
8289 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
8290 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
8291 cgraph_node_set_needs_ltrans_p): Remove.
8292
8293 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
8294
8295 * sdbout.c: Include vec.h, do not include varray.h.
8296 (deferred_global_decls, sdbout_global_decl,
8297 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
8298 * toplev.c: Do not include varray.h.
8299 (dump_memory_report): Do not dump VARRAY statistics.
8300 * gengtype.c (open_base_file): Ignore varray.h.
8301 * Makefile.in: Update for abovementioned changes.
8302 Remove all traces of varray.c and varray.h.
8303 * varray.c: Remove file.
8304 * varray.h: Remove file.
8305
8306 2010-04-30 Jan Hubicka <jh@suse.cz>
8307
8308 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
8309 references.
8310
8311 2010-04-30 Jan Hubicka <jh@suse.cz>
8312
8313 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
8314 needed.
8315
8316 2010-04-30 Richard Guenther <rguenther@suse.de>
8317
8318 * tree-ssa-structalias.c (get_constraint_for_1): Generate
8319 constraints for CONSTRUCTOR.
8320
8321 2010-04-30 Richard Guenther <rguenther@suse.de>
8322
8323 PR lto/43946
8324 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
8325 first after all lowering passes.
8326
8327 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
8328
8329 * toplev.c: Include varray.h for statistics dumping.
8330 * tree.h: Do not declare varray_head_tag.
8331 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
8332 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
8333 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
8334 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
8335 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
8336 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
8337 c-common.c, c-common.h, reg-stack.c, basic-block.h,
8338 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
8339 include varray.h.
8340 * Makefile.in: Update for abovementioned changes.
8341
8342 2010-04-30 Jakub Jelinek <jakub@redhat.com>
8343
8344 PR debug/43942
8345 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
8346
8347 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
8348
8349 * config/picochip/picochip.c (picochip_legitimize_address): Define.
8350 Use this function to do machine-specific conversion.
8351 (picochip_legitimize_reload_address): Likewise.
8352 (picochip_legitimate_address_p): Check valid base register only if
8353 strict.
8354 (picochip_check_conditional_copy): Check for modw only if opnd is
8355 register.
8356 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
8357 to call the function in c.
8358 * config/picochip/picochip-protos.h
8359 (picochip_legitimize_reload_address): Define.
8360 * config/picochip/picochip.md (supported_compare1): Define.
8361
8362 2010-04-30 Jan Hubicka <jh@suse.cz>
8363
8364 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
8365 (cgraph_global_info): Remove inlined.
8366 (LTO_cgraph_tag_names): Remove.
8367 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
8368 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
8369 simplify cgraph tags and document.
8370 (lto_output_node): Use only LTO_cgraph_unavail_node and
8371 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
8372 for_functions_valid, global info, process and output flags.
8373 (input_overwrite_node): Initialize estimated stack size and
8374 estimated growth. Do not read flags we no longer store.
8375 (input_node): Likewise do not read info no longer stored.
8376 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
8377 flag.
8378
8379 2010-04-30 Richard Guenther <rguenther@suse.de>
8380
8381 PR tree-optimization/43879
8382 * tree-ssa-structalias.c (get_constraint_for_1): Properly
8383 handle non-zero initializers.
8384
8385 2010-04-30 Richard Guenther <rguenther@suse.de>
8386
8387 * builtins.c (fold_builtin_1): Delete free (0).
8388
8389 2010-04-29 Jan Hubicka <jh@suse.cz>
8390
8391 * gengtype.c (open_base_files): Add lto-streamer.h
8392 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
8393 (pass_ipa_cp): GGC collect.
8394 * toplev. (compile_file): Do not output symbols.
8395 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
8396 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
8397 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
8398 * lto-section-in.c: Include ggc.h
8399 (lto_new_in_decl_state): Alloc in GGC.
8400 (lto_delete_in_decl_state): Likewise.
8401 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
8402 Collect.
8403
8404 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
8405
8406 PR target/42895
8407 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
8408 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
8409 (HONOR_REG_ALLOC_ORDER): Describe new macro.
8410 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
8411 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
8412 account only if HONOR_REG_ALLOC_ORDER is not defined.
8413 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
8414 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
8415
8416 2010-04-29 Jon Grant <04@jguk.org>
8417
8418 * collect2.c (vflag): Change type from int to bool.
8419 (debug): Likewise.
8420 (helpflag): New global bool.
8421 (main): Set vflag and debug with boolean, not integer truth values.
8422 Accept new "--help" option and output usage text if found.
8423 * collect2.h (vflag): Update prototype.
8424 (debug): Likewise.
8425
8426 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
8427
8428 PR bootstrap/43936
8429 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
8430
8431 2010-04-29 Richard Guenther <rguenther@suse.de>
8432
8433 PR bootstrap/43935
8434 * plugin.h (invoke_plugin_callbacks): Annotate arguments
8435 with ATTRIBUTE_UNUSED.
8436
8437 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
8438
8439 PR target/43921
8440 * config/i386/i386.c (get_some_local_dynamic_name): Replace
8441 INSN_P with NONDEBUG_INSN_P.
8442 (distance_non_agu_define): Likewise.
8443 (distance_agu_use): Likewise.
8444
8445 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
8446
8447 From Dominique d'Humieres <dominiq@lps.ens.fr>
8448 PR bootstrap/43858
8449 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
8450 test_set.
8451
8452 2010-04-29 Brian Hackett <bhackett1024@gmail.com>
8453
8454 * plugin.h (invoke_plugin_callbacks): New inline function.
8455 * plugin.c (flag_plugin_added): New global flag.
8456 (add_new_plugin): Initialize above flag.
8457 (invoke_plugin_callbacks): Rename to ...
8458 (invoke_plugin_callbacks_full): ... this.
8459
8460 2010-04-28 Jan Hubicka <jh@suse.cz>
8461
8462 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
8463 (lto_varpool_replace_node): New.
8464 (lto_symtab_resolve_symbols): Resolve varpool nodes.
8465 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
8466 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
8467 * cgraph.h (varpool_node_ptr): New type.
8468 (varpool_node_ptr): New vector.
8469 (varpool_node_set_def): New structure.
8470 (varpool_node_set): New type.
8471 (varpool_node_set): New vector.
8472 (varpool_node_set_element_def): New structure.
8473 (varpool_node_set_element, const_varpool_node_set_element): New types.
8474 (varpool_node_set_iterator): New type.
8475 (varpool_node): Add prev pointers, add used_from_other_partition,
8476 in_other_partition.
8477 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
8478 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
8479 varpool_get_node, varpool_remove_node): Declare.
8480 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
8481 varpool_node_set_size): New inlines.
8482 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
8483 * tree-pass.h (varpool_node_set_def): Forward declare.
8484 (ipa_opt_pass_d): Summary writting takes vnode sets too.
8485 (ipa_write_optimization_summaries): Update prototype.
8486 * ipa-cp.c (ipcp_write_summary): Update.
8487 * ipa-reference.c (ipa_reference_write_summary): Update.
8488 * lto-cgraph.c (lto_output_varpool_node): New static function.
8489 (output_varpool): New function.
8490 (input_varpool_node): New static function.
8491 (input_varpool_1): New function.
8492 (input_cgraph): Input varpool.
8493 * ipa-pure-const.c (pure_const_write_summary): Update.
8494 * lto-streamer-out.c (lto_output): Update, output varpool too.
8495 (write_global_stream): Kill WPA hack.
8496 (produce_asm_for_decls): Update.
8497 (output_alias_pair_p): Handle variables.
8498 (output_unreferenced_globals): Output only needed partition of varpool.
8499 * ipa-inline.c (inline_write_summary): Update.
8500 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
8501 cgraph.
8502 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
8503 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
8504 varpool_node_set_new, varpool_node_set_add,
8505 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
8506 debug_varpool_node_set): New functions.
8507 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
8508 (execute_one_pass): Process new decls too.
8509 (ipa_write_summaries_2): Pass around vsets.
8510 (ipa_write_summaries_1): Likewise.
8511 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
8512 to add.
8513 (ipa_write_optimization_summaries_1): Pass around vsets.
8514 (ipa_write_optimization_summaries): Likewise.
8515 * varpool.c (varpool_get_node): New.
8516 (varpool_node): Update doubly linked lists.
8517 (varpool_remove_node): New.
8518 (dump_varpool_node): More dumping.
8519 (varpool_enqueue_needed_node): Update doubly linked lists.
8520 (decide_is_variable_needed): Kill ltrans hack.
8521 (varpool_finalize_decl): Kill lto hack.
8522 (varpool_assemble_decl): Skip decls in other partitions.
8523 (varpool_assemble_pending_decls): Update doubly linkes lists.
8524 (varpool_empty_needed_queue): Likewise.
8525 (varpool_extra_name_alias): Likewise.
8526 * lto-streamer.c (lto_get_section_name): Add vars section.
8527 * lto-streamer.h (lto_section_type): Update.
8528 (output_varpool, input_varpool): Declare.
8529
8530 2010-04-28 Mike Stump <mikestump@comcast.net>
8531
8532 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
8533
8534 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
8535
8536 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
8537 record or union type with RECORD_OR_UNION_TYPE_P predicate.
8538 (lto_input_ts_type_tree_pointers): Likewise.
8539 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
8540 (lto_output_ts_type_tree_pointers): Likewise.
8541
8542 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
8543
8544 Uniquization of constants at the Tree level
8545 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
8546 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
8547 bit to the end.
8548 (tree_output_constant_def): Declare.
8549 * gimplify.c (gimplify_init_constructor): When using block copy, first
8550 uniquize the constant constructor on the RHS.
8551 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
8552 DECL_IN_CONSTANT_POOL flag.
8553 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
8554 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
8555 constant pool.
8556 (assemble_variable): Deal with symbols belonging to the tree constant
8557 pool.
8558 (get_constant_section): Add ALIGN parameter and simplify.
8559 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
8560 (assemble_constant_contents): Use the expression of the VAR_DECL.
8561 (output_constant_def_contents): Use the alignment of the VAR_DECL.
8562 (tree_output_constant_def): New global function.
8563 (mark_constant): Use the expression of the VAR_DECL.
8564 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
8565 its expression.
8566 (output_object_block): Likewise and assemble the expression.
8567
8568 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
8569
8570 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
8571 hash_tree, eq_tree): New tree hash table.
8572 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
8573 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
8574 lto_orig_address_remove): Reimplement.
8575
8576 2010-04-28 Xinliang David Li <davidxl@google.com>
8577
8578 PR c/42643
8579 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
8580 (compute_uninit_opnds_pos): New function.
8581 (is_non_loop_exit_postdominating): New function.
8582 (compute_control_dep_chain): New function.
8583 (find_pdom): New function.
8584 (convert_control_dep_chain_into_preds): New function.
8585 (find_predicates): New function.
8586 (find_control_equiv_block): New function.
8587 (collect_phi_def_edges): New function.
8588 (find_def_preds): New function.
8589 (find_dom): New function.
8590 (dump_predicates): New function.
8591 (get_cmp_code): New function.
8592 (is_value_included_in): New function.
8593 (find_matching_predicate_in_rest_chains): New function.
8594 (use_pred_not_overlap_with_undef_path_pred): New function.
8595 (is_use_properly_guarded): New function.
8596 (normalize_cond_1): New function.
8597 (is_and_or_or): New function.
8598 (normalize_cond): New function.
8599 (is_gcond_subset_of): New function.
8600 (is_subset_of_any): New function.
8601 (is_or_set_subset_of): New function.
8602 (is_and_set_subset_of): New function.
8603 (is_norm_cond_subset_of): New function.
8604 (is_pred_expr_subset_of): New function.
8605 (is_pred_chain_subset_of): New function.
8606 (is_included_in): New function.
8607 (is_superset_of): New function.
8608 (find_uninit_use): New function.
8609 (warn_uninitialized_phi): New function.
8610 (compute_possibly_undefined_names): New function.
8611 (ssa_undefined_value_p): New function.
8612 (execute_late_warn_uninitialized): New function.
8613 * tree-ssa.c (ssa_undefined_value_p): Removed.
8614 (warn_uninit): Changed to extern.
8615 (warn_uninitialized_phi): Removed.
8616 (warn_uninitialized_vars): Changed to extern.
8617 (execute_late_warn_uninitialized): Removed
8618 * tree-flow.h: Add new prototypes.
8619 * timevar.def: Add new time variable.
8620 * Makefile.in: Add new build file.
8621
8622 2010-04-28 Uros Bizjak <ubizjak@gmail.com>
8623
8624 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
8625 type if available.
8626
8627 2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8628
8629 PR target/22224
8630 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
8631
8632 2010-04-28 Martin Jambor <mjambor@suse.cz>
8633
8634 * cgraph.h (struct cgraph_node): New field indirect_calls.
8635 (struct cgraph_indirect_call_info): New type.
8636 (struct cgraph_edge): Removed field indirect_call. New fields
8637 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
8638 (cgraph_create_indirect_edge): Declare.
8639 (cgraph_make_edge_direct): Likewise.
8640 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
8641 * ipa-prop.h (struct ipa_param_call_note): Removed.
8642 (struct ipa_node_params): Removed field param_calls.
8643 (ipa_create_all_structures_for_iinln): Declare.
8644 * cgraph.c: Described indirect edges and uids in initial comment.
8645 (cgraph_add_edge_to_call_site_hash): New function.
8646 (cgraph_edge): Search also among the indirect edges, use
8647 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
8648 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
8649 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
8650 site hash.
8651 (initialize_inline_failed): Assign a reason to indirect edges.
8652 (cgraph_create_edge_1): New function.
8653 (cgraph_create_edge): Moved some functionality to
8654 cgraph_create_edge_1.
8655 (cgraph_create_indirect_edge): New function.
8656 (cgraph_edge_remove_callee): Add an assert checking for
8657 non-indirectness.
8658 (cgraph_edge_remove_caller): Special-case indirect edges.
8659 (cgraph_remove_edge): Likewise.
8660 (cgraph_set_edge_callee): New function.
8661 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
8662 (cgraph_make_edge_direct): New function.
8663 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
8664 the declaration of the call statement matches.
8665 (cgraph_node_remove_callees): Special-case indirect edges.
8666 (cgraph_clone_edge): Likewise.
8667 (cgraph_clone_node): Clone also the indirect edges.
8668 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
8669 indirect_call, dump count of indirect_calls edges.
8670 * ipa-prop.c (iinlining_processed_edges): New variable.
8671 (ipa_note_param_call): Create indirect edges instead of
8672 creating notes. New parameter node.
8673 (ipa_analyze_call_uses): New parameter node, pass it on to
8674 ipa_note_param_call.
8675 (ipa_analyze_stmt_uses): Likewise.
8676 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
8677 (print_edge_addition_message): Work on edges rather than on notes.
8678 (update_call_notes_after_inlining): Likewise, renamed to
8679 update_indirect_edges_after_inlining.
8680 (ipa_create_all_structures_for_iinln): New function.
8681 (ipa_free_node_params_substructures): Do not free notes.
8682 (ipa_edge_duplication_hook): Propagate bits within
8683 iinlining_processed_edges bitmap.
8684 (ipa_node_duplication_hook): Do not duplicate notes.
8685 (free_all_ipa_structures_after_ipa_cp): Renamed to
8686 ipa_free_all_structures_after_ipa_cp.
8687 (free_all_ipa_structures_after_iinln): Renamed to
8688 ipa_free_all_structures_after_iinln.
8689 (ipa_write_param_call_note): Removed.
8690 (ipa_read_param_call_note): Removed.
8691 (ipa_write_indirect_edge_info): New function.
8692 (ipa_read_indirect_edge_info): Likewise.
8693 (ipa_write_node_info): Do not stream notes, do stream information
8694 in indirect edges.
8695 (ipa_read_node_info): Likewise.
8696 (lto_ipa_fixup_call_notes): Removed.
8697 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
8698 * ipa-inline.c (pass_ipa_inline): Likewise.
8699 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
8700 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
8701 * tree-inline.c (copy_bb): Removed an unnecessary double check for
8702 is_gimple_call.
8703 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
8704 edges.
8705 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
8706 (output_cgraph): Stream also indirect edges.
8707 (lto_output_edge): Added capability to stream indirect edges.
8708 (input_edge): Likewise.
8709 (input_cgraph_1): Likewise.
8710 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
8711 of indirect edges.
8712
8713 2010-04-28 Richard Guenther <rguenther@suse.de>
8714
8715 PR tree-optimization/43879
8716 PR tree-optimization/43909
8717 * tree-ssa-structalias.c (struct variable_info): Add
8718 only_restrict_pointers flag.
8719 (new_var_info): Initialize it. Increment stats.total_vars here.
8720 (create_function_info_for): Do not increment stats.total_vars here.
8721 (get_function_part_constraint): Fix build with C++.
8722 (insert_into_field_list): Remove.
8723 (push_fields_onto_fieldstack): Properly merge fields.
8724 (create_variable_info_for): Split and simplify.
8725 (create_variable_info_for_1): New piece.
8726 (intra_create_variable_infos): Properly make restrict constraints
8727 from parameters.
8728
8729 2010-04-28 Richard Guenther <rguenther@suse.de>
8730
8731 PR c++/43880
8732 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
8733
8734 2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
8735 Jan Hubicka <hubicka@ucw.cz>
8736
8737 * doc/invoke.texi (-Wsuggest-attribute=const,
8738 -Wsuggest-attribute=pure): Document.
8739 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
8740 (function_always_visible_to_compiler_p,
8741 suggest_attribute, warn_function_pure, warn_function_const):
8742 New functions.
8743 (check_call): Improve debug info.
8744 (analyze_function): Do not check availability.
8745 (add_new_function): Check availability.
8746 (propagate): Output warnings.
8747 (skip_function_for_local_pure_const): New function.
8748 (local_pure_const): Use it; output warnings.
8749 * common.opt (Wsuggest-attribute=const,
8750 Wsuggest-attribute=pure): New.
8751
8752 2010-04-27 Jakub Jelinek <jakub@redhat.com>
8753
8754 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
8755 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
8756 or DW_CFA_def_cfa_offset{,_sf}.
8757
8758 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
8759
8760 * tree.h: Fix truncated long macros.
8761
8762 2010-04-27 Kai Tietz <kai.tietz@onevision.com>
8763
8764 * collect2.c (TARGET_64BIT): Redefine to target's default.
8765 * tlink.c: Likewise.
8766 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
8767 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
8768 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
8769 for underscoring __USER_LABEL_PREFIX__.
8770 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
8771 (SUB_LINK_ENTRY32): New.
8772 (SUB_LINK_ENTRY64): New.
8773 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
8774 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
8775 (SUB_LINK_ENTRY64): New.
8776 (SUB_LINK_ENTRY): New.
8777 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
8778 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
8779 x64 target is choosen.
8780 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
8781 * configure: Regenerated.
8782 * configure.ac (leading-mingw64-underscores): Option added.
8783
8784 2010-04-27 Jan Hubicka <jh@suse.cz>
8785
8786 * doc/invoke.texi (-fipa-profile): Document.
8787 * opts.c (decode_options): Enable ipa-profile at -O1.
8788 * timevar.def (TV_IPA_PROFILE): Define.
8789 * common.opt (fipa-profile): Add.
8790 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
8791 flag for clones.
8792 (cgraph_propagate_frequency): Handle only local ones.
8793 * tree-pass.h (pass_ipa_profile): Declare.
8794 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
8795 (pass_ipa_profile): Use TV_IPA_PROFILE.
8796 * ipa.c (ipa_profile): New function.
8797 (gate_ipa_profile): Likewise.
8798 (pass_ipa_profile): New global variable.
8799 * passes.c (pass_ipa_profile): New.
8800
8801 2010-04-27 Nathan Froyd <froydnj@codesourcery.com>
8802
8803 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
8804
8805 2010-04-27 Martin Jambor <mjambor@suse.cz>
8806
8807 PR middle-end/43812
8808 * ipa.c (dissolve_same_comdat_group_list): New function.
8809 (function_and_variable_visibility): Call
8810 dissolve_same_comdat_group_list when comdat group contains external or
8811 newly local nodes.
8812 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
8813 lists are circular and that they contain only DECL_ONE_ONLY nodes.
8814
8815 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
8816
8817 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
8818 (const_hash_1) <VECTOR_CST>: New case.
8819 (compare_constant) <VECTOR_CST>: Likewise.
8820 <ADDR_EXPR>: Deal with LABEL_REFs.
8821 (copy_constant) <VECTOR_CST>: New case.
8822
8823 2010-04-27 Jan Hubicka <jh@suse.cz>
8824
8825 * cgraph.c (cgraph_propagate_frequency): New function.
8826 * cgraph.h (cgraph_propagate_frequency): Declare.
8827 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
8828 cgraph_propagate_frequency.
8829
8830 2010-04-27 Jakub Jelinek <jakub@redhat.com>
8831
8832 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
8833
8834 2010-04-27 Bernd Schmidt <bernds@codesourcery.com>
8835
8836 PR target/40657
8837 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
8838 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
8839 here to determine which regs to push and how much stack to reserve.
8840
8841 2010-04-27 Jie Zhang <jie@codesourcery.com>
8842
8843 * doc/gimple.texi (gimple_statement_with_ops): Remove
8844 addresses_taken field.
8845 (gimple_statement_with_memory_ops): Likewise.
8846
8847 2010-04-27 Jan Hubicka <jh@suse.cz>
8848
8849 * tree-inline.c (eni_inlining_weights): Remove.
8850 (estimate_num_insns): Special case more builtins.
8851
8852 2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
8853
8854 PR c/32207
8855 * c-typeck.c (build_binary_op): Move forward check for comparison
8856 pointer with null pointer constant and adjust the diagnostic message.
8857
8858 2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
8859
8860 PR lto/42776
8861 * configure.ac (gcc_cv_as_section_has_align): Set if installed
8862 binutils supports extended .section directive needed by LTO, or
8863 warn if older binutils found.
8864 (LTO_BINARY_READER): New AC_SUBST'd variable.
8865 (LTO_USE_LIBELF): Likewise.
8866 * gcc/config.gcc (lto_binary_reader): New target-specific configure
8867 variable.
8868 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
8869 (LTO_USE_LIBELF): Likewise.
8870 * configure: Regenerate.
8871
8872 * collect2.c (is_elf): Rename from this ...
8873 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
8874 object files in addition to ELF-formatted ones.
8875 (scan_prog_file): Caller updated. Also allow for LTO info marker
8876 symbol to be prefixed or not by an extra underscore.
8877
8878 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
8879 * config/i386/winnt.c: Also #include lto-streamer.h
8880 (i386_pe_asm_named_section): Specify 1-byte section alignment for
8881 LTO named sections.
8882 (i386_pe_asm_output_aligned_decl_common): Add comment.
8883 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
8884
8885 2010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
8886
8887 PR target/43889
8888 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
8889 Add missing earlyclobber for second alternative.
8890
8891 2010-04-26 Bernd Schmidt <bernds@codesourcery.com>
8892
8893 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
8894 bits for artificial defs at the top of the block.
8895 * fwprop.c (single_def_use_enter_block): Don't call it.
8896
8897 2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
8898
8899 PR 43715
8900 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
8901 instead of "$gcc_cv_objdump -T".
8902 Use "-undefined dynamic_lookup" on darwin.
8903 * gcc/configure: Regenerate.
8904
8905 2010-04-26 Jakub Jelinek <jakub@redhat.com>
8906
8907 PR c/43893
8908 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
8909
8910 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
8911
8912 * c-parser.c (struct c_token): Move location field up.
8913 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
8914 (struct c_declspecs): Convert typespec_word, storage_class, and
8915 default_int_p into bitfields.
8916 (struct c_declarator): Move loc field up.
8917
8918 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
8919
8920 * cfgloop.h (struct loop): Move can_be_parallel field up.
8921 * ipa-prop.h (struct ip_node_params): Move bitfields up.
8922 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
8923 down.
8924 (struct iv_cand): Convert pos field into a bitfield.
8925 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
8926 field up.
8927 (struct _stmt_vec_info): Shuffle fields for better packing.
8928
8929 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
8930
8931 * varasm.c (IN_NAMED_SECTION): Remove guard.
8932 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
8933 (IN_NAMED_SECTION_P): ...this.
8934 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
8935 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
8936
8937 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
8938
8939 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
8940 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
8941 of shadowing it. Fix comments.
8942
8943 2010-04-26 Jan Hubicka <jh@suse.cz>
8944
8945 * cgraph.c (cgraph_create_node): Set node frequency to normal.
8946 (cgraph_clone_node): Copy function frequency.
8947 * cgraph.h (node_frequency): New enum
8948 (struct cgraph_node): Add.
8949 * final.c (rest_of_clean_state): Update.
8950 * lto-cgraph.c (lto_output_node): Output node frequency.
8951 (input_overwrite_node): Input node frequency.
8952 * tre-ssa-loop-ivopts (computation_cost): Update.
8953 * lto-streamer-out.c (output_function): Do not output function
8954 frequency.
8955 * predict.c (maybe_hot_frequency_p): Update and handle functions
8956 executed once.
8957 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
8958 attribute lookup.
8959 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
8960 (compute_function_frequency): Set noreturn functions to be executed
8961 once.
8962 (choose_function_section): Update.
8963 * lto-streamer-in.c (input_function): Do not input function frequency.
8964 * function.c (allocate_struct_function): Do not initialize function
8965 frequency.
8966 * function.h (function_frequency): Remove.
8967 (struct function): Remove function frequency.
8968 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
8969 (try_update): Update.
8970 * tree-inline.c (initialize_cfun): Do not update function frequency.
8971 * passes.c (pass_init_dump_file): Update.
8972 * i386.c (ix86_compute_frame_layout): Update.
8973 (ix86_pad_returns): Update.
8974
8975 2010-04-26 Jie Zhang <jie@codesourcery.com>
8976
8977 PR tree-optimization/43833
8978 * tree-vrp.c (range_int_cst_p): New.
8979 (range_int_cst_singleton_p): New.
8980 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
8981 when both operands are constants. Use range_int_cst_p in
8982 BIT_IOR_EXPR case.
8983
8984 2010-04-26 Jan Hubicka <jh@suse.cz>
8985
8986 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
8987
8988 2010-04-26 Richard Guenther <rguenther@suse.de>
8989
8990 PR lto/43080
8991 * gimple.c (gimple_decl_printable_name): Deal gracefully
8992 with a NULL DECL_NAME.
8993
8994 2010-04-26 Richard Guenther <rguenther@suse.de>
8995
8996 PR lto/42425
8997 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
8998 if emitting debug information and it is either a function
8999 or a namespace decl.
9000
9001 2010-04-26 Ira Rosen <irar@il.ibm.com>
9002
9003 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
9004 determine if the statement is vectorizable, and a macro to access it.
9005 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
9006 Skip statements that can't be vectorized. If the analysis fails,
9007 mark the statement as unvectorizable if vectorizing basic block.
9008 (vect_compute_data_refs_alignment): Likewise.
9009 (vect_verify_datarefs_alignment): Skip statements marked as
9010 unvectorizable. Add print.
9011 (vect_analyze_group_access): Skip statements that can't be
9012 vectorized. If the analysis fails, mark the statement as
9013 unvectorizable if vectorizing basic block.
9014 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
9015 * tree-vect-stmts.c (vectorizable_store): Fix the number of
9016 generated stmts for SLP.
9017 (new_stmt_vec_info): Initialize the new field.
9018 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
9019 statements marked as unvectorizable.
9020
9021 2010-04-25 Joseph Myers <joseph@codesourcery.com>
9022
9023 * c-common.c (flag_isoc1x): New.
9024 (flag_isoc99): Update comment.
9025 * c-common.h (flag_isoc1x): New.
9026 (flag_isoc99): Update comment.
9027 * c-cppbuiltin.c (builtin_define_float_constants): Also define
9028 __<type>_DECIMAL_DIG__.
9029 * c-opts.c (set_std_c1x): New.
9030 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
9031 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
9032 * c.opt (-std=c1x, -std=gnu1x): New options.
9033 * doc/cpp.texi: Mention -std=c1x.
9034 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
9035 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
9036 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
9037 * doc/standards.texi: Mention C1X.
9038 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
9039 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
9040 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
9041 Define for C1X.
9042
9043 2010-04-25 Uros Bizjak <ubizjak@gmail.com>
9044
9045 * config/i386/gmon-sol2.c (_mcleanup): Change format string
9046 placeholder from 0x%x to %#x.
9047 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
9048 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
9049 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
9050 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
9051 * config/i386/i386.c (ix86_target_string): Ditto.
9052 (output_pic_addr_const): Ditto.
9053 (print_operand): Ditto.
9054
9055 2010-04-25 Paolo Bonzini <bonzini@gnu.org>
9056
9057 * combine.c (find_split_point): Add third argument. Use it
9058 to find nested multiply-accumulate instructions. Adjust calls.
9059 (try_combine): Adjust call to find_split_point.
9060
9061 2010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
9062
9063 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
9064
9065 2010-04-24 Bernd Schmidt <bernds@codesourcery.com>
9066
9067 PR tree-optimization/41442
9068 * fold-const.c (merge_truthop_with_opposite_arm): New function.
9069 (fold_binary_loc): Call it.
9070
9071 2010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
9072
9073 * toplev.c (general_init): Set default for fdiagnostics-show-option.
9074 * opts.c (common_handle_option): Allow disabling it.
9075 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
9076
9077 2010-04-23 Eric Botcazou <ebotcazou@adacore.com>
9078
9079 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
9080 between modes if both types are integral.
9081
9082 2010-04-23 Richard Guenther <rguenther@suse.de>
9083
9084 PR tree-optimization/43572
9085 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
9086
9087 2010-04-23 Richard Guenther <rguenther@suse.de>
9088
9089 PR lto/43455
9090 * tree-inline.c (tree_can_inline_p): Also check compatibility
9091 of return types.
9092
9093 2010-04-23 Martin Jambor <mjambor@suse.cz>
9094
9095 PR tree-optimization/43846
9096 * tree-sra.c (struct access): New flag grp_assignment_read.
9097 (build_accesses_from_assign): Set grp_assignment_read.
9098 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
9099 (enum mark_read_status): New type.
9100 (analyze_access_subtree): Propagate grp_assignment_read, create
9101 accesses also if both direct_read and root->grp_assignment_read.
9102
9103 2010-04-23 Martin Jambor <mjambor@suse.cz>
9104
9105 PR middle-end/43835
9106 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
9107 function does not have type attributes.
9108
9109 2010-04-23 Richard Guenther <rguenther@suse.de>
9110
9111 PR lto/42653
9112 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
9113 of FUNCTION_DECLs.
9114
9115 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9116
9117 * sese.h (create_if_region_on_edge): Remove.
9118
9119 * sese.c (create_if_region_on_edge): Make static.
9120
9121 * tree-inline.c: Do not include ggc.h.
9122
9123 * expr.c: Do not include ggc.h.
9124
9125 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
9126 dependencies.
9127
9128 2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
9129
9130 PR target/43744
9131 * config/sh/sh.c (find_barrier): Don't emit a constant pool
9132 in the middle of insns for casesi_worker_2.
9133
9134 2010-04-22 David Edelsohn <edelsohn@gnu.org>
9135
9136 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
9137
9138 2010-04-22 Ira Rosen <irar@il.ibm.com>
9139
9140 PR tree-optimization/43842
9141 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
9142 loop unrolling in update of exit phis. Fix comment.
9143 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
9144 least two reduction statements in the loop before starting SLP
9145 analysis.
9146
9147 2010-04-22 Nick Clifton <nickc@redhat.com>
9148
9149 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
9150
9151 2010-04-22 Alexander Monakov <amonakov@ispras.ru>
9152
9153 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
9154 to simplify a + ~a.
9155
9156 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9157
9158 * tree-parloops.c (loop_parallel_p): New argument
9159 parloop_obstack. Pass it down.
9160 (parallelize_loops): New variable parloop_obstack. Initialize it,
9161 pass it down, free it.
9162
9163 * tree-loop-linear.c (linear_transform_loops): Pass down
9164 lambda_obstack.
9165
9166 * tree-data-ref.h (lambda_compute_access_matrices): New argument
9167 of type struct obstack *.
9168
9169 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
9170 scratch_obstack. Initialize it, pass down, free it.
9171
9172 * lambda.h (lambda_loop_new): Remove.
9173 (lambda_matrix_new, lambda_matrix_inverse)
9174 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
9175 argument of type struct obstack *.
9176
9177 * lambda-trans.c (lambda_trans_matrix_new): New argument
9178 lambda_obstack. Pass it down, use obstack allocation for ret.
9179 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
9180 it down.
9181
9182 * lambda-mat.c (lambda_matrix_get_column)
9183 (lambda_matrix_project_to_null): Remove.
9184 (lambda_matrix_new): New argument lambda_obstack. Use obstack
9185 allocation for mat.
9186 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
9187 lambda_obstack.
9188
9189 * lambda-code.c (lambda_loop_new): New function.
9190 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
9191 (lambda_compute_auxillary_space, lambda_compute_target_space)
9192 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
9193 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
9194 (build_access_matrix): New argument lambda_obstack. Use obstack
9195 allocation for am.
9196 (lambda_compute_step_signs, lambda_compute_access_matrices): New
9197 argument lambda_obstack. Pass it down.
9198
9199 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
9200
9201 * optabs.h (expand_widening_mult): Declare.
9202
9203 2010-04-22 Richard Guenther <rguenther@suse.de>
9204
9205 PR tree-optimization/43845
9206 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
9207 lookup the CALL_EXPR function and arguments.
9208
9209 2010-04-22 Nick Clifton <nickc@redhat.com>
9210
9211 * config/stormy16/stormy16.c
9212 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
9213 * config/stormy16/stormy16.h: Tidy up formatting.
9214 (DONT_USE_BUILTIN_SETJMP): Remove definition.
9215 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
9216 (ineqbranchsi): Delete pattern.
9217 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
9218 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
9219 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
9220 stormy16-lib2-ucmpsi2.c.
9221
9222 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
9223
9224 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
9225 df_simulate_find_noclobber_defs as appropriate. Keep track of an
9226 extra set merge_set_noclobber, and use it to relax the final test
9227 slightly.
9228 * df.h (df_simulate_find_noclobber_defs): Declare.
9229 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
9230 conditional defs.
9231 (df_simulate_find_noclobber_defs): New function.
9232
9233 2010-04-22 Uros Bizjak <ubizjak@gmail.com>
9234
9235 * config/i386/i386.md: Use {} around multi-line preparation statements.
9236
9237 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9238
9239 * c-tree.h (push_init_level, pop_init_level, set_init_index)
9240 (process_init_element): New argument of type struct obstack *.
9241
9242 * c-typeck.c (push_init_level, pop_init_level, set_designator)
9243 (set_init_index, set_init_label, set_nonincremental_init)
9244 (set_nonincremental_init_from_string, find_init_member)
9245 (output_init_element, output_pending_init_elements)
9246 (process_init_element): New argument braced_init_obstack. Pass it
9247 down.
9248 (push_range_stack, add_pending_init): New argument
9249 braced_init_obstack. Use obstack allocation.
9250
9251 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
9252 braced_init_obstack. Pass it down.
9253 (c_parser_braced_init): New variables ret, braced_init_obstack.
9254 Initialize obstack, pass it down and finally free it.
9255
9256 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
9257
9258 PR middle-end/29274
9259 * tree-pass.h (pass_optimize_widening_mul): Declare.
9260 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
9261 gate_optimize_widening_mul): New static functions.
9262 (pass_optimize_widening_mul): New.
9263 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
9264 <case MULT_EXPR>: Remove support for widening multiplies.
9265 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
9266 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
9267 simplify_gen_unary rather than directly building extensions.
9268 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
9269 WIDEN_MULT_EXPR.
9270 * expmed.c (expand_widening_mult): New function.
9271 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
9272
9273 2010-04-21 Jan Hubicka <jh@suse.cz>
9274
9275 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
9276 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
9277 * lto-wpa-fixup.c: Remove.
9278 * Makefile.in (lto-wpa-fixup.o): Remove.
9279 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
9280 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
9281 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
9282
9283 2010-04-21 Jan Hubicka <jh@suse.cz>
9284
9285 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
9286 add write_optimization_summary, read_optimization_summary.
9287 (ipa_write_summaries_of_cgraph_node_set): Remove.
9288 (ipa_write_optimization_summaries): Declare.
9289 (ipa_read_optimization_summaries): Declare.
9290 * ipa-cp.c (pass_ipa_cp): Update.
9291 * ipa-reference.c (pass_ipa_reference): Update.
9292 * ipa-pure-const.c (pass_ipa_pure_const): Update.
9293 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
9294 Update.
9295 * ipa-inline.c (pass_ipa_inline): Update.
9296 * ipa.c (pass_ipa_whole_program): Update.
9297 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
9298 * passes.c (ipa_write_summaries_1): Do not test wpa.
9299 (ipa_write_optimization_summaries_1): New.
9300 (ipa_write_optimization_summaries): New.
9301 (ipa_read_summaries): Do not test ltrans.
9302 (ipa_read_optimization_summaries_1): New.
9303 (ipa_read_optimization_summaries): New.
9304
9305 2010-04-21 Jan Hubicka <jh@suse.cz>
9306
9307 * lto-cgraph.c (lto_output_node): Do not output comdat groups
9308 for boundary nodes.
9309 (output_cgraph): Do not arrange comdat groups for boundary nodes.
9310
9311 2010-04-21 Jakub Jelinek <jakub@redhat.com>
9312
9313 PR debug/40040
9314 * dwarf2out.c (add_name_and_src_coords_attributes): Add
9315 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
9316
9317 2010-04-21 Jan Hubicka <jh@suse.cz>
9318
9319 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
9320
9321 2010-04-21 Jan Hubicka <jh@suse.cz>
9322
9323 * varpool.c (decide_is_variable_needed): Variable is always needed
9324 during ltrans.
9325
9326 2010-04-21 Jan Hubicka <jh@suse.cz>
9327
9328 * opts.c (decode_options): Enable pure-const pass for whopr.
9329
9330 2010-04-21 Jan Hubicka <jh@suse.cz>
9331
9332 * cgraph.c (dump_cgraph_node): Dump also assembler name.
9333 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
9334 at WPA dumping.
9335 (cgraph_decide_inlining): Do not expect callee to be removed in all
9336 cases.
9337
9338 2010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
9339
9340 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
9341
9342 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
9343
9344 * config/i386/i386.md (x86_shrd): Add athlon_decode and
9345 amdfam10_decode attributes.
9346
9347 2010-04-21 Jakub Jelinek <jakub@redhat.com>
9348
9349 PR middle-end/43570
9350 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
9351 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
9352 (lower_copyprivate_clauses): Use private var in outer
9353 context instead of original var. Make sure the types
9354 are correct for VLAs.
9355
9356 2010-04-21 Richard Guenther <rguenther@suse.de>
9357
9358 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
9359 to non-pointer objects.
9360
9361 2010-04-21 Jakub Jelinek <jakub@redhat.com>
9362
9363 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
9364 last chain entry if it starts with the still current label.
9365 (add_location_or_const_value_attribute): Check that
9366 loc_list->first->next is NULL instead of comparing ->first with ->last.
9367 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
9368 to add_var_loc_to_decl.
9369
9370 * dwarf2out.c (output_call_frame_info): For dw_cie_version
9371 >= 4 add also address size and segment size fields into CIE header.
9372
9373 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
9374 long as address size is the same as sizeof (void *) and
9375 segment size is 0.
9376 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
9377 address size or segment size is unexpected, return DW_EH_PE_omit.
9378 (classify_object_over_fdes): If get_cie_encoding returned
9379 DW_EH_PE_omit, return -1.
9380 (init_object): If classify_object_over_fdes returned -1,
9381 pretend there were no FDEs at all.
9382
9383 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
9384
9385 * config/i386/i386.md (bswap<mode>2): Macroize expander from
9386 bswap{si,di}2 using SWI48 mode iterator.
9387 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
9388 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
9389 set modrm attribute of bswap insn to 0 and remove length attribute.
9390 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
9391 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
9392 set mode attribute to <MODE> and remove length attribute.
9393
9394 2010-04-20 James E. Wilson <wilson@codesourcery.com>
9395
9396 PR rtl-optimization/43520
9397 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
9398 zero available registers.
9399
9400 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9401
9402 * builtins.c (fold_builtin_cproj): Fold more cases.
9403
9404 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9405
9406 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
9407 (fold_builtin_1): Fold builtin cproj.
9408 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
9409 Use ATTR_CONST_NOTHROW_LIST.
9410
9411 2010-04-20 Uros Bizjak <ubizjak@gmail.com>
9412
9413 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
9414 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
9415 ffsi2_no_cmove for !TARGET_CMOVE.
9416 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
9417 (ffssi2): Remove expander.
9418 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
9419 mode iterator.
9420 (ctz<mode>2): Ditto from ctz{si,di}2.
9421 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
9422 mode iterator.
9423 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
9424 mode iterator.
9425
9426 2010-04-20 Jakub Jelinek <jakub@redhat.com>
9427
9428 * dwarf2out.c (AT_linkage_name): Define.
9429 (clone_as_declaration): Handle DW_AT_linkage_name.
9430 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
9431 of DW_AT_MIPS_linkage_name.
9432 (move_linkage_attr): Likewise.
9433 (dwarf2out_finish): Likewise.
9434
9435 2010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
9436
9437 PR middle-end/41952
9438 * fold-const.c (fold_comparison): New folding rule.
9439
9440 2010-04-20 Anatoly Sokolov <aesok@post.ru>
9441
9442 * double-int.h (double_int_setbit): Declare.
9443 * double-int.c (double_int_setbit): New function.
9444 * rtl.h (immed_double_int_const): Declare.
9445 * emit-rtl.c (immed_double_int_const): New function.
9446 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
9447 and immed_double_int_const functions.
9448 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
9449 expand_copysign_bit): (Ditto.).
9450 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
9451 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
9452 * dojump.c (prefer_and_bit_test): (Ditto.).
9453 * expr.c (convert_modes, reduce_to_bit_field_precision,
9454 const_vector_from_tree): (Ditto.).
9455 * expmed.c (mask_rtx, lshift_value): (Ditto.).
9456
9457 2010-04-20 Jan Hubicka <jh@suse.cz>
9458
9459 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
9460 (dump_cgraph_node): Dump new flags.
9461 * cgraph.h (struct cgraph_node): Add flags
9462 reachable_from_other_partition and in_other_partition.
9463 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
9464 other partition can not be removed.
9465 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
9466 the other partition must be output; silence sanity checking on
9467 leaking functions bodies from other paritition.
9468 * lto-cgraph.c (reachable_from_other_partition_p): New function.
9469 (lto_output_node): Output new flags; do not sanity check that inline
9470 clones are output; drop lto_forced_extern_inline_p code; do not mock
9471 visibility flags at partition boundaries.
9472 (add_node_to): New function.
9473 (output_cgraph): Use it to sort functions so masters appear before
9474 clones.
9475 (input_overwrite_node): Input new flags.
9476 * passes.c (ipa_write_summaries): Do not call
9477 lto_new_extern_inline_states.
9478 * lto-section-out.c (forced_extern_inline,
9479 lto_new_extern_inline_states lto_delete_extern_inline_states,
9480 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
9481 * lto-streamer.h (lto_new_extern_inline_states,
9482 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
9483 lto_forced_extern_inline_p): Kill.
9484
9485 2010-04-20 Richard Guenther <rguenther@suse.de>
9486
9487 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
9488 from vars that can have pointers.
9489 (process_constraint): Dump useless constraints.
9490
9491 2010-04-20 Richard Guenther <rguenther@suse.de>
9492
9493 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
9494 (dump_sa_points_to_info): Remove asserts.
9495 (init_base_vars): nothing_id isn't an escape point nor does it
9496 have pointers.
9497
9498 2010-04-20 Jakub Jelinek <jakub@redhat.com>
9499
9500 * tree.h (TYPE_REF_IS_RVALUE): Define.
9501 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
9502 should_move_die_to_comdat, prune_unused_types_walk): Handle
9503 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
9504 (modified_type_die, gen_reference_type_die): Emit
9505 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
9506 if TYPE_REF_IS_RVALUE and -gdwarf-4.
9507
9508 2010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9509
9510 PR target/43635
9511 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
9512 calls for -fpic -m31 if they have been sibcall optimized.
9513
9514 2010-04-19 James E. Wilson <wilson@codesourcery.com>
9515
9516 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
9517 ar.lc fixed and call-used.
9518
9519 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
9520
9521 2010-04-19 Jan Hubicka <jh@suse.cz>
9522
9523 * opts.c (decode_options): Disable whpr incompatible passes.
9524 * lto/lto.c (lto_1_to_1_map): Skip clones.
9525 (read_cgraph_and_symbols): Do not mark everything as needed.
9526 (do_whole_program_analysis): Do map only after optimizing;
9527 set proper cgraph_state; use passmanager.
9528
9529 2010-04-19 DJ Delorie <dj@redhat.com>
9530
9531 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
9532 POINTER_PLUS_EXPR and fix them.
9533
9534 2010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
9535
9536 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
9537 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
9538 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
9539 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
9540 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
9541 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
9542 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
9543 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
9544 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
9545 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
9546 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
9547
9548 2010-04-19 Eric Botcazou <ebotcazou@adacore.com>
9549
9550 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
9551 (check_cond_move_block): Likewise.
9552 (cond_move_process_if_block): Likewise.
9553 (noce_find_if_block): Improve formatting.
9554 (find_if_header): Pass 0 to memset and tweak conditions.
9555 (cond_exec_find_if_block): Fix long lines and tweak conditions.
9556
9557 2010-04-19 Jakub Jelinek <jakub@redhat.com>
9558
9559 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
9560 for -gdwarf-4.
9561
9562 PR middle-end/43337
9563 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
9564 with non-local decl doesn't need chain.
9565
9566 2010-04-19 Vladimir Makarov <vmakarov@redhat.com>
9567
9568 * ira-color.c (allocno_reload_assign): Avoid accumulating
9569 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
9570
9571 2010-04-19 Martin Jambor <mjambor@suse.cz>
9572
9573 * gimple.h (create_tmp_reg): Declare.
9574 * gimplify.c (create_tmp_reg): New function.
9575 (gimplify_return_expr): Use create_tmp_reg.
9576 (gimplify_omp_atomic): Likewise.
9577 (gimple_regimplify_operands): Likewise.
9578 * tree-dfa.c (make_rename_temp): Likewise.
9579 * tree-predcom.c (predcom_tmp_var): Likewise.
9580 (reassociate_to_the_same_stmt): Likewise.
9581 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
9582 (get_replaced_param_substitute): Likewise.
9583 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
9584 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
9585 * tree-ssa-pre.c (get_representative_for): Likewise.
9586 (create_expression_by_pieces): Likewise.
9587 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
9588 (create_tailcall_accumulator): Likewise.
9589
9590 2010-04-19 Martin Jambor <mjambor@suse.cz>
9591
9592 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
9593 new_stmt.
9594 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
9595
9596 2010-04-19 Richard Guenther <rguenther@suse.de>
9597
9598 PR tree-optimization/43796
9599 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
9600 from SCEV in the lattice.
9601 (vrp_visit_phi_node): Dump change.
9602
9603 2010-04-19 Richard Guenther <rguenther@suse.de>
9604
9605 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
9606 * configure: Re-generated.
9607
9608 2010-04-19 Richard Guenther <rguenther@suse.de>
9609
9610 PR tree-optimization/43783
9611 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
9612 constant ARRAY_REF operands two and three if possible.
9613
9614 2010-04-19 Uros Bizjak <ubizjak@gmail.com>
9615
9616 PR target/43766
9617 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
9618
9619 2010-04-19 Jie Zhang <jie@codesourcery.com>
9620
9621 PR target/43662
9622 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
9623
9624 2010-04-19 Ira Rosen <irar@il.ibm.com>
9625
9626 PR tree-optimization/37027
9627 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
9628 and macro to access it.
9629 (vectorizable_reduction): Add argument.
9630 (vect_get_slp_defs): Likewise.
9631 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
9632 statements for possible use in SLP.
9633 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
9634 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
9635 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
9636 add new argument.
9637 (vectorizable_reduction): Likewise.
9638 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
9639 vect_get_slp_defs.
9640 (vectorizable_type_demotion, vectorizable_type_promotion,
9641 vectorizable_store): Likewise.
9642 (vect_analyze_stmt): Update call to vectorizable_reduction.
9643 (vect_transform_stmt): Likewise.
9644 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
9645 (vect_build_slp_tree): Fix indentation. Check that there are no loads
9646 from different interleaving chains in same node.
9647 (vect_slp_rearrange_stmts): New function.
9648 (vect_supported_load_permutation_p): Allow load permutations for
9649 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
9650 inside SLP nodes if necessary.
9651 (vect_analyze_slp_instance): Handle reductions.
9652 (vect_analyze_slp): Try to build SLP instances originating from groups
9653 of reductions.
9654 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
9655 (vect_get_constant_vectors): Create initial vectors for reductions
9656 according to reduction code. Add new argument.
9657 (vect_get_slp_defs): Add new argument, pass it to
9658 vect_get_constant_vectors.
9659 (vect_schedule_slp_instance): Remove SLP tree root statements.
9660
9661 2010-04-19 Jakub Jelinek <jakub@redhat.com>
9662
9663 * tree.h (ENUM_IS_SCOPED): Define.
9664 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
9665 for ENUM_IS_SCOPED enums.
9666
9667 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
9668
9669 * fold-const.c (fold_comparison): Use ssizetype.
9670 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
9671 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
9672 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
9673 * tree-object-size.c (compute_object_sizes): Use size_type_node.
9674
9675 * tree.h (initialize_sizetypes): Remove parameter.
9676 (build_common_tree_nodes): Remove second parameter.
9677 * stor-layout.c (initialize_sizetypes): Remove parameter.
9678 Always create an unsigned type.
9679 (set_sizetype): Assert that the passed type is unsigned and simplify.
9680 * tree.c (build_common_tree_nodes): Remove second parameter.
9681 Adjust call to initialize_sizetypes.
9682 * c-decl.c (c_init_decl_processing): Remove second argument in call to
9683 build_common_tree_nodes.
9684
9685 2010-04-18 Matthias Klose <doko@ubuntu.com>
9686
9687 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
9688
9689 2010-04-18 Ira Rosen <irar@il.ibm.com>
9690
9691 PR tree-optimization/43771
9692 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
9693 load permutation doesn't have gaps.
9694
9695 2010-04-18 Jan Hubicka <jh@suse.cz>
9696
9697 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
9698 (sse_prologue_save_insn expander): Use new pattern.
9699 (sse_prologue_save_insn1): New pattern and splitter.
9700 (sse_prologue_save_insn): Update to deal also with 64bit aligned
9701 blocks.
9702 * i386.c (setup_incoming_varargs_64): Do not compute jump
9703 destination here.
9704 (ix86_gimplify_va_arg): Update alignment needed.
9705 (ix86_local_alignment): Do not align all local arrays to 128bit.
9706
9707 2010-04-17 Jan Hubicka <jh@suse.cz>
9708
9709 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
9710
9711 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
9712
9713 * arm.md (negdi2): Remove redundant code to force values into a
9714 register.
9715
9716 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
9717
9718 * arm/bpabi.S: Add EABI alignment attributes to objects.
9719 * arm/bpabi-v6m.S: Likewise.
9720 * arm/crti.asm: Likewise.
9721 * arm/crtn.asm: Likewise.
9722 * arm/lib1funcs.asm: Likewise.
9723 * arm/libunwind.S: Likewise.
9724
9725 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
9726
9727 * arm-protos.h (tune_params): New structure.
9728 * arm.c (current_tune): New variable.
9729 (arm_constant_limit): Delete.
9730 (struct processors): Add pointer to the tune parameters.
9731 (arm_slowmul_tune): New tuning option.
9732 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
9733 (all_cores): Adjust to pick up the tuning model.
9734 (arm_constant_limit): New function.
9735 (arm_override_options): Select the appropriate tuning model. Delete
9736 initialization of arm_const_limit.
9737 (arm_split_constant): Use the new constant-limit model.
9738 (arm_rtx_costs): Pick up the current tuning model.
9739 * arm.md (is_strongarm, is_xscale): Delete.
9740 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
9741 for Xscale variant architectures.
9742 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
9743
9744 2010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9745
9746 * config/arm/arm.c (arm_gen_constant): Remove unused variable
9747 can_shift.
9748 (arm_rtx_costs_1): Remove unused variable extra_cost.
9749 (arm_unwind_emit_set): Use variable offset.
9750 (thumb1_output_casesi): Remove unused variable flags.
9751
9752 2010-04-16 Jeff Law <law@redhat.com>
9753
9754 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
9755 needing assignment rather than doing a two-phase assignment. Remove
9756 unused variable 'm'.
9757
9758 2010-04-16 Jakub Jelinek <jakub@redhat.com>
9759
9760 PR bootstrap/43767
9761 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
9762
9763 2010-04-16 Doug Kwan <dougkwan@google.com>
9764
9765 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
9766 (next_operand_entry_id): New static variable.
9767 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
9768 (add_to_ops_vec): Assigned unique ID to operand entry.
9769 (struct oecount_s): New field ID.
9770 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
9771 (undistribute_ops_list): Assign unique IDs to oecounts.
9772 (init_reassoc): reset next_operand_entry_id.
9773
9774 2010-04-16 Doug Kwan <dougkwan@google.com>
9775
9776 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
9777 missing left parenthesis.
9778
9779 2010-04-16 Uros Bizjak <ubizjak@gmail.com>
9780
9781 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
9782 *btdi_rex64 using SWI48 mode iterator.
9783 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
9784 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
9785 *jcc_btdi_mask_rex64.
9786
9787 2010-04-16 Anatoly Sokolov <aesok@post.ru>
9788
9789 * double-int.h (tree_to_double_int): Convert to macro.
9790 * double-int.c (tree_to_double_int): Remove.
9791
9792 2010-04-16 Jakub Jelinek <jakub@redhat.com>
9793
9794 PR debug/43762
9795 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
9796 with want_address 2 and in case a single element list might be
9797 possible, call it again with want_address 0.
9798
9799 2010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
9800
9801 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
9802 case 'W' print operands for HI mode.
9803 * config/h8300/h8300.h (Y0, Y2) : New constraints.
9804 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
9805 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
9806 * config/h8300/predicate.md (bit_register_indirect_operand): New.
9807
9808 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
9809
9810 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
9811 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
9812 #xx:3 and #xx:4 mode.
9813
9814 * config/h8300/h8300.md (inverted load with HImode dest): Add
9815 support for H8300SX.
9816
9817 * config/h8300/predicate.md (bit_operand): Allow immediate values that
9818 satisfy 'U' constraint.
9819
9820 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9821
9822 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
9823 * configure: Regenerate.
9824 * config.in: Regenerate.
9825 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
9826 works.
9827
9828 2010-04-16 Richard Guenther <rguenther@suse.de>
9829
9830 * tree.h (struct tree_decl_minimal): Move pt_uid ...
9831 (struct tree_decl_common): ... here.
9832 (DECL_PT_UID): Adjust.
9833 (SET_DECL_PT_UID): Likewise.
9834 (DECL_PT_UID_SET_P): Likewise.
9835
9836 2010-04-16 Richard Guenther <rguenther@suse.de>
9837
9838 PR tree-optimization/43572
9839 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
9840 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
9841 * tree-flow.h (is_call_clobbered): Remove.
9842 * tree-flow-inline.h (is_call_clobbered): Likewise.
9843 * tree-dfa.c (dump_variable): Do not dump call clobber state.
9844 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
9845 (execute_return_slot_opt): Adjust.
9846 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
9847 check for call clobbered vars here.
9848 (find_tail_calls): Move tailcall verification to the
9849 proper place.
9850
9851 2010-04-16 Diego Novillo <dnovillo@google.com>
9852
9853 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
9854
9855 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
9856
9857 PR target/40603
9858 * config/arm/arm.md (cbranchqi4): New pattern.
9859 * config/arm/predicates.md (const0_operand,
9860 cbranchqi4_comparison_operator): New predicates.
9861
9862 2010-04-16 Richard Guenther <rguenther@suse.de>
9863
9864 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
9865 (dump_gimple_stmt): Likewise.
9866
9867 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
9868
9869 * recog.h (struct recog_data): New field is_operator.
9870 (struct insn_operand_data): New field is_operator.
9871 * recog.c (extract_insn): Set recog_data.is_operator.
9872 * genoutput.c (output_operand_data): Emit code to set the
9873 is_operator field.
9874 * reload.c (find_reloads): Use it rather than testing for an
9875 empty constraint string.
9876
9877 PR target/41514
9878 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
9879 If the previous insn is a cbranchsi4_insn with the same arguments,
9880 omit the compare instruction.
9881
9882 * config/arm/arm.md (addsi3_cbranch): If destination is a high
9883 register, inputs must be low registers and we need a low register
9884 scratch. Handle alternative 2 like alternative 3.
9885
9886 2010-04-16 Jakub Jelinek <jakub@redhat.com>
9887
9888 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
9889 don't call get_addr on both. If one expression is a VALUE and
9890 the other a REG, check VALUE's locs if the REG isn't among them.
9891
9892 2010-04-16 Christian Bruel <christian.bruel@st.com>
9893
9894 * config/sh/sh.h (sh_frame_pointer_required): New function.
9895 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
9896 (flag_omit_frame_pointer) Set.
9897 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
9898 (rounded_frame_size): Adjust size with outgoing_args_size.
9899 (sh_set_return_address): Must return from stack pointer.
9900 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
9901 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
9902 (ACCUMULATE_OUTGOING_ARGS): Define.
9903 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
9904 * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
9905
9906 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
9907
9908 PR target/43471
9909 * config/sh/sh.c (sh_legitimize_reload_address): Use
9910 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
9911 Remove a unneeded check for offset_base.
9912
9913 2010-04-15 H.J. Lu <hongjiu.lu@intel.com>
9914
9915 * configure: Regenerated.
9916
9917 2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9918
9919 * config/s390/s390.c (s390_call_save_register_used): Switch back
9920 to HARD_REGNO_NREGS.
9921
9922 2010-04-15 Richard Guenther <rguenther@suse.de>
9923
9924 * alias.c (alias_set_subset_of): Handle alias-set zero
9925 child properly.
9926
9927 2010-04-15 Mark Shinwell <shinwell@codesourcery.com>
9928 Julian Brown <julian@codesourcery.com>
9929
9930 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
9931 alternatives according to use of high and low regs.
9932 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
9933 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
9934 optimizing for size on Thumb-2.
9935
9936 2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
9937
9938 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
9939
9940 2010-04-15 Richard Guenther <rguenther@suse.de>
9941
9942 * tree-ssa-structalias.c (struct variable_info): Add
9943 is_fn_info flag.
9944 (new_var_info): Initialize it.
9945 (dump_constraints): Support printing last added constraints.
9946 (debug_constraints): Adjust.
9947 (dump_constraint_graph): Likewise.
9948 (make_heapvar_for): Check for NULL cfun.
9949 (get_function_part_constraint): New function.
9950 (get_fi_for_callee): Likewise.
9951 (find_func_aliases): Properly implement IPA PTA constraints.
9952 (process_ipa_clobber): New function.
9953 (find_func_clobbers): Likewise.
9954 (insert_into_field_list_sorted): Remove.
9955 (create_function_info_for): Properly allocate vars for IPA mode.
9956 Do not use insert_into_field_list_sorted.
9957 (create_variable_info_for): Properly generate constraints for
9958 global vars in IPA mode.
9959 (dump_solution_for_var): Always dump the solution.
9960 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
9961 (find_what_var_points_to): Adjust.
9962 (pt_solution_set): Change.
9963 (pt_solution_ior_into): New function.
9964 (pt_solution_empty_p): Export.
9965 (pt_solution_includes_global): Adjust.
9966 (pt_solution_includes_1): Likewise.
9967 (pt_solutions_intersect_1): Likewise.
9968 (dump_sa_points_to_info): Check some invariants.
9969 (solve_constraints): Move constraint dumping ...
9970 (compute_points_to_sets): ... here.
9971 (ipa_pta_execute): ... and here.
9972 (compute_may_aliases): Do not re-compute points-to info
9973 locally if IPA info is available.
9974 (ipa_escaped_pt): New global var.
9975 (ipa_pta_execute): Properly implement IPA PTA.
9976 * tree-into-ssa.c (dump_decl_set): Support dumping
9977 decls not in referenced-vars.
9978 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
9979 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
9980 (dump_points_to_solution): Likewise.
9981 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
9982 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
9983 (remap_gimple_stmt): Reset call clobber/use information if necessary.
9984 (copy_decl_to_var): Copy DECL_PT_UID.
9985 (copy_result_decl_to_var): Likewise.
9986 * tree.c (make_node_stat): Initialize DECL_PT_UID.
9987 (copy_node_stat): Copy it.
9988 * tree.h (DECL_PT_UID): New macro.
9989 (SET_DECL_PT_UID): Likewise.
9990 (DECL_PT_UID_SET_P): Likewise.
9991 (struct tree_decl_minimal): Add pt_uid member.
9992 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
9993 (pt_solution_empty_p): Declare.
9994 (pt_solution_set): Adjust.
9995 (ipa_escaped_pt): Declare.
9996 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
9997 * gimple-pretty-print.c (pp_points_to_solution): New function.
9998 (dump_gimple_call): Dump call clobber/use information.
9999 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
10000 * tree-pass.h (TDF_ALIAS): New dump option.
10001 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
10002 * doc/invoke.texi (-fipa-pta): Update documentation.
10003
10004 2010-04-15 Richard Guenther <rguenther@suse.de>
10005
10006 * Makefile.in (OBJS-common): Add gimple-fold.o.
10007 (gimple-fold.o): New rule.
10008 * tree.h (maybe_fold_offset_to_reference,
10009 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
10010 prototypes ...
10011 * gimple.h: ... here.
10012 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
10013 may_propagate_address_into_dereference): Move prototypes ...
10014 * gimple.h: ... here.
10015 * tree-ssa-ccp.c (get_symbol_constant_value,
10016 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
10017 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
10018 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
10019 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
10020 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
10021 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
10022 gimplify_and_update_call_from_tree): Move ...
10023 * gimple-fold.c: ... here. New file.
10024 (ccp_fold_builtin): Rename to ...
10025 (gimple_fold_builtin): ... this.
10026 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
10027
10028 2010-04-15 Richard Guenther <rguenther@suse.de>
10029
10030 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
10031 fit_double_type, force_fit_type_double, add_double_with_sign,
10032 neg_double, mul_double_with_sign, lshift_double, rshift_double,
10033 lrotate_double, rrotate_double, div_and_round_double): Move ...
10034 * double-int.c: ... here.
10035 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
10036 add_double, neg_double, mul_double_with_sign, mul_double,
10037 lshift_double, rshift_double, lrotate_double, rrotate_double,
10038 div_and_round_double): Move prototypes ...
10039 * double-int.h: ... here.
10040
10041 2010-04-15 Bernd Schmidt <bernds@codesourcery.com>
10042
10043 PR target/43742
10044 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
10045 matching constraints to ensure inputs match the output.
10046
10047 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
10048
10049 PR target/43742
10050 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
10051 in an input-only operand.
10052
10053 2010-04-15 Anatoly Sokolov <aesok@post.ru>
10054
10055 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
10056 (double_int_not, double_int_lshift, double_int_rshift): Declare.
10057 (double_int_negative_p): Convert to static inline function.
10058 * double-int.c (double_int_lshift, double_int_lshift): New functions.
10059 (double_int_negative_p): Remove.
10060 * tree.h (lshift_double, rshift_double):
10061 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
10062 * fold-const.c (fold_convert_const_int_from_real,
10063 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
10064 (lshift_double): Change type of arith argument to bool.
10065 (rshift_double): Change type of arith argument to bool. Correct
10066 comment.
10067 * expmed.c (mask_rtx, lshift_value): (Ditto.).
10068
10069 2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
10070
10071 PR target/21803
10072 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
10073 at the start and end of the then/else blocks, and omit them from the
10074 conversion.
10075 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
10076 argument; all callers changed. Pass zero to old_insns_match_p instead.
10077 (flow_find_head_matching_sequence): New function.
10078 (old_insns_match_p): Check REG_EH_REGION notes for calls.
10079 * basic-block.h (flow_find_cross_jump,
10080 flow_find_head_matching_sequence): Declare functions.
10081
10082 2010-04-14 Jason Merrill <jason@redhat.com>
10083
10084 PR c++/36625
10085 * c-common.c (attribute_takes_identifier_p): New fn.
10086 * c-common.h: Declare it.
10087
10088 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10089
10090 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
10091 splitter condition.
10092 (*udivmod<mode>4): Ditto.
10093
10094 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10095
10096 * config/i386/i386.md (maxmin_int): Rename code attribute from
10097 maxminiprefix and update all users.
10098 (maxmin_float): Ditto from maxminfprefix.
10099 (logic): Ditto from logicprefix.
10100 (absneg_mnemonic): Ditto from absnegprefix.
10101 * config/i386/mmx.md: Update all users of maxminiprefix,
10102 maxminfprefix and logicprefix for rename.
10103 * config/i386/sse.md: Ditto.
10104 * config/i386/sync.md (sync_<code><mode>): Update for
10105 logicprefix rename.
10106
10107 2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
10108
10109 PR 42966
10110 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
10111 warnings converted to errors.
10112
10113 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10114
10115 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
10116 used insn_type variable.
10117 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
10118 to avoid set-but-not-used warning.
10119
10120 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10121
10122 * df-core.c (df_ref_debug): Change format string placeholder
10123 from 0x%x to %#x.
10124 * dwarf2asm.c (dw2_asm_output_data_raw,
10125 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
10126 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
10127 * dwarf2out.c (output_cfi, output_cfi_directive,
10128 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
10129 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
10130 Ditto.
10131 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
10132 * print-rtl.c (print_rtx): Ditto.
10133
10134 2010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10135
10136 PR middle-end/42694
10137 * builtins.c (expand_builtin_pow_root): New function to expand pow
10138 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
10139 series of sqrt and cbrt calls under -ffast-math.
10140 (expand_builtin_pow): Call it.
10141
10142 2010-04-14 Michael Matz <matz@suse.de>
10143
10144 PR tree-optimization/42963
10145 * tree-cfg.c (touched_switch_bbs): New static variable.
10146 (group_case_labels_stmt): New function broken out from ...
10147 (group_case_labels): ... here, use the above.
10148 (start_recording_case_labels): Allocate touched_switch_bbs.
10149 (end_recording_case_labels): Deallocate it, call
10150 group_case_labels_stmt.
10151 (gimple_redirect_edge_and_branch): Remember index of affected BB.
10152
10153 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10154
10155 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
10156 from insn template.
10157
10158 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10159
10160 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
10161
10162 2010-04-13 Jan Hubicka <jh@suse.cz>
10163
10164 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
10165 of optimized out static functions.
10166 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
10167 cost computation. Also sanity check for overflows.
10168 (update_caller_keys): Update cgraph_edge_badness call; properly
10169 update fibheap and sanity check that it is up to date.
10170 (add_new_edges_to_heap): Update cgraph_edge_badness.
10171 (cgraph_decide_inlining_of_small_function): Likewise;
10172 add sanity checking that badness in heap is up to date;
10173 improve dumping of reason; Update badness of calls to the
10174 offline copy of function currently inlined; dump badness
10175 of functions not inlined because of unit growth limits.
10176
10177 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
10178
10179 PR middle-end/32628
10180 * c-common.c (pointer_int_sum): Disregard overflow that occured only
10181 because of sign-extension change when converting to sizetype here...
10182 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
10183
10184 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
10185 the folding to constants. Remove redundant final conversion.
10186 (fold_binary) <associate>: Do not associate if the re-association of
10187 constants alone overflows.
10188 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
10189 to the end of the list.
10190 (multiple_of_p) <COND_EXPR>: New case.
10191
10192 2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
10193
10194 * opt-functions.awk (opt_sanitized_name): New.
10195 (opt_enum): New.
10196 * optc-gen.awk: Use it
10197 * opth-gen.awk: Use it.
10198
10199 2010-04-13 Martin Jambor <mjambor@suse.cz>
10200
10201 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
10202 (sra_modify_assign): Delete stmts loading dead data even if racc has no
10203 children. Call replace_uses_with_default_def_ssa_name to handle
10204 SSA_NAES on lhs.
10205
10206 2010-04-13 Michael Matz <matz@suse.de>
10207
10208 PR middle-end/43730
10209 * builtins.c (expand_builtin_interclass_mathfn): Also create
10210 a register if the predicate doesn't match.
10211
10212 2010-04-13 Diego Novillo <dnovillo@google.com>
10213
10214 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
10215 * c-pch.c: Include timevar.h.
10216 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
10217 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
10218 * ggc-common.c: Include timevar.h.
10219 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
10220 * timevar.def (TV_PCH_SAVE): Define.
10221 (TV_PCH_CPP_SAVE): Define.
10222 (TV_PCH_PTR_REALLOC): Define.
10223 (TV_PCH_PTR_SORT): Define.
10224 (TV_PCH_RESTORE): Define.
10225 (TV_PCH_CPP_RESTORE): Define.
10226
10227 2010-04-13 Michael Matz <matz@suse.de>
10228
10229 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
10230 into MINUS_EXPRs.
10231 (can_reassociate_p): New function.
10232 (break_up_subtract_bb, reassociate_bb): Use it.
10233
10234 2010-04-13 Richard Guenther <rguenther@suse.de>
10235
10236 PR bootstrap/43737
10237 * builtins.c (c_readstr): Fix assert.
10238
10239 2010-04-13 Uros Bizjak <ubizjak@gmail.com>
10240
10241 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
10242 when generating cltd insn.
10243
10244 (*ashl<mode>3_1): Remove special handling for register operand 2.
10245 (*ashlsi3_1_zext): Ditto.
10246 (*ashlhi3_1): Ditto.
10247 (*ashlhi3_1_lea): Ditto.
10248 (*ashlqi3_1): Ditto.
10249 (*ashlqi3_1_lea): Ditto.
10250 (*<shiftrt_insn><mode>3_1): Ditto.
10251 (*<shiftrt_insn>si3_1_zext): Ditto.
10252 (*<shiftrt_insn>qi3_1_slp): Ditto.
10253 (*<rotate_insn><mode>3_1): Ditto.
10254 (*<rotate_insn>si3_1_zext): Ditto.
10255 (*<rotate_insn>qi3_1_slp): Ditto.
10256
10257 2010-04-13 Richard Guenther <rguenther@suse.de>
10258
10259 * tree-ssa-structalias.c (callused_id): Remove.
10260 (call_stmt_vars): New.
10261 (get_call_vi): Likewise.
10262 (lookup_call_use_vi): Likewise.
10263 (lookup_call_clobber_vi): Likewise.
10264 (get_call_use_vi): Likewise.
10265 (get_call_clobber_vi): Likewise.
10266 (make_transitive_closure_constraints): Likewise.
10267 (handle_const_call): Adjust to do per-call call-used handling.
10268 (handle_pure_call): Likewise.
10269 (find_what_var_points_to): Remove general callused handling.
10270 (init_base_vars): Likewise.
10271 (init_alias_vars): Initialize call_stmt_vars.
10272 (compute_points_to_sets): Process call-used and call-clobbered
10273 vars for call statements.
10274 (delete_points_to_sets): Free call_stmt_vars.
10275
10276 2010-04-13 Richard Guenther <rguenther@suse.de>
10277
10278 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
10279 Only add RW dependence for dependence distance zero.
10280 Adjust maximal vectorization factor according to dependences.
10281 Move alignment handling ...
10282 (vect_find_same_alignment_drs): ... here. New function.
10283 (vect_analyze_data_ref_dependences): Adjust.
10284 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
10285 (vect_analyze_data_refs): Adjust minimal vectorization factor
10286 according to data references.
10287 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
10288 dependences before determining the vectorization factor.
10289 Analyze alignment after determining the vectorization factor.
10290 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
10291 dependences before alignment.
10292 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
10293 Adjust prototype.
10294 (vect_analyze_data_refs): Likewise.
10295 (MAX_VECTORIZATION_FACTOR): New define.
10296
10297 2010-04-13 Duncan Sands <baldrick@free.fr>
10298
10299 * except.h (lang_eh_type_covers): Remove.
10300 * except.c (lang_eh_type_covers): Likewise.
10301
10302 2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10303 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10304
10305 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
10306 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
10307 UNITS_PER_LONG where it is ABI relevant.
10308 (s390_return_addr_rtx): Likewise.
10309 (s390_back_chain_rtx): Likewise.
10310 (s390_frame_area): Likewise.
10311 (s390_frame_info): Likewise.
10312 (s390_initial_elimination_offset): Likewise.
10313 (save_gprs): Likewise.
10314 (s390_emit_prologue): Likewise.
10315 (s390_emit_epilogue): Likewise.
10316 (s390_function_arg_advance): Likewise.
10317 (s390_function_arg): Likewise.
10318 (s390_va_start): Likewise.
10319 (s390_gimplify_va_arg): Likewise.
10320 (s390_function_profiler): Likewise.
10321 (s390_optimize_prologue): Likewise.
10322 (s390_rtx_costs): Likewise.
10323 (s390_secondary_reload): Likewise.
10324 (s390_promote_function_mode): Likewise.
10325 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
10326 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
10327 registers available.
10328 (s390_unwind_word_mode): New function.
10329 (s390_function_value): Split 64 bit values into register pair if
10330 used as return value.
10331 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
10332 function call parameters. Handle parallels.
10333 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
10334 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
10335 (DWARF_CIE_DATA_ALIGNMENT): New macro.
10336 (s390_expand_setmem): Remove unused variable src_addr.
10337 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
10338 deal with 64 bit registers.
10339 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
10340 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
10341 (UNITS_PER_LONG): New macro.
10342 * libjava/include/s390-signal.h: Define extended ucontext
10343 structure containing the upper halfs of the 64 bit registers.
10344
10345 2010-04-13 Simon Baldwin <simonb@google.com>
10346
10347 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
10348
10349 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
10350
10351 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
10352 rvalue on the RHS if the LHS is of a non-renamable type.
10353 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
10354
10355 2010-04-13 Matthias Klose <doko@ubuntu.com>
10356
10357 * gcc.c (cc1_options): Handle -iplugindir before processing
10358 the cc1 spec. Only add -iplugindir once.
10359 (cpp_unique_options): Add -iplugindir option if -fplugin* options
10360 found.
10361 * common.opt (iplugindir): Remove `Separate' property, initialize.
10362 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
10363 option.
10364 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
10365 (distclean): Remove plugin dir.
10366 * doc/invoke.texi: Document -iplugindir.
10367
10368 2010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
10369
10370 * doc/plugins.texi (Loading Plugins): Document short
10371 -fplugin=foo option.
10372 (Plugin API): Mention default_plugin_dir_name function.
10373
10374 * gcc.c (find_file_spec_function): Add new declaration.
10375 (static_spec_func): Use it for "find-file".
10376 (find_file_spec_function): Add new function.
10377 (cc1_options): Add -iplugindir option if -fplugin* options found.
10378
10379 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
10380
10381 * plugin.c (add_new_plugin): Updated comment, and handle short
10382 plugin name.
10383 (default_plugin_dir_name): Added new function.
10384
10385 * common.opt (iplugindir): New option to set the plugin directory.
10386
10387 2010-04-12 Uros Bizjak <ubizjak@gmail.com>
10388
10389 * config/i386/i386.md (any_rotate): New code iterator.
10390 (rotate_insn): New code attribute.
10391 (rotate): Ditto.
10392 (SWIM124): New mode iterator.
10393 (<rotate_insn>ti3): New expander.
10394 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
10395 any_rotate code iterator.
10396 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
10397 using any_rotate code iterator and SWIM124 mode iterator.
10398 (ix86_rotlti3): New insn_and_split pattern.
10399 (ix86_rotrti3): Ditto.
10400 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
10401 ix86_rotl{di,ti}3 patterns.
10402 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
10403 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
10404 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
10405 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
10406 code iterator and SWI mode iterator.
10407 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
10408 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
10409 code iterator.
10410 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
10411 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
10412 (bswap rotatert splitter): Add splitter.
10413 (bswap splitter): Macroize splitter using any_rotate code iterator.
10414 Add insn predicate to split only for TARGET_USE_XCHGB or when
10415 optimizing function for size.
10416
10417 2010-04-12 Steve Ellcey <sje@cup.hp.com>
10418
10419 * config/pa/pa.c (emit_move_sequence): Remove use of
10420 deleted variable flag_argument_noalias.
10421
10422 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10423
10424 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
10425 configurations.
10426 Add to unsupported targets list.
10427 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
10428 sparc*-sun-solaris2.[567]* from target lists.
10429 * configure: Regenerate.
10430 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
10431 removal.
10432 Remove Solaris 7 patch references.
10433 (Specific, sparc-sun-solaris2.7): Removed.
10434 (sparc-sun-solaris2*): Update Solaris 7 example.
10435 (sparc64-*-solaris2*): Likewise.
10436
10437 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10438
10439 * config.build (alpha*-dec-osf4*): Remove.
10440 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
10441 of obsolete configurations.
10442 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
10443 support.
10444 * config/alpha/t-osf4: Renamed to ...
10445 * config/alpha/t-osf5: ... this.
10446 * config/alpha/osf.h: Renamed to ...
10447 * config/alpha/osf5.h: ... this.
10448 Merged old osf5.h contents.
10449 Update comments.
10450 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
10451 (EXTRA_SPECS): Removed.
10452 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
10453 reflect removal of Tru64 UNIX V4.0/V5.0 support.
10454 Document that.
10455
10456 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10457
10458 * doc/contrib.texi (Contributors, Rainer Orth): Update.
10459
10460 2010-04-12 Kai Tietz <kai.tietz@onevision.com>
10461
10462 PR/43702
10463 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
10464 __thiscall convention.
10465
10466 2010-04-12 Steve Ellcey <sje@cup.hp.com>
10467
10468 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
10469 orig_base.
10470 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
10471
10472 2010-04-12 Steve Ellcey <sje@cup.hp.com>
10473
10474 * function.c (assign_parms_initialize_all): Add unused attribute
10475 to fntype.
10476
10477 2010-04-12 Richard Guenther <rguenther@suse.de>
10478
10479 * gsstruct.def (GSS_CALL): New.
10480 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
10481 * gimple.h: Include tree-ssa-alias.h.
10482 (struct gimple_statement_call): New.
10483 (union gimple_statement_struct_d): Add gimple_call member.
10484 (gimple_call_reset_alias_info): Declare.
10485 (gimple_call_use_set): New function.
10486 (gimple_call_clobber_set): Likewise.
10487 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
10488 * gimple.c (gimple_call_reset_alias_info): New function.
10489 (gimple_build_call_1): Call it.
10490 * lto-streamer-in.c (input_gimple_stmt): Likewise.
10491 * tree-inline.c (remap_gimple_stmt): Likewise.
10492 (expand_call_inline): Remove callused handling.
10493 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
10494 * tree-dfa.c (dump_variable): Likewise.
10495 * tree-parloops.c (parallelize_loops): Likewise.
10496 * tree-ssa.c (init_tree_ssa): Likewise.
10497 (delete_tree_ssa): Likewise.
10498 * tree-flow-inline.h (is_call_used): Remove.
10499 * tree-flow.h (struct gimple_df): Remove callused member.
10500 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
10501 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
10502 (ref_maybe_used_by_call_p_1): Simplify.
10503 (call_may_clobber_ref_p_1): Likewise.
10504 * tree-ssa-structalias.c (compute_points_to_sets): Set
10505 the call stmt used and clobbered sets.
10506 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
10507 (find_tail_calls): Verify the tail call.
10508
10509 2010-04-12 Richard Guenther <rguenther@suse.de>
10510
10511 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
10512 single-iteration always-inline inlining.
10513 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
10514 (cgraph_decide_inlining): Do not handle always-inline specially.
10515 (try_inline): Remove always-inline cycle detection special case.
10516 Do not recurse on always-inlines.
10517 (cgraph_early_inlining): Do not iterate if not optimizing.
10518 (cgraph_gate_early_inlining): remove.
10519 (pass_early_inline): Run unconditionally.
10520 (gate_cgraph_decide_inlining): New function.
10521 (pass_ipa_inline): Use it. Do not run the IPA inliner if
10522 not inlining or optimizing.
10523 (cgraph_decide_inlining_of_small_functions): Also consider
10524 always-inline functions.
10525 (cgraph_default_inline_p): Return true for nodes which should
10526 disregard inline limits.
10527 (estimate_function_body_sizes): Assume zero size and time for
10528 nodes which are marked as disregarding inline limits.
10529 (cgraph_decide_recursive_inlining): Do not perform recursive
10530 inlining on always-inline nodes.
10531
10532 2010-04-12 Jakub Jelinek <jakub@redhat.com>
10533
10534 PR bootstrap/43699
10535 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
10536 for exprs satisfying handled_component_p.
10537
10538 2010-04-12 Eric Botcazou <ebotcazou@adacore.com>
10539
10540 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
10541 non-constant aggregate elements.
10542
10543 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
10544 is a real initialization.
10545
10546 2010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
10547
10548 PR c/36774
10549 * c-decl.c (start_function): Move forward check for nested function.
10550
10551 2010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
10552
10553 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
10554 * config/sh/sh.c: Include reload.h.
10555 (sh_legitimize_reload_address): New.
10556 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
10557 sh_legitimize_reload_address.
10558
10559 2010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
10560
10561 * config/sh/sh.md (*movqi_pop): New insn pattern.
10562 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
10563
10564 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
10565
10566 * config/i386/i386.md (any_shiftrt): New code iterator.
10567 (shiftrt_insn): New code attribute.
10568 (shiftrt): Ditto.
10569 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
10570 using any_shiftrt code iterator.
10571 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
10572 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
10573 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
10574 pattern from corresponding peephole2 patterns.
10575 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
10576 using any_shiftrt code iterator.
10577 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
10578 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
10579 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
10580 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
10581 *{ashr,lshr}<mode>3_cmp_zext.
10582 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
10583
10584 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
10585
10586 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
10587 scratch register.
10588 (*lshr<mode>3_cconly): Ditto.
10589
10590 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
10591
10592 * config/i386/i386.md (lshr<mode>3): Macroize expander from
10593 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
10594 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
10595 pattern from *lshr{di,ti}3_1 and corresponding splitters using
10596 DWI mode iterator.
10597 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
10598 from corresponding peephole2 patterns.
10599 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
10600 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
10601 and *lshrdi3_1_rex64 using SWI mode iterator.
10602 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
10603 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
10604 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
10605 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
10606 and *lshrdi3_cmp_rex64 using SWI mode iterator.
10607 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
10608 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
10609 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
10610 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
10611 SWI mode iterator.
10612
10613 2010-04-10 Uros Bizjak <ubizjak@gmail.com>
10614
10615 * config/i386/i386.md (ashr<mode>3): Macroize expander from
10616 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
10617 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
10618 pattern from *ashr{di,ti}3_1 and corresponding splitters using
10619 DWI mode iterator.
10620 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
10621 from corresponding peephole2 patterns.
10622 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
10623 (ashrsi3_cvt): Rename from ashrsi3_31.
10624 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
10625 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
10626 and x86_64_shift_adj_3 using SWI48 mode iterator.
10627 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
10628 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
10629 and *ashrdi3_1_rex64 using SWI mode iterator.
10630 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
10631 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
10632 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
10633 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
10634 and *ashrdi3_cmp_rex64 using SWI mode iterator.
10635 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
10636 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
10637 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
10638 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
10639 SWI mode iterator.
10640 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
10641 * config/i386/i386.c (ix86_split_ashr): Update for renamed
10642 x86_shift<mode>_adj_3 expanders.
10643
10644 2010-04-10 Wei Guozhi <carrot@google.com>
10645
10646 PR target/42601
10647 * config/arm/arm.c (arm_pic_static_addr): New function.
10648 (legitimize_pic_address): Call arm_pic_static_addr when it detects
10649 a static symbol.
10650 (arm_output_addr_const_extra): Output expression for new pattern.
10651 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
10652
10653 2010-04-10 Bernd Schmidt <bernds@codesourcery.com>
10654
10655 * ira-costs.c (record_reg_classes): Ignore alternatives that are
10656 not enabled.
10657
10658 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
10659 * web.c: Include "insn-config.h" and "recog.h".
10660 (union_match_dups): New function.
10661 (web_main): Call it.
10662 (union_defs): Don't try to recognize match_dups.
10663
10664 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
10665 if doing so would replace the entire pattern.
10666
10667 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
10668
10669 PR target/43707
10670 PR target/43709
10671 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
10672 and splitter pattern. Change splitter operand 1 predicate to
10673 nonmemory_operand.
10674
10675 2010-04-09 Martin Jambor <mjambor@suse.cz>
10676
10677 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
10678 lattices are addresses of CONST_DECLs with the same initial value.
10679 (ipcp_print_all_lattices): Print values of CONST_DECLs.
10680 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
10681
10682 2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
10683 Bernd Schmidt <bernds@codesourcery.com>
10684
10685 * loop-invariant.c (replace_uses): New static function.
10686 (move_invariant_reg): Use it to ensure we can replace the uses.
10687
10688 2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
10689
10690 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
10691 function template.
10692 (picochip_override_options): Enable section anchors only above -O1.
10693 (picochip_reorg): Fixed a couple of build warnings.
10694
10695 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10696
10697 * configure.ac (plugin -rdynamic test): Log result.
10698 * configure: Regenerate.
10699 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
10700 (RDYNAMIC_SPEC): Define.
10701 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
10702
10703 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10704
10705 * configure.ac: Determine Sun ld version numbers.
10706 (comdat_group): Restrict GNU ld version checks to gld.
10707 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
10708 (enable_comdat): Support --enable-comdat.
10709 * configure: Regenerate.
10710 * doc/install.texi (Configuration): Document --enable-comdat.
10711
10712 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10713
10714 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
10715 * config/sol2-gld.h: ... here.
10716 * config.gcc (sparc*-*-solaris2*): Reflect this.
10717 (i[34567]86-*-solaris2*): Use it.
10718
10719 2010-04-09 Steve Ellcey <sje@cup.hp.com>
10720
10721 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
10722 setup_clocks_p.
10723 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
10724
10725 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
10726
10727 PR 42965
10728 * diagnostic.c (diagnostic_initialize): Initialize
10729 some_warnings_are_errors.
10730 (diagnostic_finish): New.
10731 (diagnostic_action_after_output): Call it before exiting.
10732 (diagnostic_report_diagnostic): Do not print message here. Set
10733 some_warnings_are_errors.
10734 * diagnostic.h (diagnostic_context): Delete
10735 issue_warnings_are_errors_message. Add some_warnings_are_errors.
10736 (diagnostic_finish): Declare.
10737 * toplev.c (toplev_main): Call it before exit.
10738
10739 2010-04-09 Jason Merrill <jason@redhat.com>
10740
10741 PR c++/42623
10742 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
10743 for incomplete type.
10744
10745 PR c++/41788
10746 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
10747 based on a warning flag.
10748
10749 2010-04-09 Richard Guenther <rguenther@suse.de>
10750
10751 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
10752
10753 2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
10754
10755 PR bootstrap/43684
10756 * varasm.c (default_assemble_visibility): Wrap vars that are
10757 set, but unused, by targets without GAS.
10758 * config/rs6000/rs6000.c (paired_emit_vector_compare):
10759 Remove set, but unused, vars.
10760 (rs6000_legitimize_tls_address): Likewise.
10761 (altivec_expand_dst_builtin): Likewise.
10762 * config/darwin.c (machopic_classify_symbol): Likewise.
10763 (machopic_indirection_name): Likewise.
10764
10765 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
10766
10767 * config/i386/i386.md (DWI): New mode iterator.
10768 (S): New mode attribute.
10769 (shift_operand): Ditto.
10770 (shift_immediate_operand): Ditto.
10771 (ashl_input_operand): Ditto.
10772 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
10773 using SDWIM mode iterator.
10774 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
10775 pattern from *ashl{di,ti}3_1 and corresponding splitters using
10776 DWI mode iterator.
10777 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
10778 from corresponding peephole2 patterns.
10779 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
10780 and x86_64_shift_adj_1 using SWI48 mode iterator.
10781 (x86_shift<mode>_adj_2): Ditto.
10782 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
10783 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
10784 using SWI48 mode iterator.
10785 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
10786 *ashldi3_cmp_rex64 using SWI mode iterator.
10787 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
10788 *ashldi3_cconly_rex64 using SWI mode iterator.
10789 * config/i386/i386.c (ix86_split_ashl): Update for renamed
10790 x86_shift<mode>_adj_{1,2}.
10791 (ix86_split_ashr): Ditto.
10792 (ix86_split_lshr): Ditto.
10793
10794 2010-04-09 Richard Guenther <rguenther@suse.de>
10795
10796 * target.h (builtin_conversion): Pass in input and output types.
10797 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
10798 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
10799 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
10800 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
10801
10802 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
10803 Handle AVX modes.
10804 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
10805
10806 2010-04-09 Richard Guenther <rguenther@suse.de>
10807
10808 PR target/43152
10809 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
10810
10811 2010-04-09 Richard Guenther <rguenther@suse.de>
10812
10813 * tree-vectorizer.h (struct _stmt_vec_info): Document
10814 that vectype is the type of the LHS.
10815 (supportable_widening_operation, supportable_narrowing_operation):
10816 Get both input and output vector types as arguments.
10817 (vect_is_simple_use_1): Declare.
10818 (get_same_sized_vectype): Likewise.
10819 * tree-vect-loop.c (vect_determine_vectorization_factor):
10820 Set STMT_VINFO_VECTYPE to the vector type of the def.
10821 (vectorizable_reduction): Adjust.
10822 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
10823 Adjust. Specify the output vector type.
10824 (vect_pattern_recog_1): Adjust.
10825 * tree-vect-stmts.c (get_same_sized_vectype): New function.
10826 (vectorizable_call): Adjust.
10827 (vectorizable_conversion): Likewise.
10828 (vectorizable_operation): Likewise.
10829 (vectorizable_type_demotion): Likewise.
10830 (vectorizable_type_promotion): Likewise.
10831 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
10832 the def.
10833 (vect_is_simple_use_1): New function.
10834 (supportable_widening_operation): Get both input and output
10835 vector types.
10836 (supportable_narrowing_operation): Likewise.
10837 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
10838
10839 2010-04-09 Kai Tietz <kai.tietz@onevision.com>
10840
10841 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
10842 __thiscall and _thiscall as predefined macros.
10843 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
10844 thiscall attribute handling.
10845 (ix86_comp_type_attributes): Likewise.
10846 (ix86_function_regparm): Likewise.
10847 (ix86_return_pops_args): Likewise.
10848 (init_cumulative_args): Likewise.
10849 (find_drap_reg): Likewise.
10850 (ix86_static_chain): Likewise.
10851 (x86_this_parameter): Likewise.
10852 (x86_output_mi_thunk): Likewise.
10853 (ix86_attribute_table): Add description for thiscall attribute.
10854 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
10855 * doc/extend.texi: Add documentation for thiscall.
10856
10857 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
10858
10859 PR c++/28584
10860 * c.opt (Wint-to-pointer-cast): Available in C++.
10861 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
10862
10863 2010-04-08 Eric Botcazou <ebotcazou@adacore.com>
10864
10865 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
10866 * calls.c (expand_call): Pass the function type to aggregate_value_p.
10867 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
10868 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
10869 function type instead. Reorder and simplify checks.
10870
10871 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
10872
10873 2010-04-08 Jing Yu <jingyu@google.com>
10874 Zdenek Dvorak <ook@ucw.cz>
10875
10876 PR tree-optimization/42720
10877 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
10878 loop unswitch conditions here from ...
10879 (tree_unswitch_single_loop): ... here.
10880
10881 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
10882
10883 * tree-if-conv.c: Fix comments and simplify logic.
10884
10885 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
10886
10887 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
10888 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
10889 (main_tree_if_conversion): Update call to tree_if_conversion.
10890
10891 2010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10892
10893 PR 42485
10894 * doc/invoke.texi (-b,-V): Delete.
10895 * doc/tm.texi: Do not mention -b.
10896 * gcc.c (display_help): Delete -b and -V.
10897 (process_command): Delete -b and -V.
10898 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
10899
10900 2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
10901 Wolfgang Gellerich <gellerich@de.ibm.com>
10902
10903 Implement target hook for loop unrolling
10904 * target.h (loop_unroll_adjust): Add a new target hook function.
10905 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
10906 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
10907 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
10908 (s390_loop_unroll_adjust): Implement the new target hook for s390.
10909 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
10910 target hook.
10911 (decide_unroll_stupid): Likewise.
10912
10913 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10914
10915 PR target/43643
10916 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
10917
10918 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10919
10920 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
10921 (Specific, *-*-solaris2*): Likewise.
10922 Don't prefer Sun as over GNU as.
10923
10924 2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
10925
10926 * config/s390/s390.c (override_options): Adjust the z10 defaults
10927 for max-unroll-times, max-completely-peeled-insns
10928 and max-completely-peel-times.
10929
10930 2010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10931
10932 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
10933 instructions for z10.
10934 (s390_expand_setmem): Likewise.
10935 (s390_expand_cmpmem): Likewise.
10936
10937 2010-04-08 Richard Guenther <rguenther@suse.de>
10938
10939 PR tree-optimization/43679
10940 * tree-ssa-pre.c (eliminate): Only propagate copies.
10941
10942 2010-04-08 Jakub Jelinek <jakub@redhat.com>
10943
10944 PR bootstrap/43681
10945 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
10946 set but not used variable warning.
10947
10948 2010-04-08 Wei Guozhi <carrot@google.com>
10949
10950 PR target/41653
10951 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
10952 (arm_size_rtx_costs): Call the new function when optimized for size.
10953
10954 2010-04-08 Jakub Jelinek <jakub@redhat.com>
10955
10956 PR debug/43670
10957 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
10958 op0 is not a MEM, just return NULL instead of assertion
10959 failure.
10960 (discover_nonconstant_array_refs): Don't walk debug stmts.
10961
10962 2010-04-08 Doug Kwan <dougkwan@google.com>
10963
10964 * configure.ac: Recognize gold and do not use its version number
10965 to test ld features.
10966 * configure: Regenerate.
10967
10968 2010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
10969
10970 PR middle-end/40815
10971 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
10972 (negate_value): Move code to push elements to broken_up_substracts ...
10973 (eliminate_plus_minus_pair): ... here. Push operands that have no
10974 negative pair to plus_negates.
10975 (repropagate_negates, init_reassoc, fini_reassoc): Update.
10976
10977 2010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10978
10979 * doc/install.texi (Configuration): Move description of
10980 --enable-lto, --with-libelf*, --enable-gold from Java section to
10981 general section.
10982
10983 * doc/generic.texi (Working with declarations)
10984 (Function Properties, C and C++ Trees): Fix typos.
10985 * doc/sourcebuild.texi (Top Level): Likewise.
10986
10987 2010-04-07 Jakub Jelinek <jakub@redhat.com>
10988
10989 PR c/18624
10990 * tree.h (DECL_READ_P): Define.
10991 (struct tree_decl_common): Add decl_read_flag.
10992 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
10993 a set but not used warning.
10994 (merge_decls): Merge DECL_READ_P flag.
10995 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
10996 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
10997 * c-common.c (handle_used_attribute, handle_unused_attribute):
10998 Likewise.
10999 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
11000 New prototypes.
11001 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
11002 New functions.
11003 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
11004 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
11005 c_parser_binary_expression, c_parser_cast_expression,
11006 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
11007 Call default_function_array_read_conversion instead of
11008 default_function_array_conversion where needed.
11009 (c_parser_unary_expression, c_parser_conditional_expression,
11010 c_parser_postfix_expression_after_primary, c_parser_initelt):
11011 Likewise. Call mark_exp_read where needed.
11012 (c_parser_statement_after_labels, c_parser_asm_operands,
11013 c_parser_typeof_specifier, c_parser_sizeof_expression,
11014 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
11015 where needed.
11016 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
11017 New.
11018 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
11019 (warn_unused_but_set_parameter): Default to warn_unused
11020 && extra_warnings.
11021 * doc/invoke.texi: Document -Wunused-but-set-variable and
11022 -Wunused-but-set-parameter.
11023
11024 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
11025 used count variable.
11026 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
11027 when operandN variables aren't used in the body of the expander
11028 or splitter.
11029 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
11030 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
11031 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
11032 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
11033 FOR_EACH_IMM_USE_ON_STMT): Likewise.
11034 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
11035 * tree.c (PROCESS_ARG): Likewise.
11036
11037 2010-04-07 Simon Baldwin <simonb@google.com>
11038
11039 * diagnostic.h (diagnostic_override_option_index): New macro to
11040 set a diagnostic's option_index.
11041 * c-tree.h (c_cpp_error): Add warning reason argument.
11042 * opts.c (_warning_as_error_callback): New.
11043 (register_warning_as_error_callback): Store callback for
11044 warnings enabled via enable_warning_as_error.
11045 (enable_warning_as_error): Call callback, minor code tidy.
11046 * opts.h (register_warning_as_error_callback): Declare.
11047 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
11048 response to -Werror=.
11049 (c_common_init_options): Register warning_as_error_callback in opts.c.
11050 * common.opt: Add -Wno-cpp option.
11051 * c-common.c (struct reason_option_codes_t): Map cpp warning
11052 reason codes to gcc option indexes.
11053 * (c_option_controlling_cpp_error): New function, lookup the gcc
11054 option index for a cpp warning reason code.
11055 * (c_cpp_error): Add warning reason argument, call
11056 c_option_controlling_cpp_error for diagnostic_override_option_index.
11057 * doc/invoke.texi: Document -Wno-cpp.
11058
11059 2010-04-07 Richard Guenther <rguenther@suse.de>
11060
11061 * ipa-reference.c (mark_load): Use get_base_address.
11062 (mark_store): Likewise.
11063
11064 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
11065 inserting GIMPLE_NOPs into the IL.
11066 * tree-ssa-structalias.c (get_constraint_for_component_ref):
11067 Explicitly strip handled components and indirect references.
11068
11069 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
11070 folding address expressions.
11071 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
11072 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
11073 operand_equal_p to compare decls.
11074 (ptr_deref_may_alias_decl_p): Likewise.
11075 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
11076 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
11077 Handle reversed comparison ops.
11078 * tree-sra.c (asm_visit_addr): Use get_base_address.
11079 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
11080 * ipa-reference.c (mark_address): Use get_base_address.
11081
11082 2010-04-07 Richard Guenther <rguenther@suse.de>
11083
11084 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
11085 Propagate constants everywhere.
11086
11087 2010-04-07 Jakub Jelinek <jakub@redhat.com>
11088
11089 PR debug/43516
11090 * tree.c (MAX_INT_CACHED_PREC): Define.
11091 (nonstandard_integer_type_cache): New array.
11092 (build_nonstandard_integer_type): Cache results for precision
11093 <= MAX_INT_CACHED_PREC.
11094
11095 2010-04-07 Richard Guenther <rguenther@suse.de>
11096
11097 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
11098 -fargument-noalias-global, -fargument-noalias-anything): Remove.
11099 * common.opt: Likewise.
11100 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
11101 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
11102 (nonoverlapping_memrefs_p): Likewise.
11103 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
11104 * opts.c (common_handle_option): Handle OPT_fargument_alias,
11105 OPT_fargument_noalias, OPT_fargument_noalias_anything and
11106 OPT_fargument_noalias_global for backward compatibility.
11107
11108 2010-04-07 Richard Guenther <rguenther@suse.de>
11109
11110 PR tree-optimization/43270
11111 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
11112 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
11113 * tree-ssa-pre.c (phi_translate_1): Adjust.
11114 (fully_constant_expression): Split out vn_reference handling to ...
11115 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
11116 Fold reads from constant strings.
11117 (vn_reference_lookup): Handle fully constant references.
11118 (vn_reference_lookup_pieces): Likewise.
11119 * Makefile.in (expmed.o-warn): Add -Wno-error.
11120
11121 2010-04-07 Martin Jambor <mjambor@suse.cz>
11122
11123 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
11124
11125 2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
11126
11127 PR driver/41594
11128 * gcc.c: Add -static-libstdc++ to list of recognized options.
11129
11130 2010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11131
11132 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
11133
11134 2010-04-07 Richard Guenther <rguenther@suse.de>
11135
11136 PR middle-end/42617
11137 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
11138 bases build simple mem attributes to retain points-to information.
11139
11140 2010-04-07 Richard Guenther <rguenther@suse.de>
11141
11142 PR middle-end/42617
11143 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
11144 preserve points-to related information.
11145
11146 2010-04-07 Richard Guenther <rguenther@suse.de>
11147
11148 PR middle-end/42617
11149 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
11150 discard plain indirect references.
11151 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
11152 * tree.c (tree_nop_conversion): Likewise.
11153
11154 2010-04-07 Dodji Seketeli <dodji@redhat.com>
11155
11156 PR debug/43628
11157 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
11158
11159 2010-04-06 Kai Tietz <kai.tietz@onevision.com>
11160
11161 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
11162 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
11163
11164 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
11165
11166 * tree-if-conv.c: Fix indentation and comments.
11167
11168 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
11169
11170 * tree-if-conv.c: Sort static functions in topological order.
11171
11172 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
11173
11174 * tree-if-conv.c: Fix indentation and comments.
11175
11176 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
11177
11178 PR middle-end/43519
11179 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
11180 lang_hooks.types.type_for_size instead of
11181 build_nonstandard_integer_type.
11182 When converting an unsigned type to signed, double its precision.
11183 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
11184 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
11185 (graphite_create_new_loop_guard): When ub + 1 wraps around,
11186 use lb <= ub.
11187
11188 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
11189
11190 PR middle-end/43519
11191 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
11192 POINTER_PLUS_EXPR for pointer types.
11193
11194 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
11195
11196 PR middle-end/43519
11197 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
11198 * graphite-clast-to-gimple.c: Include langhooks.h.
11199 (max_signed_precision_type): New.
11200 (max_precision_type): Takes two types as arguments.
11201 (precision_for_value): New.
11202 (precision_for_interval): New.
11203 (gcc_type_for_interval): New.
11204 (gcc_type_for_value): New.
11205 (gcc_type_for_clast_term): New.
11206 (gcc_type_for_clast_red): New.
11207 (gcc_type_for_clast_bin): New.
11208 (gcc_type_for_clast_expr): Split up into several functions.
11209 (gcc_type_for_clast_eq): Rewritten.
11210 (compute_bounds_for_level): New.
11211 (compute_type_for_level_1): New.
11212 (compute_type_for_level): New.
11213 (gcc_type_for_cloog_iv): Removed.
11214 (gcc_type_for_iv_of_clast_loop): Rewritten.
11215 (graphite_create_new_loop): Compute the lower and upper bound types
11216 with gcc_type_for_clast_expr.
11217 (graphite_create_new_loop_guard): Same.
11218 (find_cloog_iv_in_expr): Removed.
11219 (compute_cloog_iv_types_1): Removed.
11220 (compute_cloog_iv_types): Removed.
11221 (gloog): Do not call compute_cloog_iv_types.
11222 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
11223 GBB_CLOOG_IV_TYPES.
11224 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
11225 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
11226 (GBB_CLOOG_IV_TYPES): Removed.
11227
11228 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
11229
11230 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
11231 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
11232 (detect_commutative_reduction): Same.
11233
11234 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
11235
11236 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
11237 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
11238 argument.
11239 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
11240 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
11241 (rewrite_commutative_reductions_out_of_ssa): Same.
11242 * passes.c (execute_function_todo): Call verify_ssa for every pass
11243 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
11244 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
11245 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
11246 with an extra argument.
11247 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
11248 verify_ssa only when the extra argument is true.
11249 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
11250 with an extra argument.
11251 (tree_transform_and_unroll_loop): Same.
11252
11253 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
11254
11255 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
11256 for all the passes of the LNO having LOOP_CLOSED_SSA.
11257 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
11258 * tree-loop-distribution.c (pass_loop_distribution): Same.
11259 * tree-pass.h (TODO_verify_loops): Removed.
11260 * tree-ssa-loop.c (pass_tree_loop_init): Same.
11261 (pass_lim): Same.
11262 (pass_tree_unswitch): Same.
11263 (pass_predcom): Same.
11264 (pass_vectorize): Same.
11265 (pass_linear_transform): Same.
11266 (pass_graphite_transforms): Same.
11267 (pass_iv_canon): Same.
11268 (pass_complete_unroll): Same.
11269 (pass_complete_unrolli): Same.
11270 (pass_parallelize_loops): Same.
11271 (pass_loop_prefetch): Same.
11272 (pass_iv_optimize): Same.
11273
11274 2010-04-06 Changpeng Fang <changpeng.fang@amd.com>
11275
11276 PR middle-end/32824
11277 * passes.c (init_optimization_passes): Move pass_lim before
11278 pass_copy_prop and pass_dce_loop.
11279
11280 2010-04-06 Jakub Jelinek <jakub@redhat.com>
11281
11282 PR target/43667
11283 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
11284 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
11285 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
11286 MULTI_* defines for 4 argument vpermil2p* builtins.
11287
11288 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
11289
11290 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
11291 * config/i386/i386.c (x86_maybe_negate_const_int): New.
11292 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
11293 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
11294 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
11295 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
11296 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
11297 Use x86_maybe_negate_const_int to output insn mnemonic.
11298 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
11299 check from instruction predicate. Update comments.
11300 * config/i386/sync.md (sync_add<mode>): Use
11301 x86_maybe_negate_const_int to output insn mnemonic.
11302
11303 2010-04-06 Jan Hubicka <jh@suse.cz>
11304
11305 PR tree-optimization/42906
11306 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
11307 IGNORE_SELF argument. Set visited_control_parents for fully
11308 processed BBs.
11309 (find_obviously_necessary_stmts): Update call of
11310 mark_control_dependent_edges_necessary.
11311 (propagate_necessity): Likewise. Handle PHI edges more curefully.
11312
11313 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
11314
11315 * config/i386/i386.md: Remove comment about 'e' and 'E'
11316 operand modifier.
11317
11318 2010-04-06 Richard Guenther <rguenther@suse.de>
11319
11320 PR tree-optimization/43627
11321 * tree-vrp.c (extract_range_from_unary_expr): Widenings
11322 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
11323 not varying.
11324
11325 2010-04-06 Jakub Jelinek <jakub@redhat.com>
11326
11327 * BASE-VER: Change to 4.6.0.
11328
11329 PR target/43638
11330 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
11331 handling.
11332
11333 2010-04-06 Richard Guenther <rguenther@suse.de>
11334
11335 PR middle-end/43661
11336 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
11337
11338 2010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11339
11340 * doc/invoke.texi (Optimize Options): Document that LTO
11341 won't remove object access purely due to incompatible
11342 declarations.
11343
11344 2010-04-04 Matthias Klose <doko@ubuntu.com>
11345
11346 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
11347 Initialize variable.
11348
11349 2010-04-03 Richard Guenther <rguenther@suse.de>
11350
11351 PR middle-end/42509
11352 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
11353 require a non-NULL MEM_OFFSET.
11354
11355 2010-04-02 Steven Bosscher <steven@gcc.gnu.org>
11356
11357 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
11358 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
11359 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
11360 config/alpha/predicates.md, config/arm/arm.md,
11361 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
11362 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
11363 config/darwin9.h, config/darwin.c, config/darwin.h,
11364 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
11365 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
11366 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
11367 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
11368 config/mips/mips.md, config/mn10300/mn10300.c,
11369 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
11370 config/rs6000/aix.h, config/rs6000/dfp.md,
11371 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
11372 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
11373 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
11374 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
11375 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
11376 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
11377 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
11378 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
11379 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
11380 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
11381 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
11382 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
11383 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
11384 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
11385 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
11386 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
11387 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
11388 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
11389 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
11390 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
11391 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
11392 opt-functions.awk, opth-gen.awk, params.def, passes.c,
11393 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
11394 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
11395 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
11396 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
11397 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
11398 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
11399 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
11400 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
11401 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
11402 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
11403 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
11404 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
11405 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
11406 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
11407
11408 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11409
11410 PR other/43620
11411 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
11412 * aclocal.m4: Regenerate.
11413
11414 2010-04-02 Richard Guenther <rguenther@suse.de>
11415
11416 PR tree-optimization/43629
11417 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
11418 if we have seen a constant value.
11419
11420 2010-04-02 Joseph Myers <joseph@codesourcery.com>
11421
11422 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
11423
11424 2010-04-02 Richard Earnshaw <rearnsha@arm.com>
11425
11426 PR target/43469
11427 * arm.c (legitimize_tls_address): Adjust call to
11428 gen_tls_load_dot_plus_four.
11429 (arm_note_pic_base): New function.
11430 (arm_cannot_copy_insn_p): Use it.
11431 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
11432 constraint.
11433
11434 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11435
11436 PR bootstrap/43531
11437
11438 Revert:
11439 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11440
11441 * Makefile.in ($(out_object_file)): Depend on
11442 gt-$(basename $(notdir $(out_file))).h.
11443
11444 2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
11445
11446 * config.gcc (lm32-*-rtems*): Add t-lm32.
11447
11448 2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
11449
11450 * config.gcc: Add lm32-*-rtems*.
11451 * config/lm32/rtems.h: New file.
11452
11453 2010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
11454
11455 PR target/42609
11456 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
11457
11458 2010-04-01 Jakub Jelinek <jakub@redhat.com>
11459
11460 * dwarf2out.c (output_compilation_unit_header): For
11461 -gdwarf-4 use version 4 instead of version 3.
11462 (output_line_info): For version 4 and above emit additional
11463 maximum ops per insn header field.
11464 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
11465
11466 * dwarf2out.c (is_c_family, is_java): Remove.
11467 (lower_bound_default): New function.
11468 (add_bound_info, gen_descr_array_type_die): Use it.
11469
11470 2010-04-01 Dodji Seketeli <dodji@redhat.com>
11471
11472 PR debug/43325
11473 * dwarf2out.c (gen_variable_die): Allow debug info for variable
11474 re-declaration when it happens in a function.
11475
11476 2010-04-01 Aldy Hernandez <aldyh@redhat.com>
11477
11478 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
11479 (cgraph_remove_function_insertion_hook): Same.
11480 (cgraph_call_function_insertion_hooks): Same.
11481
11482 2010-04-01 Richard Guenther <rguenther@suse.de>
11483
11484 PR middle-end/43614
11485 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
11486 and TREE_THIS_VOLATILE.
11487 (copy_ref_info): Likewise.
11488 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
11489 * tree.c (build6_stat): Ignore side-effects of all but arg5
11490 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
11491 TARGET_MEM_REF.
11492
11493 2010-04-01 Richard Guenther <rguenther@suse.de>
11494
11495 PR tree-optimization/43607
11496 * ipa-type-escape.c (check_call): Do not access non-existing
11497 arguments.
11498
11499 2010-04-01 Richard Guenther <rguenther@suse.de>
11500
11501 PR middle-end/43602
11502 Revert
11503 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
11504 Jack Howarth <howarth@bromo.med.uc.edu>
11505
11506 * tree-profile.c (tree_init_ic_make_global_vars): Make static
11507 variables TLS.
11508
11509 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11510
11511 * doc/install.texi (Prerequisites): Document libelf usability on
11512 IRIX 5/6 and Solaris 2.
11513 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
11514 Update GNU as, GNU ld requirements.
11515 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
11516 Document Sun Studio compiler download.
11517 Update and simplify as, ld recommendations.
11518 (Specific, *-*-solaris2.7): Note obsoletion, removal.
11519
11520 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11521
11522 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
11523 with_tune_32 to pentium4.
11524
11525 2010-04-01 Uros Bizjak <ubizjak@gmail.com>
11526
11527 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
11528
11529 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11530
11531 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
11532 obsoletion, removal.
11533 Update IDO URL.
11534 Document GNU as requirement.
11535 Update configure requirements.
11536 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
11537 Recomment IRIX 6.5.18+.
11538 Document IDF/IDL requirement.
11539 Document GNU as requirement.
11540 Document GNU ld bootstrap failure.
11541 Remove freeware.sgi.com reference.
11542
11543 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11544
11545 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
11546 UNIX V4.0, V5.0 obsoletion, removal.
11547 Remove --with-gc=simple reference.
11548 Update VM requirements during bootstrap.
11549 Remove -oldas bootstrap description.
11550 Update binutils reference.
11551 Remove comparison failure note.
11552
11553 2010-03-31 Richard Guenther <rguenther@suse.de>
11554 Zdenek Dvorak <ook@ucw.cz>
11555 Sebastian Pop <sebastian.pop@amd.com>
11556
11557 PR middle-end/43464
11558 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
11559 with multiple arguments.
11560 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
11561
11562 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
11563
11564 * graphite-dependences.c (print_pddr): Call print_pdr with an
11565 extra argument.
11566 * graphite-poly.c (debug_pdr): Add an extra argument for the
11567 verbosity level.
11568 (print_pdr): Same.
11569 (print_pbb_domain): Same.
11570 (print_pbb): Same.
11571 (print_scop_context): Same.
11572 (print_scop): Same.
11573 (print_cloog): Same.
11574 (debug_pbb_domain): Same.
11575 (debug_pbb): Same.
11576 (print_pdrs): Same.
11577 (debug_pdrs): Same.
11578 (debug_scop_context): Same.
11579 (debug_scop): Same.
11580 (debug_cloog): Same.
11581 (print_scop_params): Same.
11582 (debug_scop_params): Same.
11583 (print_iteration_domain): Same.
11584 (print_iteration_domains): Same.
11585 (debug_iteration_domain): Same.
11586 (debug_iteration_domains): Same.
11587 (print_scattering_function): Same.
11588 (print_scattering_functions): Same.
11589 (debug_scattering_function): Same.
11590 (debug_scattering_functions): Same.
11591 * graphite-poly.h (debug_pdr): Update declaration.
11592 (print_pdr): Same.
11593 (print_pbb_domain): Same.
11594 (print_pbb): Same.
11595 (print_scop_context): Same.
11596 (print_scop): Same.
11597 (print_cloog): Same.
11598 (debug_pbb_domain): Same.
11599 (debug_pbb): Same.
11600 (print_pdrs): Same.
11601 (debug_pdrs): Same.
11602 (debug_scop_context): Same.
11603 (debug_scop): Same.
11604 (debug_cloog): Same.
11605 (print_scop_params): Same.
11606 (debug_scop_params): Same.
11607 (print_iteration_domain): Same.
11608 (print_iteration_domains): Same.
11609 (debug_iteration_domain): Same.
11610 (debug_iteration_domains): Same.
11611 (print_scattering_function): Same.
11612 (print_scattering_functions): Same.
11613 (debug_scattering_function): Same.
11614 (debug_scattering_functions): Same.
11615
11616 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
11617
11618 * graphite-poly.c (print_scattering_function_1): New.
11619 (print_scattering_function): Call it.
11620 (print_scop_params): Remove spaces at the end of lines.
11621 (print_cloog): New.
11622 (debug_cloog): New.
11623 * graphite-poly.h (print_cloog): Declared.
11624 (debug_cloog): Declared.
11625
11626 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
11627
11628 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
11629 in loop->header.
11630 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
11631 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
11632 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
11633 to switch between adding the IV bump in loop->latch or in loop->header.
11634
11635 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
11636
11637 * graphite-poly.c (print_scattering_function): Pretty print following
11638 the scoplib format.
11639 (print_pdr): Same.
11640 (print_pbb_domain): Same.
11641 (dump_gbb_cases): Same.
11642 (dump_gbb_conditions): Same.
11643 (print_pdrs): Same.
11644 (print_pbb): Same.
11645 (print_scop_params): Same.
11646 (print_scop_context): Same.
11647 (print_scop): Same.
11648 (print_pbb_body): New.
11649 (lst_indent_to): New.
11650 (print_lst): Start new lines with a #.
11651 * graphite-poly.h (pbb_bb): New.
11652 (pbb_index): Use pbb_bb.
11653 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
11654 disjuncts.
11655 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
11656
11657 2010-03-31 Jakub Jelinek <jakub@redhat.com>
11658
11659 * dwarf2out.c (size_of_die): For -gdwarf-4 use
11660 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
11661 and 0 instead of 1 for dw_val_class_flag.
11662 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
11663 dw_val_class_range_list, dw_val_class_loc_list,
11664 dw_val_class_lineptr and dw_val_class_macptr, use
11665 DW_FORM_flag_present for dw_val_class_flag and
11666 DW_FORM_exprloc for dw_val_class_loc.
11667 (output_die): For -gdwarf-4 print dw_val_class_loc
11668 size as uleb128 instead of 1 or 2 bytes and don't print
11669 anything for dw_val_class_flag.
11670
11671 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
11672 instead of cselib_lookup following by tweaking locs->setting_insn.
11673
11674 PR bootstrap/43596
11675 * cselib.c (cselib_process_insn): Clear cselib_current_insn
11676 even before returning from label, setjmp call or volatile asm
11677 handling.
11678
11679 2010-03-31 Richard Guenther <rguenther@suse.de>
11680
11681 PR middle-end/43600
11682 * cgraphunit.c (cgraph_output_in_order): Do not allocate
11683 temporary data on stack.
11684
11685 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11686
11687 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
11688 (PUSHSECTION_ASM_OP): Remove.
11689 (POPSECTION_ASM_OP): Remove.
11690 (PUSHSECTION_FORMAT): Remove.
11691 * config/sol2.h (PUSHSECTION_FORMAT): Define.
11692 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
11693 * config/sol2.c (solaris_output_init_fini): Use it.
11694
11695 2010-03-31 Jie Zhang <jie@codesourcery.com>
11696
11697 PR 43574
11698 * opt-functions.awk (var_type_struct): Use signed char type
11699 for simple variables.
11700
11701 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11702
11703 * config/sol2.c: Include output.h.
11704 (solaris_assemble_visibility): New function.
11705 * config/t-sol2 (sol2.o): Add output.h dependency.
11706 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
11707 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
11708 Redefine.
11709
11710 2010-03-31 Jakub Jelinek <jakub@redhat.com>
11711
11712 PR target/43580
11713 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
11714 V2SImode or XFmode on PRE_DEC.
11715
11716 PR debug/43557
11717 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
11718 BLKmode.
11719
11720 2010-03-31 Jie Zhang <jie@codesourcery.com>
11721
11722 PR 43562
11723 * reload.h (caller_save_initialized_p): Declare.
11724 * toplev.c (backend_init_target): Don't call
11725 init_caller_save but set caller_save_initialized_p to false.
11726 * caller-save.c (caller_save_initialized_p): Define.
11727 (init_caller_save): Check caller_save_initialized_p.
11728 * ira.c (ira): Call init_caller_save if flag_caller_saves.
11729
11730 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11731
11732 PR target/39048
11733 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
11734 and soft-fp/t-softfp to tmake_file.
11735 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
11736 (LIBGCC2_TF_CEXT): Define.
11737 (TF_SIZE): Define.
11738
11739 2010-03-30 Alexandre Oliva <aoliva@redhat.com>
11740
11741 PR debug/42977
11742 * cselib.c (n_useless_values): Document handling of debug locs.
11743 (n_useless_debug_values, n_debug_values): New variables.
11744 (new_elt_loc_list): Don't add to debug values, keep count.
11745 (promote_debug_loc): New.
11746 (cselib_reset_table): Zero new variables.
11747 (entry_and_rtx_equal_p): Promote debug locs.
11748 (discard_useless_locs): Increment n_useless_debug_values for
11749 debug values.
11750 (remove_useless_values): Adjust n_useless_values and n_debug_values
11751 with n_useless_debug_values.
11752 (add_mem_for_addr): Promote debug locs.
11753 (cselib_lookup_mem): Likewise.
11754 (cselib_lookup_addr): Renamed to...
11755 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
11756 (cselib_log_lookup): ... this. Turn into...
11757 (cselib_lookup_addr): ... new wrapper.
11758 (cselib_lookup_from_insn): New.
11759 (cselib_invalidate_regno): Increment n_useless_debug_values for
11760 debug values.
11761 (cselib_invalidate_mem): Likewise.
11762 (cselib_process_insn): Take n_deleted and n_debug_values into
11763 account to guard remove_useless_value call.
11764 (cselib_finish): Zero n_useless_debug_values.
11765 * cselib.h (cselib_lookup_from_insn): Declare.
11766 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
11767 (sched_analyze_2): Likewise.
11768
11769 2010-03-30 Jakub Jelinek <jakub@redhat.com>
11770
11771 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
11772 functions.
11773 (adjust_mems): Replace narrowing SUBREG of expression containing
11774 just PLUS, MINUS, MULT and ASHIFT of registers and constants
11775 with operations in the narrower mode.
11776
11777 PR debug/43593
11778 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
11779 regs_invalidated_by_call instead all call_used_reg_set registers.
11780
11781 2010-03-30 Sebastian Pop <sebastian.pop@amd.com>
11782
11783 PR middle-end/43430
11784 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
11785 pointer comparisons with types_compatible_p.
11786 * tree-vect-stmts.c (vectorizable_call): Same.
11787 (vectorizable_condition): Same.
11788
11789 2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11790
11791 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
11792 stack check if the mask would be zero.
11793
11794 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
11795 Jack Howarth <howarth@bromo.med.uc.edu>
11796
11797 * tree-profile.c (tree_init_ic_make_global_vars): Make static
11798 variables TLS.
11799
11800 2010-03-30 Joseph Myers <joseph@codesourcery.com>
11801
11802 PR other/25232
11803 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
11804 and __unordtf2.
11805 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
11806 Include ___unordxf2 and ___unordtf2.
11807 * config/i386/libgcc-glibc.ver: Do not define inheritance from
11808 GCC_4.4.0 here.
11809
11810 2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
11811
11812 * config/lm32/t-lm32: New file.
11813 * config.gcc: Use the above file when targetting lm32.
11814
11815 2010-03-28 Duncan Sands <baldrick@free.fr>
11816
11817 * Makefile.in (PLUGIN_HEADERS): Add except.h.
11818
11819 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
11820
11821 PR middle-end/43431
11822 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
11823 Improve vectorization cost model diagnostic.
11824
11825 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
11826
11827 PR middle-end/43436
11828 * tree-vect-data-refs.c (vect_analyze_data_refs): When
11829 compute_data_dependences_for_loop returns false, early exit
11830 and output an extra diagnostic for the failed data reference
11831 analysis.
11832
11833 2010-03-29 Richard Guenther <rguenther@suse.de>
11834
11835 PR tree-optimization/43560
11836 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
11837 (can_sm_ref_p): Treat stores to readonly locations as trapping.
11838
11839 2010-03-29 Jie Zhang <jie@codesourcery.com>
11840
11841 PR 43564
11842 * toplev.c (process_options): Set optimization_default_node
11843 and optimization_current_node.
11844 * opts.c (decode_options): Don't set optimization_default_node
11845 and optimization_current_node.
11846
11847 2010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
11848
11849 * config/rtems.h: Abandon -qrtems_debug.
11850
11851 2010-03-28 Jan Hubicka <jh@suse.cz>
11852
11853 PR tree-optimization/43505
11854 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
11855 map should not be copied.
11856
11857 2010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11858
11859 PR middle-end/41674
11860 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
11861 cdtors, set DECL_PRESERVE_P.
11862 * ipa.c (cgraph_externally_visible_p): Return true if declaration
11863 should be preseved.
11864
11865 2010-03-27 Uros Bizjak <ubizjak@gmail.com>
11866
11867 PR tree-optimization/43528
11868 * stor-layout.c (place_field): Check that constant fits into
11869 unsigned HWI when skipping calculation of MS bitfield layout.
11870
11871 2010-03-27 Jan Hubicka <jh@suse.cz>
11872
11873 PR middle-end/43391
11874 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
11875 notice_global_symbol work.
11876
11877 2010-03-27 Jakub Jelinek <jakub@redhat.com>
11878
11879 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
11880 instead of dwarf2out_decl.
11881 (struct var_loc_node): Remove section_label field.
11882 (dwarf2out_function_decl): New function.
11883 (dwarf2out_var_location): Don't set section_label field.
11884 (dwarf2out_begin_function): Don't empty decl_loc_table here.
11885
11886 2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
11887
11888 PR tree-optimization/43544
11889 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
11890 First argument for builtin vectorized function hook is now a
11891 tree to be able to distinguish between machine specific and
11892 standard builtins.
11893 * targhooks.c (default_builtin_vectorized_function): Ditto.
11894 * targhooks.h (default_builtin_vectorized_function): Ditto.
11895 * target.h (struct gcc_target): Ditto.
11896 * tree-vect-stmts.c (vectorizable_function): Ditto.
11897 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
11898 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
11899 Ditto.
11900
11901 2010-03-26 Joseph Myers <joseph@codesourcery.com>
11902
11903 PR c/43381
11904 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
11905 nested binding iff it is a FUNCTION_DECL.
11906 (store_parm_decls_newstyle): Pass nested=true to bind for
11907 FUNCTION_DECLs amongst parameters.
11908
11909 2010-03-26 Jakub Jelinek <jakub@redhat.com>
11910
11911 * var-tracking.c (vt_expand_loc_callback): Don't run
11912 cselib_expand_value_rtx_cb in dummy mode if
11913 cselib_dummy_expand_value_rtx_cb returned false.
11914
11915 * var-tracking.c (emit_note_insn_var_location): For one part
11916 notes with offset 0, don't add EXPR_LIST around the location.
11917 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
11918 add_location_or_const_value_attribute): Adjust for that change.
11919
11920 PR debug/43540
11921 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
11922 into first operand and location into second.
11923 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
11924 dw_cfi_oprnd_loc for DW_CFA_expression.
11925 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
11926 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
11927 assume first argument is regnum and second argument is location.
11928
11929 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
11930
11931 PR target/42113
11932 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
11933 of scratch register to DImode. Split to DImode comparison operator.
11934 Use SImode subreg of scratch register in the multiplication.
11935 (*cmp_sadd_sidi): Ditto.
11936 (*cmp_ssub_si): Ditto.
11937 (*cmp_ssub_sidi): Ditto.
11938
11939 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
11940
11941 PR target/43524
11942 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
11943 Remove invalid assert and wrong comment.
11944
11945 2010-03-26 Jakub Jelinek <jakub@redhat.com>
11946
11947 PR debug/43516
11948 * flags.h (final_insns_dump_p): New extern.
11949 * final.c (final_insns_dump_p): New variable.
11950 (rest_of_clean_state): Set it before -fdump-final-insns=
11951 dumping, clear afterwards.
11952 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
11953 MEM_ALIAS_SET on MEMs.
11954
11955 2010-03-26 David S. Miller <davem@davemloft.net>
11956
11957 * configure.ac: Fix sparc GOTDATA_OP bug check.
11958 * configure: Rebuild.
11959
11960 2010-03-26 Alan Modra <amodra@gmail.com>
11961
11962 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
11963
11964 2010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11965
11966 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
11967 TLS_SECTION_ASM_FLAG.
11968
11969 2010-03-25 Jakub Jelinek <jakub@redhat.com>
11970
11971 PR bootstrap/43511
11972 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
11973 Clear first_function_block_is_cold.
11974
11975 PR c/43385
11976 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
11977 argument if the argument is truth_value_p.
11978
11979 2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
11980
11981 * config/rs6000/constraints.md: Update copyright year for my changes.
11982
11983 PR target/43484
11984 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
11985 used in reg+reg addressing, swap registers.
11986
11987 2010-03-24 Jakub Jelinek <jakub@redhat.com>
11988
11989 PR debug/43293
11990 * target.h (struct gcc_target): Add code_end hook.
11991 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
11992 if not yet defined.
11993 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
11994 * toplev.c (compile_file): Call targetm.asm_out.code_end
11995 hook before unwind info/debug info output.
11996 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
11997 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
11998 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
11999 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
12000 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
12001 * config/i386/i386.c (ix86_file_end): Renamed to...
12002 (ix86_code_end): ... this. Make static. Don't call
12003 file_end_indicate_exec_stack. Emit unwind info using
12004 final_start_function/final_end_function.
12005 (darwin_x86_file_end): Remove.
12006 (TARGET_ASM_CODE_END): Define.
12007 * config/i386/i386.h (TARGET_ASM_FILE_END,
12008 NEED_INDICATE_EXEC_STACK): Don't define.
12009 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
12010 (TARGET_ASM_FILE_END): Define to darwin_file_end.
12011 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
12012 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
12013
12014 PR target/43498
12015 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
12016 at the beginning and final_end_function at the end.
12017 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
12018
12019 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12020
12021 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
12022 and Sun as TLS syntax.
12023 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
12024 * configure: Regenerate.
12025 * config.in: Regenerate.
12026 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
12027 (default_elf_asm_named_section): Use it.
12028 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
12029 (i386_output_dwarf_dtprel): Likewise.
12030 (output_addr_const_extra): Likewise.
12031 (output_pic_addr_const): Lowercase @GOTTPOFF.
12032 (output_addr_const_extra): Likewise.
12033 (output_pic_addr_const): Lowercase @GOTNTPOFF.
12034 (output_addr_const_extra): Likewise.
12035 (output_pic_addr_const): Lowercase @INDNTPOFF.
12036 (output_addr_const_extra): Likewise.
12037 (output_pic_addr_const): Lowercase @NTPOFF.
12038 (output_addr_const_extra): Likewise.
12039 (output_pic_addr_const): Lowercase @TPOFF.
12040 (output_addr_const_extra): Likewise.
12041 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
12042 (*tls_global_dynamic_64): Likewise.
12043 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
12044 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
12045
12046 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
12047 (ASM_OUTPUT_TLS_COMMON): Use it.
12048 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
12049
12050 PR target/38118
12051 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
12052 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
12053 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
12054 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
12055 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
12056 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
12057
12058 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12059
12060 * config/i386/i386.c (override_options): Don't accept
12061 -mtls-dialect=sun any longer.
12062 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
12063 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
12064 (*tls_local_dynamic_base_32_sun): Likewise.
12065 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
12066
12067 2010-03-24 Jakub Jelinek <jakub@redhat.com>
12068
12069 PR debug/43508
12070 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
12071 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
12072
12073 PR debug/43479
12074 * ira.c (adjust_cleared_regs): New function.
12075 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
12076
12077 PR debug/19192
12078 PR debug/43479
12079 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
12080 from gimple_block.
12081 * expr.c (expand_expr_real): Restore previous
12082 curr_insn_source_location and curr_insn_block after
12083 expand_expr_real_1 call.
12084 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
12085 instead of expand_expr_real_1.
12086
12087 2010-03-23 Vladimir Makarov <vmakarov@redhat.com>
12088
12089 PR rtl-optimization/43413
12090 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
12091 hard regs too.
12092
12093 2010-03-22 James E. Wilson <wilson@codesourcery.com>
12094
12095 PR target/43348
12096 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
12097 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
12098
12099 2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
12100
12101 * config/i386/i386.c (ix86_target_string): Add -mfma.
12102 Fix a typo in comment.
12103
12104 2010-03-22 Mike Stump <mikestump@comcast.net>
12105
12106 PR target/23071
12107 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
12108 Don't overly align based upon packed packed fields.
12109
12110 2010-03-22 Jason Merrill <jason@redhat.com>
12111
12112 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
12113 Use () rather than [], and move before the element type.
12114
12115 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12116
12117 * doc/configfiles.texi (Configuration Files): Removed
12118 fixinc/Makefile*, intl/Makefile.*.
12119 * doc/makefile.texi: Fixed markup. Abstract from version
12120 control system used.
12121 (Makefile): Removed obsolete gcc/java/parse.y example.
12122 * doc/sourcebuild.texi: Likewise.
12123 (Top Level): Added config, gnattools, libdecnumber, libgcc,
12124 libgomp, libssp. Removed fastjar.
12125 (Miscellaneous Docs): Clarify location.
12126 Added COPYING3, COPYING3.LIB.
12127 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
12128
12129 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12130
12131 PR target/38085
12132 * config/i386/i386.c (x86_function_profiler)
12133 [!NO_PROFILE_COUNTERS]: Fix typo.
12134 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
12135 instead of callq.
12136
12137 2010-03-22 Janis Johnson <janis187@us.ibm.com>
12138 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12139
12140 * doc/sourcebuild.texi (Test Directives): Split into six
12141 subsections, with most of the current text in new subsections
12142 Directives, Selectors, and Final Actions.
12143 (Directives): Split list of test directives into multiple
12144 subsubsections.
12145 (Selectors): Describe use and syntax of selectors.
12146 (Effective-Target Keywords): Describe all existing keywords.
12147 (Add Options): Describe features for dg-add-options.
12148 (Require Support): Describe variants of dg-require-support.
12149 (Final Actions): Describe commands to use in dg-final.
12150
12151 2010-03-22 Michael Matz <matz@suse.de>
12152
12153 PR middle-end/43475
12154 * recog.c (validate_replace_rtx_group): Replace also in
12155 REG_EQUAL and REG_EQUIV notes.
12156
12157 2010-03-22 Richard Guenther <rguenther@suse.de>
12158
12159 PR tree-optimization/43390
12160 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
12161 sure vector extracts are type correct.
12162
12163 2010-03-22 Richard Guenther <rguenther@suse.de>
12164
12165 PR middle-end/40106
12166 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
12167 x * sqrt (x) even when optimizing for size if the target
12168 has native support for sqrt.
12169
12170 2010-03-22 Jakub Jelinek <jakub@redhat.com>
12171
12172 * varasm.c (make_decl_rtl_for_debug): Also clear
12173 flag_mudflap for the duration of make_decl_rtl call.
12174
12175 PR debug/43443
12176 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
12177 locs from preserved VALUEs.
12178
12179 2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12180
12181 PR middle-end/42718
12182 * pa.md (movmemsi): Set align to one if zero.
12183 (movmemdi): Likewise.
12184
12185 2010-03-21 Richard Earnshaw <rearnsha@arm.com>
12186
12187 PR target/42321
12188 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
12189 with their corresponding prologue pushes.
12190
12191 2010-03-20 Andrew Pinski <pinskia@gmail.com>
12192
12193 PR target/43156
12194 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
12195 at the begining or end.
12196 (spu_expand_epilogue): Likewise.
12197
12198 2010-03-20 Richard Guenther <rguenther@suse.de>
12199
12200 PR rtl-optimization/43438
12201 * combine.c (make_extraction): Properly zero-/sign-extend an
12202 extraction of the low part of a CONST_INT. Also handle
12203 CONST_DOUBLE.
12204
12205 2010-03-19 Mike Stump <mikestump@comcast.net>
12206
12207 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
12208 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
12209 (override_options): Use SUBTARGET32_DEFAULT_CPU.
12210
12211 2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
12212
12213 PR c/43211
12214 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
12215 an error.
12216
12217 2010-03-19 Bernd Schmidt <bernds@codesourcery.com>
12218
12219 PR rtl-optimization/42258
12220 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
12221 use that may match DEF.
12222
12223 PR target/40697
12224 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
12225 the cost of loading the constant rather than assuming
12226 COSTS_N_INSNS (1).
12227 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
12228 outer code is AND, do the same tests as the andsi3 expander and
12229 return COSTS_N_INSNS (1) if and is cheap.
12230
12231 * optabs.c (avoid_expensive_constant): Fix formatting.
12232
12233 2010-03-19 Michael Matz <matz@suse.de>
12234
12235 PR c++/43116
12236 * attribs.c (decl_attributes): When rebuilding a function pointer
12237 type use the same qualifiers as the original pointer type.
12238
12239 2010-03-19 Martin Jambor <mjambor@suse.cz>
12240
12241 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
12242 and is_gimple_ip_invariant_address.
12243
12244 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12245
12246 Revert
12247 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12248
12249 * config/arm/arm.c (arm_override_options): Turn off
12250 flag_dwarf2_cfi_asm for AAPCS variants.
12251
12252 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12253
12254 PR target/43399
12255 * config/arm/arm.c (emit_multi_reg_push): Update comments.
12256 Use PRE_MODIFY instead of PRE_DEC.
12257 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
12258 (vfp_emit_fstmd): Likewise.
12259
12260 2010-03-19 Michael Matz <matz@suse.de>
12261
12262 PR target/43305
12263 * builtins.c (expand_builtin_interclass_mathfn,
12264 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
12265 if that fails.
12266
12267 2010-03-19 Richard Guenther <rguenther@suse.de>
12268
12269 PR tree-optimization/43415
12270 * tree-ssa-pre.c (phi_translate): Split out worker to ...
12271 (phi_translate_1): ... this.
12272 (phi_translate): Move all caching here. Cache all NARY
12273 and REFERENCE translations.
12274
12275 2010-03-19 David S. Miller <davem@davemloft.net>
12276
12277 With help from Eric Botcazou.
12278 * config/sparc/sparc.c: Include dwarf2out.h.
12279 (emit_pic_helper): Delete.
12280 (pic_helper_symbol_name): Delete.
12281 (pic_helper_emitted_p): Delete.
12282 (pic_helper_needed): New.
12283 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
12284 (get_pc_thunk_name): New.
12285 (load_pic_register): Remove 'delay_pic_helper' arg. Use
12286 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
12287 Set pic_helper_needed to true. Don't call emit_pic_helper.
12288 (sparc_expand_prologue): Update load_pic_register call.
12289 (sparc_output_mi_thunk): Likewise.
12290 (sparc_file_end): Emit a hidden comdat symbol for the PIC
12291 thunk if possible. Output CFI information as needed.
12292
12293 2010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12294 Jack Howarth <howarth@bromo.med.uc.edu>
12295
12296 PR target/36399
12297 * config/i386/i386.h: Fix ABI on darwin x86-32.
12298
12299 2010-03-18 Aldy Hernandez <aldyh@redhat.com>
12300
12301 * tree.h: Declare make_decl_rtl_for_debug.
12302 * varasm.c (make_decl_rtl_for_debug): New.
12303 * dwarf2out.c (rtl_for_decl_location): Call it.
12304 * cfgexpand.c (expand_debug_expr): Call it.
12305
12306 2010-03-18 Jakub Jelinek <jakub@redhat.com>
12307
12308 PR bootstrap/43399
12309 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
12310 mem_mode.
12311
12312 PR bootstrap/43403
12313 * var-tracking.c (vt_init_cfa_base): Do nothing if
12314 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
12315
12316 2010-03-18 Alexandre Oliva <aoliva@redhat.com>
12317
12318 PR debug/42873
12319 * var-tracking.c (canonicalize_vars_star): New.
12320 (dataflow_post_merge_adjust): Use it.
12321
12322 2010-03-18 Jakub Jelinek <jakub@redhat.com>
12323
12324 PR debug/43058
12325 * var-tracking.c (non_suitable_const): New function.
12326 (add_uses): For DEBUG_INSNs with constants, don't record any
12327 value, instead just the constant value itself.
12328 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
12329 is not VAR_LOC_UNKNOWN_P, set var to the constant.
12330 (emit_notes_in_bb): Likewise.
12331 (emit_note_insn_var_location): For onepart variables if
12332 cur_loc is a VOIDmode constant, use DECL_MODE.
12333
12334 2010-03-18 Martin Jambor <mjambor@suse.cz>
12335
12336 PR middle-end/42450
12337 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
12338 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
12339 all non-clones. Moved call redirection...
12340 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
12341 (cgraph_materialize_all_clones): Dispose of all
12342 combined_args_to_skip bitmaps.
12343 (verify_cgraph_node): Do not check for edges pointing to wrong
12344 nodes in inline clones.
12345 * tree-inline.c (copy_bb): Call
12346 cgraph_redirect_edge_call_stmt_to_callee.
12347 * ipa.c (cgraph_remove_unreachable_nodes): Call
12348 cgraph_node_remove_callees even when there are used clones.
12349
12350 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
12351
12352 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
12353
12354 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
12355
12356 PR target/43383
12357 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
12358 for 32bit.
12359
12360 2010-03-18 Michael Matz <matz@suse.de>
12361
12362 PR middle-end/43419
12363 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
12364 into sqrt(x) if we need to preserve signed zeros.
12365
12366 2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
12367 Eric Botcazou <ebotcazou@adacore.com>
12368
12369 PR rtl-optimization/43360
12370 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
12371 note if we don't know its invariant status.
12372
12373 2010-03-18 Michael Matz <matz@suse.de>
12374
12375 PR tree-optimization/43402
12376 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
12377 PHI chains of ssa names registered for update.
12378
12379 2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
12380
12381 PR target/42427
12382 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
12383 non-offsettable and pre_modify update addressing.
12384 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
12385 and "2" alternatives "#".
12386 (*movdd_softfloat32): Make all alternatives "#";
12387 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
12388 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
12389 (*movdf_softfloat32): Make all alternatives "#";
12390 (movdi): Use the new DIFD mode iterator to create a common splitter
12391 for movdi, movdf and movdd patterns.
12392
12393 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
12394
12395 * common.opt (dumpdir): Remove redundant tab.
12396
12397 2010-03-17 Martin Jambor <mjambor@suse.cz>
12398
12399 PR tree-optimization/43347
12400 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
12401 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
12402
12403 2010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
12404
12405 PR rtl-optimization/42216
12406 * regrename.c (create_new_chain): New function, broken out from...
12407 (scan_rtx_reg): ... here. Call it. Handle the case where we are
12408 appending a use to an empty chain.
12409 (build_def_use): Remove previous changes that convert OP_INOUT to
12410 OP_OUT operands; instead detect the case where an OP_INOUT operand
12411 uses a previously untracked register and create an empty chain for it.
12412
12413 2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12414
12415 * doc/extend.texi (Function Attributes): Rewrite unfinished
12416 sentence in ms_abi documentation.
12417
12418 2010-03-17 Alan Modra <amodra@gmail.com>
12419
12420 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
12421 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
12422 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
12423 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
12424
12425 2010-03-16 Richard Henderson <rth@redhat.com>
12426
12427 PR middle-end/43365
12428 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
12429 (lower_try_finally): Save and restore eh_seq around the expansion
12430 of the try-finally.
12431
12432 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
12433
12434 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
12435 statements before splitting block.
12436
12437 2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12438
12439 * doc/sourcebuild.texi (Testsuites): Fix markup.
12440 Use pathnames relative to gcc/testsuite.
12441 (Test Directives): Move description of how timeout is determined.
12442 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
12443 (C Tests): Correct gcc.misc-tests directory.
12444 Framework tests now live in gcc.test-framework.
12445
12446 2010-03-16 Richard Guenther <rguenther@suse.de>
12447
12448 PR middle-end/43379
12449 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
12450 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
12451
12452 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
12453 Alexandre Oliva <aoliva@redhat.com>
12454
12455 PR tree-optimization/42917
12456 * lambda-code.c (remove_iv): Skip debug statements.
12457 (lambda_loopnest_to_gcc_loopnest): Likewise.
12458 (not_interesting_stmt): Debug statements are not interesting.
12459
12460 2010-03-16 Jakub Jelinek <jakub@redhat.com>
12461
12462 PR debug/43051
12463 PR debug/43092
12464 * cselib.c (cselib_preserve_constants,
12465 cfa_base_preserved_val): New static variables.
12466 (preserve_only_constants): New function.
12467 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
12468 clear its REG_VALUES. If cselib_preserve_constants, don't
12469 empty the whole hash table, but preserve there VALUEs with constants,
12470 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
12471 (cselib_preserve_cfa_base_value): New function.
12472 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
12473 (cselib_init): Change argument to int bitfield. Set
12474 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
12475 is in it.
12476 (cselib_finish): Clear cselib_preserve_constants and
12477 cfa_base_preserved_val.
12478 * cselib.h (enum cselib_record_what): New enum.
12479 (cselib_init): Change argument to int.
12480 (cselib_preserve_cfa_base_value): New prototype.
12481 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
12482 * dse.c (dse_step1): Likewise.
12483 * cfgcleanup.c (thread_jump): Likewise.
12484 * sched-deps.c (sched_analyze): Likewise.
12485 * gcse.c (local_cprop_pass): Likewise.
12486 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
12487 If FN is non-NULL, call the callback always and whenever it returns
12488 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
12489 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
12490 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
12491 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
12492 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
12493 * var-tracking.c: Include recog.h.
12494 (bb_stack_adjust_offset): Remove.
12495 (vt_stack_adjustments): Don't call it, instead just gather the
12496 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
12497 (adjust_stack_reference): Remove.
12498 (compute_cfa_pointer): New function.
12499 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
12500 (struct adjust_mem_data): New type.
12501 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
12502 functions.
12503 (get_address_mode): New function.
12504 (replace_expr_with_values): Use it.
12505 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
12506 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
12507 (adjust_sets): Remove.
12508 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
12509 Use get_address_mode.
12510 (get_adjusted_src): Remove.
12511 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
12512 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
12513 (add_with_sets): Don't call adjust_sets.
12514 (fp_setter, vt_init_cfa_base): New functions.
12515 (vt_initialize): Change return type to bool. Move most of pool etc.
12516 initialization to the beginning of the function from end. Pass
12517 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
12518 If !frame_pointer_needed, call vt_stack_adjustment before mos
12519 vector is filled, call vt_init_cfa_base if argp/framep has been
12520 eliminated to sp. If frame_pointer_needed and argp/framep has
12521 been eliminated to hard frame pointer, set
12522 hard_frame_pointer_adjustment and call vt_init_cfa_base after
12523 encountering fp setter in the prologue. For MO_ADJUST, call
12524 log_op_type before pusing the op into mos vector, not afterwards.
12525 Call adjust_insn before cselib_process_insn/add_with_sets,
12526 call cancel_changes (0) afterwards.
12527 (variable_tracking_main_1): Adjust for vt_initialize calling
12528 vt_stack_adjustments and returning whether it succeeded or not.
12529
12530 2010-03-15 Aldy Hernandez <aldyh@redhat.com>
12531
12532 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
12533 debug statements.
12534
12535 2010-03-15 Jakub Jelinek <jakub@redhat.com>
12536
12537 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
12538 has been set.
12539 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
12540 drap_reg has not been set.
12541
12542 2010-03-15 Michael Matz <matz@suse.de>
12543
12544 PR middle-end/43300
12545 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
12546 use it to expand block copies.
12547 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
12548 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
12549 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
12550
12551 2010-03-15 Richard Guenther <rguenther@suse.de>
12552
12553 PR tree-optimization/43367
12554 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
12555 elimination check.
12556
12557 2010-03-15 Richard Guenther <rguenther@suse.de>
12558
12559 PR tree-optimization/43317
12560 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
12561
12562 2010-03-15 Martin Jambor <mjambor@suse.cz>
12563
12564 PR tree-optimization/43141
12565 * tree-sra.c (create_abstract_origin): New function.
12566 (modify_function): Call create_abstract_origin.
12567
12568 2010-03-15 Chris Demetriou <cgd@google.com>
12569
12570 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
12571 wasn't copied.
12572
12573 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12574
12575 PR middle-end/43354
12576 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
12577 call insert_out_of_ssa_copy for default definitions.
12578
12579 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12580
12581 * graphite-clast-to-gimple.c (my_long_long): Defined.
12582 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
12583 * graphite-sese-to-poly.c (my_long_long): Defined.
12584 (scop_ivs_can_be_represented): Use it.
12585
12586 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12587
12588 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
12589 graphite-max-bbs-per-function, and loop-block-tile-size.
12590 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
12591 with "maximum".
12592 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
12593
12594 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12595
12596 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
12597 forward declaration.
12598 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
12599 (add_upper_bounds_from_estimated_nit): New.
12600 (build_loop_iteration_domains): Use it.
12601
12602 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12603
12604 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
12605
12606 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12607
12608 PR middle-end/43306
12609 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
12610 should be an INTEGER_CST. Also handle CASE_CONVERT.
12611
12612 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12613
12614 * graphite.c (graphite_initialize): To bound the number of bbs per
12615 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
12616 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
12617 * doc/invoke.texi: Document it.
12618
12619 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12620
12621 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
12622 * graphite-sese-to-poly.h (build_poly_scop): Same.
12623
12624 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
12625
12626 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
12627 the number of parameters in the scop. Use as an upper bound
12628 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
12629 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
12630 * doc/invoke.texi: Document it.
12631
12632 2010-03-13 Jerry Quinn <jlquinn@optonline.net>
12633
12634 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
12635 * doc/c-tree.texi: Remove.
12636 * doc/generic.texi: Merge c-tree.texi here.
12637 * doc/gccint.texi (Trees): Remove menu entry.
12638 (c-tree.texi): Remove @include.
12639 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
12640 * doc/languages.texi (Reading RTL): Ditto.
12641
12642 2010-03-12 Steve Ellcey <sje@cup.hp.com>
12643
12644 PR target/42869
12645 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
12646
12647 2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
12648
12649 PR middle-end/42431
12650 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
12651 code added to work around reload clobbering CONST insns.
12652
12653 2010-03-12 Jakub Jelinek <jakub@redhat.com>
12654
12655 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
12656 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
12657 (cselib_preserve_only_values): Remove retain argument, don't
12658 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
12659 * cselib.h (cselib_preserve_only_values): Remove retain argument.
12660 * var-tracking.c (micro_operation): Move insn field before union.
12661 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
12662 (struct variable_tracking_info_def): Remove n_mos field, change
12663 mos into a vector of micro_operations.
12664 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
12665 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
12666 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
12667 changing into a vector.
12668 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
12669 come before all other uops generated by add_stores.
12670 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
12671 argument removal.
12672 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
12673 a vector. Run just one pass over the bbs instead of separate counting
12674 and computation phase.
12675 (vt_finalize): Free VTI (bb)->mos vector instead of array.
12676
12677 PR debug/43329
12678 * tree-inline.c (remap_decls): Put old_var rather than origin_var
12679 into *nonlocalized_list vector.
12680 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
12681 even if origin is non-NULL.
12682 (gen_variable_die): Likewise.
12683 (process_scope_var): Don't change origin.
12684 (gen_decl_die): Likewise.
12685 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
12686 before adding new edges instead of after it, fix moving over
12687 debug stmts.
12688
12689 2010-03-11 David S. Miller <davem@davemloft.net>
12690
12691 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
12692 of four.
12693 * configure: Rebuild.
12694
12695 2010-03-11 Martin Jambor <mjambor@suse.cz>
12696
12697 PR tree-optimization/43257
12698 * tree.c (assign_assembler_name_if_neeeded): New function.
12699 (free_lang_data_in_cgraph): Assembler name assignment moved to the
12700 above new function.
12701 * tree.h (assign_assembler_name_if_neeeded): Declare.
12702 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
12703 the function if needed.
12704
12705 2010-03-11 Chris Demetriou <cgd@google.com>
12706
12707 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
12708 include/stdint-gcc.h, and include/stdint.h world-readable.
12709
12710 2010-03-11 Richard Guenther <rguenther@suse.de>
12711
12712 PR tree-optimization/43255
12713 * tree-vrp.c (process_assert_insertions_for): Do not insert
12714 asserts for trivial conditions.
12715
12716 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12717
12718 PR tree-optimization/43280
12719 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
12720 generation. Move calculation of size out of the if branch.
12721 (find_bswap): Modify compare number generation.
12722
12723 2010-03-11 Richard Guenther <rguenther@suse.de>
12724
12725 PR lto/43200
12726 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
12727 (input_gimple_stmt): Fixup handled component types during
12728 operand read. Also fix up decls in ADDR_EXPRs.
12729
12730 2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
12731
12732 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
12733 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
12734
12735 2010-03-10 Jan Hubicka <jh@suse.cz>
12736
12737 PR c/43288
12738 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
12739 * varasm.c (get_variable_section): Don't do that here...
12740 (make_decl_rtl): ... and here.
12741 (do_assemble_alias): Produce decl RTL.
12742 (assemble_alias): Likewise.
12743
12744 2010-03-10 Jakub Jelinek <jakub@redhat.com>
12745
12746 PR debug/43290
12747 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
12748 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
12749 of fde->vdrap_reg.
12750 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
12751 (based_loc_descr): Only express drap or vdrap regno based expressions
12752 using DW_OP_fbreg when not optimizing.
12753 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
12754 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
12755 REG_CFA_SET_VDRAP note.
12756
12757 2010-03-10 Alexander Monakov <amonakov@ispras.ru>
12758
12759 PR tree-optimization/43236
12760 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
12761 error in calculation of base address in reverse iteration case.
12762 (generate_builtin): Take number of latch executions if the statement
12763 is in the latch.
12764
12765 2010-03-10 Andrey Belevantsev <abel@ispras.ru>
12766
12767 PR middle-end/42859
12768 * tree-eh.c: Include pointer-set.h.
12769 (lower_eh_dispatch): Filter out duplicate case labels and
12770 remove the unneeded edge when the label is unused. Return
12771 true when some edges are removed.
12772 (execute_lower_eh_dispatch): When any lowering resulted in
12773 removing an edge, also delete unreachable blocks.
12774
12775 2010-03-10 Jakub Jelinek <jakub@redhat.com>
12776
12777 PR bootstrap/43287
12778 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
12779 UNSPEC_MACHOPIC_OFFSET.
12780
12781 2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
12782
12783 PR target/43294
12784 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
12785 (m68k_delegitimize_address): New function.
12786
12787 2010-03-09 Jakub Jelinek <jakub@redhat.com>
12788
12789 PR debug/43299
12790 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
12791
12792 PR debug/43299
12793 * var-tracking.c (adjust_sets): New function.
12794 (count_with_sets, add_with_sets): Use it.
12795 (get_adjusted_src): New inline function.
12796 (add_stores): Use it.
12797
12798 PR debug/43304
12799 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
12800 call cselib_dummy_expand_value_rtx_cb instead of
12801 cselib_expand_value_rtx_cb.
12802
12803 PR debug/43293
12804 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
12805 * config/i386/i386.c: Include debug.h and dwarf2out.h.
12806 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
12807 and .cfi_endproc around the pic thunks.
12808 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
12809 all queued unwind info register saves are saved before the call.
12810 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
12811 considered as sp-=4 for unwind info and the pop as sp+=4 which
12812 also clobbers dest, but doesn't actually restore it.
12813
12814 PR debug/43290
12815 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
12816 RTX_FRAME_RELATED_P.
12817
12818 2010-03-09 Jie Zhang <jie@codesourcery.com>
12819
12820 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
12821 whitespaces in output template.
12822
12823 2010-03-09 Jie Zhang <jie@codesourcery.com>
12824
12825 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
12826 out array boundary.
12827
12828 2010-03-08 Jakub Jelinek <jakub@redhat.com>
12829
12830 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
12831 builtins.exp in a separate job.
12832
12833 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12834
12835 * graphite-sese-to-poly.c (add_param_constraints): Use
12836 lower_bound_in_type and upper_bound_in_type.
12837
12838 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12839
12840 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
12841 instead of unsigned_type_node.
12842
12843 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12844 Reza Yazdani <reza.yazdani@amd.com>
12845
12846 PR middle-end/43065
12847 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
12848 on pointer type parameters.
12849
12850 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
12851
12852 PR middle-end/42644
12853 PR middle-end/42130
12854 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
12855 handle conversions from pointer to integers.
12856 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
12857 induction variable, to be able to work with code generated by CLooG.
12858 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
12859 (build_poly_scop): Bail out if we cannot codegen a loop.
12860
12861 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
12862
12863 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
12864 code generation with gloog_error.
12865
12866 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12867
12868 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
12869 Call fold_convert on all the returned values.
12870 (expand_scalar_variables_expr): Pass to
12871 expand_scalar_variables_ssa_name the type of the resulting expression.
12872
12873 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12874
12875 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
12876 ppl_min_for_le_pointset.
12877 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
12878 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
12879
12880 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12881
12882 * graphite-dependences.c (map_into_dep_poly): Removed.
12883 (dependence_polyhedron_1): Use combine_context_id_scat.
12884
12885 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12886
12887 * graphite-poly.h (struct poly_scattering): Add layout documentation.
12888 (struct poly_bb): Same.
12889 (combine_context_id_scat): New.
12890
12891 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12892
12893 PR middle-end/42326
12894 * sese.c (name_defined_in_loop_p): Return false for default
12895 definitions.
12896
12897 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12898
12899 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
12900 and clean up the logic.
12901
12902 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
12903
12904 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
12905 early return.
12906
12907 2010-03-08 Jakub Jelinek <jakub@redhat.com>
12908
12909 * var-tracking.c (remove_cselib_value_chains): Define only for
12910 ENABLE_CHECKING.
12911 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
12912 delete_slot_part, emit_notes_for_differences_1): Don't call
12913 remove_cselib_value_chains here.
12914 (set_slot_part, emit_notes_for_differences_2): Don't call
12915 add_cselib_value_chains here.
12916 (preserved_values): New vector.
12917 (preserve_value): New function.
12918 (add_uses, add_stores, vt_add_function_parameters): Use it
12919 instead of cselib_preserve_value.
12920 (changed_values_stack): New vector.
12921 (check_changed_vars_0): New function.
12922 (check_changed_vars_1, check_changed_vars_2): Use it.
12923 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
12924 changed_values_stack VALUEs.
12925 (vt_emit_notes): For all preserved_values call
12926 add_cselib_value_chains. If ENABLE_CHECKING call
12927 remove_cselib_value_chains before verifying value_chains is empty.
12928 Initialize and free changed_values_stack.
12929 (vt_initialize): Initialize preserved_values.
12930 (vt_finalize): Free preserved_values.
12931
12932 2010-03-08 Richard Guenther <rguenther@suse.de>
12933
12934 PR tree-optimization/43269
12935 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
12936 region detection.
12937
12938 2010-03-08 Martin Jambor <mjambor@suse.cz>
12939
12940 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
12941 (ipa_is_param_called): Removed.
12942 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
12943 (ipa_print_node_params): Do not print the called flag.
12944 (ipa_write_node_info): Do not stream the called flag.
12945 (ipa_read_node_info): Likewise.
12946
12947 2010-03-07 Jakub Jelinek <jakub@redhat.com>
12948
12949 PR debug/43176
12950 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
12951 * cselib.c (struct expand_value_data): Add dummy field.
12952 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
12953 dummy to false.
12954 (cselib_dummy_expand_value_rtx_cb): New function.
12955 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
12956 any rtl.
12957 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
12958 * var-tracking.c: Include pointer-set.h.
12959 (variable): Change n_var_parts to char from int. Add
12960 cur_loc_changed and in_changed_variables fields.
12961 (variable_canonicalize): Remove.
12962 (shared_var_p): New inline function.
12963 (unshare_variable): Maintain cur_loc_changed and
12964 in_changed_variables fields. If var was in changed_variables,
12965 replace it there with new_var. Just copy cur_loc instead of
12966 resetting it to something else.
12967 (variable_union): Don't recompute cur_loc. Use shared_var_p.
12968 (dataflow_set_union): Don't call variable_canonicalize.
12969 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
12970 of their DEBUG_EXPR_TREE_DECLs.
12971 (canonicalize_loc_order_check): Verify that cur_loc is NULL
12972 and in_changed_variables and cur_loc_changed is false.
12973 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
12974 and cur_loc_changed. Don't update cur_loc here.
12975 (variable_merge_over_src): Don't call variable_canonicalize.
12976 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
12977 removing loc that is equal to cur_loc, clear cur_loc,
12978 set cur_loc_changed and ensure variable_was_changed is called.
12979 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
12980 compare pointers in cur_loc check, if it is equal to loc,
12981 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
12982 (variable_different_p): Remove compare_current_location argument,
12983 don't compare cur_loc.
12984 (dataflow_set_different_1): Adjust variable_different_p caller.
12985 (variable_was_changed): If dv had some var in changed_variables
12986 already, reset in_changed_variables flag for it and propagate
12987 cur_loc_changed over to the new variable. On empty var
12988 always set cur_loc_changed. Set in_changed_variables on whatever
12989 var is added to changed_variables.
12990 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
12991 Use shared_var_p. When removing loc that is equal to cur_loc,
12992 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
12993 end, don't set it to something else, just call variable_was_changed.
12994 (delete_slot_part): Use shared_var_p. When cur_loc equals to
12995 loc being removed, clear cur_loc and set cur_loc_changed.
12996 Set cur_loc_changed if all locations have been removed.
12997 (struct expand_loc_callback_data): New type.
12998 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
12999 allocated. Always create SUBREGs if simplify_subreg failed.
13000 Prefer to use cur_loc, when that fails and still in
13001 changed_variables (and seen first time) recompute it. Set
13002 cur_loc_changed of variables which had to change cur_loc and
13003 compute elcd->cur_loc_changed if any of the subexpressions used
13004 had to change cur_loc.
13005 (vt_expand_loc): Adjust to pass arguments in
13006 expand_loc_callback_data structure.
13007 (vt_expand_loc_dummy): New function.
13008 (emitted_notes): New variable.
13009 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
13010 that weren't used for any other decl in current
13011 emit_notes_for_changes call call vt_expand_loc_dummy to update
13012 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
13013 first loc_chain location if NULL before. Always use just
13014 cur_loc instead of first loc_chain location. When cur_loc_changed
13015 is false, when not --enable-checking=rtl just don't emit any note.
13016 When rtl checking, compute the note and assert it is the same
13017 as previous note. Clear cur_loc_changed and in_changed_variables
13018 at the end before removing from changed_variables.
13019 (check_changed_vars_3): New function.
13020 (emit_notes_for_changes): Traverse changed_vars to call
13021 check_changed_vars_3 on each changed var.
13022 (emit_notes_for_differences_1): Clear cur_loc_changed and
13023 in_changed_variables. Recompute cur_loc of new_var.
13024 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
13025 (vt_emit_notes): Initialize and destroy emitted_notes.
13026
13027 2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
13028
13029 PR rtl-optimization/42220
13030 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
13031 Use verify_reg_tracked to determine if we should use OP_OUT rather
13032 than OP_INOUT.
13033 (build_def_use): If we see an in-out operand for a register that we
13034 know nothing about, treat is an output if possible, fail the block if
13035 not.
13036
13037 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
13038
13039 PR debug/42897
13040 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
13041 permanently.
13042
13043 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
13044
13045 PR debug/42897
13046 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
13047 uses of relevant DEFs that are dead outside the loop too.
13048
13049 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
13050
13051 * var-tracking.c (dataflow_set_merge): Swap src and src2.
13052 Reverted:
13053 2010-01-13 Jakub Jelinek <jakub@redhat.com>
13054 PR debug/41371
13055 * var-tracking.c (values_to_unmark): New variable.
13056 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
13057 values_to_unmark vector. Moved body to...
13058 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
13059 instead queue it into values_to_unmark vector.
13060 (vt_find_locations): Free values_to_unmark vector.
13061
13062 2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
13063
13064 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
13065 (site.exp): Export them when plugins are enabled.
13066
13067 2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
13068
13069 PR middle-end/42326
13070 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
13071 that contain scevs.
13072 (chrec_fold_multiply): Same.
13073
13074 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
13075
13076 PR c/43248
13077 * c-decl.c (build_compound_literal): Return early if init is
13078 an error_mark_node.
13079
13080 2010-03-04 Martin Jambor <mjambor@suse.cz>
13081
13082 PR tree-optimization/43164
13083 PR tree-optimization/43191
13084 * tree-sra.c (type_consists_of_records_p): Reject records with
13085 zero-size bit-fields at the end.
13086
13087 2010-03-04 Mike Stump <mikestump@comcast.net>
13088
13089 * Makefile.in (TAGS): Remove *.y.
13090
13091 2010-03-04 Richard Guenther <rguenther@suse.de>
13092
13093 PR tree-optimization/40761
13094 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
13095 in reverse order.
13096 (my_rev_post_order_compute): New function.
13097 (init_pre): Call it.
13098
13099 2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
13100
13101 PR middle-end/43209
13102 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
13103 decrease the cost of an IV candidate when the cost is infinite.
13104
13105 2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13106
13107 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
13108 Use '3DNow!' for the extension of that name, ensure normal space
13109 after the string.
13110 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
13111
13112 2010-03-03 Jeff Law <law@redhat.com>
13113
13114 * PR middle-end/32693
13115 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
13116 than gen_rtx_SUBREG.
13117 (extract_bit_field_1): Likewise.
13118
13119 2010-03-03 Janis Johnson <janis187@us.ibm.com>
13120
13121 * doc/sourcebuild.texi (Test directives): Document that arguments
13122 include-opts and exclude-opts are now optional for dg-skip-if,
13123 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
13124
13125 2010-03-03 Jason Merrill <jason@redhat.com>
13126
13127 PR c++/12909
13128 * cgraph.h (varpool_node): Add extra_name field.
13129 * varpool.c (varpool_extra_name_alias): New.
13130 (varpool_assemble_decl): Emit extra name aliases.
13131 (varpool_mark_needed_node): Look past an extra name alias.
13132 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
13133 * lto-streamer-in.c (lto_input_tree): Read it.
13134 * lto-streamer-out.c (output_unreferenced_globals): Write it.
13135
13136 2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
13137
13138 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
13139 (sparc*-*-solaris2*): ...this.
13140
13141 2010-03-03 Jakub Jelinek <jakub@redhat.com>
13142
13143 PR debug/43229
13144 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
13145 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
13146 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
13147 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
13148
13149 PR debug/43237
13150 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
13151 fallthrough to default handling, just with want_address 0 instead of 2.
13152 For single element lists, add_AT_loc directly, otherwise create an
13153 artificial variable DIE and stick location list to it.
13154
13155 PR debug/43177
13156 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
13157 (VAL_EXPR_HAS_REVERSE): Define.
13158 (reverse_op): New function.
13159 (add_stores): For reversible operations add an extra MO_VAL_USE.
13160
13161 2010-03-02 Jason Merrill <jason@redhat.com>
13162
13163 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
13164
13165 2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
13166
13167 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
13168 (sparc64-*-linux*): Likewise.
13169 (sparc64-*-solaris2*): Include assembler files before linker ones.
13170 (sparc-*-solaris2*): Simplify and reorder to match previous case.
13171 * config/sparc/gas.h: Delete.
13172 * config/sparc/sol2-64.h: Add copyright notice.
13173 * config/sparc/sol2-gas-bi.h: Likewise.
13174 * config/sparc/sol2-gld.h: Likewise.
13175 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
13176 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
13177 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
13178 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
13179 (sparc_elf_asm_named_section): Rename into...
13180 (sparc_solaris_elf_asm_named_section): ...this. Always define.
13181
13182 2010-03-02 Uros Bizjak <ubizjak@gmail.com>
13183
13184 * config/alpha/alpha.c (override_options): Fix -mtune error message.
13185
13186 2010-03-02 Jeff Law <law@redhat.com>
13187
13188 PR middle-end/42431
13189 * reload1.c (rtx_p, substitute_stack): Declare.
13190 (substitute): Record addresses of changed rtxs.
13191 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
13192 Restore the original rtx when complete.
13193 (reload): Free subsitute_stack when complete.
13194
13195 2010-03-02 Janis Johnson <janis187@us.ibm.com>
13196
13197 * doc/gccint.texi (menu): Add Testsuites as a chapter.
13198 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
13199 new chapter.
13200 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
13201 LTO Testing, gcov Testing, profopt Testing, compat Testing,
13202 Torture Tests): Change from subsection to section.
13203
13204 2010-03-02 Jakub Jelinek <jakub@redhat.com>
13205 Steven Bosscher <steven@gcc.gnu.org>
13206
13207 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
13208 instead of bb.
13209
13210 2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
13211
13212 PR middle-end/42640
13213 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
13214 the assignment from the new induction variable to the assignment
13215 of the value from the original loop PHI function.
13216
13217 2010-03-01 Janis Johnson <janis187@us.ibm.com>
13218 Daniel Jacobowitz <dan@codesourcery.com>
13219
13220 * doc/sourcebuild.texi (Test directives): Clarify options to
13221 dg-skip-if.
13222
13223 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13224
13225 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
13226 Disable cfi directives unless GCC and gas agree on using read-only
13227 .eh_frame sections for 64-bit.
13228 * configure: Regenerate.
13229
13230 2010-03-01 Richard Guenther <rguenther@suse.de>
13231
13232 PR tree-optimization/43220
13233 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
13234 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
13235
13236 2010-03-01 Richard Guenther <rguenther@suse.de>
13237 Martin Jambor <mjambor@suse.cz>
13238
13239 PR middle-end/41250
13240 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
13241 gimplified parameters.
13242
13243 2010-03-01 Christian Bruel <christian.bruel@st.com>
13244
13245 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
13246
13247 2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
13248
13249 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
13250
13251 2010-03-01 Richard Guenther <rguenther@suse.de>
13252
13253 PR middle-end/43213
13254 * expr.c (expand_assignment): Use the alias-oracle to tell
13255 if the rhs aliases the result decl.
13256
13257 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13258
13259 PR pch/14940
13260 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
13261 to sol_gt_pch_get_address.
13262 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
13263 64-bit, SPARC and x86.
13264 (sol_gt_pch_get_address): New function.
13265
13266 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
13267
13268 * toplev.h (inform_n, error_n): Declare.
13269 * diagnostic.c (inform_n, error_n): New function.
13270
13271 2010-03-01 Jakub Jelinek <jakub@redhat.com>
13272
13273 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
13274 has no rtl yet when processing local_decls, queue it and recheck
13275 if deferred stack allocation hasn't assigned it rtl.
13276
13277 2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
13278
13279 * config/sh/sh.c (unspec_bbr_uid): New.
13280 (gen_block_redirect): Use it instead of INSN_UID.
13281 (gen_far_branch): Likewise.
13282
13283 2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
13284
13285 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
13286 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
13287
13288 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13289
13290 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
13291 (Warning Options): -Wno-conversion-null is valid for
13292 Objective-C++ as well.
13293 * doc/tm.texi (Named Address Spaces): Likewise.
13294 * doc/plugins.texi (Plugins): Replace TABs with spaces.
13295 * doc/tree-ssa.texi (Tree SSA): Likewise.
13296
13297 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
13298
13299 PR bootstrap/43202
13300 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
13301 by default. Don't set the default arch for
13302 i[34567]86-*-darwin*|x86_64-*-darwin*.
13303
13304 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
13305
13306 PR bootstrap/43202
13307 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
13308 default. Set the default 32bit/64bit archs with $with_arch
13309 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
13310
13311 2010-02-27 Richard Guenther <rguenther@suse.de>
13312
13313 PR tree-optimization/43186
13314 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
13315 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
13316 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
13317 unroller iterations.
13318
13319 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
13320
13321 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
13322 required and i[34567]86-*-* targets don't support 64bit ISA.
13323
13324 2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
13325
13326 PR ada/43096
13327 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
13328 the same alias set.
13329
13330 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
13331
13332 * config.gcc: Set the default arch at least to Prescott for
13333 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
13334 if SSE math is enabled.
13335
13336 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
13337
13338 * diagnostic.c (diagnostic_initialize): Update.
13339 (diagnostic_report_diagnostic): Test inhibit_notes_p for
13340 informative notes.
13341 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
13342 (diagnostic_inhibit_notes): New.
13343 * toplev.c (process_options): inhibit notes with -fcompare-debug.
13344
13345 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
13346
13347 PR c/20631
13348 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
13349 * doc/standards.texi: Likewise.
13350 * doc/extend.texi: Likewise.
13351 * doc/trouble.texi: Likewise.
13352 * doc/cppopts.texi: Likewise.
13353 * doc/install.texi: Likewise.
13354 * c.opt (std=c90,std=gnu90): New options.
13355 * c-opts.c (c_common_handle_option): Handle them.
13356
13357 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
13358
13359 PR c/24577
13360 * c-decl.c (undeclared_variable): Use an informative note.
13361
13362 2010-02-26 Richard Guenther <rguenther@suse.de>
13363
13364 PR tree-optimization/43186
13365 * gimple.h (gimple_fold): Remove.
13366 * gimple.c (gimple_fold): Remove. Inline into single user ...
13367 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
13368 Try harder for conditions.
13369
13370 2010-02-26 Jakub Jelinek <jakub@redhat.com>
13371
13372 PR debug/43190
13373 * function.c (used_types_insert): Don't skip through named pointer
13374 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
13375 and it is different from the main variant's type.
13376
13377 2010-02-26 Nick Clifton <nickc@redhat.com>
13378
13379 * config/rx/rx.md (sminsi3): Remove bogus alternative.
13380
13381 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
13382
13383 * config.gcc: Support --with-fpmath=sse for x86.
13384
13385 * config/i386/ssemath.h: New.
13386
13387 * doc/install.texi (--with-fpmath=sse): Documented.
13388
13389 2010-02-26 Richard Guenther <rguenther@suse.de>
13390
13391 PR tree-optimization/43188
13392 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
13393 vector types of over-aligned element type.
13394
13395 2010-02-26 Uros Bizjak <ubizjak@gmail.com>
13396
13397 PR target/43175
13398 * config/i386/i386.c (expand_vec_perm_blend): Use correct
13399 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
13400
13401 2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
13402
13403 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
13404
13405 2010-02-26 Jakub Jelinek <jakub@redhat.com>
13406
13407 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
13408 * var-tracking.c: Include diagnostic.h.
13409 (debug_dv): New function.
13410 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
13411
13412 PR debug/43160
13413 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
13414 (add_value_chain, add_value_chains, remove_value_chain,
13415 remove_value_chains): Handle DEBUG_EXPRs.
13416 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
13417
13418 PR debug/43161
13419 * regcprop.c (struct queued_debug_insn_change): New type.
13420 (struct value_data_entry): Add debug_insn_changes field.
13421 (struct value_data): Add n_debug_insn_changes field.
13422 (debug_insn_changes_pool): New variable.
13423 (free_debug_insn_changes, apply_debug_insn_changes,
13424 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
13425 (kill_value_one_regno): Call free_debug_insn_changes if needed.
13426 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
13427 fields.
13428 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
13429 changes for them.
13430 (copyprop_hardreg_forward_1): Don't call apply_change_group for
13431 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
13432 changes, call cprop_find_used_regs via note_stores.
13433 (copyprop_hardreg_forward): When copying vd from predecessor
13434 which has any queued DEBUG_INSN changes, make sure the pointers are
13435 cleared. At the end call df_analyze and then if there are any
13436 DEBUG_INSN changes queued at the end of some basic block for still
13437 live registers, apply them.
13438 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
13439
13440 2010-02-25 Uros Bizjak <ubizjak@gmail.com>
13441
13442 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
13443 (arm*-*-*): Ditto.
13444
13445 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
13446
13447 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
13448 targets. Set the default with_cpu/with_arch from arch/cpu.
13449 Allow x86-64 and native for with_cpu/with_arch.
13450
13451 2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
13452
13453 * ebitmap.c: Change calls to verify_popcount with calls to
13454 sbitmap_verify_popcount.
13455 (ebitmap_clear_bit): Fixed map->cacheindex test and
13456 map>cache update when bit clearing results in an empty
13457 element.
13458
13459 2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
13460
13461 PR target/43154
13462 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
13463 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
13464 and support both V2DF and V2DI modes.
13465 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
13466 support both V2DF and V2DI modes.
13467 (general): Delete trailing whitespace from a few patterns.
13468
13469 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
13470 V2DF/V2DI interleave high/low builtins.
13471
13472 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
13473 new VSX builtins.
13474
13475 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
13476 interleave high/low functions.
13477
13478 2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
13479
13480 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
13481 #pragma extern_prefix.
13482
13483 2010-02-25 Jakub Jelinek <jakub@redhat.com>
13484
13485 PR debug/43166
13486 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
13487 BLKmode, assert op0 is a MEM and just adjust its mode.
13488
13489 PR debug/43165
13490 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
13491 if bitpos isn't multiple of mode's bitsize.
13492
13493 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
13494
13495 * c.opt (-ftemplate-depth=): New.
13496 (-ftemplate-depth-): Deprecate.
13497 * optc-gen.awk: Handle -ftemplate-depth=.
13498 * opth-gen.awk: Likewise.
13499 * c-opts.c (c_common_handle_option): Likewise.
13500 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
13501
13502 2010-02-24 Jason Merrill <jason@redhat.com>
13503
13504 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
13505
13506 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13507
13508 * cfg.c (alloc_aux_for_block): Remove inline.
13509 (alloc_aux_for_edge): Likewise.
13510
13511 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13512
13513 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
13514
13515 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13516
13517 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
13518 * config/i386/sol2-gas.h: New file.
13519 * config.gcc (i[34567]86-*-solaris2*): Use it.
13520
13521 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
13522
13523 PR c/43128
13524 * c-typeck.c (ep_convert_and_check): New.
13525 (build_conditional_expr): Use it.
13526 (build_binary_op): Likewise.
13527
13528 2010-02-24 Jakub Jelinek <jakub@redhat.com>
13529
13530 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
13531
13532 PR debug/43150
13533 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
13534 bounds even for -O+.
13535 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
13536 expr needs to have DECL_NAME set.
13537
13538 2010-02-24 Nick Clifton <nickc@redhat.com>
13539
13540 * config/mep/mep.c: Include gimple.h.
13541 (mep_function_uses_sp): Delete unused function.
13542 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
13543 parameters. Use unsigned integers to count args. Return a
13544 NULL_RTX instead of an error_mark_node. Toidy up formatting.
13545
13546 2010-02-23 Jakub Jelinek <jakub@redhat.com>
13547
13548 PR target/43107
13549 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
13550 greater or equal to nelt instead of 2 * nelt.
13551 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
13552 with nelt - 1.
13553
13554 2010-02-23 Jason Merrill <jason@redhat.com>
13555
13556 PR debug/42800
13557 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
13558 in cfun->local_decls even if they have register types.
13559
13560 PR c++/42837
13561 * stor-layout.c (place_field): Don't warn about unnecessary
13562 DECL_PACKED if the type is packed.
13563
13564 2010-02-23 Jakub Jelinek <jakub@redhat.com>
13565
13566 PR target/43139
13567 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
13568 GOTOFF relocs, even when the base reg isn't pic pointer.
13569
13570 2010-02-23 Michael Matz <matz@suse.de>
13571
13572 PR debug/43077
13573 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
13574 (expand_gimple_basic_block): Generate and use debug temps if there
13575 are debug uses left after the last real use of TERed ssa names.
13576 Unlink debug immediate uses when they are expanded.
13577
13578 2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
13579
13580 PR 43123
13581 * config/i386/i386.c (override_options): Reorganise to provide
13582 better error messages.
13583
13584 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
13585
13586 PR middle-end/43083
13587 * graphite-scop-detection.c (create_single_exit_edge): Move
13588 the call to find_single_exit_edge to....
13589 (create_sese_edges): ...here. Don't handle multiple edges
13590 exiting the function.
13591 (build_graphite_scops): Don't handle multiple edges
13592 exiting the function.
13593
13594 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
13595
13596 PR middle-end/43097
13597 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
13598 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
13599
13600 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
13601
13602 PR middle-end/43026
13603 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
13604
13605 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
13606
13607 PR c++/43126
13608 * c-typeck.c (convert_arguments): Print declaration location.
13609 * c-common.c (validate_nargs): Rename as
13610 builtin_function_validate_nargs.
13611 (check_builtin_function_arguments): Update.
13612
13613 2010-02-22 Richard Guenther <rguenther@suse.de>
13614
13615 PR lto/43045
13616 * tree-inline.c (declare_return_variable): Use the type of
13617 the call stmt lhs if available.
13618
13619 2010-02-22 Duncan Sands <baldrick@free.fr>
13620
13621 * passes.c (register_pass): Always consider all pass lists when
13622 ref_pass_instance_number is zero.
13623
13624 2010-02-22 Richard Guenther <rguenther@suse.de>
13625
13626 PR tree-optimization/42749
13627 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
13628 parameter. Do arithmetic in the original type.
13629 (update_accumulator_with_ops): Likewise.
13630 (adjust_accumulator_values): Adjust.
13631
13632 2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13633
13634 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
13635 (QI to BLKmode splitter): New splitter.
13636
13637 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
13638
13639 * config/i386/i386.c (initial_ix86_tune_features): Turn on
13640 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
13641
13642 2010-02-22 Richard Guenther <rguenther@suse.de>
13643
13644 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
13645
13646 2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
13647
13648 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
13649 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
13650 ($(T)crti.o, $(T)crtn.o): Remove rules.
13651
13652 2010-02-21 Tobias Burnus <burnus@net-b.de>
13653
13654 PR fortran/35259
13655 * doc/invoke.texi (-fassociative-math): Document that this
13656 option is automatically enabled for Fortran.
13657
13658 2010-02-20 David S. Miller <davem@davemloft.net>
13659
13660 * configure.ac: Test if linker and assembler properly support
13661 GOTDATA_OP relocations.
13662 * configure: Rebuild.
13663 * config.in: Likewise.
13664 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
13665 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
13666 (movsi_high_pic): Likewise.
13667 (movdi_lo_sum_pic): Likewise.
13668 (movdi_high_pic): Likewise.
13669 (movsi_pic_gotdata_op): New pattern.
13670 (movdi_pic_gotdata_op): Likewise.
13671 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
13672 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
13673
13674 2010-02-20 Uros Bizjak <ubizjak@gmail.com>
13675
13676 PR target/43067
13677 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
13678 attribute to ssemul.
13679 (xop_mulv2div2di3_high): Ditto.
13680
13681 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
13682
13683 PR c++/35669
13684 * c.opt (Wconversion-null): New option.
13685 * doc/invoke.texi (Wconversion-null): Document.
13686
13687 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
13688
13689 * common.opt (Wlarger-than-): Add Undocumented.
13690
13691 2010-02-19 Mike Stump <mikestump@comcast.net>
13692
13693 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
13694
13695 2010-02-19 Jason Merrill <jason@redhat.com>
13696
13697 PR target/40332
13698 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
13699 * configure: Likewise.
13700
13701 2010-02-20 Alan Modra <amodra@gmail.com>
13702
13703 PR middle-end/42344
13704 * cgraph.h (cgraph_make_decl_local): Declare.
13705 * cgraph.c (cgraph_make_decl_local): New function.
13706 (cgraph_make_node_local): Use it.
13707 * cgraphunit.c (cgraph_function_versioning): Likewise.
13708 * ipa.c (function_and_variable_visibility): Likewise.
13709
13710 2010-02-19 Jakub Jelinek <jakub@redhat.com>
13711
13712 PR bootstrap/43121
13713 * except.c (sjlj_emit_function_enter): Don't call
13714 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
13715 directly.
13716 * rtl.h (add_reg_br_prob_note): Remove prototype.
13717
13718 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
13719
13720 PR 41779
13721 * c-common.c (conversion_warning): Remove widening conversions
13722 before checking the conversion of integers to reals.
13723
13724 2010-02-19 Mike Stump <mikestump@comcast.net>
13725
13726 PR middle-end/43125
13727 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
13728
13729 PR objc/43061
13730 * cgraphunit.c (process_function_and_variable_attributes): Check
13731 DECL_PRESERVE_P instead of looking up attribute "used".
13732 * ipa-pure-const.c (check_decl): Likewise.
13733 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
13734 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
13735 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
13736 instead of attribute "used".
13737 * config/sol2-c.c (solaris_pragma_init): Likewise.
13738 (solaris_pragma_fini): Likewise.
13739
13740 2010-02-19 Jakub Jelinek <jakub@redhat.com>
13741
13742 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
13743 Use XCNEW instead of xcalloc.
13744 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
13745 XNEW instead of xmalloc.
13746 (get_fields): Use XNEWVEC instead of xmalloc.
13747
13748 PR debug/43084
13749 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
13750 populate vars array.
13751 (create_new_general_access): For debug stmts just reset value.
13752 (get_stmt_accesses): For accesses within debug stmts just record them
13753 using add_access_to_acc_sites instead of preventing the peeling or
13754 counting them as accesses.
13755
13756 PR middle-end/42233
13757 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
13758
13759 2010-02-19 Richard Guenther <rguenther@suse.de>
13760
13761 PR tree-optimization/42916
13762 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
13763 instructions.
13764
13765 2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
13766
13767 * configure.ac: Replace all uses of changequote in macro arguments
13768 with proper quoting.
13769
13770 2010-02-19 Jakub Jelinek <jakub@redhat.com>
13771
13772 PR middle-end/42233
13773 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
13774
13775 2010-02-19 Richard Guenther <rguenther@suse.de>
13776
13777 PR tree-optimization/42944
13778 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
13779 test for aliasing with errno.
13780
13781 2010-02-19 Jakub Jelinek <jakub@redhat.com>
13782
13783 PR middle-end/42233
13784 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
13785 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
13786 * dojump.c: Include output.h.
13787 (inv): New inline function.
13788 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
13789 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
13790 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
13791 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
13792 argument, pass it down to other calls.
13793 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
13794 add REG_BR_PROB note to the conditional jump.
13795 * cfgexpand.c (add_reg_br_prob_note): Removed.
13796 (expand_gimple_cond): Don't call it, add the probability
13797 as last argument to jumpif_1/jumpifnot_1.
13798 * Makefile.in (dojump.o): Depend on output.h.
13799 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
13800 callers.
13801 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
13802 * stmt.c (do_jump_if_equal): Likewise.
13803 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
13804 * loop-unswitch.c (compare_and_jump_seq): Likewise.
13805 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
13806 Likewise.
13807 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
13808 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
13809 jumpifnot_1 callers.
13810 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
13811 callers.
13812 (store_expr): Adjust jumpifnot caller.
13813 (store_constructor): Adjust jumpif caller.
13814
13815 PR middle-end/42233
13816 * gimplify.c (gimple_boolify): For __builtin_expect call
13817 gimple_boolify also on its first argument.
13818
13819 2010-02-18 Uros Bizjak <ubizjak@gmail.com>
13820
13821 * configure.ac (gnu-unique-object): Wrap regexps using [] in
13822 changequote block.
13823 (__stack_chk_fail): Ditto. Remove quadrigraphs.
13824 * configure: Regenerated.
13825
13826 2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13827
13828 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
13829 lang_hooks.types_compatible_p instead of comptypes.
13830
13831 2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
13832
13833 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
13834 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
13835 if __prefer_thumb__ is defined.
13836
13837 2010-02-18 Martin Jambor <mjambor@suse.cz>
13838
13839 PR tree-optimization/43066
13840 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
13841 array with zero-sized element type.
13842
13843 2010-02-18 Jakub Jelinek <jakub@redhat.com>
13844
13845 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
13846 rtx, allocate struct var_loc_node here and return it to the
13847 caller, and only if it is actually needed.
13848 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
13849 move it earlier and return immediately if it returns NULL.
13850
13851 2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
13852
13853 * config/sparc/gas.h: New file. Restore
13854 TARGET_ASM_NAMED_SECTION to its ELF default.
13855 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
13856 check !HAVE_GNU_AS.
13857 * config/sparc/sparc.c (sparc_elf_asm_named_section):
13858 Likewise. Add ATTRIBUTE_UNUSED to prototype.
13859 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
13860 after sparc/sysv4.h.
13861
13862 2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
13863
13864 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
13865
13866 2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
13867
13868 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
13869 patterns from predicated pattern.
13870
13871 2010-02-17 Uros Bizjak <ubizjak@gmail.com>
13872
13873 PR target/43103
13874 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
13875 for insn mnemonic suffix.
13876
13877 2010-02-17 Richard Guenther <rguenther@suse.de>
13878
13879 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
13880 to loop PHI nodes.
13881
13882 2010-02-17 Jakub Jelinek <jakub@redhat.com>
13883
13884 PR debug/42918
13885 * caller-save.c (save_call_clobbered_regs): If BB ends with
13886 a DEBUG_INSN, move any notes in between last real insn and the last
13887 DEBUG_INSN after the last DEBUG_INSN.
13888
13889 2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
13890
13891 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
13892 Fix return type. Fix argument type. Explain meaning of return value.
13893
13894 2010-02-16 Richard Guenther <rguenther@suse.de>
13895
13896 PR tree-optimization/41043
13897 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
13898 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
13899 statements ...
13900 (vrp_visit_phi_node): ... but only for loop PHI nodes.
13901
13902 2010-02-16 Ira Rosen <irar@il.ibm.com>
13903
13904 PR tree-optimization/43074
13905 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
13906 * tree-vect-loop.c (vect_analyze_loop_operations): Add
13907 vectorizable cycles in hybrid SLP check.
13908 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
13909
13910 2010-02-16 Richard Guenther <rguenther@suse.de>
13911
13912 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
13913 (true_dependence): If memrefs_conflict_p computes must-alias
13914 trust it. Move TBAA check after offset-based disambiguation.
13915 (canon_true_dependence): Likewise.
13916
13917 2010-02-16 Alexandre Oliva <aoliva@redhat.com>
13918
13919 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
13920 * doc/invoke.texi: Document it.
13921 * var-tracking.c: Include toplev.h and params.h.
13922 (vt_find_locations): Return bool indicating success. Compute
13923 hash sizes unconditionally. Check new parameter, report.
13924 (variable_tracking_main_1): Check vt_find_locations results and
13925 retry. Renamed from...
13926 (variable_tracking_main): ... this. New wrapper to preserve
13927 flag_var_tracking_assignments.
13928 * Makefile.in (var-tracking.o): Adjust dependencies.
13929
13930 2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
13931 Jakub Jelinek <jakub@redhat.com>
13932
13933 PR target/42854
13934 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
13935 if weak_import attribute is present.
13936 * config/darwin.c (machopic_select_section): Likewise.
13937
13938 2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
13939
13940 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
13941 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
13942 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
13943 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
13944
13945 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
13946 types.
13947
13948 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
13949 Fix argument types.
13950
13951 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
13952 Rewrite text to refer to the names.
13953
13954 2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
13955
13956 * config/i386/i386-builtin-types.def
13957 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
13958 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
13959 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
13960 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
13961 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
13962 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
13963 IX86_BUILTIN_VPERMIL2PS256.
13964 (MULTI_ARG_4_DF2_DI_I): Defined.
13965 (MULTI_ARG_4_DF2_DI_I1): Defined.
13966 (MULTI_ARG_4_SF2_SI_I): Defined.
13967 (MULTI_ARG_4_SF2_SI_I1): Defined.
13968 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
13969 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
13970 __builtin_ia32_vpermil2ps256.
13971 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
13972 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
13973 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
13974 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
13975 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
13976 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
13977 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
13978 CODE_FOR_xop_vpermil2v8sf3.
13979 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
13980 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
13981 * config/i386/xopintrin.h (_mm_permute2_pd): New.
13982 (_mm256_permute2_pd): New.
13983 (_mm_permute2_ps): New.
13984 (_mm256_permute2_ps): New.
13985
13986 2010-02-15 Nick Clifton <nickc@redhat.com>
13987
13988 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
13989 boolean parameters. Use emit_jump_insn when emitting a pop
13990 instruction containing a return insn.
13991 (push): Use 'true' rather than '1' as second parameter to F.
13992 (h8300_expand_prologue): Likewise.
13993 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
13994 (h8300_expand_epilogue): Likewise.
13995
13996 2010-02-15 Richard Guenther <rguenther@suse.de>
13997
13998 PR middle-end/43068
13999 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
14000 if that is zero.
14001
14002 2010-02-15 Nick Clifton <nickc@redhat.com>
14003
14004 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
14005 delta.
14006
14007 2010-02-14 Marco Poletti <poletti.marco@gmail.com>
14008
14009 * intl.c (fake_ngettext): New function.
14010 * intl.h (fake_ngettext): Declare.
14011 (ngettext): Define macro.
14012 * collect2.c (notice_translated): New function.
14013 (main): Use notice_translated and ngettext.
14014 * collect2.h (notice_translated): Declare.
14015
14016 2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
14017
14018 * reorg.c (delete_computation): Comment fixes.
14019 * caller-save.c (setup_save_areas): Idem.
14020 * sel-sched-dump.c (dump_lv_set): Idem.
14021 * rtl.def: Idem.
14022
14023 2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14024
14025 * config/s390/s390.c (s390_sched_init): New function.
14026 (TARGET_SCHED_INIT): Target hook defined.
14027
14028 2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
14029 Jack Howarth <howarth@bromo.med.uc.edu>
14030 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14031
14032 PR target/42982
14033 Partial revert of unintended change in fix for PR41605.
14034 * config/darwin.h: Fix typo.
14035 * config/darwin9.h: Same.
14036
14037 2010-02-11 Jakub Jelinek <jakub@redhat.com>
14038
14039 * c-pch.c (pch_init): Clear v.
14040
14041 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
14042
14043 PR middle-end/42930
14044 * graphite-scop-detection.c (graphite_can_represent_scev): Call
14045 graphite_can_represent_init for MULT_EXPR.
14046
14047 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
14048
14049 PR middle-end/42914
14050 PR middle-end/42530
14051 * graphite-sese-to-poly.c (remove_phi): New.
14052 (translate_scalar_reduction_to_array): Call remove_phi.
14053
14054 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
14055
14056 PR middle-end/42771
14057 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
14058 * graphite-clast-to-gimple.h (gloog): Update declaration.
14059 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
14060 * graphite-poly.h (struct poly_bb): Add missing comments.
14061 (struct scop): Add poly_scop_p field.
14062 (POLY_SCOP_P): New.
14063 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
14064 * graphite.c (graphite_transform_loops): Build the polyhedral
14065 representation for each scop before code generation.
14066 * sese.c (rename_variables_in_operand): Removed.
14067 (rename_variables_in_expr): Return the renamed expression.
14068 (rename_sese_parameters): New.
14069 * sese.h (rename_sese_parameters): Declared.
14070
14071 2010-02-11 Richard Guenther <rguenther@suse.de>
14072
14073 PR tree-optimization/42998
14074 * tree-ssa-pre.c (create_expression_by_pieces): Treat
14075 POINTER_PLUS_EXPR properly.
14076
14077 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
14078 Changpeng Fang <changpeng.fang@amd.com>
14079
14080 PR middle-end/40886
14081 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
14082 the cost of an IV candidate when the IV is used in a test against zero.
14083
14084 * gcc.dg/tree-ssa/ivopts-3.c: New.
14085
14086 2010-02-11 Richard Guenther <rguenther@suse.de>
14087
14088 PR lto/41664
14089 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
14090 pointer-vs-decl case by swapping refs. Handle some cases
14091 of pointer-vs-decl disambiguations more conservatively.
14092 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
14093 to false after expanding.
14094
14095 2010-02-11 Richard Guenther <rguenther@suse.de>
14096
14097 PR driver/43021
14098 * gcc.c (process_command): Handle LTO file@offset case more
14099 appropriately.
14100
14101 2010-02-11 Jakub Jelinek <jakub@redhat.com>
14102
14103 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
14104 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
14105 of DEBUG_INSNs.
14106 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
14107
14108 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
14109 if MEM's mode size isn't DWARF2_ADDR_SIZE.
14110 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
14111 Optimize eq/ne comparisons when both arguments are known to be
14112 zero-extended.
14113 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
14114 Don't mask operands unnecessarily if they are known to be already
14115 zero-extended.
14116
14117 2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
14118
14119 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
14120 instead of loop.
14121
14122 2010-02-10 Richard Guenther <rguenther@suse.de>
14123
14124 PR tree-optimization/43017
14125 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
14126 for wrapping signed arithmetic.
14127
14128 2010-02-10 Jakub Jelinek <jakub@redhat.com>
14129
14130 PR debug/43010
14131 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
14132 if no debug info should be emitted for it.
14133
14134 2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
14135
14136 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
14137 note when flag_exceptions is set.
14138
14139 2010-02-10 Duncan Sands <baldrick@free.fr>
14140
14141 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
14142
14143 2010-02-10 Richard Guenther <rguenther@suse.de>
14144
14145 PR c/43007
14146 * tree.c (get_unwidened): Handle constants.
14147 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
14148
14149 2010-02-10 Martin Jambor <mjambor@suse.cz>
14150
14151 PR lto/42985
14152 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
14153 check for variable argument counts independently.
14154
14155 2010-02-10 Christian Bruel <christian.bruel@st.com>
14156
14157 PR target/42841
14158 * config/sh/sh.c (find_barrier): Increase length for non delayed
14159 conditional branches.
14160
14161 2010-02-10 Christian Bruel <christian.bruel@st.com>
14162
14163 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
14164
14165 2010-02-10 Jakub Jelinek <jakub@redhat.com>
14166
14167 * builtins.c (set_builtin_user_assembler_name): Also handle
14168 ffs if int is smaller than word.
14169
14170 2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
14171
14172 PR middle-end/42973
14173 * ira-conflicts.c (get_dup): Remove.
14174 (process_reg_shuffles): Add new parameter. Use it as an
14175 additional guard for copy generation.
14176 (add_insn_allocno_copies): Rewrite.
14177
14178 2010-02-09 Alexander Monakov <amonakov@ispras.ru>
14179
14180 * common.opt (fsched2-use-traces): Preserved for backward
14181 compatibility.
14182 * doc/invoke.texi: Remove the documentation about option
14183 -fsched2-use-traces.
14184 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
14185 flag_sched2_use_traces.
14186 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
14187 the backward compatibility flag section.
14188
14189 2010-02-09 Richard Guenther <rguenther@suse.de>
14190
14191 PR tree-optimization/43008
14192 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
14193 make HEAP variables initialized from global memory if they
14194 are not known builtin functions.
14195 (find_func_aliases): Adjust.
14196
14197 2010-02-09 Richard Guenther <rguenther@suse.de>
14198
14199 PR tree-optimization/43000
14200 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
14201 arithmetic manually.
14202
14203 2010-02-08 Jakub Jelinek <jakub@redhat.com>
14204
14205 PR tree-optimization/42931
14206 * tree-loop-linear.c (try_interchange_loops): Don't call
14207 double_int_mul if estimated_loop_iterations failed.
14208
14209 2010-02-08 Martin Jambor <mjambor@suse.cz>
14210
14211 PR middle-end/42898
14212 * tree-sra.c (build_accesses_from_assign): Do not mark in
14213 should_scalarize_away_bitmap if stmt has volatile ops.
14214 (sra_modify_assign): Do not process assigns piecemeal if if stmt
14215 has volatile ops.
14216
14217 2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
14218
14219 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
14220
14221 2010-02-07 Adam Nemet <adambnmet@gmail.com>
14222
14223 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
14224 before the pattern.
14225
14226 2010-02-07 Andrew Pinski <pinskia@gmail.com>
14227
14228 PR middle-end/42946
14229 * df-core.c (df_finish_pass): Change type of saved_flags to int.
14230
14231 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
14232
14233 PR middle-end/42988
14234 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
14235 to unknown_dependence.
14236 (graphite_legal_transform_dr): Handle the unknown_dependence.
14237 (graphite_carried_dependence_level_k): Same.
14238
14239 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
14240
14241 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
14242
14243 2010-02-07 Richard Guenther <rguenther@suse.de>
14244
14245 PR middle-end/42991
14246 * expr.c (get_inner_reference): Always initialize *pbitsize.
14247
14248 2010-02-07 Richard Guenther <rguenther@suse.de>
14249
14250 PR middle-end/42956
14251 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
14252 new ARRAY_REFs on variable size element or minimal index arrays.
14253 Complete.
14254 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
14255 gimple_fold_indirect_ref.
14256
14257 2010-02-06 Richard Earnshaw <rearnsha@arm.com>
14258
14259 PR target/42957
14260 * arm.c (arm_override_options): Just return if the user has specified
14261 an invalid fpu name.
14262
14263 2010-02-03 Jason Merrill <jason@redhat.com>
14264
14265 PR c++/42870
14266 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
14267 i386_pe_maybe_record_exported_symbol.
14268
14269 2010-02-05 Steve Ellcey <sje@cup.hp.com>
14270
14271 PR target/42924
14272 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
14273 (pa_delegitimize_address): New function.
14274
14275 2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
14276
14277 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
14278 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
14279
14280 2010-02-05 Richard Guenther <rguenther@suse.de>
14281
14282 PR lto/42762
14283 * lto-streamer-in.c (get_resolution): Deal with references
14284 to undefined functions.
14285
14286 2010-02-05 Richard Guenther <rguenther@suse.de>
14287
14288 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
14289 (fold_const_aggregate_ref): Likewise.
14290 (ccp_fold_stmt): Substitute loads.
14291 (maybe_fold_reference): Verify types before substituting.
14292 Unshare properly.
14293 (fold_gimple_assign): Unshare properly.
14294 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
14295
14296 2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
14297
14298 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
14299 for rs6000_gen_cell_microcode.
14300
14301 2010-02-04 Richard Guenther <rguenther@suse.de>
14302
14303 PR rtl-optimization/42952
14304 * dse.c (const_or_frame_p): Remove MEM handling.
14305
14306 2010-02-04 Nick Clifton <nickc@redhat.com>
14307
14308 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
14309 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
14310 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
14311 (mn10300_asm_output_mi_thunk): New function.
14312 (mn10300_can_output_mu_thunk): New function.
14313 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
14314 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
14315 (FUNCTION_ARG): Delete incorrect comment.
14316
14317 2010-02-03 Jason Merrill <jason@redhat.com>
14318
14319 PR c++/40138
14320 * fold-const.c (operand_equal_p): Handle erroneous types.
14321
14322 2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
14323
14324 * config/h8300/h8300.md (can_delay): Fix attibute condition.
14325
14326 2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
14327
14328 PR rtl-optimization/42941
14329 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
14330 of xmalloc.
14331
14332 2010-02-03 Jason Merrill <jason@redhat.com>
14333
14334 PR c++/35652
14335 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
14336
14337 2010-02-03 Alexandre Oliva <aoliva@redhat.com>
14338
14339 PR debug/42896
14340 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
14341 (cselib_reset_table): Renamed from...
14342 (cselib_reset_table_with_next_value): ... this.
14343 (cselib_get_next_uid): Renamed from...
14344 (cselib_get_next_unknown_value): ... this.
14345 * cselib.c (next_uid): Renamed from...
14346 (next_unknown_value): ... this.
14347 (cselib_clear_table): Adjust.
14348 (cselib_reset_table): Adjust. Renamed from...
14349 (cselib_reset_table_with_next_value): ... this.
14350 (cselib_get_next_uid): Adjust. Renamed from...
14351 (cselib_get_next_unknown_value): ... this.
14352 (get_value_hash): Use hash.
14353 (cselib_hash_rtx): Likewise.
14354 (new_cselib_val): Adjust. Set and dump uid.
14355 (cselib_lookup_mem): Pass next_uid as hash.
14356 (cselib_subst_to_values): Likewise.
14357 (cselib_log_lookup): Dump uid.
14358 (cselib_lookup): Pass next_uid as hash. Adjust.
14359 (cselib_process_insn): Adjust.
14360 (cselib_init): Initialize next_uid.
14361 (cselib_finish): Adjust.
14362 (dump_cselib_table): Likewise.
14363 * dse.c (canon_address): Dump value uid.
14364 * print-rtl.c (print_rtx): Print value uid.
14365 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
14366 (dvuid): New type.
14367 (dv_uid): New function, sort of renamed from...
14368 (dv_htab_hash): ... this, reimplemented in terms of it and...
14369 (dv_uid2hash): ... this. New.
14370 (variable_htab_eq): Drop excess assertions.
14371 (tie_break_pointers): Removed.
14372 (canon_value_cmp): Compare uids.
14373 (variable_post_merge_New_vals): Print uids.
14374 (vt_add_function_parameters): Adjust.
14375 (vt_initialize): Reset table. Adjust.
14376
14377 2010-02-03 Richard Guenther <rguenther@suse.de>
14378
14379 PR tree-optimization/42944
14380 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
14381 (call_may_clobber_ref_p_1): Likewise. Properly handle
14382 malloc and calloc clobbering errno.
14383
14384 2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
14385
14386 * doc/invoke.texi: Fix name of sched1 dump.
14387
14388 * opts.c (decode_options): Set flag_tree_switch_conversion
14389 only conditionally on optimize >= 2.
14390
14391 * gcse.c: Assorted comment fixes in pass description.
14392
14393 2010-02-03 Anthony Green <green@moxielogic.com>
14394
14395 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
14396 nop padding in order to maintain alignment of storage location of
14397 target function address.
14398 (moxie_trampoline_init): Store target function address at newly
14399 aligned location.
14400 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
14401 to 32.
14402 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
14403
14404 2010-02-03 Richard Guenther <rguenther@suse.de>
14405
14406 PR middle-end/42927
14407 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
14408
14409 2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14410
14411 * config.gcc: Reenable check for obsolete targets.
14412 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
14413 mips-sgi-irix6.[0-4]*.
14414
14415 2010-02-02 Nick Clifton <nickc@redhat.com>
14416
14417 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
14418 constant size of 4 as being the same as 0.
14419 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
14420 can take values in the range 0..4.
14421
14422 2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
14423
14424 PR java/41991
14425 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
14426 as _darwin10_Unwind_FindEnclosingFunction().
14427 * libgcc-libsystem.ver: New.
14428
14429 2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
14430
14431 PR target/41399
14432 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
14433 implicitly set registers.
14434
14435 2010-02-01 Richard Earnshaw <rearnsha@arm.com>
14436
14437 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
14438 (arm_override_options): Allow automatic selection of the thread
14439 pointer register if thumb2.
14440 (legitimize_pic_address): Improve code sequences for Thumb2.
14441 (arm_call_tls_get_addr): Likewise.
14442 (legitimize_tls_address): Likewise.
14443 * arm.md (pic_load_addr_arm): Delete. Replace with ...
14444 (pic_load_addr_32bit): ... this. New named pattern.
14445 * thumb2.md (pic_load_addr_thumb2): Delete.
14446 (pic_load_dot_plus_four): Delete.
14447 (tls_load_dot_plus_four): New named pattern.
14448
14449 2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14450
14451 PR libgomp/29986
14452 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
14453 Document fix for TLS bug.
14454
14455 2010-01-31 Richard Guenther <rguenther@suse.de>
14456
14457 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
14458 conservatively correct.
14459
14460 2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14461
14462 PR target/42850
14463 Revert:
14464 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14465
14466 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
14467
14468 2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14469
14470 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
14471
14472 2010-01-31 Kai Tietz <kai.tietz@onevision.com>
14473
14474 * config.gcc: Adjust order of makefile fragments for mingw targets.
14475
14476 2010-01-31 Richard Guenther <rguenther@suse.de>
14477
14478 PR middle-end/42898
14479 * gimplify.c (gimplify_init_constructor): For volatile LHS
14480 initialize a temporary.
14481
14482 2010-01-31 Matthias Klose <doko@ubuntu.com>
14483
14484 * configure.ac: Fix __stack_chk_fail check for cross builds configured
14485 --with-headers
14486 * configure: Regenerate.
14487
14488 2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
14489
14490 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
14491 the same alias set and their sizes different constantness.
14492 (aliasing_component_refs_p): Revert 2009-10-24 change.
14493
14494 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14495
14496 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
14497 unused.
14498
14499 2010-01-29 Richard Guenther <rguenther@suse.de>
14500
14501 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
14502 Assert we successfully updated the call.
14503
14504 2010-01-29 Jakub Jelinek <jakub@redhat.com>
14505
14506 PR rtl-optimization/42889
14507 * df.h (df_set_bb_dirty_nonlr): New prototype.
14508 * df-core.c (df_set_bb_dirty_nonlr): New function.
14509 * df-scan.c (df_insn_rescan): Call it instead of
14510 df_set_bb_dirty for DEBUG_INSNs.
14511
14512 2010-01-29 Richard Guenther <rguenther@suse.de>
14513
14514 PR middle-end/37448
14515 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
14516 quadratic behavior in most cases.
14517
14518 2010-01-28 Uros Bizjak <ubizjak@gmail.com>
14519
14520 PR target/42891
14521 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
14522 in the call to gen_x86_movsicc_0_m1.
14523
14524 2010-01-28 Richard Guenther <rguenther@suse.de>
14525
14526 PR tree-optimization/42871
14527 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
14528
14529 2010-01-28 Richard Guenther <rguenther@suse.de>
14530
14531 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
14532 into call arguments.
14533
14534 2010-01-28 Richard Guenther <rguenther@suse.de>
14535
14536 PR middle-end/42883
14537 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
14538 the forwarder if the destination is an EH landing pad.
14539
14540 2010-01-28 Razya Ladelsky <razya@il.ibm.com>
14541
14542 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
14543 block list passed to gimple_duplicate_sese_tail.
14544 (parallelize_loops): Avoid parallelization when the function
14545 has_nonlocal_label.
14546 Avoid parallelization when the preheader is IRREDUCIBLE.
14547 Try to optimize when estimated_loop_iterations_int is unresolved.
14548 Add the loop's location to the dump file.
14549 * tree-cfg.c (add_phi_args_after_redirect): Remove.
14550 (gimple_duplicate_sese_tail): Remove the check for the latch.
14551 Redirect nexits to the exit block.
14552 Remove handling of the incoming edges to the latch.
14553 Redirect the backedge from the copied latch to the exit bb.
14554
14555 2010-01-28 Michael Matz <matz@suse.de>
14556
14557 PR target/42881
14558 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
14559 Wrap force_reg into a sequence, emit it before user.
14560
14561 2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
14562
14563 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
14564 (arm_rev): New.
14565 (arm_legacy_rev): Likewise.
14566 (thumb_legacy_rev): Likewise.
14567
14568 2010-01-27 Jakub Jelinek <jakub@redhat.com>
14569
14570 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
14571 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
14572 on MEM's address failed, try avoid_constant_pool_reference and
14573 recurse if it returned something different.
14574 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
14575 address, try avoid_constant_pool_reference and recurse if it
14576 returned something different.
14577 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
14578 address and avoid_constant_pool_reference returned something
14579 different, don't set have_address.
14580
14581 2010-01-27 Alexandre Oliva <aoliva@redhat.com>
14582
14583 PR debug/42861
14584 * var-tracking.c (val_store): Add modified argument, obey it.
14585 Adjust callers.
14586 (count_uses): Move down logging of main.
14587 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
14588 don't need resolution.
14589 (emit_notes_in_bb): Likewise.
14590
14591 2010-01-27 Richard Guenther <rguenther@suse.de>
14592
14593 PR middle-end/42878
14594 * tree-inline.c (remap_decl): Delay remapping of SSA name
14595 default definitions until we need them.
14596
14597 2010-01-27 Jakub Jelinek <jakub@redhat.com>
14598
14599 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
14600 (rs6000_delegitimize_address): New function.
14601
14602 * config/s390/s390.c (s390_delegitimize_address): Call
14603 delegitimize_mem_from_attrs.
14604
14605 PR middle-end/42874
14606 * tree-inline.c (cannot_copy_type_1): Removed.
14607 (copy_forbidden): Don't forbid copying of functions containing
14608 records/unions with variable length fields.
14609
14610 2010-01-27 Christian Bruel <christian.bruel@st.com>
14611
14612 Revert:
14613 PR target/42841
14614 * config/sh/sh.c (find_barrier): Increase length for non delayed
14615 conditional branches.
14616
14617 2010-01-27 Matthias Klose <doko@ubuntu.com>
14618
14619 * configure.ac (gnu-unique-object): Fix ldd version check.
14620 * configure: Regenerate.
14621
14622 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14623
14624 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
14625 HAVE_GNU_AS value.
14626 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
14627 Test for HAVE_GNU_AS value.
14628
14629 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14630
14631 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
14632 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
14633 INT64_TYPE): Define.
14634 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
14635 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
14636 INT_LEAST64_TYPE): Define.
14637 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
14638 UINT_LEAST64_TYPE): Define.
14639 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
14640 INT_FAST64_TYPE): Define.
14641 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
14642 UINT_FAST64_TYPE): Define.
14643 (INTMAX_TYPE, UINTMAX_TYPE): Define.
14644 (INTPTR_TYPE, UINTPTR_TYPE): Define.
14645 (SIG_ATOMIC_TYPE): Define.
14646
14647 2010-01-26 Richard Guenther <rguenther@suse.de>
14648
14649 * df-scan.c (df_scan_set_bb_info): Remove assert.
14650 (df_insn_rescan_debug_internal): Merge asserts.
14651 (df_install_ref): Likewise.
14652 (df_mark_reg): Use bitmap_set_range.
14653 (df_hard_reg_used_p): Remove assert.
14654 (df_hard_reg_used_count): Likewise.
14655
14656 2010-01-26 Richard Guenther <rguenther@suse.de>
14657
14658 PR rtl-optimization/42685
14659 * web.c (web_main): Ignore DEBUG_INSNs.
14660
14661 2010-01-26 Joern Rennecke <amylaar@spamcop.net>
14662
14663 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
14664
14665 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
14666 Fix types of fndecl and arglist parameters.
14667
14668 2010-01-26 Richard Guenther <rguenther@suse.de>
14669
14670 PR middle-end/42806
14671 * tree-eh.c (unsplit_eh): Skip debug insns.
14672
14673 2010-01-26 Richard Guenther <rguenther@suse.de>
14674
14675 PR tree-optimization/42250
14676 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
14677
14678 2010-01-26 Jakub Jelinek <jakub@redhat.com>
14679
14680 PR fortran/42866
14681 * omp-low.c (expand_omp_sections): Only use single_pred if
14682 l2_bb is single_pred_p.
14683
14684 2010-01-25 Christian Bruel <christian.bruel@st.com>
14685
14686 PR target/42841
14687 * config/sh/sh.c (find_barrier): Increase length for non delayed
14688 conditional branches.
14689 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
14690
14691 2010-01-24 David S. Miller <davem@davemloft.net>
14692
14693 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
14694 define if not using GAS.
14695 * config/sparc/sparc.c (sparc_elf_asm_named_section):
14696 Likewise. Delete SECTION_MERGE code, which is only applicable
14697 when using GAS.
14698
14699 2010-01-24 Mark Mitchell <mark@codesourcery.com>
14700
14701 PR c++/42748
14702 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
14703 mangling of va_list in system headers.
14704
14705 2010-01-23 Toon Moene <toon@moene.org>
14706
14707 * tree-predcom.c (combine_chains): Return NULL, not false.
14708
14709 2010-01-23 Joern Rennecke <amylaar@spamcop.net>
14710
14711 * tree-loop-distribution.c (distribute_loop): Fix declaration and
14712 initialization of variable res to agree with return type.
14713
14714 2010-01-22 Steve Ellcey <sje@cup.hp.com>
14715
14716 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
14717 * tree-sra.c: Add include of expr.h.
14718
14719 2010-01-22 Jakub Jelinek <jakub@redhat.com>
14720
14721 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
14722 insert the debug stmt on the single non-EH edge from the stmt.
14723
14724 2010-01-22 Richard Henderson <rth@redhat.com>
14725
14726 PR tree-opt/42833
14727 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
14728 the RHS until after generate_subtree_copies has insertted its
14729 code before the current statement.
14730
14731 2010-01-22 Joern Rennecke <amylaar@spamcop.net>
14732
14733 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
14734
14735 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
14736
14737 2010-01-21 Martin Jambor <mjambor@suse.cz>
14738
14739 PR tree-optimization/42585
14740 * tree-sra.c (struct access): New field grp_total_scalarization.
14741 (dump_access): Dump the new field.
14742 (should_scalarize_away_bitmap): New variable.
14743 (cannot_scalarize_away_bitmap): Likewise.
14744 (sra_initialize): Allocate new bitmaps.
14745 (sra_deinitialize): Free new bitmaps.
14746 (create_access_1): New function.
14747 (create_access): Parts moved to create_access_1.
14748 (type_consists_of_records_p): New function.
14749 (completely_scalarize_record): Likewise.
14750 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
14751 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
14752 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
14753 access.
14754 (analyze_all_variable_accesses): Completely scalarize small eligible
14755 records.
14756
14757 2010-01-21 Martin Jambor <mjambor@suse.cz>
14758
14759 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
14760
14761 2010-01-21 Andrew Haley <aph@redhat.com>
14762
14763 * gcc.c (process_command): Move lang_specific_driver before
14764 setting cc_libexec_prefix.
14765
14766 2010-01-21 Richard Guenther <rguenther@suse.de>
14767
14768 PR middle-end/19988
14769 * fold-const.c (negate_expr_p): Pretend only negative
14770 real constants are easily negatable.
14771
14772 2010-01-20 Janis Johnson <janis187@us.ibm.com>
14773 Jason Merrill <jason@redhat.com>
14774
14775 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
14776 (TYPE_TRANSPARENT_AGGR): this, for union and record.
14777 * calls.c (initialize argument_information): Handle it.
14778 * c-common.c (handle_transparent_union_attribute): Use new name.
14779 * c-decl.c (finish_struct): Ditto.
14780 * c-typeck.c (type_lists_compatible_p): Ditto.
14781 (convert_for_assignment): Use new name and also handle record.
14782 * function.c (aggregate_value_p): Handle it.
14783 (pass_by_reference): Ditto.
14784 (assign_parm_data_types): Ditto.
14785 * print-tree.c (print_node): Ditto.
14786 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
14787 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
14788 * tree.c (first_field): New fn.
14789
14790 2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
14791
14792 PR target/42818
14793 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
14794 even when linking statically, for now.
14795
14796 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
14797
14798 PR debug/42715
14799 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
14800 without a cselib val.
14801 (count_uses): Accept MO_VAL_SET with no val on stores.
14802 (add_stores): Likewise.
14803
14804 2010-01-20 Jakub Jelinek <jakub@redhat.com>
14805
14806 * var-tracking.c (check_value_val): Add a compile time assertion.
14807 (dv_is_decl_p): Simplify.
14808 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
14809 gcc_assert if ENABLE_CHECKING.
14810
14811 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
14812
14813 PR debug/42782
14814 * var-tracking.c: Include tree-flow.h.
14815 (mem_dies_at_call): New.
14816 (dataflow_set_preserve_mem_locs): Use it.
14817 (dataflow_set_remove_mem_locs): Likewise.
14818 (dump_var): Renamed from dump_variable. Adjust all callers.
14819 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
14820 * Makefile.in (var-tracking.o): Adjust deps.
14821
14822 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
14823
14824 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
14825
14826 2010-01-20 Richard Guenther <rguenther@suse.de>
14827
14828 PR tree-optimization/42717
14829 * tree-ssa-dce.c (get_live_post_dom): Remove.
14830 (forward_edge_to_pdom): Take an arbitrary edge to copy
14831 degenerate PHI args from.
14832 (remove_dead_stmt): Use the first post-dominator even if it
14833 does not contain live statements as redirection destination.
14834
14835 2010-01-20 Richard Guenther <rguenther@suse.de>
14836
14837 * tree-inline.c (estimate_num_insns): Handle EH builtins.
14838
14839 2010-01-20 Jakub Jelinek <jakub@redhat.com>
14840
14841 * sel-sched.c (create_speculation_check): Remove set but not used
14842 variable twin.
14843 (try_transformation_cache): Remove set but not used variable ds.
14844 (calculate_privileged_insns): Remove set but not used variables
14845 cur_insn and min_spec_insn.
14846 (find_best_expr): Remove set but not used variable avail_n.
14847 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
14848 variable e.
14849 * cgraphunit.c (assemble_thunk): Remove set but not used variable
14850 false_label.
14851 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
14852 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
14853 new_scop_exit_edge.
14854
14855 2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
14856
14857 PR bootstrap/42786
14858 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
14859 cpu types. Add support for *-sse3 cpu types.
14860 (x86_64-*-*): Ditto.
14861
14862 2010-01-20 Jakub Jelinek <jakub@redhat.com>
14863
14864 PR middle-end/42803
14865 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
14866 argument, call initializer_constant_valid_p_1 instead of
14867 initializer_constant_valid_p, pass CACHE to it, return NULL
14868 immediately if first call returns NULL.
14869 (initializer_constant_valid_p_1): New function.
14870 (initializer_constant_valid_p): Use it.
14871
14872 2010-01-20 Thomas Quinot <quinot@adacore.com>
14873
14874 * tree.def (PLACEHOLDER_EXPR): Fix comment.
14875
14876 2010-01-20 Jakub Jelinek <jakub@redhat.com>
14877
14878 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
14879 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
14880 (loc_list_from_tree): Don't handle unsigned division. Handle
14881 signed modulo using DW_OP_{over,over,div,mul,minus}.
14882 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
14883 modulo instead of signed.
14884
14885 2010-01-20 DJ Delorie <dj@redhat.com>
14886
14887 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
14888 (Fpa): Pass it
14889 (h8300_emit_stack_adjustment): Propogate it.
14890 (push): Pass it.
14891 (h8300_expand_prologue): Likewise.
14892 (h8300_expand_epilogue): Likewise.
14893
14894 2010-01-19 Michael Matz <matz@suse.de>
14895
14896 PR tree-optimization/41783
14897 * tree-data-ref.c (toplevel): Include flags.h.
14898 (dump_data_dependence_relation): Also dump the inputs if the
14899 result will be unknown.
14900 (split_constant_offset_1): Look through some conversions.
14901 * tree-predcom.c (determine_roots_comp): Restart a new chain if
14902 the offset from last element is too large.
14903 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
14904 (reassociate_to_the_same_stmt): Handle vector registers.
14905 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
14906 (e.g. conversions).
14907 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
14908 wide_prolog_niters argument, emit widening instructions.
14909 (vect_do_peeling_for_alignment): Adjust caller, use widened
14910 variant of the iteration cound.
14911 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
14912
14913 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14914
14915 PR target/38697
14916 * config/arm/neon-testgen.m (emit_automatics): New parameter
14917 features. Adjust for Fixed_return_reg feature.
14918 (test_intrinsic): Call emit_automatics with new feature.
14919 * config/arm/neon.ml: Update copyright years.
14920 (features): New Fixed_return_reg feature.
14921 (ops): Update feature for Vget_low.
14922
14923 2010-01-19 Jakub Jelinek <jakub@redhat.com>
14924
14925 PR tree-optimization/42719
14926 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
14927 stmt uses.
14928
14929 PR debug/42728
14930 * fwprop.c (all_uses_available_at): Return false if def_set dest
14931 is a REG that is used in def_insn.
14932
14933 2010-01-19 Joern Rennecke <amylaar@spamcop.net>
14934
14935 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
14936
14937 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
14938 Add argument names.
14939
14940 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
14941
14942 * target.h (struct gcc_target) <secondary_reload>: Change type
14943 of last argument to secondary_reload_info *.
14944
14945 2010-01-18 Uros Bizjak <ubizjak@gmail.com>
14946
14947 PR target/42774
14948 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
14949 memory references with unaligned offsets. Remove CQImode handling.
14950 (unaligned_memory_operand): Return 1 for memory references with
14951 unaligned offsets. Remove CQImode handling.
14952
14953 2010-01-18 Richard Guenther <rguenther@suse.de>
14954
14955 PR middle-end/39954
14956 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
14957 builtin calls.
14958
14959 2010-01-18 Richard Guenther <rguenther@suse.de>
14960
14961 PR tree-optimization/42781
14962 * tree-ssa-structalias.c (find_what_var_points_to): Skip
14963 restrict processing only if the original variable was artificial.
14964
14965 2010-01-18 Joern Rennecke <amylaar@spamcop.net>
14966
14967 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
14968 find number of popped argument bytes.
14969
14970 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
14971 Fix the text that describes the return value for invalid insns.
14972
14973 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
14974
14975 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
14976 Clarify what 'cost of the -dependence' is. Fix quoting.
14977
14978 * toplev.c (default_get_pch_validity): Rename argument to "sz".
14979 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
14980
14981 2010-01-17 Jakub Jelinek <jakub@redhat.com>
14982
14983 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
14984 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
14985
14986 2010-01-17 Richard Guenther <rguenther@suse.de>
14987
14988 PR middle-end/42248
14989 * function.c (split_complex_args): Take a VEC to modify.
14990 (assign_parms_augmented_arg_list): Build a VEC instead of
14991 a chain of PARM_DECLs.
14992 (assign_parms_unsplit_complex): Take a VEC of arguments.
14993 Do not fixup unmodified parms.
14994 (assign_parms): Deal with the VEC.
14995 (gimplify_parameters): Likewise.
14996
14997 2010-01-17 Richard Guenther <rguenther@suse.de>
14998
14999 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
15000 node existence check.
15001 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
15002 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
15003 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
15004 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
15005 (gimple_execute_on_growing_pred): Likewise.
15006
15007 2010-01-17 Richard Guenther <rguenther@suse.de>
15008
15009 PR tree-optimization/42773
15010 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
15011 (compute_antic_aux): Likewise.
15012 (compute_partial_antic_aux): Likewise.
15013
15014 2010-01-17 Jie Zhang <jie.zhang@analog.com>
15015
15016 PR debug/42767
15017 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
15018 and US_TRUNCATE.
15019
15020 2010-01-17 Joern Rennecke <amylaar@spamcop.net>
15021
15022 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
15023 appearance.
15024
15025 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
15026 Fix markup for strict argument.
15027
15028 (TARGET_SCHED_REORDER2): Fix argument types.
15029
15030 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
15031 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
15032
15033 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
15034 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
15035
15036 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
15037 Add argument name.
15038
15039 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
15040 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
15041 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
15042 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
15043 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
15044
15045 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
15046
15047 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
15048
15049 (TARGET_ASM_RELOC_RW_MASK): Add return type.
15050 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
15051
15052 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
15053
15054 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
15055 Use prototype.
15056
15057 (TARGET_ASM_NAMED_SECTION): Fix argument list.
15058
15059 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
15060 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
15061
15062 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
15063
15064 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
15065
15066 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
15067 referring to it. Fix language.
15068
15069 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
15070
15071 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
15072
15073 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
15074
15075 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
15076
15077 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
15078 '@var{stream}. Remove stray 'and'.
15079
15080 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
15081
15082 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
15083
15084 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
15085
15086 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
15087 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
15088
15089 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
15090 Fix description of return value.
15091 Rename argument "sz" to "len."
15092
15093 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
15094 Clarify meaning of 'true' return value.
15095
15096 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
15097
15098 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
15099 rep_mode versus mode_rep.
15100
15101 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
15102
15103 (TARGET_BUILTIN_DECL): Fix name.
15104
15105 (TARGET_COMMUTATIVE_P): Fix type of first argument.
15106
15107 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
15108
15109 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
15110
15111 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
15112
15113 (TARGET_RELAXED_ORDERING): Use @deftypevr.
15114
15115 (TARGET_GET_DRAP_RTX): Note that this is a hook.
15116 Clarify language.
15117
15118 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
15119 Rename argument tm_fn to md_fn.
15120
15121 (TARGET_OPTION_PRINT): Fix argument list.
15122
15123 2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
15124
15125 PR target/42664
15126 * config/i386/i386.c (ix86_fixup_binary_operands):
15127 Revert FMA4 fixup of operands.
15128
15129 2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15130
15131 PR gcc/42525
15132 * Makefile.in (write_entries_to_file, install-plugin):
15133 Use \012 instead of \n with tr.
15134
15135 2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
15136
15137 * configure.ac (HAVE_AS_REF): New C macro.
15138 * configure: Regenerate.
15139 * config.in: Likewise.
15140 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
15141 if HAVE_AS_REF.
15142 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
15143 if HAVE_AS_REF.
15144
15145 2010-01-16 Joern Rennecke <amylaar@spamcop.net>
15146
15147 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
15148
15149 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
15150
15151 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
15152
15153 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
15154
15155 (TARGET_IN_SMALL_DATA_P): Fix argument type.
15156
15157 (TARGET_BINDS_LOCAL_P): Fix argument type.
15158
15159 (TARGET_ASM_FILE_END): Use prototype.
15160
15161 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
15162
15163 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
15164
15165 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
15166
15167 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
15168
15169 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
15170 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
15171
15172 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
15173 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
15174
15175 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
15176 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
15177 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
15178 (TARGET_ADDR_SPACE_CONVERT): Likewise.
15179
15180 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
15181
15182 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
15183
15184 (TARGET_INIT_BUILTINS): Use prototype.
15185
15186 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
15187 Put 'const char *' in braces. Fix parameter types.
15188 (TARGET_INVALID_CONVERSION): Fix parameter types.
15189 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
15190 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
15191
15192 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
15193 Fix argument type.
15194
15195 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
15196
15197 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
15198
15199 2010-01-15 Joern Rennecke <amylaar@spamcop.net>
15200
15201 * doc/tm.texi (TARGET_HELP): Fix return type.
15202
15203 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
15204 in braces. Fix argument types.
15205
15206 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
15207
15208 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
15209
15210 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
15211
15212 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
15213 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
15214
15215 (TARGET_MANGLE_TYPE): Fix argument types.
15216
15217 (TARGET_IRA_COVER_CLASSES): Use prototype.
15218
15219 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
15220
15221 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
15222
15223 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
15224
15225 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
15226
15227 (TARGET_CALLEE_COPIES): Fix argument types.
15228
15229 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
15230
15231 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
15232
15233 (TARGET_FUNCTION_VALUE): Fix argument types.
15234
15235 (TARGET_RETURN_IN_MSB): Fix argument type.
15236
15237 (TARGET_RETURN_IN_MEMORY): Fix argument types.
15238
15239 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
15240
15241 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
15242
15243 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
15244 agree with return type.
15245
15246 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
15247
15248 2010-01-15 Jing Yu <jingyu@google.com>
15249
15250 PR rtl-optimization/42691
15251 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
15252 a pseudo to a constant and are merged, and adjust comments.
15253
15254 2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
15255
15256 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
15257
15258 2010-01-15 Richard Guenther <rguenther@suse.de>
15259
15260 PR middle-end/42739
15261 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
15262 labels of computed or non-local gotos to the destination.
15263 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
15264 landing pad label is the first label.
15265
15266 2010-01-15 Richard Guenther <rguenther@suse.de>
15267
15268 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
15269
15270 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
15271
15272 PR target/42747
15273 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
15274 to allow generation of the xssqrtdp instruction on power7.
15275 (sqrtdf2_fpr): Ditto.
15276
15277 2010-01-14 Jakub Jelinek <jakub@redhat.com>
15278
15279 PR middle-end/42674
15280 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
15281 functions with noreturn attribute.
15282
15283 PR c++/42608
15284 * varasm.c (declare_weak): Add weak attribute to decl if it
15285 doesn't have one already.
15286 (assemble_external): Only add decls to weak_decls if they also
15287 have weak attribute.
15288
15289 2010-01-14 Alexandre Oliva <aoliva@redhat.com>
15290
15291 * var-tracking.c (var_reg_delete): Don't delete the association
15292 between REGs and values or one-part variables if the register
15293 isn't clobbered.
15294
15295 2010-01-14 Jakub Jelinek <jakub@redhat.com>
15296
15297 PR debug/42657
15298 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
15299 because its first operand is a non-localized variable.
15300
15301 2010-01-14 Martin Jambor <mjambor@suse.cz>
15302
15303 PR tree-optimization/42706
15304 * tree-sra.c (encountered_recursive_call): New variable.
15305 (encountered_unchangable_recursive_call): Likewise.
15306 (sra_initialize): Initialize both new variables.
15307 (callsite_has_enough_arguments_p): New function.
15308 (scan_function): Call decl and flags check only for IPA-SRA, check
15309 whether there is a recursive call and whether it has enough arguments.
15310 (all_callers_have_enough_arguments_p): New function.
15311 (convert_callers): Look for recursive calls only when
15312 encountered_recursive_call is set.
15313 (ipa_early_sra): Bail out either if
15314 !all_callers_have_enough_arguments_p or
15315 encountered_unchangable_recursive_call.
15316
15317 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15318
15319 * sel-sched.c: Add 2010 to copyright years.
15320 * sel-sched-ir.c: Likewise.
15321 * sel-sched-ir.h: Likewise.
15322
15323 2010-01-14 Martin Jambor <mjambor@suse.cz>
15324
15325 PR tree-optimization/42714
15326 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
15327 constructors specially.
15328
15329 2010-01-14 Andi Kleen <ak@linux.intel.com>
15330
15331 * config/i386/drivers-i386.c (detect_caches_intel):
15332 Add l2sizekb parameter and fill in.
15333 (host_detect_local_cpu): Add l2sizekb, fill in.
15334 Add Atom small cache heuristic.
15335
15336 2010-01-14 Andi Kleen <ak@linux.intel.com>
15337
15338 * config/i386/drivers-i386.c (detect_caches_cpuid4):
15339 Add level3 parameter and fill in.
15340 (detect_caches_intel): Handle level3 cache.
15341
15342 2010-01-14 Andi Kleen <ak@linux.intel.com>
15343
15344 * config/i386/drivers-i386.c (host_detect_local_cpu):
15345 Fix core duo detection.
15346
15347 2010-01-14 Andi Kleen <ak@linux.intel.com>
15348
15349 * config/i386/drivers-i386.c (host_detect_local_cpu):
15350 Fix Atom detection.
15351
15352 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15353
15354 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
15355 (rs6000_variable_issue_1): this. Use...
15356 (rs6000_variable_issue): here. Reimplement. Print debug info.
15357
15358 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15359
15360 * sel-sched-ir.c (sel_restore_other_notes): Rename to
15361 sel_restore_notes. Update all callers. Call reemit_notes
15362 for all insns.
15363
15364 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
15365
15366 PR rtl-optimization/42246
15367 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
15368 loops.
15369
15370 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
15371
15372 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
15373 all successors is the same as number of successors in current region.
15374
15375 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15376
15377 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
15378 to rename is not separable. Otherwise check that its LHS is not NULL.
15379
15380 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15381
15382 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
15383
15384 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15385
15386 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
15387 available registers when failed to discover LHS register class.
15388 Fix indentation. Update comment.
15389
15390 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
15391 Alexander Monakov <amonakov@ispras.ru>
15392
15393 PR rtl-optimization/42389
15394 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
15395 to can_issue_more.
15396 (advance_state_on_fence): Likewise.
15397 (sel_target_adjust_priority): Print debug output only when
15398 sched_verbose >= 4, not 2.
15399 (get_expr_cost): Do not issue all unique insns on the next cycle.
15400 (fill_insns): Initialize can_issue_more from the value saved
15401 with the fence.
15402 * sel-sched-ir.c (flist_add): New parameter issue_more.
15403 Init FENCE_ISSUE_MORE with it.
15404 (merge_fences): Likewise.
15405 (init_fences): Update call to flist_add.
15406 (add_to_fences, add_clean_fence_to_fences)
15407 (add_dirty_fence_to_fences): Likewise.
15408 (move_fence_to_fences): Update call to merge_fences.
15409 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
15410 sched groups.
15411 * sel-sched-ir.h (struct _fence): New field issue_more.
15412 (FENCE_ISSUE_MORE): New accessor macro.
15413
15414 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
15415
15416 PR rtl-optimization/42388
15417 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
15418 that have no predecessors nor successors. Do not call move_bb_info
15419 for empty blocks outside of current region.
15420
15421 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15422
15423 PR rtl-optimization/42294
15424 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
15425 * sel-sched.c (move_exprs_to_boundary): Transitively add all
15426 originators' originators.
15427
15428 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
15429
15430 PR rtl-optimization/39453
15431 PR rtl-optimization/42246
15432 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
15433 for pipelining_p.
15434 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
15435
15436 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
15437 Alexander Monakov <amonakov@ispras.ru>
15438
15439 PR middle-end/42245
15440 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
15441 (maybe_tidy_empty_bb): ... here. Make static. Add new
15442 argument. Update all callers.
15443 (tidy_control_flow): ... and here. Recompute topological order
15444 of basic blocks in region if necessary.
15445 (sel_redirect_edge_and_branch): Change return type. Return true
15446 if topological order might have been invalidated.
15447 (purge_empty_blocks): Export and move from...
15448 * sel-sched.c (purge_empty_blocks): ... here.
15449 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
15450 (maybe_tidy_empty_bb): Delete prototype.
15451 (purge_empty_blocks): Declare.
15452
15453 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
15454
15455 PR rtl-optimization/42249
15456 * sel-sched.c (try_replace_dest_reg): When chosen register
15457 and original register is the same, do not bail out early, but
15458 still check all original insns for validity of replacing destination
15459 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
15460 in this case.
15461
15462 2010-01-14 Jakub Jelinek <jakub@redhat.com>
15463
15464 PR c/42721
15465 Port from no-undefined-overflow branch:
15466 2009-03-09 Richard Guenther <rguenther@suse.de>
15467
15468 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
15469
15470 2010-01-14 Richard Guenther <rguenther@suse.de>
15471
15472 PR lto/42665
15473 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
15474
15475 2010-01-14 Ira Rosen <irar@il.ibm.com>
15476
15477 PR tree-optimization/42709
15478 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
15479 as scalar type in creation of constant vector operand.
15480
15481 2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15482
15483 PR testsuite/42414
15484 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
15485 (check-parallel-%): Match `testsuite' directory component only
15486 at the end.
15487
15488 2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
15489
15490 PR translation/39521
15491 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
15492 strings with _().
15493
15494 2010-01-13 Richard Guenther <rguenther@suse.de>
15495
15496 PR tree-optimization/42730
15497 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
15498 offset zero.
15499
15500 2010-01-13 Steve Ellcey <sje@cup.hp.com>
15501
15502 PR target/pr42542
15503 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
15504 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
15505 them signed.
15506
15507 2010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
15508
15509 * config/bfin/libgcc-bfin.ver: Regenerate based on current
15510 libgcc-std.ver. Add entries for ___smulsi3_highpart and
15511 ___umulsi3_highpart.
15512
15513 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
15514 rather than schedule_insns if the pass is enabled.
15515
15516 2010-01-13 Martin Jambor <mjambor@suse.cz>
15517
15518 PR tree-optimization/42704
15519 * tree-sra.c (sra_modify_assign): Do not delete assignments to
15520 SSA_NAMEs.
15521
15522 2010-01-13 Martin Jambor <mjambor@suse.cz>
15523
15524 PR tree-optimization/42703
15525 * tree-sra.c (analyze_access_subtree): Check that we can build a
15526 reference to the original data within the aggregate.
15527
15528 2010-01-13 Richard Guenther <rguenther@suse.de>
15529
15530 PR tree-optimization/42705
15531 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
15532
15533 2010-01-13 Richard Guenther <rguenther@suse.de>
15534
15535 PR middle-end/42716
15536 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
15537
15538 2010-01-13 Jakub Jelinek <jakub@redhat.com>
15539
15540 PR debug/41371
15541 * var-tracking.c (values_to_unmark): New variable.
15542 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
15543 values_to_unmark vector. Moved body to...
15544 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
15545 instead queue it into values_to_unmark vector.
15546 (vt_find_locations): Free values_to_unmark vector.
15547
15548 2010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
15549
15550 * config/s390/s390.c (override_options): Set
15551 default of max-pending-list-length to 256
15552
15553 2010-01-13 Richard Guenther <rguenther@suse.de>
15554
15555 PR lto/42678
15556 * tree-pass.h (PROP_gimple_lcx): New.
15557 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
15558 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
15559 before the final cleanup_eh.
15560 (dump_properties): Dump PROP_gimple_lcx.
15561 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
15562 (tree_lower_complex_O0): Remove.
15563 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
15564 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
15565 tree_lower_complex, schedule TODO_update_ssa.
15566 * lto-streamer-out.c (output_function): Stream the functions
15567 properties.
15568 * lto-streamer-in.c (input_function): Likewise.
15569 (lto_read_body): Do not override them here.
15570
15571 2010-01-12 Joseph Myers <joseph@codesourcery.com>
15572
15573 PR c/42708
15574 * c-typeck.c (build_c_cast): Fold value cast to union type before
15575 wrapping it in a CONSTRUCTOR.
15576
15577 2010-01-12 Jakub Jelinek <jakub@redhat.com>
15578
15579 PR rtl-optimization/42699
15580 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
15581 involved.
15582
15583 2010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15584
15585 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
15586 SUBTARGET_WARN_UNUSED_SPEC): Move ...
15587 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
15588 SUBTARGET_WARN_UNUSED_SPEC): ... here
15589 * config/mips/iris5.h (LIBGCC_SPEC): Define.
15590
15591 2010-01-12 Julian Brown <julian@codesourcery.com>
15592
15593 * config/arm/neon-schedgen.ml (Utils): Don't try to
15594 open missing module.
15595 (find_with_result): New.
15596
15597 2010-01-12 Jakub Jelinek <jakub@redhat.com>
15598
15599 PR debug/42662
15600 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
15601 sharing when canonicalizing ({lt,ge}u (plus a b) b).
15602
15603 PR tree-optimization/42645
15604 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
15605 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
15606 decl_map, set processing_debug_stmt to -1 and return name without
15607 any remapping.
15608
15609 2010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
15610
15611 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
15612 binutils version, and reword target configuration description.
15613
15614 2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
15615
15616 * config/avr/avr.h (LINKER_NAME): Remove.
15617
15618 2010-01-11 Janis Johnson <janis187@us.ibm.com>
15619
15620 PR target/42416
15621 * config/rs6000/rs6000.c (rs6000_override_options): On targets
15622 that support VSX, warn for -mno-altivec if vsx is not disabled,
15623 and disable vsx.
15624
15625 2010-01-11 Joseph Myers <joseph@codesourcery.com>
15626 Shujing Zhao <pearly.zhao@oracle.com>
15627
15628 PR translation/42469
15629 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
15630 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
15631 character between option name and help text.
15632 * c.opt (imultilib): Likewise.
15633
15634 2010-01-10 Rafael Avila de Espindola <espindola@google.com>
15635
15636 * lto-streamer-out.c (output_unreferenced_globals): Output static
15637 variables.
15638
15639 2010-01-10 Steven Bosscher <steven@gcc.gnu.org>
15640
15641 PR rtl-optimization/42621
15642 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
15643 optimizing for size.
15644 (duplicate_computed_gotos): Remove now-redundant check.
15645
15646 2010-01-10 Steve Ellcey <sje@cup.hp.com>
15647
15648 PR target/37454
15649 * configure.ac: Save and restore LDFLAGS and LIBS
15650 * configure: Regenerate.
15651
15652 2010-01-10 Richard Guenther <rguenther@suse.de>
15653
15654 PR middle-end/42667
15655 * builtins.c (fold_builtin_strlen): Add type argument and
15656 convert the resulting length to it.
15657 (fold_builtin_1): Adjust.
15658
15659 2010-01-09 Jakub Jelinek <jakub@redhat.com>
15660
15661 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
15662 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
15663 1 insn.
15664 (num_insns_constant_wide): Adjust for that change.
15665
15666 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
15667
15668 PR debug/42631
15669 * web.c (union_defs): Add used argument, to combine uses of
15670 uninitialized regs.
15671 (entry_register): Adjust type and tests of used argument.
15672 (web_main): Widen used for new use. Pass it to union_defs.
15673 * df.h (union_defs): Adjust prototype.
15674
15675 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
15676
15677 PR debug/42630
15678 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
15679 uses in new incoming argument. Free body.
15680 (reset_debug_uses_in_loop): New.
15681 (analyze_insn_to_expand_var): Call the latter if the former found
15682 anything. Fix whitespace. Reject invalid dest overlaps before
15683 going through all insns in the loop.
15684
15685 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
15686
15687 PR debug/42629
15688 * haifa-sched.c (dying_use_p): Debug insns don't count.
15689
15690 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
15691
15692 PR middle-end/42363
15693 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
15694 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
15695 (verify_gimple_call): Reject LHS in noreturn calls.
15696
15697 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
15698
15699 PR debug/42604
15700 PR debug/42395
15701 * tree-vect-loop-manip.c (adjust_info): New type.
15702 (adjust_vec): New pointer to vector.
15703 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
15704 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
15705 (slpeel_update_phis_for_duplicate_loop): Use them.
15706 (slpeel_update_phi_nodes_for_guard1): Likewise.
15707 (slpeel_update_phi_nodes_for_guard2): Likewise.
15708 (slpeel_tree_peel_loop_to_edge): Likewise.
15709 (vect_update_ivs_after_vectorizer): Likewise.
15710
15711 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
15712
15713 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
15714 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
15715
15716 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
15717
15718 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
15719 bogus uninitialized warning.
15720
15721 2010-01-09 Richard Guenther <rguenther@suse.de>
15722
15723 PR middle-end/42512
15724 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
15725 the evolution is compatible with the initial condition.
15726
15727 2010-01-09 Jakub Jelinek <jakub@redhat.com>
15728
15729 * gcc.c (process_command): Update copyright notice dates.
15730 * gcov.c (print_version): Likewise.
15731 * gcov-dump.c (print_version): Likewise.
15732 * mips-tfile.c (main): Likewise.
15733 * mips-tdump.c (main): Likewise.
15734
15735 2010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
15736
15737 PR target/41885
15738 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
15739 (rotlhi3): Delete.
15740 (rotlhi3_8): Delete.
15741 (rotlsi3): Delete.
15742 (rotlsi3_8): Delete.
15743 (rotlsi3_16): Delete.
15744 (rotlsi3_24): Delete.
15745 (rotl<mode>3): New.
15746 (*rotw<mode>3): New.
15747 (*rotb<mode>3): New.
15748 * config/avr/avr.c (avr_rotate_bytes): New function.
15749 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
15750
15751 2010-01-08 Steve Ellcey <sje@cup.hp.com>
15752
15753 PR target/37454
15754 * configure.ac: Modify -rdynamic check.
15755 * configure: Regenerate.
15756
15757 2010-01-08 DJ Delorie <dj@redhat.com>
15758
15759 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
15760 register popping order.
15761
15762 2010-01-08 Richard Guenther <rguenther@suse.de>
15763
15764 PR lto/42528
15765 * c.opt (fsigned-char): Also let LTO handle this option.
15766 (funsigned-char): Likewise.
15767
15768 2010-01-07 Richard Guenther <rguenther@suse.de>
15769
15770 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
15771 (gimple_op): Likewise.
15772 (gimple_op_ptr): Likewise.
15773 (gimple_assign_set_lhs): Remove gcc_assert.
15774 (gimple_assign_set_rhs1): Likewise.
15775 (gimple_assign_set_rhs2): Likewise.
15776 (gimple_call_set_lhs): Likewise.
15777 (gimple_call_set_fn): Likewise.
15778 (gimple_call_set_fndecl): Likewise.
15779 (gimple_call_fndecl): Likewise.
15780 (gimple_call_return_type): Likewise.
15781 (gimple_call_set_chain): Likewise.
15782 (gimple_call_num_args): Likewise.
15783 (gimple_call_set_arg): Likewise.
15784 (gimple_cond_set_code): Likewise.
15785 (gimple_cond_set_lhs): Likewise.
15786 (gimple_cond_set_rhs): Likewise.
15787 (gimple_cond_set_true_label): Likewise.
15788 (gimple_cond_set_false_label): Likewise.
15789 (gimple_label_set_label): Likewise.
15790 (gimple_goto_set_dest): Likewise.
15791 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
15792 (gimple_debug_bind_get_value): Likewise.
15793 (gimple_debug_bind_get_value_ptr): Likewise.
15794 (gimple_debug_bind_set_var): Likewise.
15795 (gimple_debug_bind_set_value): Likewise.
15796 (gimple_debug_bind_reset_value): Likewise.
15797 (gimple_debug_bind_has_value_p): Likewise.
15798 (gimple_return_retval_ptr): Remove gcc_assert.
15799 (gimple_return_retval): Likewise.
15800 (gimple_return_set_retval): Likewise.
15801 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
15802 (safe_referenced_var_iterator): Remove.
15803 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
15804 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
15805 (fill_referenced_var_vec): Remove.
15806 (first_readonly_imm_use): Remove redundant gcc_assert.
15807 (phi_arg_index_from_use): Combine gcc_asserts.
15808 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
15809 (first_imm_use_stmt): Remove redundant gcc_assert.
15810 * tree-cfg.c (verify_gimple_call): Verify function and chain
15811 operands. Verify arguments.
15812 (verify_types_in_gimple_stmt): Verify condition code and labels.
15813
15814 2010-01-07 Richard Guenther <rguenther@suse.de>
15815
15816 PR tree-optimization/42641
15817 * sese.c (rename_map_elt_info): Use the SSA name version, do
15818 not hash pointers.
15819
15820 2010-01-07 Jakub Jelinek <jakub@redhat.com>
15821
15822 PR tree-optimization/42625
15823 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
15824 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
15825
15826 2010-01-07 Duncan Sands <baldrick@free.fr>
15827
15828 * Makefile.in (PLUGIN_HEADERS): Add version.h.
15829
15830 2010-01-07 Uros Bizjak <ubizjak@gmail.com>
15831
15832 PR target/42511
15833 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
15834 note itself is not function_invariant_p.
15835
15836 2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
15837
15838 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
15839 Do not add the DF_NOTE problem.
15840 * store-motion.c (execute_rtl_store_motion): Likewise.
15841
15842 2010-01-07 Martin Jambor <mjambor@suse.cz>
15843
15844 PR tree-optimization/42157
15845 * tree-sra.c (compare_access_positions): Stabilize sort if both
15846 accesses have integer types, return zero immediately if they are the
15847 same.
15848
15849 2010-01-06 Richard Henderson <rth@redhat.com>
15850
15851 PR middle-end/41883
15852 * haifa-sched.c (add_to_note_list): Merge into ...
15853 (concat_note_lists): ... here, and ...
15854 (unlink_other_notes, rm_other_notes): Merge into...
15855 (remove_notes): ... here. Create REG_SAVE_NOTEs for
15856 NOTE_INSN_EPILOGUE_BEG.
15857
15858 2010-01-06 Richard Guenther <rguenther@suse.de>
15859
15860 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
15861 not inline regular functions into always-inline functions.
15862
15863 2010-01-06 Nick Clifton <nickc@redhat.com>
15864
15865 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
15866 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
15867 used together.
15868 (OVERRIDE_OPTIONS): Delete.
15869 (OPTIMIZATION_OPTIONS): Define.
15870 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
15871 * config/rx/rx.c (rx_handle_option): Issue an error message if
15872 -mcpu=rx200 and -fpu are used together.
15873 (rx_set_optimization_options): New function. Issue an error
15874 message if an optimization attribute attempts to reset the FPU/
15875 math optimization pairing.
15876 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
15877 * config/rx/rx.opt: Set the default to 32-bit doubles.
15878 * config/rx/t-rx: Add multilibs for -nofpu option.
15879 * doc/invoke.texi: Update documentation of RX options.
15880
15881 2010-01-06 Richard Guenther <rguenther@suse.de>
15882
15883 * tree-ssa-pre.c (name_to_id): New global.
15884 (alloc_expression_id): Simplify SSA name handling.
15885 (lookup_expression_id): Likewise.
15886 (init_pre): Zero name_to_id.
15887 (fini_pre): Free it.
15888
15889 2010-01-06 Uros Bizjak <ubizjak@gmail.com>
15890
15891 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
15892
15893 2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
15894
15895 PR target/42542
15896 * config/i386/sse.md (smaxv2di3): New.
15897 (umaxv2di3): Likewise.
15898 (sminv2di3): Likewise.
15899 (uminv2di3): Likewise.
15900
15901 2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
15902
15903 PR target/42564
15904 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
15905 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
15906 (legitimize_tls_address): Likewise.
15907 (sparc_tls_referenced_p): Likewise.
15908 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
15909 and adjust calls to legitimize_pic_address.
15910 (legitimate_constant_p) Use sparc_tls_referenced_p.
15911 (legitimate_pic_operand_p): Likewise.
15912 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
15913 (sparc_tls_symbol_ref_1): Delete.
15914 (sparc_tls_referenced_p): Make static, recognize specific patterns.
15915 (legitimize_tls_address): Make static, handle CONST patterns.
15916 (legitimize_pic_address): Make static, remove unused parameter and
15917 adjust recursive calls.
15918 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
15919 and adjust call to legitimize_pic_address.
15920 (sparc_output_mi_thunk): Likewise.
15921
15922 2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
15923 H.J. Lu <hongjiu.lu@intel.com>
15924
15925 PR target/42542
15926 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
15927 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
15928 operands to make them signed.
15929
15930 Revert:
15931 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
15932
15933 PR target/42542
15934 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
15935 GTU to GT for V4SI and V2DI.
15936
15937 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
15938 (umin<mode>3): Removed.
15939 (uminv8hi3): New.
15940 (uminv4si3): Likewise.
15941
15942 2010-01-05 Martin Jambor <mjambor@suse.cz>
15943
15944 PR tree-optimization/42462
15945 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
15946 current_function_decl to helper functions and macros.
15947
15948 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15949
15950 PR bootstrap/41771
15951 * flags.h: Don't include real.h.
15952 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
15953 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
15954 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
15955 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
15956 * dominance.c: Update copyright.
15957 * gimple.c (walk_gimple_op): Remove inline.
15958 * tree-ssa-reassoc.c: Include real.h.
15959 * Makefile.in (FLAGS_H): Remove $(REAL_H).
15960 (tree-ssa-reassoc.o): Depend on $(REAL_H).
15961
15962 2010-01-05 Nick Clifton <nickc@redhat.com>
15963
15964 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
15965 register to push into the stack frame when the accumulator has to
15966 be saved during interrupts.
15967
15968 2010-01-05 Eric Fisher <joefoxreal@gmail.com>
15969
15970 * doc/invoke.texi: Remove the documentation about option
15971 -Wunreachable-code.
15972 * common.opt (Wunreachable-code): Preserved for backward
15973 compatibility.
15974 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
15975 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
15976 the backward compatibility flag section.
15977
15978 2010-01-05 Richard Guenther <rguenther@suse.de>
15979
15980 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
15981
15982 2010-01-05 Jakub Jelinek <jakub@redhat.com>
15983
15984 PR other/42611
15985 * cfgexpand.c (expand_one_var): Diagnose too large variables.
15986
15987 PR tree-optimization/42508
15988 * tree-sra.c (convert_callers): Check for recursive call
15989 by comparing cgraph nodes instead of decls.
15990 (modify_function): Call ipa_modify_formal_parameters also
15991 on all same_body aliases.
15992
15993 * cgraphunit.c (cgraph_materialize_all_clones): Compare
15994 cgraph nodes when checking for same_body aliases.
15995
15996 2010-01-05 Richard Guenther <rguenther@suse.de>
15997
15998 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
15999 allocation and lookup.
16000 (get_or_alloc_expr_for_constant): Likewise.
16001 (phi_translate): Sink allocation.
16002
16003 2010-01-04 Richard Guenther <rguenther@suse.de>
16004
16005 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
16006 a new entry only if needed.
16007 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
16008 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
16009 hashtable lookup.
16010 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
16011 the result array.
16012 (phi_translate): Handle CONSTANTs early.
16013
16014 2010-01-04 Martin Jambor <mjambor@suse.cz>
16015
16016 PR tree-optimization/42398
16017 * tree-sra.c (struct access): Removed flag grp_different_types.
16018 (dump_access): Do not dump the removed flag.
16019 (sort_and_splice_var_accesses): Do not set the removed flag.
16020 (sra_modify_expr): Check for type compatibility directly.
16021
16022 2010-01-04 Martin Jambor <mjambor@suse.cz>
16023
16024 PR tree-optimization/42366
16025 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
16026 edges with variable number of parameters.
16027 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
16028 flag instead of asserting it.
16029 (ipa_read_node_info): Read uses_analysis_done flag.
16030
16031 2010-01-04 Richard Guenther <rguenther@suse.de>
16032
16033 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
16034 iterative_hash_* as intended.
16035 (vn_reference_compute_hash): Likewise. Simplify hashing
16036 SSA names.
16037 (vn_reference_lookup_2): Likewise.
16038 (vn_nary_op_compute_hash): Likewise.
16039 (vn_phi_compute_hash): Likewise.
16040 (expressions_equal_p): Remove strange code.
16041 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
16042 (pre_expr_hash): Likewise. Simplify hashing SSA names.
16043 (bitmap_insert_into_set_1): Take value-id as parameter.
16044 (add_to_value): Pass it.
16045 (bitmap_insert_into_set): Likewise.
16046 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
16047
16048 2010-01-04 Jakub Jelinek <jakub@redhat.com>
16049
16050 PR driver/42442
16051 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
16052 (do_self_spec): For switches with SWITCH_IGNORE set set also
16053 SWITCH_IGNORE_PERMANENTLY.
16054 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
16055 of SWITCH_IGNORE.
16056
16057 2010-01-04 Rafael Avila de Espindola <espindola@google.com>
16058
16059 * lto-streamer-out.c (output_unreferenced_globals): Output the full
16060 tree of an unreferenced global var.
16061
16062 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
16063
16064 PR target/42542
16065 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
16066 GTU to GT for V4SI and V2DI.
16067
16068 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
16069 (umin<mode>3): Removed.
16070 (uminv8hi3): New.
16071 (uminv4si3): Likewise.
16072
16073 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
16074
16075 PR lto/42581
16076 * collect2.c (main): Turn on trace in collect2 if -v is passed
16077 to gcc with LTO.
16078
16079 2010-01-03 Jerry Quinn <jlquinn@optonline.net>
16080
16081 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
16082 description of expression operand.
16083
16084 2010-01-03 Andrew Jenner <andrew@codesourcery.com>
16085
16086 * configure.ac: Add install-html to target_list for Make-hooks.
16087 * configure: Regenerate.
16088 * fortran/Make-lang.in (F95_HTMLFILES): New.
16089 (fortran.html): Use it.
16090 (fortran.install-html): New.
16091 * Makefile.in (install-html): Add lang.install-html.
16092 * java/Make-lang.in (JAVA_HTMLFILES): New.
16093 (java.html): Use it.
16094 (java.install-html): New.
16095 * objc/Make-lang.in (objc.install-html): New.
16096 * objcp/Make-lang.in (obj-c++.install-html): New.
16097 * cp/Make-lang.in (c++.install-html): New.
16098 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
16099 * lto/Make-lang.in (lto.install-html): New.
16100
16101 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
16102
16103 PR lto/42520
16104 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
16105
16106 2009-01-03 Steven Bosscher <steven@gcc.gnu.org>
16107
16108 PR rtl-optimization/41862
16109 * store-motion.c (store_killed_in_insn, compute_store_table,
16110 remove_reachable_equiv_notes, replace_store_insn,
16111 build_store_vectors): Ignore all DEBUG_INSNs.
16112
16113 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
16114
16115 PR lto/41564
16116 * common.opt: Add dumpdir.
16117
16118 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
16119 isn't specified.
16120 (option_map): Add --dumpdir.
16121
16122 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
16123
16124 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
16125
16126 * opts.c (decode_options): Try dump_dir_name first if
16127 dump_base_name isn't an absolute path.
16128 (common_handle_option): Handle OPT_dumpdir.
16129
16130 * toplev.c (dump_dir_name): New.
16131 (print_switch_values): Also ignore -dumpdir.
16132
16133 * toplev.h (dump_dir_name): New.
16134
16135 2010-01-03 Richard Guenther <rguenther@suse.de>
16136
16137 PR tree-optimization/42589
16138 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
16139 double-word expansion of bswap32.
16140
16141 2010-01-03 Steven Bosscher <steven@gcc.gnu.org>
16142
16143 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
16144 with BLOCK_FOR_INSN.
16145 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
16146 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
16147 noce_process_if_block): Likewise.
16148 * gcse.c (compute_local_properties, insert_expr_in_table,
16149 insert_set_in_table, canon_list_insert, find_avail_set,
16150 pre_insert_copy_insn): Likewise.
16151
16152 * basic-block.h (BLOCK_NUM): Move from here...
16153 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
16154
16155 2010-01-03 Richard Guenther <rguenther@suse.de>
16156
16157 PR tree-optimization/42438
16158 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
16159 contains_may_not_return_call flag.
16160 (BB_MAY_NOTRETURN): New.
16161 (valid_in_sets): Trapping nary operations are not valid
16162 in blocks that may not return.
16163 (insert_into_preds_of_block): Remove check for trapping expressions.
16164 (compute_avail): Compute also BB_MAY_NOTRETURN.
16165
16166 2010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
16167
16168 * doc/invoke.texi: Add 2010 to copyright years.
16169
16170 2010-01-03 Eric Botcazou <ebotcazou@adacore.com>
16171
16172 * config/sparc/sparc.c: Fix formatting nits.
16173
16174 2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
16175 Alexander Monakov <amonakov@ispras.ru>
16176
16177 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
16178
16179 2010-01-02 Richard Guenther <rguenther@suse.de>
16180
16181 PR middle-end/42577
16182 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
16183 (simplify_switch_using_ranges): Mark to be removed edges
16184 as non-executable.
16185
16186 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16187
16188 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
16189
16190 * collect2.c (scan_libraries): Add missing argument in call to
16191 scan_prog_file.
16192
16193 2010-01-02 Uros Bizjak <ubizjak@gmail.com>
16194
16195 PR target/42448
16196 * config/alpha/predicates.md (aligned_memory_operand): Return false
16197 for CQImode.
16198 (unaligned_memory_operand): Return true for CQImode.
16199 * config/alpha/alpha.c (get_aligned_mem): Assert that location
16200 doesn not cross aligned SImode word boundary.
16201
16202 2010-01-02 Anatoly Sokolov <aesok@post.ru>
16203
16204 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
16205 Remove.
16206 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
16207 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
16208
16209 2010-01-02 Richard Guenther <rguenther@suse.de>
16210
16211 PR lto/41597
16212 * toplev.c (compile_file): Emit LTO marker properly. Change
16213 it to __gnu_lto_v1.
16214 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
16215
16216 2010-01-01 Richard Guenther <rguenther@suse.de>
16217
16218 PR debug/42455
16219 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
16220
16221 2010-01-01 Richard Guenther <rguenther@suse.de>
16222
16223 PR c/42570
16224 * c-decl.c (grokdeclarator): For zero-size arrays force
16225 structural equality checks as layout_type does.
16226
16227 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
16228
16229 * builtins.c: Update copyright to 2010.
16230
16231 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
16232
16233 PR lto/42531
16234 * lto-streamer-out.c (produce_asm): Revert the last change.
16235 (copy_function): Likewise.
16236
16237 * lto-streamer.c (lto_get_section_name): Skip any leading
16238 asterisk in name.
16239
16240 2010-01-01 Richard Guenther <rguenther@suse.de>
16241
16242 PR middle-end/42559
16243 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
16244 for LABEL_DECLs.
16245
16246 \f
16247 Copyright (C) 2010 Free Software Foundation, Inc.
16248
16249 Copying and distribution of this file, with or without modification,
16250 are permitted in any medium without royalty provided the copyright
16251 notice and this notice are preserved.