OSDN Git Service

a198056b9b1df52a6c7fcbaa239cc2798210039b
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-19  Richard Guenther  <rguenther@suse.de>
2
3         * configure.ac: Fix quoting around elf_getshstrndx ABI check.
4         * configure: Re-generated.
5
6 2010-04-19  Richard Guenther  <rguenther@suse.de>
7
8         PR tree-optimization/43783
9         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
10         constant ARRAY_REF operands two and three if possible.
11
12 2010-04-19  Uros Bizjak  <ubizjak@gmail.com>
13
14         PR target/43766
15         * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
16
17 2010-04-19  Jie Zhang  <jie@codesourcery.com>
18
19         PR target/43662
20         * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
21
22 2010-04-19 Ira Rosen <irar@il.ibm.com>
23
24         PR tree-optimization/37027
25         * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions 
26         and macro to access it.
27         (vectorizable_reduction): Add argument.
28         (vect_get_slp_defs): Likewise.
29         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
30         statements for possible use in SLP.
31         (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
32         (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
33         (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
34         add new argument.
35         (vectorizable_reduction): Likewise.
36         * tree-vect-stmts.c (vect_get_vec_defs): Update call to 
37         vect_get_slp_defs.
38         (vectorizable_type_demotion, vectorizable_type_promotion,
39         vectorizable_store): Likewise.
40         (vect_analyze_stmt): Update call to vectorizable_reduction.
41         (vect_transform_stmt): Likewise.
42         * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
43         (vect_build_slp_tree): Fix indentation. Check that there are no loads
44         from different interleaving chains in same node.
45         (vect_slp_rearrange_stmts): New function.
46         (vect_supported_load_permutation_p): Allow load permutations for 
47         reductions. Call vect_slp_rearrange_stmts() to rearrange statements
48         inside SLP nodes if necessary.
49         (vect_analyze_slp_instance): Handle reductions.
50         (vect_analyze_slp): Try to build SLP instances originating from groups
51         of reductions.
52         (vect_detect_hybrid_slp_stmts): Skip reduction statements.
53         (vect_get_constant_vectors): Create initial vectors for reductions
54         according to reduction code. Add new argument.
55         (vect_get_slp_defs): Add new argument, pass it to 
56         vect_get_constant_vectors.
57         (vect_schedule_slp_instance): Remove SLP tree root statements.
58
59 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
60
61         * tree.h (ENUM_IS_SCOPED): Define.
62         * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
63         for ENUM_IS_SCOPED enums.
64
65 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
66
67         * fold-const.c (fold_comparison): Use ssizetype.
68         * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
69         * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
70         * tree-loop-distribution.c (build_size_arg_loc): Likewise.
71         * tree-object-size.c (compute_object_sizes): Use size_type_node.
72
73         * tree.h (initialize_sizetypes): Remove parameter.
74         (build_common_tree_nodes): Remove second parameter.
75         * stor-layout.c (initialize_sizetypes): Remove parameter.
76         Always create an unsigned type.
77         (set_sizetype): Assert that the passed type is unsigned and simplify.
78         * tree.c (build_common_tree_nodes): Remove second parameter.
79         Adjust call to initialize_sizetypes.
80         * c-decl.c (c_init_decl_processing): Remove second argument in call to
81         build_common_tree_nodes.
82
83 2010-04-18  Matthias Klose  <doko@ubuntu.com>
84
85         * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
86
87 2010-04-18 Ira Rosen <irar@il.ibm.com> 
88
89         PR tree-optimization/43771
90         * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
91         load permutation doesn't have gaps.
92
93 2010-04-18  Jan Hubicka  <jh@suse.cz>
94
95         * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
96         (sse_prologue_save_insn expander): Use new pattern.
97         (sse_prologue_save_insn1): New pattern and splitter.
98         (sse_prologue_save_insn): Update to deal also with 64bit aligned
99         blocks.
100         * i386.c (setup_incoming_varargs_64): Do not compute jump
101         destination here.
102         (ix86_gimplify_va_arg): Update alignment needed.
103         (ix86_local_alignment): Do not align all local arrays to 128bit.
104
105 2010-04-17  Jan Hubicka  <jh@suse.cz>
106
107         * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
108
109 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
110
111         * arm.md (negdi2): Remove redundant code to force values into a
112         register.
113
114 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
115
116         * arm/bpabi.S: Add EABI alignment attributes to objects.
117         * arm/bpabi-v6m.S: Likewise.
118         * arm/crti.asm: Likewise.
119         * arm/crtn.asm: Likewise.
120         * arm/lib1funcs.asm: Likewise.
121         * arm/libunwind.S: Likewise.
122
123 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
124
125         * arm-protos.h (tune_params): New structure.
126         * arm.c (current_tune): New variable.
127         (arm_constant_limit): Delete.
128         (struct processors): Add pointer to the tune parameters.
129         (arm_slowmul_tune): New tuning option.
130         (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
131         (all_cores): Adjust to pick up the tuning model.
132         (arm_constant_limit): New function.
133         (arm_override_options): Select the appropriate tuning model.  Delete
134         initialization of arm_const_limit.
135         (arm_split_constant): Use the new constant-limit model.
136         (arm_rtx_costs): Pick up the current tuning model.
137         * arm.md (is_strongarm, is_xscale): Delete.
138         * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
139         for Xscale variant architectures.
140         (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
141
142 2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
143
144         * config/arm/arm.c (arm_gen_constant): Remove unused variable
145         can_shift.
146         (arm_rtx_costs_1): Remove unused variable extra_cost.
147         (arm_unwind_emit_set): Use variable offset.
148         (thumb1_output_casesi): Remove unused variable flags.
149
150 2010-04-16  Jeff Law  <law@redhat.com>
151
152         * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
153         needing assignment rather than doing a two-phase assignment.  Remove
154         unused variable 'm'.
155
156 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
157
158         PR bootstrap/43767
159         * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
160
161 2010-04-16  Doug Kwan  <dougkwan@google.com>
162
163         * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
164         (next_operand_entry_id): New static variable.
165         (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
166         (add_to_ops_vec): Assigned unique ID to operand entry.
167         (struct oecount_s): New field ID.
168         (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
169         (undistribute_ops_list): Assign unique IDs to oecounts.
170         (init_reassoc): reset next_operand_entry_id.
171
172 2010-04-16  Doug Kwan  <dougkwan@google.com>
173
174         * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
175         missing left parenthesis.
176         
177 2010-04-16  Uros Bizjak  <ubizjak@gmail.com>
178
179         * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
180         *btdi_rex64 using SWI48 mode iterator.
181         (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
182         (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
183         *jcc_btdi_mask_rex64.
184
185 2010-04-16  Anatoly Sokolov  <aesok@post.ru>
186
187         * double-int.h (tree_to_double_int): Convert to macro.
188         * double-int.c (tree_to_double_int): Remove.
189
190 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
191
192         PR debug/43762
193         * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
194         with want_address 2 and in case a single element list might be
195         possible, call it again with want_address 0.
196
197 2010-04-12  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
198
199         * config/h8300/h8300.c (print_operand) : Modify case 'V' and
200         case 'W' print operands for HI mode.
201         * config/h8300/h8300.h (Y0, Y2) : New constraints.
202         * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
203         (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
204         * config/h8300/predicate.md (bit_register_indirect_operand): New.
205
206         * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
207
208         * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx, 
209         cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
210         #xx:3 and #xx:4 mode.
211
212         * config/h8300/h8300.md (inverted load with HImode dest): Add
213         support for H8300SX.
214
215         * config/h8300/predicate.md (bit_operand): Allow immediate values that
216         satisfy 'U' constraint.
217
218 2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
219
220         * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx
221         flavor.
222         * configure: Regenerate.
223         * config.in: Regenerate.
224         * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
225         works.
226
227 2010-04-16  Richard Guenther  <rguenther@suse.de>
228
229         * tree.h (struct tree_decl_minimal): Move pt_uid ...
230         (struct tree_decl_common): ... here.
231         (DECL_PT_UID): Adjust.
232         (SET_DECL_PT_UID): Likewise.
233         (DECL_PT_UID_SET_P): Likewise.
234
235 2010-04-16  Richard Guenther  <rguenther@suse.de>
236
237         PR tree-optimization/43572
238         * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
239         * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
240         * tree-flow.h (is_call_clobbered): Remove.
241         * tree-flow-inline.h (is_call_clobbered): Likewise.
242         * tree-dfa.c (dump_variable): Do not dump call clobber state.
243         * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
244         (execute_return_slot_opt): Adjust.
245         * tree-tailcall.c (suitable_for_tail_opt_p): Remove
246         check for call clobbered vars here.
247         (find_tail_calls): Move tailcall verification to the
248         proper place.
249
250 2010-04-16  Diego Novillo  <dnovillo@google.com>
251
252         * doc/invoke.texi: Explain how are unrecognized -Wno- warnings
253         handled.
254
255 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
256
257         PR target/40603
258         * config/arm/arm.md (cbranchqi4): New pattern.
259         * config/arm/predicates.md (const0_operand,
260         cbranchqi4_comparison_operator): New predicates.
261
262 2010-04-16  Richard Guenther  <rguenther@suse.de>
263
264         * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
265         (dump_gimple_stmt): Likewise.
266
267 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
268
269         * recog.h (struct recog_data): New field is_operator.
270         (struct insn_operand_data): New field is_operator.
271         * recog.c (extract_insn): Set recog_data.is_operator.
272         * genoutput.c (output_operand_data): Emit code to set the
273         is_operator field.
274         * reload.c (find_reloads): Use it rather than testing for an
275         empty constraint string.
276
277         PR target/41514
278         * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
279         If the previous insn is a cbranchsi4_insn with the same arguments,
280         omit the compare instruction.
281
282         * config/arm/arm.md (addsi3_cbranch): If destination is a high
283         register, inputs must be low registers and we need a low register
284         scratch.  Handle alternative 2 like alternative 3.
285
286 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
287
288         * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
289         don't call get_addr on both.  If one expression is a VALUE and
290         the other a REG, check VALUE's locs if the REG isn't among them.
291
292 2010-04-16  Christian Bruel  <christian.bruel@st.com>
293
294         * config/sh/sh.h (sh_frame_pointer_required): New function.
295         * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
296         (flag_omit_frame_pointer) Set.
297         (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
298         (rounded_frame_size): Adjust size with outgoing_args_size.
299         (sh_set_return_address): Must return from stack pointer.
300         * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
301         (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
302         (ACCUMULATE_OUTGOING_ARGS): Define.
303         * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
304         * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
305
306 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
307
308         PR target/43471
309         * config/sh/sh.c (sh_legitimize_reload_address): Use
310         MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
311         Remove a unneeded check for offset_base.
312
313 2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>
314
315         * configure: Regenerated.
316
317 2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
318
319         * config/s390/s390.c (s390_call_save_register_used): Switch back
320         to HARD_REGNO_NREGS.
321
322 2010-04-15  Richard Guenther  <rguenther@suse.de>
323
324         * alias.c (alias_set_subset_of): Handle alias-set zero
325         child properly.
326
327 2010-04-15  Mark Shinwell  <shinwell@codesourcery.com>
328             Julian Brown  <julian@codesourcery.com>
329
330         * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
331         alternatives according to use of high and low regs.
332         * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
333         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
334         optimizing for size on Thumb-2.
335
336 2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
337
338         * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
339
340 2010-04-15  Richard Guenther  <rguenther@suse.de>
341
342         * tree-ssa-structalias.c (struct variable_info): Add
343         is_fn_info flag.
344         (new_var_info): Initialize it.
345         (dump_constraints): Support printing last added constraints.
346         (debug_constraints): Adjust.
347         (dump_constraint_graph): Likewise.
348         (make_heapvar_for): Check for NULL cfun.
349         (get_function_part_constraint): New function.
350         (get_fi_for_callee): Likewise.
351         (find_func_aliases): Properly implement IPA PTA constraints.
352         (process_ipa_clobber): New function.
353         (find_func_clobbers): Likewise.
354         (insert_into_field_list_sorted): Remove.
355         (create_function_info_for): Properly allocate vars for IPA mode.
356         Do not use insert_into_field_list_sorted.
357         (create_variable_info_for): Properly generate constraints for
358         global vars in IPA mode.
359         (dump_solution_for_var): Always dump the solution.
360         (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
361         (find_what_var_points_to): Adjust.
362         (pt_solution_set): Change.
363         (pt_solution_ior_into): New function.
364         (pt_solution_empty_p): Export.
365         (pt_solution_includes_global): Adjust.
366         (pt_solution_includes_1): Likewise.
367         (pt_solutions_intersect_1): Likewise.
368         (dump_sa_points_to_info): Check some invariants.
369         (solve_constraints): Move constraint dumping ...
370         (compute_points_to_sets): ... here.
371         (ipa_pta_execute): ... and here.
372         (compute_may_aliases): Do not re-compute points-to info
373         locally if IPA info is available.
374         (ipa_escaped_pt): New global var.
375         (ipa_pta_execute): Properly implement IPA PTA.
376         * tree-into-ssa.c (dump_decl_set): Support dumping
377         decls not in referenced-vars.
378         * tree-flow.h (struct gimple_df): Add ipa_pta flag.
379         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
380         (dump_points_to_solution): Likewise.
381         * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
382         * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
383         (remap_gimple_stmt): Reset call clobber/use information if
384         necessary.
385         (copy_decl_to_var): Copy DECL_PT_UID.
386         (copy_result_decl_to_var): Likewise.
387         * tree.c (make_node_stat): Initialize DECL_PT_UID.
388         (copy_node_stat): Copy it.
389         * tree.h (DECL_PT_UID): New macro.
390         (SET_DECL_PT_UID): Likewise.
391         (DECL_PT_UID_SET_P): Likewise.
392         (struct tree_decl_minimal): Add pt_uid member.
393         * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
394         (pt_solution_empty_p): Declare.
395         (pt_solution_set): Adjust.
396         (ipa_escaped_pt): Declare.
397         * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
398         * gimple-pretty-print.c (pp_points_to_solution): New function.
399         (dump_gimple_call): Dump call clobber/use information.
400         * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
401         * tree-pass.h (TDF_ALIAS): New dump option.
402         * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
403         * doc/invoke.texi (-fipa-pta): Update documentation.
404
405 2010-04-15  Richard Guenther  <rguenther@suse.de>
406
407         * Makefile.in (OBJS-common): Add gimple-fold.o.
408         (gimple-fold.o): New rule.
409         * tree.h (maybe_fold_offset_to_reference,
410         maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
411         prototypes ...
412         * gimple.h: ... here.
413         * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
414         may_propagate_address_into_dereference): Move prototypes ...
415         * gimple.h: ... here.
416         * tree-ssa-ccp.c (get_symbol_constant_value,
417         may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
418         maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
419         maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
420         maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
421         ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
422         fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
423         gimplify_and_update_call_from_tree): Move ...
424         * gimple-fold.c: ... here.  New file.
425         (ccp_fold_builtin): Rename to ...
426         (gimple_fold_builtin): ... this.
427         * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
428
429 2010-04-15  Richard Guenther  <rguenther@suse.de>
430
431         * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
432         fit_double_type, force_fit_type_double, add_double_with_sign,
433         neg_double, mul_double_with_sign, lshift_double, rshift_double,
434         lrotate_double, rrotate_double, div_and_round_double): Move ...
435         * double-int.c: ... here.
436         * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
437         add_double, neg_double, mul_double_with_sign, mul_double,
438         lshift_double, rshift_double, lrotate_double, rrotate_double,
439         div_and_round_double): Move prototypes ...
440         * double-int.h: ... here.
441
442 2010-04-15  Bernd Schmidt  <bernds@codesourcery.com>
443
444         PR target/43742
445         * config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
446         matching constraints to ensure inputs match the output.
447
448 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
449
450         PR target/43742
451         * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
452         in an input-only operand.       
453
454 2010-04-15  Anatoly Sokolov  <aesok@post.ru>
455
456         * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
457         (double_int_not, double_int_lshift, double_int_rshift): Declare.
458         (double_int_negative_p): Convert to static inline function.
459         * double-int.c (double_int_lshift, double_int_lshift): Add new function.
460         (double_int_negative_p): Remove.
461         * tree.h (lshift_double, rshift_double): 
462         * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
463         * fold-const.c (fold_convert_const_int_from_real,
464         fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
465         (lshift_double): Change type of arith argument to bool.
466         (rshift_double): Change type of arith argument to bool. Correct
467         comment.
468         * expmed.c (mask_rtx, lshift_value): (Ditto.).
469
470 2010-04-14  Bernd Schmidt  <bernds@codesourcery.com>
471         
472         PR target/21803
473         * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
474         at the start and end of the then/else blocks, and omit them from the
475         conversion.
476         * cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
477         argument; all callers changed.  Pass zero to old_insns_match_p instead.
478         (flow_find_head_matching_sequence): New function.
479         (old_insns_match_p): Check REG_EH_REGION notes for calls.
480         * basic-block.h (flow_find_cross_jump,
481         flow_find_head_matching_sequence): Declare functions.
482
483 2010-04-14  Jason Merrill  <jason@redhat.com>
484
485         PR c++/36625
486         * c-common.c (attribute_takes_identifier_p): New fn.
487         * c-common.h: Declare it.
488
489 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
490
491         * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
492         splitter condition.
493         (*udivmod<mode>4): Ditto.
494
495 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
496
497         * config/i386/i386.md (maxmin_int): Rename code attribute from
498         maxminiprefix and update all users.
499         (maxmin_float): Ditto from maxminfprefix.
500         (logic): Ditto from logicprefix.
501         (absneg_mnemonic): Ditto from absnegprefix.
502         * config/i386/mmx.md: Update all users of maxminiprefix,
503         maxminfprefix and logicprefix for rename.
504         * config/i386/sse.md: Ditto.
505         * config/i386/sync.md (sync_<code><mode>): Update for
506         logicprefix rename.
507
508 2010-04-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
509
510         PR 42966
511         * diagnostics.c (diagnostic_report_diagnostic): Mark specially
512         warnings converted to errors.
513
514 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
515
516         * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
517         used insn_type variable.
518         (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
519         to avoid set-but-not-used warning.
520
521 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
522
523         * df-core.c (df_ref_debug): Change format string placeholder
524         from 0x%x to %#x.
525         * dwarf2asm.c (dw2_asm_output_data_raw,
526         dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
527         dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
528         * dwarf2out.c (output_cfi, output_cfi_directive,
529         dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
530         output_cfa_loc_raw, output_die, output_ranges, output_file_names):
531         Ditto.
532         * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
533         * print-rtl.c (print_rtx): Ditto.
534
535 2010-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
536
537         PR middle-end/42694
538         * builtins.c (expand_builtin_pow_root): New function to expand pow
539         calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
540         series of sqrt and cbrt calls under -ffast-math.
541         (expand_builtin_pow): Call it.
542
543 2010-04-14  Michael Matz  <matz@suse.de>
544
545         PR tree-optimization/42963
546         * tree-cfg.c (touched_switch_bbs): New static variable.
547         (group_case_labels_stmt): New function broken out from ...
548         (group_case_labels): ... here, use the above.
549         (start_recording_case_labels): Allocate touched_switch_bbs.
550         (end_recording_case_labels): Deallocate it, call
551         group_case_labels_stmt.
552         (gimple_redirect_edge_and_branch): Remember index of affected BB.
553
554 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
555
556         * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
557         from insn template.
558
559 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
560
561         * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
562
563 2010-04-13  Jan Hubicka  <jh@suse.cz>
564
565         * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
566         of optimized out static functions.
567         (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
568         cost computation.  Also sanity check for overflows.
569         (update_caller_keys): Update cgraph_edge_badness call; properly
570         update fibheap and sanity check that it is up to date.
571         (add_new_edges_to_heap): Update cgraph_edge_badness.
572         (cgraph_decide_inlining_of_small_function): Likewise;
573         add sanity checking that badness in heap is up to date;
574         improve dumping of reason; Update badness of calls to the
575         offline copy of function currently inlined; dump badness
576         of functions not inlined because of unit growth limits.
577
578 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
579
580         PR middle-end/32628
581         * c-common.c (pointer_int_sum): Disregard overflow that occured only
582         because of sign-extension change when converting to sizetype here...
583         * fold-const.c (fold_convert_const_int_from_int): ...and not here.
584
585         * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
586         the folding to constants.  Remove redundant final conversion.
587         (fold_binary) <associate>: Do not associate if the re-association of
588         constants alone overflows.
589         (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
590         to the end of the list.
591         (multiple_of_p) <COND_EXPR>: New case.
592
593 2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
594
595         * opt-functions.awk (opt_sanitized_name): New.
596         (opt_enum): New.
597         * optc-gen.awk: Use it
598         * opth-gen.awk: Use it.
599
600 2010-04-13  Martin Jambor  <mjambor@suse.cz>
601
602         * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
603         (sra_modify_assign): Delete stmts loading dead data even if racc has no
604         children.  Call replace_uses_with_default_def_ssa_name to handle
605         SSA_NAES on lhs.
606
607 2010-04-13  Michael Matz  <matz@suse.de>
608
609         PR middle-end/43730
610         * builtins.c (expand_builtin_interclass_mathfn): Also create
611         a register if the predicate doesn't match.
612
613 2010-04-13  Diego Novillo  <dnovillo@google.com>
614
615         * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
616         * c-pch.c: Include timevar.h.
617         (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
618         (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
619         * ggc-common.c: Include timevar.h.
620         (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
621         * timevar.def (TV_PCH_SAVE): Define.
622         (TV_PCH_CPP_SAVE): Define.
623         (TV_PCH_PTR_REALLOC): Define.
624         (TV_PCH_PTR_SORT): Define.
625         (TV_PCH_RESTORE): Define.
626         (TV_PCH_CPP_RESTORE): Define.
627
628 2010-04-13  Michael Matz  <matz@suse.de>
629
630         * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
631         into MINUS_EXPRs.
632         (can_reassociate_p): New function.
633         (break_up_subtract_bb, reassociate_bb): Use it.
634
635 2010-04-13  Richard Guenther  <rguenther@suse.de>
636
637         PR bootstrap/43737
638         * builtins.c (c_readstr): Fix assert.
639
640 2010-04-13  Uros Bizjak  <ubizjak@gmail.com>
641
642         * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
643         when generating cltd insn.
644
645         (*ashl<mode>3_1): Remove special handling for register operand 2.
646         (*ashlsi3_1_zext): Ditto.
647         (*ashlhi3_1): Ditto.
648         (*ashlhi3_1_lea): Ditto.
649         (*ashlqi3_1): Ditto.
650         (*ashlqi3_1_lea): Ditto.
651         (*<shiftrt_insn><mode>3_1): Ditto.
652         (*<shiftrt_insn>si3_1_zext): Ditto.
653         (*<shiftrt_insn>qi3_1_slp): Ditto.
654         (*<rotate_insn><mode>3_1): Ditto.
655         (*<rotate_insn>si3_1_zext): Ditto.
656         (*<rotate_insn>qi3_1_slp): Ditto.
657
658 2010-04-13  Richard Guenther  <rguenther@suse.de>
659
660         * tree-ssa-structalias.c (callused_id): Remove.
661         (call_stmt_vars): New.
662         (get_call_vi): Likewise.
663         (lookup_call_use_vi): Likewise.
664         (lookup_call_clobber_vi): Likewise.
665         (get_call_use_vi): Likewise.
666         (get_call_clobber_vi): Likewise.
667         (make_transitive_closure_constraints): Likewise.
668         (handle_const_call): Adjust to do per-call call-used handling.
669         (handle_pure_call): Likewise.
670         (find_what_var_points_to): Remove general callused handling.
671         (init_base_vars): Likewise.
672         (init_alias_vars): Initialize call_stmt_vars.
673         (compute_points_to_sets): Process call-used and call-clobbered
674         vars for call statements.
675         (delete_points_to_sets): Free call_stmt_vars.
676
677 2010-04-13  Richard Guenther  <rguenther@suse.de>
678
679         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
680         Only add RW dependence for dependence distance zero.
681         Adjust maximal vectorization factor according to dependences.
682         Move alignment handling ...
683         (vect_find_same_alignment_drs): ... here.  New function.
684         (vect_analyze_data_ref_dependences): Adjust.
685         (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
686         (vect_analyze_data_refs): Adjust minimal vectorization factor
687         according to data references.
688         * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
689         dependences before determining the vectorization factor.
690         Analyze alignment after determining the vectorization factor.
691         * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
692         dependences before alignment.
693         * tree-vectorizer.h (vect_analyze_data_ref_dependences):
694         Adjust prototype.
695         (vect_analyze_data_refs): Likewise.
696         (MAX_VECTORIZATION_FACTOR): New define.
697
698 2010-04-13  Duncan Sands  <baldrick@free.fr>
699
700         * except.h (lang_eh_type_covers): Remove.
701         * except.c (lang_eh_type_covers): Likewise.
702
703 2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
704             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
705
706         * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
707         * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
708         UNITS_PER_LONG where it is ABI relevant.
709         (s390_return_addr_rtx): Likewise.
710         (s390_back_chain_rtx): Likewise.
711         (s390_frame_area): Likewise.
712         (s390_frame_info): Likewise.
713         (s390_initial_elimination_offset): Likewise.
714         (save_gprs): Likewise.
715         (s390_emit_prologue): Likewise.
716         (s390_emit_epilogue): Likewise.
717         (s390_function_arg_advance): Likewise.
718         (s390_function_arg): Likewise.
719         (s390_va_start): Likewise.
720         (s390_gimplify_va_arg): Likewise.
721         (s390_function_profiler): Likewise.
722         (s390_optimize_prologue): Likewise.
723         (s390_rtx_costs): Likewise.
724         (s390_secondary_reload): Likewise.
725         (s390_promote_function_mode): Likewise.
726         (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
727         (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
728         registers available.
729         (s390_unwind_word_mode): New function.
730         (s390_function_value): Split 64 bit values into register pair if
731         used as return value.
732         (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
733         function call parameters.  Handle parallels.
734         (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
735         (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
736         (DWARF_CIE_DATA_ALIGNMENT): New macro.
737         (s390_expand_setmem): Remove unused variable src_addr.
738         * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
739         deal with 64 bit registers.
740         * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
741         Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
742         (UNITS_PER_LONG): New macro.
743         * libjava/include/s390-signal.h: Define extended ucontext
744         structure containing the upper halfs of the 64 bit registers.
745
746 2010-04-13  Simon Baldwin  <simonb@google.com>
747
748         * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
749
750 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
751
752         * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
753         rvalue on the RHS if the LHS is of a non-renamable type.
754         * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
755
756 2010-04-13  Matthias Klose  <doko@ubuntu.com>
757
758         * gcc.c (cc1_options): Handle -iplugindir before processing
759         the cc1 spec. Only add -iplugindir once.
760         (cpp_unique_options): Add -iplugindir option if -fplugin* options
761         found.
762         * common.opt (iplugindir): Remove `Separate' property, initialize.
763         * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
764         option.
765         * Makefile.in (check-%, check-parallel-%): Create plugin dir.
766         (distclean): Remove plugin dir.
767         * doc/invoke.texi: Document -iplugindir.
768
769 2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>
770
771         * doc/plugins.texi (Loading Plugins): Document short
772         -fplugin=foo option.
773         (Plugin API): Mention default_plugin_dir_name function.
774
775         * gcc.c (find_file_spec_function): Add new declaration.
776         (static_spec_func): Use it for "find-file".
777         (find_file_spec_function): Add new function.
778         (cc1_options): Add -iplugindir option if -fplugin* options found.
779
780         * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
781
782         * plugin.c (add_new_plugin): Updated comment, and handle short
783         plugin name.
784         (default_plugin_dir_name): Added new function.
785
786         * common.opt (iplugindir): New option to set the plugin directory.
787
788 2010-04-12  Uros Bizjak  <ubizjak@gmail.com>
789
790         * config/i386/i386.md (any_rotate): New code iterator.
791         (rotate_insn): New code attribute.
792         (rotate): Ditto.
793         (SWIM124): New mode iterator.
794         (<rotate_insn>ti3): New expander.
795         (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
796         any_rotate code iterator.
797         (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
798         using any_rotate code iterator and SWIM124 mode iterator.
799         (ix86_rotlti3): New insn_and_split pattern.
800         (ix86_rotrti3): Ditto.
801         (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
802         ix86_rotl{di,ti}3 patterns.
803         (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
804         (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
805         and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
806         *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
807         code iterator and SWI mode iterator.
808         (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
809         Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
810         code iterator.
811         (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
812         Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
813         (bswap rotatert splitter): Add splitter.
814         (bswap splitter): Macroize splitter using any_rotate code iterator.
815         Add insn predicate to split only for TARGET_USE_XCHGB or when
816         optimizing function for size.
817
818 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
819
820         * config/pa/pa.c (emit_move_sequence): Remove use of
821         deleted variable flag_argument_noalias.
822
823 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
824
825         * config.gcc: Removed *-*-solaris2.7* from list of obsolete
826         configurations.
827         Add to unsupported targets list.
828         * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
829         sparc*-sun-solaris2.[567]* from target lists.
830         * configure: Regenerate.
831         * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
832         removal.
833         Remove Solaris 7 patch references.
834         (Specific, sparc-sun-solaris2.7): Removed.
835         (sparc-sun-solaris2*): Update Solaris 7 example.
836         (sparc64-*-solaris2*): Likewise.
837
838 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
839
840         * config.build (alpha*-dec-osf4*): Remove.
841         * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
842         of obsolete configurations.
843         (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
844         support.
845         * config/alpha/t-osf4: Renamed to ...
846         * config/alpha/t-osf5: ... this.
847         * config/alpha/osf.h: Renamed to ...
848         * config/alpha/osf5.h: ... this.
849         Merged old osf5.h contents.
850         Update comments.
851         (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
852         (EXTRA_SPECS): Removed.
853         * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
854         reflect removal of Tru64 UNIX V4.0/V5.0 support.
855         Document that.
856
857 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
858
859         * doc/contrib.texi (Contributors, Rainer Orth): Update.
860
861 2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
862
863         PR/43702
864         * config/i386/i386.c (x86_this_parameter): Handle aggregate for
865         __thiscall convention.
866
867 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
868
869         * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
870         orig_base.
871         * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
872
873 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
874
875         * function.c (assign_parms_initialize_all): Add unused attribute
876         to fntype.
877
878 2010-04-12  Richard Guenther  <rguenther@suse.de>
879
880         * gsstruct.def (GSS_CALL): New.
881         * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
882         * gimple.h: Include tree-ssa-alias.h.
883         (struct gimple_statement_call): New.
884         (union gimple_statement_struct_d): Add gimple_call member.
885         (gimple_call_reset_alias_info): Declare.
886         (gimple_call_use_set): New function.
887         (gimple_call_clobber_set): Likewise.
888         * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
889         * gimple.c (gimple_call_reset_alias_info): New function.
890         (gimple_build_call_1): Call it.
891         * lto-streamer-in.c (input_gimple_stmt): Likewise.
892         * tree-inline.c (remap_gimple_stmt): Likewise.
893         (expand_call_inline): Remove callused handling.
894         * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
895         * tree-dfa.c (dump_variable): Likewise.
896         * tree-parloops.c (parallelize_loops): Likewise.
897         * tree-ssa.c (init_tree_ssa): Likewise.
898         (delete_tree_ssa): Likewise.
899         * tree-flow-inline.h (is_call_used): Remove.
900         * tree-flow.h (struct gimple_df): Remove callused member.
901         * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
902         * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
903         (ref_maybe_used_by_call_p_1): Simplify.
904         (call_may_clobber_ref_p_1): Likewise.
905         * tree-ssa-structalias.c (compute_points_to_sets): Set
906         the call stmt used and clobbered sets.
907         * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
908         (find_tail_calls): Verify the tail call.
909
910 2010-04-12  Richard Guenther  <rguenther@suse.de>
911
912         * ipa.c (cgraph_postorder): Adjust postorder to guarantee
913         single-iteration always-inline inlining.
914         * ipa-inline.c (cgraph_mark_inline): Do not return anything.
915         (cgraph_decide_inlining): Do not handle always-inline specially.
916         (try_inline): Remove always-inline cycle detection special case.
917         Do not recurse on always-inlines.
918         (cgraph_early_inlining): Do not iterate if not optimizing.
919         (cgraph_gate_early_inlining): remove.
920         (pass_early_inline): Run unconditionally.
921         (gate_cgraph_decide_inlining): New function.
922         (pass_ipa_inline): Use it.  Do not run the IPA inliner if
923         not inlining or optimizing.
924         (cgraph_decide_inlining_of_small_functions): Also consider
925         always-inline functions.
926         (cgraph_default_inline_p): Return true for nodes which should
927         disregard inline limits.
928         (estimate_function_body_sizes): Assume zero size and time for
929         nodes which are marked as disregarding inline limits.
930         (cgraph_decide_recursive_inlining): Do not perform recursive
931         inlining on always-inline nodes.
932
933 2010-04-12  Jakub Jelinek  <jakub@redhat.com>
934
935         PR bootstrap/43699
936         * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
937         for exprs satisfying handled_component_p.
938
939 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
940
941         * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
942         non-constant aggregate elements.
943
944         * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
945         is a real initialization.
946
947 2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
948
949         PR c/36774
950         * c-decl.c (start_function): Move forward check for nested function.
951
952 2010-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
953
954         * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
955         * config/sh/sh.c: Include reload.h.
956         (sh_legitimize_reload_address): New.
957         * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
958         sh_legitimize_reload_address.
959
960 2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
961
962         * config/sh/sh.md (*movqi_pop): New insn pattern.
963         * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
964
965 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
966
967         * config/i386/i386.md (any_shiftrt): New code iterator.
968         (shiftrt_insn): New code attribute.
969         (shiftrt): Ditto.
970         (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
971         using any_shiftrt code iterator.
972         (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
973         *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
974         (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
975         pattern from corresponding peephole2 patterns.
976         (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
977         using any_shiftrt code iterator.
978         (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
979         (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
980         (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
981         (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
982         *{ashr,lshr}<mode>3_cmp_zext.
983         (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
984
985 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
986
987         * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
988         scratch register.
989         (*lshr<mode>3_cconly): Ditto.
990
991 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
992
993         * config/i386/i386.md (lshr<mode>3): Macroize expander from
994         lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
995         (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
996         pattern from *lshr{di,ti}3_1 and corresponding splitters using
997         DWI mode iterator.
998         (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
999         from corresponding peephole2 patterns.
1000         (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
1001         *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
1002         and *lshrdi3_1_rex64 using SWI mode iterator.
1003         (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
1004         (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
1005         (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
1006         *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
1007         and *lshrdi3_cmp_rex64 using SWI mode iterator.
1008         (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
1009         (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
1010         *lshrdi3_one_bit_cconly_rex64. Macroize insn from
1011         *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
1012         SWI mode iterator.
1013
1014 2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
1015
1016         * config/i386/i386.md (ashr<mode>3): Macroize expander from
1017         ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
1018         (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
1019         pattern from *ashr{di,ti}3_1 and corresponding splitters using
1020         DWI mode iterator.
1021         (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
1022         from corresponding peephole2 patterns.
1023         (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
1024         (ashrsi3_cvt): Rename from ashrsi3_31.
1025         (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
1026         (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
1027         and x86_64_shift_adj_3 using SWI48 mode iterator.
1028         (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
1029         *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
1030         and *ashrdi3_1_rex64 using SWI mode iterator.
1031         (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
1032         (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
1033         (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
1034         *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
1035         and *ashrdi3_cmp_rex64 using SWI mode iterator.
1036         (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
1037         (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
1038         *ashrdi3_one_bit_cconly_rex64. Macroize insn from
1039         *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
1040         SWI mode iterator.
1041         (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
1042         * config/i386/i386.c (ix86_split_ashr): Update for renamed
1043         x86_shift<mode>_adj_3 expanders.
1044
1045 2010-04-10  Wei Guozhi  <carrot@google.com>
1046
1047         PR target/42601
1048         * config/arm/arm.c (arm_pic_static_addr): New function.
1049         (legitimize_pic_address): Call arm_pic_static_addr when it detects
1050         a static symbol.
1051         (arm_output_addr_const_extra): Output expression for new pattern.
1052         * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
1053
1054 2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>
1055
1056         * ira-costs.c (record_reg_classes): Ignore alternatives that are
1057         not enabled.
1058
1059         * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
1060         * web.c: Include "insn-config.h" and "recog.h".
1061         (union_match_dups): New function.
1062         (web_main): Call it.
1063         (union_defs): Don't try to recognize match_dups.
1064
1065         * reload1.c (eliminate_regs_in_insn): Don't restore an operand
1066         if doing so would replace the entire pattern.
1067
1068 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
1069
1070         PR target/43707
1071         PR target/43709
1072         * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
1073         and splitter pattern.  Change splitter operand 1 predicate to
1074         nonmemory_operand.
1075
1076 2010-04-09  Martin Jambor  <mjambor@suse.cz>
1077
1078         * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
1079         lattices are addresses of CONST_DECLs with the same initial value.
1080         (ipcp_print_all_lattices): Print values of CONST_DECLs.
1081         * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
1082
1083 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
1084             Bernd Schmidt  <bernds@codesourcery.com>
1085
1086         * loop-invariant.c (replace_uses): New static function.
1087         (move_invariant_reg): Use it to ensure we can replace the uses.
1088
1089 2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
1090
1091         * config/picochip/picochip.c (picochip_rtx_costs): Use correct
1092         function template.
1093         (picochip_override_options): Enable section anchors only above -O1.
1094         (picochip_reorg): Fixed a couple of build warnings.
1095
1096 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1097
1098         * configure.ac (plugin -rdynamic test): Log result.
1099         * configure: Regenerate.
1100         * config/sol2.h (LINK_SPEC): Handle -rdynamic.
1101         (RDYNAMIC_SPEC): Define.
1102         * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
1103
1104 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1105
1106         * configure.ac: Determine Sun ld version numbers.
1107         (comdat_group): Restrict GNU ld version checks to gld.
1108         (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
1109         (enable_comdat): Support --enable-comdat.
1110         * configure: Regenerate.
1111         * doc/install.texi (Configuration): Document --enable-comdat.
1112
1113 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1114
1115         * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
1116         * config/sol2-gld.h: ... here.
1117         * config.gcc (sparc*-*-solaris2*): Reflect this.
1118         (i[34567]86-*-solaris2*): Use it.
1119
1120 2010-04-09  Steve Ellcey  <sje@cup.hp.com>
1121
1122         * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
1123         setup_clocks_p.
1124         (final_emit_insn_group_barriers): Remove unused variable prev_insn.
1125
1126 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1127
1128         PR 42965
1129         * diagnostic.c (diagnostic_initialize): Initialize
1130         some_warnings_are_errors.
1131         (diagnostic_finish): New.
1132         (diagnostic_action_after_output): Call it before exiting.
1133         (diagnostic_report_diagnostic): Do not print message here. Set
1134         some_warnings_are_errors.
1135         * diagnostic.h (diagnostic_context): Delete
1136         issue_warnings_are_errors_message. Add some_warnings_are_errors.
1137         (diagnostic_finish): Declare.
1138         * toplev.c (toplev_main): Call it before exit.
1139
1140 2010-04-09  Jason Merrill  <jason@redhat.com>
1141
1142         PR c++/42623
1143         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
1144         for incomplete type.
1145
1146         PR c++/41788
1147         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
1148         based on a warning flag.
1149
1150 2010-04-09  Richard Guenther  <rguenther@suse.de>
1151
1152         * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
1153
1154 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
1155
1156         PR bootstrap/43684
1157         * varasm.c (default_assemble_visibility): Wrap vars that are
1158         set, but unused, by targets without GAS.
1159         * config/rs6000/rs6000.c: (paired_emit_vector_compare):
1160         Remove set, but unused, vars.
1161         (rs6000_legitimize_tls_address): Likewise.
1162         (altivec_expand_dst_builtin): Likewise.
1163         * config/darwin.c (machopic_classify_symbol): Likewise.
1164         (machopic_indirection_name): Likewise.
1165
1166 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
1167
1168         * config/i386/i386.md (DWI): New mode iterator.
1169         (S): New mode attribute.
1170         (shift_operand): Ditto.
1171         (shift_immediate_operand): Ditto.
1172         (ashl_input_operand): Ditto.
1173         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
1174         using SDWIM mode iterator.
1175         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
1176         pattern from *ashl{di,ti}3_1 and corresponding splitters using
1177         DWI mode iterator.
1178         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
1179         from corresponding peephole2 patterns.
1180         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
1181         and x86_64_shift_adj_1 using SWI48 mode iterator.
1182         (x86_shift<mode>_adj_2): Ditto.
1183         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
1184         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
1185         using SWI48 mode iterator.
1186         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
1187         *ashldi3_cmp_rex64 using SWI mode iterator.
1188         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
1189         *ashldi3_cconly_rex64 using SWI mode iterator.
1190         * config/i386/i386.c (ix86_split_ashl): Update for renamed
1191         x86_shift<mode>_adj_{1,2}.
1192         (ix86_split_ashr): Ditto.
1193         (ix86_split_lshr): Ditto.
1194
1195 2010-04-09  Richard Guenther  <rguenther@suse.de>
1196
1197         * target.h (builtin_conversion): Pass in input and output types.
1198         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
1199         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
1200         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
1201         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
1202
1203         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
1204         Handle AVX modes.
1205         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
1206
1207 2010-04-09  Richard Guenther  <rguenther@suse.de>
1208
1209         PR target/43152
1210         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
1211
1212 2010-04-09  Richard Guenther  <rguenther@suse.de>
1213
1214         * tree-vectorizer.h (struct _stmt_vec_info): Document
1215         that vectype is the type of the LHS.
1216         (supportable_widening_operation, supportable_narrowing_operation):
1217         Get both input and output vector types as arguments.
1218         (vect_is_simple_use_1): Declare.
1219         (get_same_sized_vectype): Likewise.
1220         * tree-vect-loop.c (vect_determine_vectorization_factor):
1221         Set STMT_VINFO_VECTYPE to the vector type of the def.
1222         (vectorizable_reduction): Adjust.
1223         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
1224         Adjust.  Specify the output vector type.
1225         (vect_pattern_recog_1): Adjust.
1226         * tree-vect-stmts.c (get_same_sized_vectype): New function.
1227         (vectorizable_call): Adjust.
1228         (vectorizable_conversion): Likewise.
1229         (vectorizable_operation): Likewise.
1230         (vectorizable_type_demotion): Likewise.
1231         (vectorizable_type_promotion): Likewise.
1232         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
1233         the def.
1234         (vect_is_simple_use_1): New function.
1235         (supportable_widening_operation): Get both input and output
1236         vector types.
1237         (supportable_narrowing_operation): Likewise.
1238         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
1239
1240 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
1241
1242         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
1243         __thiscall and _thiscall as predefined macros.
1244         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
1245         thiscall attribute handling.
1246         (ix86_comp_type_attributes): Likewise.
1247         (ix86_function_regparm): Likewise.
1248         (ix86_return_pops_args): Likewise.
1249         (init_cumulative_args): Likewise.
1250         (find_drap_reg): Likewise.
1251         (ix86_static_chain): Likewise.
1252         (x86_this_parameter): Likewise.
1253         (x86_output_mi_thunk): Likewise.
1254         (ix86_attribute_table): Add description for thiscall attribute.
1255         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
1256         * doc/extend.texi: Add documentation for thiscall.
1257
1258 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1259
1260         PR c++/28584
1261         * c.opt (Wint-to-pointer-cast): Available in C++.
1262         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
1263
1264 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
1265
1266         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
1267         * calls.c (expand_call): Pass the function type to aggregate_value_p.
1268         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
1269         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
1270         function type instead.  Reorder and simplify checks.
1271
1272         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
1273
1274 2010-04-08  Jing Yu  <jingyu@google.com>
1275             Zdenek Dvorak  <ook@ucw.cz>
1276
1277         PR tree-optimization/42720
1278         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
1279         loop unswitch conditions here from ...
1280         (tree_unswitch_single_loop): ... here.
1281
1282 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
1283
1284         * tree-if-conv.c: Fix comments and simplify logic.
1285
1286 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
1287
1288         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
1289         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
1290         (main_tree_if_conversion): Update call to tree_if_conversion.
1291
1292 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1293
1294         PR 42485
1295         * doc/invoke.texi (-b,-V): Delete.
1296         * doc/tm.texi: Do not mention -b.
1297         * gcc.c (display_help): Delete -b and -V.
1298         (process_command): Delete -b and -V.
1299         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
1300
1301 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
1302             Wolfgang Gellerich  <gellerich@de.ibm.com>
1303
1304         Implement target hook for loop unrolling
1305         * target.h (loop_unroll_adjust): Add a new target hook function.
1306         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
1307         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
1308         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
1309         (s390_loop_unroll_adjust): Implement the new target hook for s390.
1310         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
1311         target hook.
1312         (decide_unroll_stupid): Likewise.
1313
1314 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1315
1316         PR target/43643
1317         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
1318
1319 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1320
1321         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
1322         (Specific, *-*-solaris2*): Likewise.
1323         Don't prefer Sun as over GNU as.
1324
1325 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
1326
1327         * config/s390/s390.c (override_options): Adjust the z10
1328           defaults for max-unroll-times, max-completely-peeled-insns
1329           and max-completely-peel-times.
1330
1331 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1332
1333         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
1334         instructions for z10.
1335         (s390_expand_setmem): Likewise.
1336         (s390_expand_cmpmem): Likewise.
1337
1338 2010-04-08  Richard Guenther  <rguenther@suse.de>
1339
1340         PR tree-optimization/43679
1341         * tree-ssa-pre.c (eliminate): Only propagate copies.
1342
1343 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
1344
1345         PR bootstrap/43681
1346         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
1347         set but not used variable warning.
1348
1349 2010-04-08  Wei Guozhi  <carrot@google.com>
1350
1351         PR target/41653
1352         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
1353         (arm_size_rtx_costs): Call the new function when optimized for size.
1354
1355 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
1356
1357         PR debug/43670
1358         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
1359         op0 is not a MEM, just return NULL instead of assertion
1360         failure.
1361         (discover_nonconstant_array_refs): Don't walk debug stmts.
1362
1363 2010-04-08  Doug Kwan  <dougkwan@google.com>
1364
1365         * configure.ac: Recognize gold and do not use its version number
1366         to test ld features.
1367         * configure: Regenerate.
1368
1369 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
1370
1371         PR middle-end/40815
1372         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
1373         (negate_value): Move code to push elements to broken_up_substracts ...
1374         (eliminate_plus_minus_pair): ... here.  Push operands that have no
1375         negative pair to plus_negates.
1376         (repropagate_negates, init_reassoc, fini_reassoc): Update.
1377
1378 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1379
1380         * doc/install.texi (Configuration): Move description of
1381         --enable-lto, --with-libelf*, --enable-gold from Java section to
1382         general section.
1383
1384         * doc/generic.texi (Working with declarations)
1385         (Function Properties, C and C++ Trees): Fix typos.
1386         * doc/sourcebuild.texi (Top Level): Likewise.
1387
1388 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
1389
1390         PR c/18624
1391         * tree.h (DECL_READ_P): Define.
1392         (struct tree_decl_common): Add decl_read_flag.
1393         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
1394         a set but not used warning.
1395         (merge_decls): Merge DECL_READ_P flag.
1396         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
1397         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
1398         * c-common.c (handle_used_attribute, handle_unused_attribute):
1399         Likewise.
1400         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
1401         New prototypes.
1402         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
1403         New functions.
1404         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
1405         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
1406         c_parser_binary_expression, c_parser_cast_expression,
1407         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
1408         Call default_function_array_read_conversion instead of
1409         default_function_array_conversion where needed.
1410         (c_parser_unary_expression, c_parser_conditional_expression,
1411         c_parser_postfix_expression_after_primary, c_parser_initelt):
1412         Likewise.  Call mark_exp_read where needed.
1413         (c_parser_statement_after_labels, c_parser_asm_operands,
1414         c_parser_typeof_specifier, c_parser_sizeof_expression,
1415         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
1416         where needed.
1417         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
1418         New.
1419         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
1420         (warn_unused_but_set_parameter): Default to warn_unused
1421         && extra_warnings.
1422         * doc/invoke.texi: Document -Wunused-but-set-variable and
1423         -Wunused-but-set-parameter.
1424
1425         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
1426         used count variable.
1427         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
1428         when operandN variables aren't used in the body of the expander
1429         or splitter.
1430         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
1431         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
1432         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
1433         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
1434         FOR_EACH_IMM_USE_ON_STMT): Likewise.
1435         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
1436         * tree.c (PROCESS_ARG): Likewise.
1437
1438 2010-04-07  Simon Baldwin  <simonb@google.com>
1439
1440         * diagnostic.h (diagnostic_override_option_index): New macro to
1441         set a diagnostic's option_index.
1442         * c-tree.h (c_cpp_error): Add warning reason argument.
1443         * opts.c (_warning_as_error_callback): New.
1444         (register_warning_as_error_callback): Store callback for
1445         warnings enabled via enable_warning_as_error.
1446         (enable_warning_as_error): Call callback, minor code tidy.
1447         * opts.h (register_warning_as_error_callback): Declare.
1448         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
1449         response to -Werror=.
1450         (c_common_init_options): Register warning_as_error_callback in opts.c.
1451         * common.opt: Add -Wno-cpp option.
1452         * c-common.c (struct reason_option_codes_t): Map cpp warning
1453         reason codes to gcc option indexes.
1454         * (c_option_controlling_cpp_error): New function, lookup the gcc
1455         option index for a cpp warning reason code.
1456         * (c_cpp_error): Add warning reason argument, call
1457         c_option_controlling_cpp_error for diagnostic_override_option_index.
1458         * doc/invoke.texi: Document -Wno-cpp.
1459
1460 2010-04-07  Richard Guenther  <rguenther@suse.de>
1461
1462         * ipa-reference.c (mark_load): Use get_base_address.
1463         (mark_store): Likewise.
1464
1465         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
1466         inserting GIMPLE_NOPs into the IL.
1467         * tree-ssa-structalias.c (get_constraint_for_component_ref):
1468         Explicitly strip handled components and indirect references.
1469
1470         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
1471         folding address expressions.
1472         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
1473         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
1474         operand_equal_p to compare decls.
1475         (ptr_deref_may_alias_decl_p): Likewise.
1476         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
1477         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
1478         Handle reversed comparison ops.
1479         * tree-sra.c (asm_visit_addr): Use get_base_address.
1480         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
1481         * ipa-reference.c (mark_address): Use get_base_address.
1482
1483 2010-04-07  Richard Guenther  <rguenther@suse.de>
1484
1485         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
1486         Propagate constants everywhere.
1487
1488 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
1489
1490         PR debug/43516
1491         * tree.c (MAX_INT_CACHED_PREC): Define.
1492         (nonstandard_integer_type_cache): New array.
1493         (build_nonstandard_integer_type): Cache results for precision
1494         <= MAX_INT_CACHED_PREC.
1495
1496 2010-04-07  Richard Guenther  <rguenther@suse.de>
1497
1498         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
1499         -fargument-noalias-global, -fargument-noalias-anything): Remove.
1500         * common.opt: Likewise.
1501         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
1502         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
1503         (nonoverlapping_memrefs_p): Likewise.
1504         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1505         * opts.c (common_handle_option): Handle OPT_fargument_alias,
1506         OPT_fargument_noalias, OPT_fargument_noalias_anything and
1507         OPT_fargument_noalias_global for backward compatibility.
1508
1509 2010-04-07  Richard Guenther  <rguenther@suse.de>
1510
1511         PR tree-optimization/43270
1512         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
1513         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
1514         * tree-ssa-pre.c (phi_translate_1): Adjust.
1515         (fully_constant_expression): Split out vn_reference handling to ...
1516         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
1517         Fold reads from constant strings.
1518         (vn_reference_lookup): Handle fully constant references.
1519         (vn_reference_lookup_pieces): Likewise.
1520         * Makefile.in (expmed.o-warn): Add -Wno-error.
1521
1522 2010-04-07  Martin Jambor  <mjambor@suse.cz>
1523
1524         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
1525
1526 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
1527
1528         PR driver/41594
1529         * gcc.c: Add -static-libstdc++ to list of recognized options.
1530
1531 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1532
1533         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
1534
1535 2010-04-07  Richard Guenther  <rguenther@suse.de>
1536
1537         PR middle-end/42617
1538         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
1539         bases build simple mem attributes to retain points-to information.
1540
1541 2010-04-07  Richard Guenther  <rguenther@suse.de>
1542
1543         PR middle-end/42617
1544         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
1545         preserve points-to related information.
1546
1547 2010-04-07  Richard Guenther  <rguenther@suse.de>
1548
1549         PR middle-end/42617
1550         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
1551         discard plain indirect references.
1552         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
1553         * tree.c (tree_nop_conversion): Likewise.
1554
1555 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
1556
1557         PR debug/43628
1558         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
1559
1560 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
1561
1562         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
1563         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
1564
1565 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
1566
1567         * tree-if-conv.c: Fix indentation and comments.
1568
1569 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
1570
1571         * tree-if-conv.c: Sort static functions in topological order.
1572
1573 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
1574
1575         * tree-if-conv.c: Fix indentation and comments.
1576
1577 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1578
1579         PR middle-end/43519
1580         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
1581         lang_hooks.types.type_for_size instead of
1582         build_nonstandard_integer_type.
1583         When converting an unsigned type to signed, double its precision.
1584         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
1585         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
1586         (graphite_create_new_loop_guard): When ub + 1 wraps around,
1587         use lb <= ub.
1588
1589 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1590
1591         PR middle-end/43519
1592         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
1593         POINTER_PLUS_EXPR for pointer types.
1594
1595 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1596
1597         PR middle-end/43519
1598         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
1599         * graphite-clast-to-gimple.c: Include langhooks.h.
1600         (max_signed_precision_type): New.
1601         (max_precision_type): Takes two types as arguments.
1602         (precision_for_value): New.
1603         (precision_for_interval): New.
1604         (gcc_type_for_interval): New.
1605         (gcc_type_for_value): New.
1606         (gcc_type_for_clast_term): New.
1607         (gcc_type_for_clast_red): New.
1608         (gcc_type_for_clast_bin): New.
1609         (gcc_type_for_clast_expr): Split up into several functions.
1610         (gcc_type_for_clast_eq): Rewritten.
1611         (compute_bounds_for_level): New.
1612         (compute_type_for_level_1): New.
1613         (compute_type_for_level): New.
1614         (gcc_type_for_cloog_iv): Removed.
1615         (gcc_type_for_iv_of_clast_loop): Rewritten.
1616         (graphite_create_new_loop): Compute the lower and upper bound types
1617         with gcc_type_for_clast_expr.
1618         (graphite_create_new_loop_guard): Same.
1619         (find_cloog_iv_in_expr): Removed.
1620         (compute_cloog_iv_types_1): Removed.
1621         (compute_cloog_iv_types): Removed.
1622         (gloog): Do not call compute_cloog_iv_types.
1623         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
1624         GBB_CLOOG_IV_TYPES.
1625         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
1626         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
1627         (GBB_CLOOG_IV_TYPES): Removed.
1628
1629 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1630
1631         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
1632         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
1633         (detect_commutative_reduction): Same.
1634
1635 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1636
1637         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
1638         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
1639         argument.
1640         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
1641         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
1642         (rewrite_commutative_reductions_out_of_ssa): Same.
1643         * passes.c (execute_function_todo): Call verify_ssa for every pass
1644         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
1645         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
1646         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
1647         with an extra argument.
1648         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
1649         verify_ssa only when the extra argument is true.
1650         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
1651         with an extra argument.
1652         (tree_transform_and_unroll_loop): Same.
1653
1654 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1655
1656         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
1657         for all the passes of the LNO having LOOP_CLOSED_SSA.
1658         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
1659         * tree-loop-distribution.c (pass_loop_distribution): Same.
1660         * tree-pass.h (TODO_verify_loops): Removed.
1661         * tree-ssa-loop.c (pass_tree_loop_init): Same.
1662         (pass_lim): Same.
1663         (pass_tree_unswitch): Same.
1664         (pass_predcom): Same.
1665         (pass_vectorize): Same.
1666         (pass_linear_transform): Same.
1667         (pass_graphite_transforms): Same.
1668         (pass_iv_canon): Same.
1669         (pass_complete_unroll): Same.
1670         (pass_complete_unrolli): Same.
1671         (pass_parallelize_loops): Same.
1672         (pass_loop_prefetch): Same.
1673         (pass_iv_optimize): Same.
1674
1675 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
1676
1677         PR middle-end/32824
1678         * passes.c (init_optimization_passes): Move pass_lim before
1679         pass_copy_prop and pass_dce_loop.
1680
1681 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
1682
1683         PR target/43667
1684         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
1685         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
1686         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
1687         MULTI_* defines for 4 argument vpermil2p* builtins.
1688
1689 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
1690
1691         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
1692         * config/i386/i386.c (x86_maybe_negate_const_int): New.
1693         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
1694         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
1695         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
1696         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
1697         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
1698         Use x86_maybe_negate_const_int to output insn mnemonic.
1699         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
1700         check from instruction predicate.  Update comments.
1701         * config/i386/sync.md (sync_add<mode>): Use
1702         x86_maybe_negate_const_int to output insn mnemonic.
1703
1704 2010-04-06  Jan Hubicka  <jh@suse.cz>
1705
1706         PR tree-optimization/42906
1707         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
1708         IGNORE_SELF argument.  Set visited_control_parents for fully
1709         processed BBs.
1710         (find_obviously_necessary_stmts): Update call of
1711         mark_control_dependent_edges_necessary.
1712         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
1713
1714 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
1715
1716         * config/i386/i386.md: Remove comment about 'e' and 'E'
1717         operand modifier.
1718
1719 2010-04-06  Richard Guenther  <rguenther@suse.de>
1720
1721         PR tree-optimization/43627
1722         * tree-vrp.c (extract_range_from_unary_expr): Widenings
1723         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
1724         not varying.
1725
1726 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
1727
1728         * BASE-VER: Change to 4.6.0.
1729
1730         PR target/43638
1731         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
1732         handling.
1733
1734 2010-04-06  Richard Guenther  <rguenther@suse.de>
1735
1736         PR middle-end/43661
1737         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
1738
1739 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1740
1741         * doc/invoke.texi (Optimize Options): Document that LTO
1742         won't remove object access purely due to incompatible
1743         declarations.
1744
1745 2010-04-04  Matthias Klose  <doko@ubuntu.com>
1746
1747         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
1748         Initialize variable.
1749
1750 2010-04-03  Richard Guenther  <rguenther@suse.de>
1751
1752         PR middle-end/42509
1753         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
1754         require a non-NULL MEM_OFFSET.
1755
1756 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
1757
1758         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
1759         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
1760         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
1761         config/alpha/predicates.md, config/arm/arm.md,
1762         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
1763         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
1764         config/darwin9.h, config/darwin.c, config/darwin.h,
1765         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
1766         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
1767         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
1768         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
1769         config/mips/mips.md, config/mn10300/mn10300.c,
1770         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
1771         config/rs6000/aix.h, config/rs6000/dfp.md,
1772         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
1773         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
1774         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
1775         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
1776         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
1777         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
1778         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
1779         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
1780         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
1781         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
1782         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
1783         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
1784         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
1785         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
1786         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
1787         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
1788         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
1789         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
1790         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
1791         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
1792         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
1793         opt-functions.awk, opth-gen.awk, params.def, passes.c,
1794         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
1795         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
1796         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
1797         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
1798         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
1799         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
1800         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
1801         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
1802         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
1803         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
1804         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
1805         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
1806         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
1807         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
1808
1809 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1810
1811         PR other/43620
1812         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
1813         * aclocal.m4: Regenerate.
1814
1815 2010-04-02  Richard Guenther  <rguenther@suse.de>
1816
1817         PR tree-optimization/43629
1818         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
1819         if we have seen a constant value.
1820
1821 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
1822
1823         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
1824
1825 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
1826
1827         PR target/43469
1828         * arm.c (legitimize_tls_address): Adjust call to
1829         gen_tls_load_dot_plus_four.
1830         (arm_note_pic_base): New function.
1831         (arm_cannot_copy_insn_p): Use it.
1832         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
1833         constraint.
1834
1835 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1836
1837         PR bootstrap/43531
1838
1839         Revert:
1840         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1841
1842         * Makefile.in ($(out_object_file)): Depend on
1843         gt-$(basename $(notdir $(out_file))).h.
1844
1845 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
1846
1847         * config.gcc (lm32-*-rtems*): Add t-lm32.
1848
1849 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
1850
1851         * config.gcc: Add lm32-*-rtems*.
1852         * config/lm32/rtems.h: New file.
1853
1854 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
1855
1856         PR target/42609
1857         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
1858
1859 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
1860
1861         * dwarf2out.c (output_compilation_unit_header): For
1862         -gdwarf-4 use version 4 instead of version 3.
1863         (output_line_info): For version 4 and above emit additional
1864         maximum ops per insn header field.
1865         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
1866
1867         * dwarf2out.c (is_c_family, is_java): Remove.
1868         (lower_bound_default): New function.
1869         (add_bound_info, gen_descr_array_type_die): Use it.
1870
1871 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
1872
1873         PR debug/43325
1874         * dwarf2out.c (gen_variable_die): Allow debug info for variable
1875         re-declaration when it happens in a function.
1876
1877 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
1878
1879         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
1880         (cgraph_remove_function_insertion_hook): Same.
1881         (cgraph_call_function_insertion_hooks): Same.
1882
1883 2010-04-01  Richard Guenther  <rguenther@suse.de>
1884
1885         PR middle-end/43614
1886         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
1887         and TREE_THIS_VOLATILE.
1888         (copy_ref_info): Likewise.
1889         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
1890         * tree.c (build6_stat): Ignore side-effects of all but arg5
1891         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
1892         TARGET_MEM_REF.
1893
1894 2010-04-01  Richard Guenther  <rguenther@suse.de>
1895
1896         PR tree-optimization/43607
1897         * ipa-type-escape.c (check_call): Do not access non-existing
1898         arguments.
1899
1900 2010-04-01  Richard Guenther  <rguenther@suse.de>
1901
1902         PR middle-end/43602
1903         Revert
1904         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
1905                     Jack Howarth <howarth@bromo.med.uc.edu>
1906
1907         * tree-profile.c (tree_init_ic_make_global_vars): Make static
1908         variables TLS.
1909
1910 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1911
1912         * doc/install.texi (Prerequisites): Document libelf usability on
1913         IRIX 5/6 and Solaris 2.
1914         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
1915         Update GNU as, GNU ld requirements.
1916         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
1917         Document Sun Studio compiler download.
1918         Update and simplify as, ld recommendations.
1919         (Specific, *-*-solaris2.7): Note obsoletion, removal.
1920
1921 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1922
1923         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
1924         with_tune_32 to pentium4.
1925
1926 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
1927
1928         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
1929
1930 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1931
1932         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
1933         obsoletion, removal.
1934         Update IDO URL.
1935         Document GNU as requirement.
1936         Update configure requirements.
1937         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
1938         Recomment IRIX 6.5.18+.
1939         Document IDF/IDL requirement.
1940         Document GNU as requirement.
1941         Document GNU ld bootstrap failure.
1942         Remove freeware.sgi.com reference.
1943
1944 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1945
1946         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
1947         UNIX V4.0, V5.0 obsoletion, removal.
1948         Remove --with-gc=simple reference.
1949         Update VM requirements during bootstrap.
1950         Remove -oldas bootstrap description.
1951         Update binutils reference.
1952         Remove comparison failure note.
1953
1954 2010-03-31  Richard Guenther  <rguenther@suse.de>
1955             Zdenek Dvorak  <ook@ucw.cz>
1956             Sebastian Pop  <sebastian.pop@amd.com>
1957
1958         PR middle-end/43464
1959         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
1960         with multiple arguments.
1961         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
1962
1963 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1964
1965         * graphite-dependences.c (print_pddr): Call print_pdr with an
1966         extra argument.
1967         * graphite-poly.c (debug_pdr): Add an extra argument for the
1968         verbosity level.
1969         (print_pdr): Same.
1970         (print_pbb_domain): Same.
1971         (print_pbb): Same.
1972         (print_scop_context): Same.
1973         (print_scop): Same.
1974         (print_cloog): Same.
1975         (debug_pbb_domain): Same.
1976         (debug_pbb): Same.
1977         (print_pdrs): Same.
1978         (debug_pdrs): Same.
1979         (debug_scop_context): Same.
1980         (debug_scop): Same.
1981         (debug_cloog): Same.
1982         (print_scop_params): Same.
1983         (debug_scop_params): Same.
1984         (print_iteration_domain): Same.
1985         (print_iteration_domains): Same.
1986         (debug_iteration_domain): Same.
1987         (debug_iteration_domains): Same.
1988         (print_scattering_function): Same.
1989         (print_scattering_functions): Same.
1990         (debug_scattering_function): Same.
1991         (debug_scattering_functions): Same.
1992         * graphite-poly.h (debug_pdr): Update declaration.
1993         (print_pdr): Same.
1994         (print_pbb_domain): Same.
1995         (print_pbb): Same.
1996         (print_scop_context): Same.
1997         (print_scop): Same.
1998         (print_cloog): Same.
1999         (debug_pbb_domain): Same.
2000         (debug_pbb): Same.
2001         (print_pdrs): Same.
2002         (debug_pdrs): Same.
2003         (debug_scop_context): Same.
2004         (debug_scop): Same.
2005         (debug_cloog): Same.
2006         (print_scop_params): Same.
2007         (debug_scop_params): Same.
2008         (print_iteration_domain): Same.
2009         (print_iteration_domains): Same.
2010         (debug_iteration_domain): Same.
2011         (debug_iteration_domains): Same.
2012         (print_scattering_function): Same.
2013         (print_scattering_functions): Same.
2014         (debug_scattering_function): Same.
2015         (debug_scattering_functions): Same.
2016
2017 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2018
2019         * graphite-poly.c (print_scattering_function_1): New.
2020         (print_scattering_function): Call it.
2021         (print_scop_params): Remove spaces at the end of lines.
2022         (print_cloog): New.
2023         (debug_cloog): New.
2024         * graphite-poly.h (print_cloog): Declared.
2025         (debug_cloog): Declared.
2026
2027 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2028
2029         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
2030         in loop->header.
2031         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
2032         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
2033         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
2034         to switch between adding the IV bump in loop->latch or in loop->header.
2035
2036 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2037
2038         * graphite-poly.c (print_scattering_function): Pretty print following
2039         the scoplib format.
2040         (print_pdr): Same.
2041         (print_pbb_domain): Same.
2042         (dump_gbb_cases): Same.
2043         (dump_gbb_conditions): Same.
2044         (print_pdrs): Same.
2045         (print_pbb): Same.
2046         (print_scop_params): Same.
2047         (print_scop_context): Same.
2048         (print_scop): Same.
2049         (print_pbb_body): New.
2050         (lst_indent_to): New.
2051         (print_lst): Start new lines with a #.
2052         * graphite-poly.h (pbb_bb): New.
2053         (pbb_index): Use pbb_bb.
2054         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
2055         disjuncts.
2056         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
2057
2058 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
2059
2060         * dwarf2out.c (size_of_die): For -gdwarf-4 use
2061         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
2062         and 0 instead of 1 for dw_val_class_flag.
2063         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
2064         dw_val_class_range_list, dw_val_class_loc_list,
2065         dw_val_class_lineptr and dw_val_class_macptr, use
2066         DW_FORM_flag_present for dw_val_class_flag and
2067         DW_FORM_exprloc for dw_val_class_loc.
2068         (output_die): For -gdwarf-4 print dw_val_class_loc
2069         size as uleb128 instead of 1 or 2 bytes and don't print
2070         anything for dw_val_class_flag.
2071
2072         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
2073         instead of cselib_lookup following by tweaking locs->setting_insn.
2074
2075         PR bootstrap/43596
2076         * cselib.c (cselib_process_insn): Clear cselib_current_insn
2077         even before returning from label, setjmp call or volatile asm
2078         handling.
2079
2080 2010-03-31  Richard Guenther  <rguenther@suse.de>
2081
2082         PR middle-end/43600
2083         * cgraphunit.c (cgraph_output_in_order): Do not allocate
2084         temporary data on stack.
2085
2086 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2087
2088         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
2089         (PUSHSECTION_ASM_OP): Remove.
2090         (POPSECTION_ASM_OP): Remove.
2091         (PUSHSECTION_FORMAT): Remove.
2092         * config/sol2.h (PUSHSECTION_FORMAT): Define.
2093         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
2094         * config/sol2.c (solaris_output_init_fini): Use it.
2095
2096 2010-03-31  Jie Zhang  <jie@codesourcery.com>
2097
2098         PR 43574
2099         * opt-functions.awk (var_type_struct): Use signed char type
2100         for simple variables.
2101
2102 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2103
2104         * config/sol2.c: Include output.h.
2105         (solaris_assemble_visibility): New function.
2106         * config/t-sol2 (sol2.o): Add output.h dependency.
2107         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
2108         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
2109         Redefine.
2110
2111 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
2112
2113         PR target/43580
2114         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
2115         V2SImode or XFmode on PRE_DEC.
2116
2117         PR debug/43557
2118         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
2119         BLKmode.
2120
2121 2010-03-31  Jie Zhang  <jie@codesourcery.com>
2122
2123         PR 43562
2124         * reload.h (caller_save_initialized_p): Declare.
2125         * toplev.c (backend_init_target): Don't call
2126         init_caller_save but set caller_save_initialized_p to false.
2127         * caller-save.c (caller_save_initialized_p): Define.
2128         (init_caller_save): Check caller_save_initialized_p.
2129         * ira.c (ira): Call init_caller_save if flag_caller_saves.
2130
2131 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2132
2133         PR target/39048
2134         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
2135         and soft-fp/t-softfp to tmake_file.
2136         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
2137         (LIBGCC2_TF_CEXT): Define.
2138         (TF_SIZE): Define.
2139
2140 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
2141
2142         PR debug/42977
2143         * cselib.c (n_useless_values): Document handling of debug locs.
2144         (n_useless_debug_values, n_debug_values): New variables.
2145         (new_elt_loc_list): Don't add to debug values, keep count.
2146         (promote_debug_loc): New.
2147         (cselib_reset_table): Zero new variables.
2148         (entry_and_rtx_equal_p): Promote debug locs.
2149         (discard_useless_locs): Increment n_useless_debug_values for
2150         debug values.
2151         (remove_useless_values): Adjust n_useless_values and n_debug_values
2152         with n_useless_debug_values.
2153         (add_mem_for_addr): Promote debug locs.
2154         (cselib_lookup_mem): Likewise.
2155         (cselib_lookup_addr): Renamed to...
2156         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
2157         (cselib_log_lookup): ... this.  Turn into...
2158         (cselib_lookup_addr): ... new wrapper.
2159         (cselib_lookup_from_insn): New.
2160         (cselib_invalidate_regno): Increment n_useless_debug_values for
2161         debug values.
2162         (cselib_invalidate_mem): Likewise.
2163         (cselib_process_insn): Take n_deleted and n_debug_values into
2164         account to guard remove_useless_value call.
2165         (cselib_finish): Zero n_useless_debug_values.
2166         * cselib.h (cselib_lookup_from_insn): Declare.
2167         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
2168         (sched_analyze_2): Likewise.
2169
2170 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
2171
2172         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
2173         functions.
2174         (adjust_mems): Replace narrowing SUBREG of expression containing
2175         just PLUS, MINUS, MULT and ASHIFT of registers and constants
2176         with operations in the narrower mode.
2177
2178         PR debug/43593
2179         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
2180         regs_invalidated_by_call instead all call_used_reg_set registers.
2181
2182 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
2183
2184         PR middle-end/43430
2185         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
2186         pointer comparisons with types_compatible_p.
2187         * tree-vect-stmts.c (vectorizable_call): Same.
2188         (vectorizable_condition): Same.
2189
2190 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2191
2192         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
2193         stack check if the mask would be zero.
2194
2195 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
2196             Jack Howarth <howarth@bromo.med.uc.edu>
2197
2198         * tree-profile.c (tree_init_ic_make_global_vars): Make static
2199         variables TLS.
2200
2201 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
2202
2203         PR other/25232
2204         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
2205         and __unordtf2.
2206         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
2207         Include ___unordxf2 and ___unordtf2.
2208         * config/i386/libgcc-glibc.ver: Do not define inheritance from
2209         GCC_4.4.0 here.
2210
2211 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
2212
2213         * config/lm32/t-lm32: New file.
2214         * config.gcc: Use the above file when targetting lm32.
2215
2216 2010-03-28  Duncan Sands  <baldrick@free.fr>
2217
2218         * Makefile.in (PLUGIN_HEADERS): Add except.h.
2219
2220 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
2221
2222         PR middle-end/43431
2223         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
2224         Improve vectorization cost model diagnostic.
2225
2226 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
2227
2228         PR middle-end/43436
2229         * tree-vect-data-refs.c (vect_analyze_data_refs): When
2230         compute_data_dependences_for_loop returns false, early exit
2231         and output an extra diagnostic for the failed data reference
2232         analysis.
2233
2234 2010-03-29  Richard Guenther  <rguenther@suse.de>
2235
2236         PR tree-optimization/43560
2237         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
2238         (can_sm_ref_p): Treat stores to readonly locations as trapping.
2239
2240 2010-03-29  Jie Zhang  <jie@codesourcery.com>
2241
2242         PR 43564
2243         * toplev.c (process_options): Set optimization_default_node
2244         and optimization_current_node.
2245         * opts.c (decode_options): Don't set optimization_default_node
2246         and optimization_current_node.
2247
2248 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
2249
2250         * config/rtems.h: Abandon -qrtems_debug.
2251
2252 2010-03-28  Jan Hubicka  <jh@suse.cz>
2253
2254         PR tree-optimization/43505
2255         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
2256         map should not be copied.
2257
2258 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2259
2260         PR middle-end/41674
2261         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
2262         cdtors, set DECL_PRESERVE_P.
2263         * ipa.c (cgraph_externally_visible_p): Return true if declaration
2264         should be preseved.
2265
2266 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
2267
2268         PR tree-optimization/43528
2269         * stor-layout.c (place_field): Check that constant fits into
2270         unsigned HWI when skipping calculation of MS bitfield layout.
2271
2272 2010-03-27  Jan Hubicka  <jh@suse.cz>
2273
2274         PR middle-end/43391
2275         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
2276         notice_global_symbol work.
2277
2278 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
2279
2280         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
2281         instead of dwarf2out_decl.
2282         (struct var_loc_node): Remove section_label field.
2283         (dwarf2out_function_decl): New function.
2284         (dwarf2out_var_location): Don't set section_label field.
2285         (dwarf2out_begin_function): Don't empty decl_loc_table here.
2286
2287 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
2288
2289         PR tree-optimization/43544
2290         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2291         First argument for builtin vectorized function hook is now a
2292         tree to be able to distinguish between machine specific and
2293         standard builtins.
2294         * targhooks.c (default_builtin_vectorized_function): Ditto.
2295         * targhooks.h (default_builtin_vectorized_function): Ditto.
2296         * target.h (struct gcc_target): Ditto.
2297         * tree-vect-stmts.c (vectorizable_function): Ditto.
2298         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
2299         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
2300         Ditto.
2301
2302 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
2303
2304         PR c/43381
2305         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
2306         nested binding iff it is a FUNCTION_DECL.
2307         (store_parm_decls_newstyle): Pass nested=true to bind for
2308         FUNCTION_DECLs amongst parameters.
2309
2310 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
2311
2312         * var-tracking.c (vt_expand_loc_callback): Don't run
2313         cselib_expand_value_rtx_cb in dummy mode if
2314         cselib_dummy_expand_value_rtx_cb returned false.
2315
2316         * var-tracking.c (emit_note_insn_var_location): For one part
2317         notes with offset 0, don't add EXPR_LIST around the location.
2318         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
2319         add_location_or_const_value_attribute): Adjust for that change.
2320
2321         PR debug/43540
2322         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
2323         into first operand and location into second.
2324         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
2325         dw_cfi_oprnd_loc for DW_CFA_expression.
2326         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
2327         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
2328         assume first argument is regnum and second argument is location.
2329
2330 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
2331
2332         PR target/42113
2333         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
2334         of scratch register to DImode.  Split to DImode comparison operator.
2335         Use SImode subreg of scratch register in the multiplication.
2336         (*cmp_sadd_sidi): Ditto.
2337         (*cmp_ssub_si): Ditto.
2338         (*cmp_ssub_sidi): Ditto.
2339
2340 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
2341
2342         PR target/43524
2343         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
2344         Remove invalid assert and wrong comment.
2345
2346 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
2347
2348         PR debug/43516
2349         * flags.h (final_insns_dump_p): New extern.
2350         * final.c (final_insns_dump_p): New variable.
2351         (rest_of_clean_state): Set it before -fdump-final-insns=
2352         dumping, clear afterwards.
2353         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
2354         MEM_ALIAS_SET on MEMs.
2355
2356 2010-03-26  David S. Miller  <davem@davemloft.net>
2357
2358         * configure.ac: Fix sparc GOTDATA_OP bug check.
2359         * configure: Rebuild.
2360
2361 2010-03-26  Alan Modra  <amodra@gmail.com>
2362
2363         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
2364
2365 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2366
2367         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
2368         TLS_SECTION_ASM_FLAG.
2369
2370 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
2371
2372         PR bootstrap/43511
2373         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
2374         Clear first_function_block_is_cold.
2375
2376         PR c/43385
2377         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
2378         argument if the argument is truth_value_p.
2379
2380 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2381
2382         * config/rs6000/constraints.md: Update copyright year for my changes.
2383
2384         PR target/43484
2385         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
2386         used in reg+reg addressing, swap registers.
2387
2388 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
2389
2390         PR debug/43293
2391         * target.h (struct gcc_target): Add code_end hook.
2392         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
2393         if not yet defined.
2394         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
2395         * toplev.c (compile_file): Call targetm.asm_out.code_end
2396         hook before unwind info/debug info output.
2397         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
2398         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
2399         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
2400         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
2401         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
2402         * config/i386/i386.c (ix86_file_end): Renamed to...
2403         (ix86_code_end): ... this.  Make static.  Don't call
2404         file_end_indicate_exec_stack.  Emit unwind info using
2405         final_start_function/final_end_function.
2406         (darwin_x86_file_end): Remove.
2407         (TARGET_ASM_CODE_END): Define.
2408         * config/i386/i386.h (TARGET_ASM_FILE_END,
2409         NEED_INDICATE_EXEC_STACK): Don't define.
2410         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
2411         (TARGET_ASM_FILE_END): Define to darwin_file_end.
2412         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
2413         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
2414
2415         PR target/43498
2416         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
2417         at the beginning and final_end_function at the end.
2418         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
2419
2420 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2421
2422         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
2423         and Sun as TLS syntax.
2424         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
2425         * configure: Regenerate.
2426         * config.in: Regenerate.
2427         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
2428         (default_elf_asm_named_section): Use it.
2429         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
2430         (i386_output_dwarf_dtprel): Likewise.
2431         (output_addr_const_extra): Likewise.
2432         (output_pic_addr_const): Lowercase @GOTTPOFF.
2433         (output_addr_const_extra): Likewise.
2434         (output_pic_addr_const): Lowercase @GOTNTPOFF.
2435         (output_addr_const_extra): Likewise.
2436         (output_pic_addr_const): Lowercase @INDNTPOFF.
2437         (output_addr_const_extra): Likewise.
2438         (output_pic_addr_const): Lowercase @NTPOFF.
2439         (output_addr_const_extra): Likewise.
2440         (output_pic_addr_const): Lowercase @TPOFF.
2441         (output_addr_const_extra): Likewise.
2442         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
2443         (*tls_global_dynamic_64): Likewise.
2444         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
2445         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
2446
2447         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
2448         (ASM_OUTPUT_TLS_COMMON): Use it.
2449         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
2450
2451         PR target/38118
2452         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
2453         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
2454         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
2455         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
2456         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
2457         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
2458
2459 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2460
2461         * config/i386/i386.c (override_options): Don't accept
2462         -mtls-dialect=sun any longer.
2463         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
2464         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
2465         (*tls_local_dynamic_base_32_sun): Likewise.
2466         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
2467
2468 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
2469
2470         PR debug/43508
2471         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
2472         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
2473
2474         PR debug/43479
2475         * ira.c (adjust_cleared_regs): New function.
2476         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
2477
2478         PR debug/19192
2479         PR debug/43479
2480         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
2481         from gimple_block.
2482         * expr.c (expand_expr_real): Restore previous
2483         curr_insn_source_location and curr_insn_block after
2484         expand_expr_real_1 call.
2485         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
2486         instead of expand_expr_real_1.
2487
2488 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
2489
2490         PR rtl-optimization/43413
2491         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
2492         hard regs too.
2493
2494 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
2495
2496         PR target/43348
2497         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
2498         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
2499
2500 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
2501
2502         * config/i386/i386.c (ix86_target_string): Add -mfma.
2503         Fix a typo in comment.
2504
2505 2010-03-22  Mike Stump  <mikestump@comcast.net>
2506
2507         PR target/23071
2508         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
2509         Don't overly align based upon packed packed fields.
2510
2511 2010-03-22  Jason Merrill  <jason@redhat.com>
2512
2513         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
2514         Use () rather than [], and move before the element type.
2515
2516 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2517
2518         * doc/configfiles.texi (Configuration Files): Removed
2519         fixinc/Makefile*, intl/Makefile.*.
2520         * doc/makefile.texi: Fixed markup. Abstract from version
2521         control system used.
2522         (Makefile): Removed obsolete gcc/java/parse.y example.
2523         * doc/sourcebuild.texi: Likewise.
2524         (Top Level): Added config, gnattools, libdecnumber, libgcc,
2525         libgomp, libssp.  Removed fastjar.
2526         (Miscellaneous Docs): Clarify location.
2527         Added COPYING3, COPYING3.LIB.
2528         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
2529
2530 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2531
2532         PR target/38085
2533         * config/i386/i386.c (x86_function_profiler)
2534         [!NO_PROFILE_COUNTERS]: Fix typo.
2535         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
2536         instead of callq.
2537
2538 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
2539             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2540
2541         * doc/sourcebuild.texi (Test Directives): Split into six
2542         subsections, with most of the current text in new subsections
2543         Directives, Selectors, and Final Actions.
2544         (Directives): Split list of test directives into multiple
2545         subsubsections.
2546         (Selectors): Describe use and syntax of selectors.
2547         (Effective-Target Keywords): Describe all existing keywords.
2548         (Add Options): Describe features for dg-add-options.
2549         (Require Support): Describe variants of dg-require-support.
2550         (Final Actions): Describe commands to use in dg-final.
2551
2552 2010-03-22  Michael Matz  <matz@suse.de>
2553
2554         PR middle-end/43475
2555         * recog.c (validate_replace_rtx_group): Replace also in
2556         REG_EQUAL and REG_EQUIV notes.
2557
2558 2010-03-22  Richard Guenther  <rguenther@suse.de>
2559
2560         PR tree-optimization/43390
2561         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
2562         sure vector extracts are type correct.
2563
2564 2010-03-22  Richard Guenther  <rguenther@suse.de>
2565
2566         PR middle-end/40106
2567         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
2568         x * sqrt (x) even when optimizing for size if the target
2569         has native support for sqrt.
2570
2571 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
2572
2573         * varasm.c (make_decl_rtl_for_debug): Also clear
2574         flag_mudflap for the duration of make_decl_rtl call.
2575
2576         PR debug/43443
2577         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
2578         locs from preserved VALUEs.
2579
2580 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2581
2582         PR middle-end/42718
2583         * pa.md (movmemsi): Set align to one if zero.
2584         (movmemdi): Likewise.
2585
2586 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
2587
2588         PR target/42321
2589         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
2590         with their corresponding prologue pushes.
2591
2592 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
2593
2594         PR target/43156
2595         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
2596         at the begining or end.
2597         (spu_expand_epilogue): Likewise.
2598
2599 2010-03-20  Richard Guenther  <rguenther@suse.de>
2600
2601         PR rtl-optimization/43438
2602         * combine.c (make_extraction): Properly zero-/sign-extend an
2603         extraction of the low part of a CONST_INT.  Also handle
2604         CONST_DOUBLE.
2605
2606 2010-03-19  Mike Stump  <mikestump@comcast.net>
2607
2608         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
2609         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
2610         (override_options): Use SUBTARGET32_DEFAULT_CPU.
2611
2612 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
2613
2614         PR c/43211
2615         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
2616         an error.
2617
2618 2010-03-19  Bernd Schmidt  <bernds@codesourcery.com>
2619
2620         PR rtl-optimization/42258
2621         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
2622         use that may match DEF.
2623
2624         PR target/40697
2625         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
2626         the cost of loading the constant rather than assuming
2627         COSTS_N_INSNS (1).
2628         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
2629         outer code is AND, do the same tests as the andsi3 expander and
2630         return COSTS_N_INSNS (1) if and is cheap.
2631
2632         * optabs.c (avoid_expensive_constant): Fix formatting.
2633
2634 2010-03-19  Michael Matz  <matz@suse.de>
2635
2636         PR c++/43116
2637         * attribs.c (decl_attributes): When rebuilding a function pointer
2638         type use the same qualifiers as the original pointer type.
2639
2640 2010-03-19  Martin Jambor  <mjambor@suse.cz>
2641
2642         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
2643         and is_gimple_ip_invariant_address.
2644
2645 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2646
2647         Revert
2648         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2649
2650         * config/arm/arm.c (arm_override_options): Turn off
2651         flag_dwarf2_cfi_asm for AAPCS variants.
2652
2653 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2654
2655         PR target/43399
2656         * config/arm/arm.c (emit_multi_reg_push): Update comments.
2657         Use PRE_MODIFY instead of PRE_DEC.
2658         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
2659         (vfp_emit_fstmd): Likewise.
2660
2661 2010-03-19  Michael Matz  <matz@suse.de>
2662
2663         PR target/43305
2664         * builtins.c (expand_builtin_interclass_mathfn,
2665         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
2666         if that fails.
2667
2668 2010-03-19  Richard Guenther  <rguenther@suse.de>
2669
2670         PR tree-optimization/43415
2671         * tree-ssa-pre.c (phi_translate): Split out worker to ...
2672         (phi_translate_1): ... this.
2673         (phi_translate): Move all caching here.  Cache all NARY
2674         and REFERENCE translations.
2675
2676 2010-03-19  David S. Miller  <davem@davemloft.net>
2677
2678         With help from Eric Botcazou.
2679         * config/sparc/sparc.c: Include dwarf2out.h.
2680         (emit_pic_helper): Delete.
2681         (pic_helper_symbol_name): Delete.
2682         (pic_helper_emitted_p): Delete.
2683         (pic_helper_needed): New.
2684         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
2685         (get_pc_thunk_name): New.
2686         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
2687         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
2688         Set pic_helper_needed to true.  Don't call emit_pic_helper.
2689         (sparc_expand_prologue): Update load_pic_register call.
2690         (sparc_output_mi_thunk): Likewise.
2691         (sparc_file_end): Emit a hidden comdat symbol for the PIC
2692         thunk if possible.  Output CFI information as needed.
2693
2694 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2695             Jack Howarth <howarth@bromo.med.uc.edu>
2696
2697         PR target/36399
2698         * config/i386/i386.h: Fix ABI on darwin x86-32.
2699
2700 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
2701
2702         * tree.h: Declare make_decl_rtl_for_debug.
2703         * varasm.c (make_decl_rtl_for_debug): New.
2704         * dwarf2out.c (rtl_for_decl_location): Call it.
2705         * cfgexpand.c (expand_debug_expr): Call it.
2706
2707 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
2708
2709         PR bootstrap/43399
2710         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
2711         mem_mode.
2712
2713         PR bootstrap/43403
2714         * var-tracking.c (vt_init_cfa_base): Do nothing if
2715         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
2716
2717 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
2718
2719         PR debug/42873
2720         * var-tracking.c (canonicalize_vars_star): New.
2721         (dataflow_post_merge_adjust): Use it.
2722
2723 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
2724
2725         PR debug/43058
2726         * var-tracking.c (non_suitable_const): New function.
2727         (add_uses): For DEBUG_INSNs with constants, don't record any
2728         value, instead just the constant value itself.
2729         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
2730         is not VAR_LOC_UNKNOWN_P, set var to the constant.
2731         (emit_notes_in_bb): Likewise.
2732         (emit_note_insn_var_location): For onepart variables if
2733         cur_loc is a VOIDmode constant, use DECL_MODE.
2734
2735 2010-03-18  Martin Jambor  <mjambor@suse.cz>
2736
2737         PR middle-end/42450
2738         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
2739         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
2740         all non-clones.  Moved call redirection...
2741         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
2742         (cgraph_materialize_all_clones): Dispose of all
2743         combined_args_to_skip bitmaps.
2744         (verify_cgraph_node): Do not check for edges pointing to wrong
2745         nodes in inline clones.
2746         * tree-inline.c (copy_bb): Call
2747         cgraph_redirect_edge_call_stmt_to_callee.
2748         * ipa.c (cgraph_remove_unreachable_nodes): Call
2749         cgraph_node_remove_callees even when there are used clones.
2750
2751 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2752
2753         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
2754
2755 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2756
2757         PR target/43383
2758         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
2759         for 32bit.
2760
2761 2010-03-18  Michael Matz  <matz@suse.de>
2762
2763         PR middle-end/43419
2764         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
2765         into sqrt(x) if we need to preserve signed zeros.
2766
2767 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
2768             Eric Botcazou  <ebotcazou@adacore.com>
2769
2770         PR rtl-optimization/43360
2771         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
2772         note if we don't know its invariant status.
2773
2774 2010-03-18  Michael Matz  <matz@suse.de>
2775
2776         PR tree-optimization/43402
2777         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
2778         PHI chains of ssa names registered for update.
2779
2780 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
2781
2782         PR target/42427
2783         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
2784         non-offsettable and pre_modify update addressing.
2785         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
2786         and "2" alternatives "#".
2787         (*movdd_softfloat32): Make all alternatives "#";
2788         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
2789         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
2790         (*movdf_softfloat32): Make all alternatives "#";
2791         (movdi): Use the new DIFD mode iterator to create a common splitter
2792         for movdi, movdf and movdd patterns.
2793
2794 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
2795
2796         * common.opt (dumpdir): Remove redundant tab.
2797
2798 2010-03-17  Martin Jambor  <mjambor@suse.cz>
2799
2800         PR tree-optimization/43347
2801         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
2802         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
2803
2804 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
2805
2806         PR rtl-optimization/42216
2807         * regrename.c (create_new_chain): New function, broken out from...
2808         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
2809         appending a use to an empty chain.
2810         (build_def_use): Remove previous changes that convert OP_INOUT to
2811         OP_OUT operands; instead detect the case where an OP_INOUT operand
2812         uses a previously untracked register and create an empty chain for it.
2813
2814 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2815
2816         * doc/extend.texi (Function Attributes): Rewrite unfinished
2817         sentence in ms_abi documentation.
2818
2819 2010-03-17  Alan Modra  <amodra@gmail.com>
2820
2821         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
2822         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
2823         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
2824         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
2825
2826 2010-03-16  Richard Henderson  <rth@redhat.com>
2827
2828         PR middle-end/43365
2829         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
2830         (lower_try_finally): Save and restore eh_seq around the expansion
2831         of the try-finally.
2832
2833 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
2834
2835         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
2836         statements before splitting block.
2837
2838 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2839
2840         * doc/sourcebuild.texi (Testsuites): Fix markup.
2841         Use pathnames relative to gcc/testsuite.
2842         (Test Directives): Move description of how timeout is determined.
2843         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
2844         (C Tests): Correct gcc.misc-tests directory.
2845         Framework tests now live in gcc.test-framework.
2846
2847 2010-03-16  Richard Guenther  <rguenther@suse.de>
2848
2849         PR middle-end/43379
2850         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
2851         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
2852
2853 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
2854             Alexandre Oliva  <aoliva@redhat.com>
2855
2856         PR tree-optimization/42917
2857         * lambda-code.c (remove_iv): Skip debug statements.
2858         (lambda_loopnest_to_gcc_loopnest): Likewise.
2859         (not_interesting_stmt): Debug statements are not interesting.
2860
2861 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
2862
2863         PR debug/43051
2864         PR debug/43092
2865         * cselib.c (cselib_preserve_constants,
2866         cfa_base_preserved_val): New static variables.
2867         (preserve_only_constants): New function.
2868         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
2869         clear its REG_VALUES.  If cselib_preserve_constants, don't
2870         empty the whole hash table, but preserve there VALUEs with constants,
2871         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
2872         (cselib_preserve_cfa_base_value): New function.
2873         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
2874         (cselib_init): Change argument to int bitfield.  Set
2875         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
2876         is in it.
2877         (cselib_finish): Clear cselib_preserve_constants and
2878         cfa_base_preserved_val.
2879         * cselib.h (enum cselib_record_what): New enum.
2880         (cselib_init): Change argument to int.
2881         (cselib_preserve_cfa_base_value): New prototype.
2882         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
2883         * dse.c (dse_step1): Likewise.
2884         * cfgcleanup.c (thread_jump): Likewise.
2885         * sched-deps.c (sched_analyze): Likewise.
2886         * gcse.c (local_cprop_pass): Likewise.
2887         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
2888         If FN is non-NULL, call the callback always and whenever it returns
2889         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
2890         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
2891         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
2892         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
2893         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
2894         * var-tracking.c: Include recog.h.
2895         (bb_stack_adjust_offset): Remove.
2896         (vt_stack_adjustments): Don't call it, instead just gather the
2897         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
2898         (adjust_stack_reference): Remove.
2899         (compute_cfa_pointer): New function.
2900         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
2901         (struct adjust_mem_data): New type.
2902         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
2903         functions.
2904         (get_address_mode): New function.
2905         (replace_expr_with_values): Use it.
2906         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
2907         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
2908         (adjust_sets): Remove.
2909         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
2910         Use get_address_mode.
2911         (get_adjusted_src): Remove.
2912         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
2913         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
2914         (add_with_sets): Don't call adjust_sets.
2915         (fp_setter, vt_init_cfa_base): New functions.
2916         (vt_initialize): Change return type to bool.  Move most of pool etc.
2917         initialization to the beginning of the function from end.  Pass
2918         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
2919         If !frame_pointer_needed, call vt_stack_adjustment before mos
2920         vector is filled, call vt_init_cfa_base if argp/framep has been
2921         eliminated to sp.  If frame_pointer_needed and argp/framep has
2922         been eliminated to hard frame pointer, set
2923         hard_frame_pointer_adjustment and call vt_init_cfa_base after
2924         encountering fp setter in the prologue.  For MO_ADJUST, call
2925         log_op_type before pusing the op into mos vector, not afterwards.
2926         Call adjust_insn before cselib_process_insn/add_with_sets,
2927         call cancel_changes (0) afterwards.
2928         (variable_tracking_main_1): Adjust for vt_initialize calling
2929         vt_stack_adjustments and returning whether it succeeded or not.
2930
2931 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
2932
2933         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
2934         debug statements.
2935
2936 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
2937
2938         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
2939         has been set.
2940         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
2941         drap_reg has not been set.
2942
2943 2010-03-15  Michael Matz  <matz@suse.de>
2944
2945         PR middle-end/43300
2946         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
2947         use it to expand block copies.
2948         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
2949         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
2950         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
2951
2952 2010-03-15  Richard Guenther  <rguenther@suse.de>
2953
2954         PR tree-optimization/43367
2955         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
2956         elimination check.
2957
2958 2010-03-15  Richard Guenther  <rguenther@suse.de>
2959
2960         PR tree-optimization/43317
2961         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
2962
2963 2010-03-15  Martin Jambor  <mjambor@suse.cz>
2964
2965         PR tree-optimization/43141
2966         * tree-sra.c (create_abstract_origin): New function.
2967         (modify_function): Call create_abstract_origin.
2968
2969 2010-03-15  Chris Demetriou  <cgd@google.com>
2970
2971         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
2972         wasn't copied.
2973
2974 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2975
2976         PR middle-end/43354
2977         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
2978         call insert_out_of_ssa_copy for default definitions.
2979
2980 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2981
2982         * graphite-clast-to-gimple.c (my_long_long): Defined.
2983         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
2984         * graphite-sese-to-poly.c (my_long_long): Defined.
2985         (scop_ivs_can_be_represented): Use it.
2986
2987 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2988
2989         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
2990         graphite-max-bbs-per-function, and loop-block-tile-size.
2991         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
2992         with "maximum".
2993         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
2994
2995 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2996
2997         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
2998         forward declaration.
2999         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
3000         (add_upper_bounds_from_estimated_nit): New.
3001         (build_loop_iteration_domains): Use it.
3002
3003 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3004
3005         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
3006
3007 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3008
3009         PR middle-end/43306
3010         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
3011         should be an INTEGER_CST.  Also handle CASE_CONVERT.
3012
3013 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3014
3015         * graphite.c (graphite_initialize): To bound the number of bbs per
3016         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
3017         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
3018         * doc/invoke.texi: Document it.
3019
3020 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3021
3022         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
3023         * graphite-sese-to-poly.h (build_poly_scop): Same.
3024
3025 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3026
3027         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
3028         the number of parameters in the scop.  Use as an upper bound
3029         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
3030         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
3031         * doc/invoke.texi: Document it.
3032
3033 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
3034
3035         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
3036         * doc/c-tree.texi: Remove.
3037         * doc/generic.texi: Merge c-tree.texi here.
3038         * doc/gccint.texi (Trees): Remove menu entry.
3039         (c-tree.texi): Remove @include.
3040         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
3041         * doc/languages.texi (Reading RTL): Ditto.
3042
3043 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
3044
3045         PR target/42869
3046         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
3047
3048 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3049
3050         PR middle-end/42431
3051         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
3052         code added to work around reload clobbering CONST insns.
3053
3054 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
3055
3056         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
3057         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
3058         (cselib_preserve_only_values): Remove retain argument, don't
3059         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
3060         * cselib.h (cselib_preserve_only_values): Remove retain argument.
3061         * var-tracking.c (micro_operation): Move insn field before union.
3062         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
3063         (struct variable_tracking_info_def): Remove n_mos field, change
3064         mos into a vector of micro_operations.
3065         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
3066         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
3067         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
3068         changing into a vector.
3069         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
3070         come before all other uops generated by add_stores.
3071         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
3072         argument removal.
3073         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
3074         a vector.  Run just one pass over the bbs instead of separate counting
3075         and computation phase.
3076         (vt_finalize): Free VTI (bb)->mos vector instead of array.
3077
3078         PR debug/43329
3079         * tree-inline.c (remap_decls): Put old_var rather than origin_var
3080         into *nonlocalized_list vector.
3081         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
3082         even if origin is non-NULL.
3083         (gen_variable_die): Likewise.
3084         (process_scope_var): Don't change origin.
3085         (gen_decl_die): Likewise.
3086         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
3087         before adding new edges instead of after it, fix moving over
3088         debug stmts.
3089
3090 2010-03-11  David S. Miller  <davem@davemloft.net>
3091
3092         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
3093         of four.
3094         * configure: Rebuild.
3095
3096 2010-03-11  Martin Jambor  <mjambor@suse.cz>
3097
3098         PR tree-optimization/43257
3099         * tree.c (assign_assembler_name_if_neeeded): New function.
3100         (free_lang_data_in_cgraph): Assembler name assignment moved to the
3101         above new function.
3102         * tree.h (assign_assembler_name_if_neeeded): Declare.
3103         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
3104         the function if needed.
3105
3106 2010-03-11  Chris Demetriou  <cgd@google.com>
3107
3108         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
3109         include/stdint-gcc.h, and include/stdint.h world-readable.
3110
3111 2010-03-11  Richard Guenther  <rguenther@suse.de>
3112
3113         PR tree-optimization/43255
3114         * tree-vrp.c (process_assert_insertions_for): Do not insert
3115         asserts for trivial conditions.
3116
3117 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3118
3119         PR tree-optimization/43280
3120         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
3121         generation.  Move calculation of size out of the if branch.
3122         (find_bswap): Modify compare number generation.
3123
3124 2010-03-11  Richard Guenther  <rguenther@suse.de>
3125
3126         PR lto/43200
3127         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
3128         (input_gimple_stmt): Fixup handled component types during
3129         operand read.  Also fix up decls in ADDR_EXPRs.
3130
3131 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
3132
3133         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
3134         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
3135
3136 2010-03-10  Jan Hubicka  <jh@suse.cz>
3137
3138         PR c/43288
3139         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
3140         * varasm.c (get_variable_section): Don't do that here...
3141         (make_decl_rtl): ... and here.
3142         (do_assemble_alias): Produce decl RTL.
3143         (assemble_alias): Likewise.
3144
3145 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
3146
3147         PR debug/43290
3148         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
3149         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
3150         of fde->vdrap_reg.
3151         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
3152         (based_loc_descr): Only express drap or vdrap regno based expressions
3153         using DW_OP_fbreg when not optimizing.
3154         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
3155         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
3156         REG_CFA_SET_VDRAP note.
3157
3158 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
3159
3160         PR tree-optimization/43236
3161         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
3162         error in calculation of base address in reverse iteration case.
3163         (generate_builtin): Take number of latch executions if the statement
3164         is in the latch.
3165
3166 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
3167
3168         PR middle-end/42859
3169         * tree-eh.c: Include pointer-set.h.
3170         (lower_eh_dispatch): Filter out duplicate case labels and
3171         remove the unneeded edge when the label is unused.  Return
3172         true when some edges are removed.
3173         (execute_lower_eh_dispatch): When any lowering resulted in
3174         removing an edge, also delete unreachable blocks.
3175
3176 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
3177
3178         PR bootstrap/43287
3179         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
3180         UNSPEC_MACHOPIC_OFFSET.
3181
3182 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
3183
3184         PR target/43294
3185         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
3186         (m68k_delegitimize_address): New function.
3187
3188 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
3189
3190         PR debug/43299
3191         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
3192
3193         PR debug/43299
3194         * var-tracking.c (adjust_sets): New function.
3195         (count_with_sets, add_with_sets): Use it.
3196         (get_adjusted_src): New inline function.
3197         (add_stores): Use it.
3198
3199         PR debug/43304
3200         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
3201         call cselib_dummy_expand_value_rtx_cb instead of
3202         cselib_expand_value_rtx_cb.
3203
3204         PR debug/43293
3205         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
3206         * config/i386/i386.c: Include debug.h and dwarf2out.h.
3207         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
3208         and .cfi_endproc around the pic thunks.
3209         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
3210         all queued unwind info register saves are saved before the call.
3211         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
3212         considered as sp-=4 for unwind info and the pop as sp+=4 which
3213         also clobbers dest, but doesn't actually restore it.
3214
3215         PR debug/43290
3216         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
3217         RTX_FRAME_RELATED_P.
3218
3219 2010-03-09  Jie Zhang  <jie@codesourcery.com>
3220
3221         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
3222         whitespaces in output template.
3223
3224 2010-03-09  Jie Zhang  <jie@codesourcery.com>
3225
3226         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
3227         out array boundary.
3228
3229 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
3230
3231         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
3232         builtins.exp in a separate job.
3233
3234 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3235
3236         * graphite-sese-to-poly.c (add_param_constraints): Use
3237         lower_bound_in_type and upper_bound_in_type.
3238
3239 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3240
3241         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
3242         instead of unsigned_type_node.
3243
3244 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3245             Reza Yazdani  <reza.yazdani@amd.com>
3246
3247         PR middle-end/43065
3248         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
3249         on pointer type parameters.
3250
3251 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
3252
3253         PR middle-end/42644
3254         PR middle-end/42130
3255         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
3256         handle conversions from pointer to integers.
3257         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
3258         induction variable, to be able to work with code generated by CLooG.
3259         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
3260         (build_poly_scop): Bail out if we cannot codegen a loop.
3261
3262 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
3263
3264         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
3265         code generation with gloog_error.
3266
3267 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3268
3269         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
3270         Call fold_convert on all the returned values.
3271         (expand_scalar_variables_expr): Pass to
3272         expand_scalar_variables_ssa_name the type of the resulting expression.
3273
3274 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3275
3276         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
3277         ppl_min_for_le_pointset.
3278         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
3279         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
3280
3281 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3282
3283         * graphite-dependences.c (map_into_dep_poly): Removed.
3284         (dependence_polyhedron_1): Use combine_context_id_scat.
3285
3286 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3287
3288         * graphite-poly.h (struct poly_scattering): Add layout documentation.
3289         (struct poly_bb): Same.
3290         (combine_context_id_scat): New.
3291
3292 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3293
3294         PR middle-end/42326
3295         * sese.c (name_defined_in_loop_p): Return false for default
3296         definitions.
3297
3298 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3299
3300         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
3301         and clean up the logic.
3302
3303 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3304
3305         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
3306         early return.
3307
3308 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
3309
3310         * var-tracking.c (remove_cselib_value_chains): Define only for
3311         ENABLE_CHECKING.
3312         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
3313         delete_slot_part, emit_notes_for_differences_1): Don't call
3314         remove_cselib_value_chains here.
3315         (set_slot_part, emit_notes_for_differences_2): Don't call
3316         add_cselib_value_chains here.
3317         (preserved_values): New vector.
3318         (preserve_value): New function.
3319         (add_uses, add_stores, vt_add_function_parameters): Use it
3320         instead of cselib_preserve_value.
3321         (changed_values_stack): New vector.
3322         (check_changed_vars_0): New function.
3323         (check_changed_vars_1, check_changed_vars_2): Use it.
3324         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
3325         changed_values_stack VALUEs.
3326         (vt_emit_notes): For all preserved_values call
3327         add_cselib_value_chains.  If ENABLE_CHECKING call
3328         remove_cselib_value_chains before verifying value_chains is empty.
3329         Initialize and free changed_values_stack.
3330         (vt_initialize): Initialize preserved_values.
3331         (vt_finalize): Free preserved_values.
3332
3333 2010-03-08  Richard Guenther  <rguenther@suse.de>
3334
3335         PR tree-optimization/43269
3336         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
3337         region detection.
3338
3339 2010-03-08  Martin Jambor  <mjambor@suse.cz>
3340
3341         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
3342         (ipa_is_param_called): Removed.
3343         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
3344         (ipa_print_node_params): Do not print the called flag.
3345         (ipa_write_node_info): Do not stream the called flag.
3346         (ipa_read_node_info): Likewise.
3347
3348 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
3349
3350         PR debug/43176
3351         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
3352         * cselib.c (struct expand_value_data): Add dummy field.
3353         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
3354         dummy to false.
3355         (cselib_dummy_expand_value_rtx_cb): New function.
3356         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
3357         any rtl.
3358         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
3359         * var-tracking.c: Include pointer-set.h.
3360         (variable): Change n_var_parts to char from int.  Add
3361         cur_loc_changed and in_changed_variables fields.
3362         (variable_canonicalize): Remove.
3363         (shared_var_p): New inline function.
3364         (unshare_variable): Maintain cur_loc_changed and
3365         in_changed_variables fields.  If var was in changed_variables,
3366         replace it there with new_var.  Just copy cur_loc instead of
3367         resetting it to something else.
3368         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
3369         (dataflow_set_union): Don't call variable_canonicalize.
3370         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
3371         of their DEBUG_EXPR_TREE_DECLs.
3372         (canonicalize_loc_order_check): Verify that cur_loc is NULL
3373         and in_changed_variables and cur_loc_changed is false.
3374         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
3375         and cur_loc_changed.  Don't update cur_loc here.
3376         (variable_merge_over_src): Don't call variable_canonicalize.
3377         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
3378         removing loc that is equal to cur_loc, clear cur_loc,
3379         set cur_loc_changed and ensure variable_was_changed is called.
3380         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
3381         compare pointers in cur_loc check, if it is equal to loc,
3382         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
3383         (variable_different_p): Remove compare_current_location argument,
3384         don't compare cur_loc.
3385         (dataflow_set_different_1): Adjust variable_different_p caller.
3386         (variable_was_changed): If dv had some var in changed_variables
3387         already, reset in_changed_variables flag for it and propagate
3388         cur_loc_changed over to the new variable.  On empty var
3389         always set cur_loc_changed.  Set in_changed_variables on whatever
3390         var is added to changed_variables.
3391         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
3392         Use shared_var_p.  When removing loc that is equal to cur_loc,
3393         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
3394         end, don't set it to something else, just call variable_was_changed.
3395         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
3396         loc being removed, clear cur_loc and set cur_loc_changed.
3397         Set cur_loc_changed if all locations have been removed.
3398         (struct expand_loc_callback_data): New type.
3399         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
3400         allocated.  Always create SUBREGs if simplify_subreg failed.
3401         Prefer to use cur_loc, when that fails and still in
3402         changed_variables (and seen first time) recompute it.  Set
3403         cur_loc_changed of variables which had to change cur_loc and
3404         compute elcd->cur_loc_changed if any of the subexpressions used
3405         had to change cur_loc.
3406         (vt_expand_loc): Adjust to pass arguments in
3407         expand_loc_callback_data structure.
3408         (vt_expand_loc_dummy): New function.
3409         (emitted_notes): New variable.
3410         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
3411         that weren't used for any other decl in current
3412         emit_notes_for_changes call call vt_expand_loc_dummy to update
3413         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
3414         first loc_chain location if NULL before.  Always use just
3415         cur_loc instead of first loc_chain location.  When cur_loc_changed
3416         is false, when not --enable-checking=rtl just don't emit any note.
3417         When rtl checking, compute the note and assert it is the same
3418         as previous note.  Clear cur_loc_changed and in_changed_variables
3419         at the end before removing from changed_variables.
3420         (check_changed_vars_3): New function.
3421         (emit_notes_for_changes): Traverse changed_vars to call
3422         check_changed_vars_3 on each changed var.
3423         (emit_notes_for_differences_1): Clear cur_loc_changed and
3424         in_changed_variables.  Recompute cur_loc of new_var.
3425         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
3426         (vt_emit_notes): Initialize and destroy emitted_notes.
3427
3428 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
3429
3430         PR rtl-optimization/42220
3431         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
3432         Use verify_reg_tracked to determine if we should use OP_OUT rather
3433         than OP_INOUT.
3434         (build_def_use): If we see an in-out operand for a register that we
3435         know nothing about, treat is an output if possible, fail the block if
3436         not.
3437
3438 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
3439
3440         PR debug/42897
3441         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
3442         permanently.
3443
3444 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
3445
3446         PR debug/42897
3447         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
3448         uses of relevant DEFs that are dead outside the loop too.
3449
3450 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
3451
3452         * var-tracking.c (dataflow_set_merge): Swap src and src2.
3453         Reverted:
3454         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
3455         PR debug/41371
3456         * var-tracking.c (values_to_unmark): New variable.
3457         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
3458         values_to_unmark vector.  Moved body to...
3459         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
3460         instead queue it into values_to_unmark vector.
3461         (vt_find_locations): Free values_to_unmark vector.
3462
3463 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
3464
3465         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
3466         (site.exp): Export them when plugins are enabled.
3467
3468 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
3469
3470         PR middle-end/42326
3471         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
3472         that contain scevs.
3473         (chrec_fold_multiply): Same.
3474
3475 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
3476
3477         PR c/43248
3478         * c-decl.c (build_compound_literal): Return early if init is
3479         an error_mark_node.
3480
3481 2010-03-04  Martin Jambor  <mjambor@suse.cz>
3482
3483         PR tree-optimization/43164
3484         PR tree-optimization/43191
3485         * tree-sra.c (type_consists_of_records_p): Reject records with
3486         zero-size bit-fields at the end.
3487
3488 2010-03-04  Mike Stump  <mikestump@comcast.net>
3489
3490         * Makefile.in (TAGS): Remove *.y.
3491
3492 2010-03-04  Richard Guenther  <rguenther@suse.de>
3493
3494         PR tree-optimization/40761
3495         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
3496         in reverse order.
3497         (my_rev_post_order_compute): New function.
3498         (init_pre): Call it.
3499
3500 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
3501
3502         PR middle-end/43209
3503         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
3504         decrease the cost of an IV candidate when the cost is infinite.
3505
3506 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3507
3508         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
3509         Use '3DNow!' for the extension of that name, ensure normal space
3510         after the string.
3511         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
3512
3513 2010-03-03  Jeff Law  <law@redhat.com>
3514
3515         * PR middle-end/32693
3516         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
3517         than gen_rtx_SUBREG.
3518         (extract_bit_field_1): Likewise.
3519
3520 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
3521
3522         * doc/sourcebuild.texi (Test directives): Document that arguments
3523         include-opts and exclude-opts are now optional for dg-skip-if,
3524         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
3525
3526 2010-03-03  Jason Merrill  <jason@redhat.com>
3527
3528         PR c++/12909
3529         * cgraph.h (varpool_node): Add extra_name field.
3530         * varpool.c (varpool_extra_name_alias): New.
3531         (varpool_assemble_decl): Emit extra name aliases.
3532         (varpool_mark_needed_node): Look past an extra name alias.
3533         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
3534         * lto-streamer-in.c (lto_input_tree): Read it.
3535         * lto-streamer-out.c (output_unreferenced_globals): Write it.
3536
3537 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
3538
3539         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
3540         (sparc*-*-solaris2*): ...this.
3541
3542 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
3543
3544         PR debug/43229
3545         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
3546         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
3547         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
3548         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
3549
3550         PR debug/43237
3551         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
3552         fallthrough to default handling, just with want_address 0 instead of 2.
3553         For single element lists, add_AT_loc directly, otherwise create an
3554         artificial variable DIE and stick location list to it.
3555
3556         PR debug/43177
3557         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
3558         (VAL_EXPR_HAS_REVERSE): Define.
3559         (reverse_op): New function.
3560         (add_stores): For reversible operations add an extra MO_VAL_USE.
3561
3562 2010-03-02  Jason Merrill  <jason@redhat.com>
3563
3564         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
3565
3566 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
3567
3568         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
3569         (sparc64-*-linux*): Likewise.
3570         (sparc64-*-solaris2*): Include assembler files before linker ones.
3571         (sparc-*-solaris2*): Simplify and reorder to match previous case.
3572         * config/sparc/gas.h: Delete.
3573         * config/sparc/sol2-64.h: Add copyright notice.
3574         * config/sparc/sol2-gas-bi.h: Likewise.
3575         * config/sparc/sol2-gld.h: Likewise.
3576         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
3577         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
3578         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
3579         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
3580         (sparc_elf_asm_named_section): Rename into...
3581         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
3582
3583 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
3584
3585         * config/alpha/alpha.c (override_options): Fix -mtune error message.
3586
3587 2010-03-02  Jeff Law  <law@redhat.com>
3588
3589         PR middle-end/42431
3590         * reload1.c (rtx_p, substitute_stack): Declare.
3591         (substitute): Record addresses of changed rtxs.
3592         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
3593         Restore the original rtx when complete.
3594         (reload): Free subsitute_stack when complete.
3595
3596 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
3597
3598         * doc/gccint.texi (menu): Add Testsuites as a chapter.
3599         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
3600         new chapter.
3601         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
3602         LTO Testing, gcov Testing, profopt Testing, compat Testing,
3603         Torture Tests): Change from subsection to section.
3604
3605 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
3606             Steven Bosscher  <steven@gcc.gnu.org>
3607
3608         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
3609         instead of bb.
3610
3611 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
3612
3613         PR middle-end/42640
3614         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
3615         the assignment from the new induction variable to the assignment
3616         of the value from the original loop PHI function.
3617
3618 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
3619             Daniel Jacobowitz  <dan@codesourcery.com>
3620
3621         * doc/sourcebuild.texi (Test directives): Clarify options to
3622         dg-skip-if.
3623
3624 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3625
3626         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
3627         Disable cfi directives unless GCC and gas agree on using read-only
3628         .eh_frame sections for 64-bit.
3629         * configure: Regenerate.
3630
3631 2010-03-01  Richard Guenther  <rguenther@suse.de>
3632
3633         PR tree-optimization/43220
3634         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
3635         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
3636
3637 2010-03-01  Richard Guenther  <rguenther@suse.de>
3638             Martin Jambor  <mjambor@suse.cz>
3639
3640         PR middle-end/41250
3641         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
3642         gimplified parameters.
3643
3644 2010-03-01  Christian Bruel  <christian.bruel@st.com>
3645
3646         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
3647
3648 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
3649
3650         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
3651
3652 2010-03-01  Richard Guenther  <rguenther@suse.de>
3653
3654         PR middle-end/43213
3655         * expr.c (expand_assignment): Use the alias-oracle to tell
3656         if the rhs aliases the result decl.
3657
3658 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3659
3660         PR pch/14940
3661         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
3662         to sol_gt_pch_get_address.
3663         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
3664         64-bit, SPARC and x86.
3665         (sol_gt_pch_get_address): New function.
3666
3667 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
3668
3669         * toplev.h (inform_n, error_n): Declare.
3670         * diagnostic.c (inform_n, error_n): New function.
3671
3672 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
3673
3674         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
3675         has no rtl yet when processing local_decls, queue it and recheck
3676         if deferred stack allocation hasn't assigned it rtl.
3677
3678 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
3679
3680         * config/sh/sh.c (unspec_bbr_uid): New.
3681         (gen_block_redirect): Use it instead of INSN_UID.
3682         (gen_far_branch): Likewise.
3683
3684 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
3685
3686         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
3687         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
3688
3689 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3690
3691         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
3692         (Warning Options): -Wno-conversion-null is valid for
3693         Objective-C++ as well.
3694         * doc/tm.texi (Named Address Spaces): Likewise.
3695         * doc/plugins.texi (Plugins): Replace TABs with spaces.
3696         * doc/tree-ssa.texi (Tree SSA): Likewise.
3697
3698 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3699
3700         PR bootstrap/43202
3701         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
3702         by default.  Don't set the default arch for
3703         i[34567]86-*-darwin*|x86_64-*-darwin*.
3704
3705 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3706
3707         PR bootstrap/43202
3708         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
3709         default.  Set the default 32bit/64bit archs with $with_arch
3710         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
3711
3712 2010-02-27  Richard Guenther  <rguenther@suse.de>
3713
3714         PR tree-optimization/43186
3715         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
3716         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
3717         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
3718         unroller iterations.
3719
3720 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3721
3722         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
3723         required and i[34567]86-*-* targets don't support 64bit ISA.
3724
3725 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
3726
3727         PR ada/43096
3728         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3729         the same alias set.
3730
3731 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
3732
3733         * config.gcc: Set the default arch at least to Prescott for
3734         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
3735         if SSE math is enabled.
3736
3737 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3738
3739         * diagnostic.c (diagnostic_initialize): Update.
3740         (diagnostic_report_diagnostic): Test inhibit_notes_p for
3741         informative notes.
3742         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
3743         (diagnostic_inhibit_notes): New.
3744         * toplev.c (process_options): inhibit notes with -fcompare-debug.
3745
3746 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3747
3748         PR c/20631
3749         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
3750         * doc/standards.texi: Likewise.
3751         * doc/extend.texi: Likewise.
3752         * doc/trouble.texi: Likewise.
3753         * doc/cppopts.texi: Likewise.
3754         * doc/install.texi: Likewise.
3755         * c.opt (std=c90,std=gnu90): New options.
3756         * c-opts.c (c_common_handle_option): Handle them.
3757
3758 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3759
3760         PR c/24577
3761         * c-decl.c (undeclared_variable): Use an informative note.
3762
3763 2010-02-26  Richard Guenther  <rguenther@suse.de>
3764
3765         PR tree-optimization/43186
3766         * gimple.h (gimple_fold): Remove.
3767         * gimple.c (gimple_fold): Remove.  Inline into single user ...
3768         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
3769         Try harder for conditions.
3770
3771 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
3772
3773         PR debug/43190
3774         * function.c (used_types_insert): Don't skip through named pointer
3775         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
3776         and it is different from the main variant's type.
3777
3778 2010-02-26  Nick Clifton  <nickc@redhat.com>
3779
3780         * config/rx/rx.md (sminsi3): Remove bogus alternative.
3781
3782 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
3783
3784         * config.gcc: Support --with-fpmath=sse for x86.
3785
3786         * config/i386/ssemath.h: New.
3787
3788         * doc/install.texi (--with-fpmath=sse): Documented.
3789
3790 2010-02-26  Richard Guenther  <rguenther@suse.de>
3791
3792         PR tree-optimization/43188
3793         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
3794         vector types of over-aligned element type.
3795
3796 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
3797
3798         PR target/43175
3799         * config/i386/i386.c (expand_vec_perm_blend): Use correct
3800         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
3801
3802 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
3803
3804         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
3805
3806 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
3807
3808         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
3809         * var-tracking.c: Include diagnostic.h.
3810         (debug_dv): New function.
3811         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
3812
3813         PR debug/43160
3814         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
3815         (add_value_chain, add_value_chains, remove_value_chain,
3816         remove_value_chains): Handle DEBUG_EXPRs.
3817         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
3818
3819         PR debug/43161
3820         * regcprop.c (struct queued_debug_insn_change): New type.
3821         (struct value_data_entry): Add debug_insn_changes field.
3822         (struct value_data): Add n_debug_insn_changes field.
3823         (debug_insn_changes_pool): New variable.
3824         (free_debug_insn_changes, apply_debug_insn_changes,
3825         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
3826         (kill_value_one_regno): Call free_debug_insn_changes if needed.
3827         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
3828         fields.
3829         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
3830         changes for them.
3831         (copyprop_hardreg_forward_1): Don't call apply_change_group for
3832         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
3833         changes, call cprop_find_used_regs via note_stores.
3834         (copyprop_hardreg_forward): When copying vd from predecessor
3835         which has any queued DEBUG_INSN changes, make sure the pointers are
3836         cleared.  At the end call df_analyze and then if there are any
3837         DEBUG_INSN changes queued at the end of some basic block for still
3838         live registers, apply them.
3839         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
3840
3841 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
3842
3843         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
3844         (arm*-*-*): Ditto.
3845
3846 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
3847
3848         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
3849         targets.  Set the default with_cpu/with_arch from arch/cpu.
3850         Allow x86-64 and native for with_cpu/with_arch.
3851
3852 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
3853
3854         * ebitmap.c: Change calls to verify_popcount with calls to
3855         sbitmap_verify_popcount.
3856         (ebitmap_clear_bit): Fixed map->cacheindex test and
3857         map>cache update when bit clearing results in an empty
3858         element.
3859
3860 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
3861
3862         PR target/43154
3863         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
3864         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
3865         and support both V2DF and V2DI modes.
3866         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
3867         support both V2DF and V2DI modes.
3868         (general): Delete trailing whitespace from a few patterns.
3869
3870         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3871         V2DF/V2DI interleave high/low builtins.
3872
3873         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
3874         new VSX builtins.
3875
3876         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
3877         interleave high/low functions.
3878
3879 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
3880
3881         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
3882         #pragma extern_prefix.
3883
3884 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
3885
3886         PR debug/43166
3887         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
3888         BLKmode, assert op0 is a MEM and just adjust its mode.
3889
3890         PR debug/43165
3891         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
3892         if bitpos isn't multiple of mode's bitsize.
3893
3894 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3895
3896         * c.opt (-ftemplate-depth=): New.
3897         (-ftemplate-depth-): Deprecate.
3898         * optc-gen.awk: Handle -ftemplate-depth=.
3899         * opth-gen.awk: Likewise.
3900         * c-opts.c (c_common_handle_option): Likewise.
3901         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
3902
3903 2010-02-24  Jason Merrill  <jason@redhat.com>
3904
3905         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
3906
3907 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3908
3909         * cfg.c (alloc_aux_for_block): Remove inline.
3910         (alloc_aux_for_edge): Likewise.
3911
3912 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3913
3914         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
3915
3916 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3917
3918         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
3919         * config/i386/sol2-gas.h: New file.
3920         * config.gcc (i[34567]86-*-solaris2*): Use it.
3921
3922 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3923
3924         PR c/43128
3925         * c-typeck.c (ep_convert_and_check): New.
3926         (build_conditional_expr): Use it.
3927         (build_binary_op): Likewise.
3928
3929 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
3930
3931         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
3932
3933         PR debug/43150
3934         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
3935         bounds even for -O+.
3936         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
3937         expr needs to have DECL_NAME set.
3938
3939 2010-02-24  Nick Clifton  <nickc@redhat.com>
3940
3941         * config/mep/mep.c: Include gimple.h.
3942         (mep_function_uses_sp): Delete unused function.
3943         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
3944         parameters.  Use unsigned integers to count args.  Return a
3945         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
3946
3947 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
3948
3949         PR target/43107
3950         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
3951         greater or equal to nelt instead of 2 * nelt.
3952         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
3953         with nelt - 1.
3954
3955 2010-02-23  Jason Merrill  <jason@redhat.com>
3956
3957         PR debug/42800
3958         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
3959         in cfun->local_decls even if they have register types.
3960
3961         PR c++/42837
3962         * stor-layout.c (place_field): Don't warn about unnecessary
3963         DECL_PACKED if the type is packed.
3964
3965 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
3966
3967         PR target/43139
3968         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
3969         GOTOFF relocs, even when the base reg isn't pic pointer.
3970
3971 2010-02-23  Michael Matz  <matz@suse.de>
3972
3973         PR debug/43077
3974         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
3975         (expand_gimple_basic_block): Generate and use debug temps if there
3976         are debug uses left after the last real use of TERed ssa names.
3977         Unlink debug immediate uses when they are expanded.
3978
3979 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3980
3981         PR 43123
3982         * config/i386/i386.c (override_options): Reorganise to provide
3983         better error messages.
3984
3985 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3986
3987         PR middle-end/43083
3988         * graphite-scop-detection.c (create_single_exit_edge): Move
3989         the call to find_single_exit_edge to....
3990         (create_sese_edges): ...here.  Don't handle multiple edges
3991         exiting the function.
3992         (build_graphite_scops): Don't handle multiple edges
3993         exiting the function.
3994
3995 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3996
3997         PR middle-end/43097
3998         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
3999         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
4000
4001 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
4002
4003         PR middle-end/43026
4004         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
4005
4006 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4007
4008         PR c++/43126
4009         * c-typeck.c (convert_arguments): Print declaration location.
4010         * c-common.c (validate_nargs): Rename as
4011         builtin_function_validate_nargs.
4012         (check_builtin_function_arguments): Update.
4013
4014 2010-02-22  Richard Guenther  <rguenther@suse.de>
4015
4016         PR lto/43045
4017         * tree-inline.c (declare_return_variable): Use the type of
4018         the call stmt lhs if available.
4019
4020 2010-02-22  Duncan Sands  <baldrick@free.fr>
4021
4022         * passes.c (register_pass): Always consider all pass lists when
4023         ref_pass_instance_number is zero.
4024
4025 2010-02-22  Richard Guenther  <rguenther@suse.de>
4026
4027         PR tree-optimization/42749
4028         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
4029         parameter.  Do arithmetic in the original type.
4030         (update_accumulator_with_ops): Likewise.
4031         (adjust_accumulator_values): Adjust.
4032
4033 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4034
4035         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
4036         (QI to BLKmode splitter): New splitter.
4037
4038 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
4039
4040         * config/i386/i386.c (initial_ix86_tune_features): Turn on
4041         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
4042
4043 2010-02-22  Richard Guenther  <rguenther@suse.de>
4044
4045         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
4046
4047 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
4048
4049         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
4050         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
4051         ($(T)crti.o, $(T)crtn.o): Remove rules.
4052
4053 2010-02-21  Tobias Burnus  <burnus@net-b.de>
4054
4055         PR fortran/35259
4056         * doc/invoke.texi (-fassociative-math): Document that this
4057         option is automatically enabled for Fortran.
4058
4059 2010-02-20  David S. Miller  <davem@davemloft.net>
4060
4061         * configure.ac: Test if linker and assembler properly support
4062         GOTDATA_OP relocations.
4063         * configure: Rebuild.
4064         * config.in: Likewise.
4065         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
4066         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
4067         (movsi_high_pic): Likewise.
4068         (movdi_lo_sum_pic): Likewise.
4069         (movdi_high_pic): Likewise.
4070         (movsi_pic_gotdata_op): New pattern.
4071         (movdi_pic_gotdata_op): Likewise.
4072         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
4073         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
4074
4075 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
4076
4077         PR target/43067
4078         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
4079         attribute to ssemul.
4080         (xop_mulv2div2di3_high): Ditto.
4081
4082 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4083
4084         PR c++/35669
4085         * c.opt (Wconversion-null): New option.
4086         * doc/invoke.texi (Wconversion-null): Document.
4087
4088 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4089
4090         * common.opt (Wlarger-than-): Add Undocumented.
4091
4092 2010-02-19  Mike Stump  <mikestump@comcast.net>
4093
4094         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
4095
4096 2010-02-19  Jason Merrill  <jason@redhat.com>
4097
4098         PR target/40332
4099         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
4100         * configure: Likewise.
4101
4102 2010-02-20  Alan Modra  <amodra@gmail.com>
4103
4104         PR middle-end/42344
4105         * cgraph.h (cgraph_make_decl_local): Declare.
4106         * cgraph.c (cgraph_make_decl_local): New function.
4107         (cgraph_make_node_local): Use it.
4108         * cgraphunit.c (cgraph_function_versioning): Likewise.
4109         * ipa.c (function_and_variable_visibility): Likewise.
4110
4111 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
4112
4113         PR bootstrap/43121
4114         * except.c (sjlj_emit_function_enter): Don't call
4115         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
4116         directly.
4117         * rtl.h (add_reg_br_prob_note): Remove prototype.
4118
4119 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4120
4121         PR 41779
4122         * c-common.c (conversion_warning): Remove widening conversions
4123         before checking the conversion of integers to reals.
4124
4125 2010-02-19  Mike Stump  <mikestump@comcast.net>
4126
4127         PR middle-end/43125
4128         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
4129
4130         PR objc/43061
4131         * cgraphunit.c (process_function_and_variable_attributes): Check
4132         DECL_PRESERVE_P instead of looking up attribute "used".
4133         * ipa-pure-const.c (check_decl): Likewise.
4134         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
4135         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
4136         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
4137         instead of attribute "used".
4138         * config/sol2-c.c (solaris_pragma_init): Likewise.
4139         (solaris_pragma_fini): Likewise.
4140
4141 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
4142
4143         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
4144         Use XCNEW instead of xcalloc.
4145         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
4146         XNEW instead of xmalloc.
4147         (get_fields): Use XNEWVEC instead of xmalloc.
4148
4149         PR debug/43084
4150         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
4151         populate vars array.
4152         (create_new_general_access): For debug stmts just reset value.
4153         (get_stmt_accesses): For accesses within debug stmts just record them
4154         using add_access_to_acc_sites instead of preventing the peeling or
4155         counting them as accesses.
4156
4157         PR middle-end/42233
4158         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
4159
4160 2010-02-19  Richard Guenther  <rguenther@suse.de>
4161
4162         PR tree-optimization/42916
4163         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
4164         instructions.
4165
4166 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
4167
4168         * configure.ac: Replace all uses of changequote in macro arguments
4169         with proper quoting.
4170
4171 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
4172
4173         PR middle-end/42233
4174         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
4175
4176 2010-02-19  Richard Guenther  <rguenther@suse.de>
4177
4178         PR tree-optimization/42944
4179         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
4180         test for aliasing with errno.
4181
4182 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
4183
4184         PR middle-end/42233
4185         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
4186         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
4187         * dojump.c: Include output.h.
4188         (inv): New inline function.
4189         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
4190         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
4191         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
4192         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
4193         argument, pass it down to other calls.
4194         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
4195         add REG_BR_PROB note to the conditional jump.
4196         * cfgexpand.c (add_reg_br_prob_note): Removed.
4197         (expand_gimple_cond): Don't call it, add the probability
4198         as last argument to jumpif_1/jumpifnot_1.
4199         * Makefile.in (dojump.o): Depend on output.h.
4200         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
4201         callers.
4202         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
4203         * stmt.c (do_jump_if_equal): Likewise.
4204         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
4205         * loop-unswitch.c (compare_and_jump_seq): Likewise.
4206         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
4207         Likewise.
4208         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
4209         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
4210         jumpifnot_1 callers.
4211         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
4212         callers.
4213         (store_expr): Adjust jumpifnot caller.
4214         (store_constructor): Adjust jumpif caller.
4215
4216         PR middle-end/42233
4217         * gimplify.c (gimple_boolify): For __builtin_expect call
4218         gimple_boolify also on its first argument.
4219
4220 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
4221
4222         * configure.ac (gnu-unique-object): Wrap regexps using [] in
4223         changequote block.
4224         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
4225         * configure: Regenerated.
4226
4227 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4228
4229         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
4230         lang_hooks.types_compatible_p instead of comptypes.
4231
4232 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
4233
4234         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
4235         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
4236         if __prefer_thumb__ is defined.
4237
4238 2010-02-18  Martin Jambor  <mjambor@suse.cz>
4239
4240         PR tree-optimization/43066
4241         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
4242         array with zero-sized element type.
4243
4244 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
4245
4246         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
4247         rtx, allocate struct var_loc_node here and return it to the
4248         caller, and only if it is actually needed.
4249         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
4250         move it earlier and return immediately if it returns NULL.
4251
4252 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
4253
4254         * config/sparc/gas.h: New file.  Restore
4255         TARGET_ASM_NAMED_SECTION to its ELF default.
4256         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
4257         check !HAVE_GNU_AS.
4258         * config/sparc/sparc.c (sparc_elf_asm_named_section):
4259         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
4260         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
4261         after sparc/sysv4.h.
4262
4263 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
4264
4265         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
4266
4267 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
4268
4269         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
4270         patterns from predicated pattern.
4271
4272 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
4273
4274         PR target/43103
4275         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
4276         for insn mnemonic suffix.
4277
4278 2010-02-17  Richard Guenther  <rguenther@suse.de>
4279
4280         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
4281         to loop PHI nodes.
4282
4283 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
4284
4285         PR debug/42918
4286         * caller-save.c (save_call_clobbered_regs): If BB ends with
4287         a DEBUG_INSN, move any notes in between last real insn and the last
4288         DEBUG_INSN after the last DEBUG_INSN.
4289
4290 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
4291
4292         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
4293         Fix return type.  Fix argument type.  Explain meaning of return value.
4294
4295 2010-02-16  Richard Guenther  <rguenther@suse.de>
4296
4297         PR tree-optimization/41043
4298         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
4299         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
4300         statements ...
4301         (vrp_visit_phi_node): ... but only for loop PHI nodes.
4302
4303 2010-02-16  Ira Rosen <irar@il.ibm.com>
4304
4305         PR tree-optimization/43074
4306         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
4307         * tree-vect-loop.c (vect_analyze_loop_operations): Add
4308         vectorizable cycles in hybrid SLP check.
4309         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
4310
4311 2010-02-16  Richard Guenther  <rguenther@suse.de>
4312
4313         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
4314         (true_dependence): If memrefs_conflict_p computes must-alias
4315         trust it.  Move TBAA check after offset-based disambiguation.
4316         (canon_true_dependence): Likewise.
4317
4318 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
4319
4320         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
4321         * doc/invoke.texi: Document it.
4322         * var-tracking.c: Include toplev.h and params.h.
4323         (vt_find_locations): Return bool indicating success.  Compute
4324         hash sizes unconditionally.  Check new parameter, report.
4325         (variable_tracking_main_1): Check vt_find_locations results and
4326         retry.  Renamed from...
4327         (variable_tracking_main): ... this.  New wrapper to preserve
4328         flag_var_tracking_assignments.
4329         * Makefile.in (var-tracking.o): Adjust dependencies.
4330
4331 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
4332             Jakub Jelinek <jakub@redhat.com>
4333
4334         PR target/42854
4335         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
4336         if weak_import attribute is present.
4337         * config/darwin.c (machopic_select_section): Likewise.
4338
4339 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
4340
4341         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
4342         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
4343         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
4344         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
4345
4346         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
4347
4348         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
4349         Fix argument types.
4350
4351         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
4352         Rewrite text to refer to the names.
4353
4354 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
4355
4356         * config/i386/i386-builtin-types.def
4357         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
4358         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
4359         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
4360         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
4361         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
4362         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
4363         IX86_BUILTIN_VPERMIL2PS256.
4364         (MULTI_ARG_4_DF2_DI_I): Defined.
4365         (MULTI_ARG_4_DF2_DI_I1): Defined.
4366         (MULTI_ARG_4_SF2_SI_I): Defined.
4367         (MULTI_ARG_4_SF2_SI_I1): Defined.
4368         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
4369         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
4370         __builtin_ia32_vpermil2ps256.
4371         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
4372         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
4373         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
4374         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
4375         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
4376         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
4377         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
4378         CODE_FOR_xop_vpermil2v8sf3.
4379         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
4380         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
4381         * config/i386/xopintrin.h (_mm_permute2_pd): New.
4382         (_mm256_permute2_pd): New.
4383         (_mm_permute2_ps): New.
4384         (_mm256_permute2_ps): New.
4385
4386 2010-02-15  Nick Clifton  <nickc@redhat.com>
4387
4388         * config/h8300/h8300.c (h8300_push_pop): Use bool type for
4389         boolean parameters.  Use emit_jump_insn when emitting a pop
4390         instruction containing a return insn.
4391         (push): Use 'true' rather than '1' as second parameter to F.
4392         (h8300_expand_prologue): Likewise.
4393         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
4394         (h8300_expand_epilogue): Likewise.
4395
4396 2010-02-15  Richard Guenther  <rguenther@suse.de>
4397
4398         PR middle-end/43068
4399         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
4400         if that is zero.
4401
4402 2010-02-15  Nick Clifton  <nickc@redhat.com>
4403
4404         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
4405         delta.
4406
4407 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
4408
4409         * intl.c (fake_ngettext): New function.
4410         * intl.h (fake_ngettext): Declare.
4411         (ngettext): Define macro.
4412         * collect2.c (notice_translated): New function.
4413         (main): Use notice_translated and ngettext.
4414         * collect2.h (notice_translated): Declare.
4415
4416 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
4417
4418         * reorg.c (delete_computation): Comment fixes.
4419         * caller-save.c (setup_save_areas): Idem.
4420         * sel-sched-dump.c (dump_lv_set): Idem.
4421         * rtl.def: Idem.
4422
4423 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4424
4425         * config/s390/s390.c (s390_sched_init): New function.
4426         (TARGET_SCHED_INIT): Target hook defined.
4427
4428 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
4429             Jack Howarth  <howarth@bromo.med.uc.edu>
4430             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
4431
4432         PR target/42982
4433         Partial revert of unintended change in fix for PR41605.
4434         * config/darwin.h: Fix typo.
4435         * config/darwin9.h: Same.
4436
4437 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
4438
4439         * c-pch.c (pch_init): Clear v.
4440
4441 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
4442
4443         PR middle-end/42930
4444         * graphite-scop-detection.c (graphite_can_represent_scev): Call
4445         graphite_can_represent_init for MULT_EXPR.
4446
4447 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
4448
4449         PR middle-end/42914
4450         PR middle-end/42530
4451         * graphite-sese-to-poly.c (remove_phi): New.
4452         (translate_scalar_reduction_to_array): Call remove_phi.
4453
4454 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
4455
4456         PR middle-end/42771
4457         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
4458         * graphite-clast-to-gimple.h (gloog): Update declaration.
4459         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
4460         * graphite-poly.h (struct poly_bb): Add missing comments.
4461         (struct scop): Add poly_scop_p field.
4462         (POLY_SCOP_P): New.
4463         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
4464         * graphite.c (graphite_transform_loops): Build the polyhedral
4465         representation for each scop before code generation.
4466         * sese.c (rename_variables_in_operand): Removed.
4467         (rename_variables_in_expr): Return the renamed expression.
4468         (rename_sese_parameters): New.
4469         * sese.h (rename_sese_parameters): Declared.
4470
4471 2010-02-11  Richard Guenther  <rguenther@suse.de>
4472
4473         PR tree-optimization/42998
4474         * tree-ssa-pre.c (create_expression_by_pieces): Treat
4475         POINTER_PLUS_EXPR properly.
4476
4477 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
4478             Changpeng Fang  <changpeng.fang@amd.com>
4479
4480         PR middle-end/40886
4481         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
4482         the cost of an IV candidate when the IV is used in a test against zero.
4483
4484         * gcc.dg/tree-ssa/ivopts-3.c: New.
4485
4486 2010-02-11  Richard Guenther  <rguenther@suse.de>
4487
4488         PR lto/41664
4489         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
4490         pointer-vs-decl case by swapping refs.  Handle some cases
4491         of pointer-vs-decl disambiguations more conservatively.
4492         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
4493         to false after expanding.
4494
4495 2010-02-11  Richard Guenther  <rguenther@suse.de>
4496
4497         PR driver/43021
4498         * gcc.c (process_command): Handle LTO file@offset case more
4499         appropriately.
4500
4501 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
4502
4503         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
4504         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
4505         of DEBUG_INSNs.
4506         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
4507
4508         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
4509         if MEM's mode size isn't DWARF2_ADDR_SIZE.
4510         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
4511         Optimize eq/ne comparisons when both arguments are known to be
4512         zero-extended.
4513         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
4514         Don't mask operands unnecessarily if they are known to be already
4515         zero-extended.
4516
4517 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
4518
4519         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
4520         instead of loop.
4521
4522 2010-02-10  Richard Guenther  <rguenther@suse.de>
4523
4524         PR tree-optimization/43017
4525         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
4526         for wrapping signed arithmetic.
4527
4528 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
4529
4530         PR debug/43010
4531         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
4532         if no debug info should be emitted for it.
4533
4534 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
4535
4536         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
4537         note when flag_exceptions is set.
4538
4539 2010-02-10  Duncan Sands  <baldrick@free.fr>
4540
4541         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
4542
4543 2010-02-10  Richard Guenther  <rguenther@suse.de>
4544
4545         PR c/43007
4546         * tree.c (get_unwidened): Handle constants.
4547         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
4548
4549 2010-02-10  Martin Jambor  <mjambor@suse.cz>
4550
4551         PR lto/42985
4552         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
4553         check for variable argument counts independently.
4554
4555 2010-02-10  Christian Bruel  <christian.bruel@st.com>
4556
4557         PR target/42841
4558         * config/sh/sh.c (find_barrier): Increase length for non delayed
4559         conditional branches.
4560
4561 2010-02-10  Christian Bruel  <christian.bruel@st.com>
4562
4563         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
4564
4565 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
4566
4567         * builtins.c (set_builtin_user_assembler_name): Also handle
4568         ffs if int is smaller than word.
4569
4570 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
4571
4572         PR middle-end/42973
4573         * ira-conflicts.c (get_dup): Remove.
4574         (process_reg_shuffles): Add new parameter.  Use it as an
4575         additional guard for copy generation.
4576         (add_insn_allocno_copies): Rewrite.
4577
4578 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
4579
4580         * common.opt (fsched2-use-traces): Preserved for backward
4581         compatibility.
4582         * doc/invoke.texi: Remove the documentation about option
4583         -fsched2-use-traces.
4584         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
4585         flag_sched2_use_traces.
4586         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
4587         the backward compatibility flag section.
4588
4589 2010-02-09  Richard Guenther  <rguenther@suse.de>
4590
4591         PR tree-optimization/43008
4592         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
4593         make HEAP variables initialized from global memory if they
4594         are not known builtin functions.
4595         (find_func_aliases): Adjust.
4596
4597 2010-02-09  Richard Guenther  <rguenther@suse.de>
4598
4599         PR tree-optimization/43000
4600         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
4601         arithmetic manually.
4602
4603 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
4604
4605         PR tree-optimization/42931
4606         * tree-loop-linear.c (try_interchange_loops): Don't call
4607         double_int_mul if estimated_loop_iterations failed.
4608
4609 2010-02-08  Martin Jambor  <mjambor@suse.cz>
4610
4611         PR middle-end/42898
4612         * tree-sra.c (build_accesses_from_assign): Do not mark in
4613         should_scalarize_away_bitmap if stmt has volatile ops.
4614         (sra_modify_assign): Do not process assigns piecemeal if if stmt
4615         has volatile ops.
4616
4617 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
4618
4619         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
4620
4621 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
4622
4623         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
4624         before the pattern.
4625
4626 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
4627
4628         PR middle-end/42946
4629         * df-core.c (df_finish_pass): Change type of saved_flags to int.
4630
4631 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
4632
4633         PR middle-end/42988
4634         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
4635         to unknown_dependence.
4636         (graphite_legal_transform_dr): Handle the unknown_dependence.
4637         (graphite_carried_dependence_level_k): Same.
4638
4639 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
4640
4641         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
4642
4643 2010-02-07  Richard Guenther  <rguenther@suse.de>
4644
4645         PR middle-end/42991
4646         * expr.c (get_inner_reference): Always initialize *pbitsize.
4647
4648 2010-02-07  Richard Guenther  <rguenther@suse.de>
4649
4650         PR middle-end/42956
4651         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
4652         new ARRAY_REFs on variable size element or minimal index arrays.
4653         Complete.
4654         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
4655         gimple_fold_indirect_ref.
4656
4657 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
4658
4659         PR target/42957
4660         * arm.c (arm_override_options): Just return if the user has specified
4661         an invalid fpu name.
4662
4663 2010-02-03  Jason Merrill  <jason@redhat.com>
4664
4665         PR c++/42870
4666         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
4667         i386_pe_maybe_record_exported_symbol.
4668
4669 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
4670
4671         PR target/42924
4672         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
4673         (pa_delegitimize_address): New function.
4674
4675 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
4676
4677         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
4678         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
4679
4680 2010-02-05  Richard Guenther  <rguenther@suse.de>
4681
4682         PR lto/42762
4683         * lto-streamer-in.c (get_resolution): Deal with references
4684         to undefined functions.
4685
4686 2010-02-05  Richard Guenther  <rguenther@suse.de>
4687
4688         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
4689         (fold_const_aggregate_ref): Likewise.
4690         (ccp_fold_stmt): Substitute loads.
4691         (maybe_fold_reference): Verify types before substituting.
4692         Unshare properly.
4693         (fold_gimple_assign): Unshare properly.
4694         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
4695
4696 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
4697
4698         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
4699         for rs6000_gen_cell_microcode.
4700
4701 2010-02-04  Richard Guenther  <rguenther@suse.de>
4702
4703         PR rtl-optimization/42952
4704         * dse.c (const_or_frame_p): Remove MEM handling.
4705
4706 2010-02-04  Nick Clifton  <nickc@redhat.com>
4707
4708         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
4709         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
4710         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
4711         (mn10300_asm_output_mi_thunk): New function.
4712         (mn10300_can_output_mu_thunk): New function.
4713         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
4714         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
4715         (FUNCTION_ARG): Delete incorrect comment.
4716
4717 2010-02-03  Jason Merrill  <jason@redhat.com>
4718
4719         PR c++/40138
4720         * fold-const.c (operand_equal_p): Handle erroneous types.
4721
4722 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
4723
4724         * config/h8300/h8300.md (can_delay): Fix attibute condition.
4725
4726 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
4727
4728         PR rtl-optimization/42941
4729         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
4730         of xmalloc.
4731
4732 2010-02-03  Jason Merrill  <jason@redhat.com>
4733
4734         PR c++/35652
4735         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
4736
4737 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
4738
4739         PR debug/42896
4740         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
4741         (cselib_reset_table): Renamed from...
4742         (cselib_reset_table_with_next_value): ... this.
4743         (cselib_get_next_uid): Renamed from...
4744         (cselib_get_next_unknown_value): ... this.
4745         * cselib.c (next_uid): Renamed from...
4746         (next_unknown_value): ... this.
4747         (cselib_clear_table): Adjust.
4748         (cselib_reset_table): Adjust.  Renamed from...
4749         (cselib_reset_table_with_next_value): ... this.
4750         (cselib_get_next_uid): Adjust.  Renamed from...
4751         (cselib_get_next_unknown_value): ... this.
4752         (get_value_hash): Use hash.
4753         (cselib_hash_rtx): Likewise.
4754         (new_cselib_val): Adjust.  Set and dump uid.
4755         (cselib_lookup_mem): Pass next_uid as hash.
4756         (cselib_subst_to_values): Likewise.
4757         (cselib_log_lookup): Dump uid.
4758         (cselib_lookup): Pass next_uid as hash.  Adjust.
4759         (cselib_process_insn): Adjust.
4760         (cselib_init): Initialize next_uid.
4761         (cselib_finish): Adjust.
4762         (dump_cselib_table): Likewise.
4763         * dse.c (canon_address): Dump value uid.
4764         * print-rtl.c (print_rtx): Print value uid.
4765         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
4766         (dvuid): New type.
4767         (dv_uid): New function, sort of renamed from...
4768         (dv_htab_hash): ... this, reimplemented in terms of it and...
4769         (dv_uid2hash): ... this.  New.
4770         (variable_htab_eq): Drop excess assertions.
4771         (tie_break_pointers): Removed.
4772         (canon_value_cmp): Compare uids.
4773         (variable_post_merge_New_vals): Print uids.
4774         (vt_add_function_parameters): Adjust.
4775         (vt_initialize): Reset table.  Adjust.
4776
4777 2010-02-03  Richard Guenther  <rguenther@suse.de>
4778
4779         PR tree-optimization/42944
4780         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
4781         (call_may_clobber_ref_p_1): Likewise.  Properly handle
4782         malloc and calloc clobbering errno.
4783
4784 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
4785
4786         * doc/invoke.texi: Fix name of sched1 dump.
4787
4788         * opts.c (decode_options): Set flag_tree_switch_conversion
4789         only conditionally on optimize >= 2.
4790
4791         * gcse.c: Assorted comment fixes in pass description.
4792
4793 2010-02-03  Anthony Green  <green@moxielogic.com>
4794
4795         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
4796         nop padding in order to maintain alignment of storage location of
4797         target function address.
4798         (moxie_trampoline_init): Store target function address at newly
4799         aligned location.
4800         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
4801         to 32.
4802         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
4803
4804 2010-02-03  Richard Guenther  <rguenther@suse.de>
4805
4806         PR middle-end/42927
4807         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
4808
4809 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4810
4811         * config.gcc: Reenable check for obsolete targets.
4812         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
4813         mips-sgi-irix6.[0-4]*.
4814
4815 2010-02-02  Nick Clifton  <nickc@redhat.com>
4816
4817         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
4818         constant size of 4 as being the same as 0.
4819         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
4820         can take values in the range 0..4.
4821
4822 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
4823
4824         PR java/41991
4825         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
4826         as _darwin10_Unwind_FindEnclosingFunction().
4827         * libgcc-libsystem.ver: New.
4828
4829 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
4830
4831         PR target/41399
4832         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
4833         implicitly set registers.
4834
4835 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
4836
4837         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
4838         (arm_override_options): Allow automatic selection of the thread
4839         pointer register if thumb2.
4840         (legitimize_pic_address): Improve code sequences for Thumb2.
4841         (arm_call_tls_get_addr): Likewise.
4842         (legitimize_tls_address): Likewise.
4843         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
4844         (pic_load_addr_32bit): ... this.  New named pattern.
4845         * thumb2.md (pic_load_addr_thumb2): Delete.
4846         (pic_load_dot_plus_four): Delete.
4847         (tls_load_dot_plus_four): New named pattern.
4848
4849 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4850
4851         PR libgomp/29986
4852         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
4853         Document fix for TLS bug.
4854
4855 2010-01-31  Richard Guenther  <rguenther@suse.de>
4856
4857         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
4858         conservatively correct.
4859
4860 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4861
4862         PR target/42850
4863         Revert:
4864         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4865
4866         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
4867
4868 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4869
4870         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
4871
4872 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
4873
4874         * config.gcc: Adjust order of makefile fragments for mingw targets.
4875
4876 2010-01-31  Richard Guenther  <rguenther@suse.de>
4877
4878         PR middle-end/42898
4879         * gimplify.c (gimplify_init_constructor): For volatile LHS
4880         initialize a temporary.
4881
4882 2010-01-31  Matthias Klose  <doko@ubuntu.com>
4883
4884         * configure.ac: Fix __stack_chk_fail check for cross builds configured
4885         --with-headers
4886         * configure: Regenerate.
4887
4888 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
4889
4890         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
4891         the same alias set and their sizes different constantness.
4892         (aliasing_component_refs_p): Revert 2009-10-24 change.
4893
4894 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4895
4896         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
4897         unused.
4898
4899 2010-01-29  Richard Guenther  <rguenther@suse.de>
4900
4901         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
4902         Assert we successfully updated the call.
4903
4904 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
4905
4906         PR rtl-optimization/42889
4907         * df.h (df_set_bb_dirty_nonlr): New prototype.
4908         * df-core.c (df_set_bb_dirty_nonlr): New function.
4909         * df-scan.c (df_insn_rescan): Call it instead of
4910         df_set_bb_dirty for DEBUG_INSNs.
4911
4912 2010-01-29  Richard Guenther  <rguenther@suse.de>
4913
4914         PR middle-end/37448
4915         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
4916         quadratic behavior in most cases.
4917
4918 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
4919
4920         PR target/42891
4921         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
4922         in the call to gen_x86_movsicc_0_m1.
4923
4924 2010-01-28  Richard Guenther  <rguenther@suse.de>
4925
4926         PR tree-optimization/42871
4927         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
4928
4929 2010-01-28  Richard Guenther  <rguenther@suse.de>
4930
4931         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
4932         into call arguments.
4933
4934 2010-01-28  Richard Guenther  <rguenther@suse.de>
4935
4936         PR middle-end/42883
4937         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
4938         the forwarder if the destination is an EH landing pad.
4939
4940 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
4941
4942         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
4943         block list passed to gimple_duplicate_sese_tail.
4944         (parallelize_loops): Avoid parallelization when the function
4945         has_nonlocal_label.
4946         Avoid parallelization when the preheader is IRREDUCIBLE.
4947         Try to optimize when estimated_loop_iterations_int is unresolved.
4948         Add the loop's location to the dump file.
4949         * tree-cfg.c (add_phi_args_after_redirect): Remove.
4950         (gimple_duplicate_sese_tail): Remove the check for the latch.
4951         Redirect nexits to the exit block.
4952         Remove handling of the incoming edges to the latch.
4953         Redirect the backedge from the copied latch to the exit bb.
4954
4955 2010-01-28  Michael Matz  <matz@suse.de>
4956
4957         PR target/42881
4958         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
4959         Wrap force_reg into a sequence, emit it before user.
4960
4961 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
4962
4963         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
4964         (arm_rev): New.
4965         (arm_legacy_rev): Likewise.
4966         (thumb_legacy_rev): Likewise.
4967
4968 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
4969
4970         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
4971         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
4972         on MEM's address failed, try avoid_constant_pool_reference and
4973         recurse if it returned something different.
4974         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
4975         address, try avoid_constant_pool_reference and recurse if it
4976         returned something different.
4977         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
4978         address and avoid_constant_pool_reference returned something
4979         different, don't set have_address.
4980
4981 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
4982
4983         PR debug/42861
4984         * var-tracking.c (val_store): Add modified argument, obey it.
4985         Adjust callers.
4986         (count_uses): Move down logging of main.
4987         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
4988         don't need resolution.
4989         (emit_notes_in_bb): Likewise.
4990
4991 2010-01-27  Richard Guenther  <rguenther@suse.de>
4992
4993         PR middle-end/42878
4994         * tree-inline.c (remap_decl): Delay remapping of SSA name
4995         default definitions until we need them.
4996
4997 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
4998
4999         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
5000         (rs6000_delegitimize_address): New function.
5001
5002         * config/s390/s390.c (s390_delegitimize_address): Call
5003         delegitimize_mem_from_attrs.
5004
5005         PR middle-end/42874
5006         * tree-inline.c (cannot_copy_type_1): Removed.
5007         (copy_forbidden): Don't forbid copying of functions containing
5008         records/unions with variable length fields.
5009
5010 2010-01-27  Christian Bruel  <christian.bruel@st.com>
5011
5012         Revert:
5013         PR target/42841
5014         * config/sh/sh.c (find_barrier): Increase length for non delayed
5015         conditional branches.
5016
5017 2010-01-27  Matthias Klose  <doko@ubuntu.com>
5018
5019         * configure.ac (gnu-unique-object): Fix ldd version check.
5020         * configure: Regenerate.
5021
5022 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5023
5024         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
5025         HAVE_GNU_AS value.
5026         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
5027         Test for HAVE_GNU_AS value.
5028
5029 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5030
5031         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
5032         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
5033         INT64_TYPE): Define.
5034         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
5035         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
5036         INT_LEAST64_TYPE): Define.
5037         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
5038         UINT_LEAST64_TYPE): Define.
5039         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
5040         INT_FAST64_TYPE): Define.
5041         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
5042         UINT_FAST64_TYPE): Define.
5043         (INTMAX_TYPE, UINTMAX_TYPE): Define.
5044         (INTPTR_TYPE, UINTPTR_TYPE): Define.
5045         (SIG_ATOMIC_TYPE): Define.
5046
5047 2010-01-26  Richard Guenther  <rguenther@suse.de>
5048
5049         * df-scan.c (df_scan_set_bb_info): Remove assert.
5050         (df_insn_rescan_debug_internal): Merge asserts.
5051         (df_install_ref): Likewise.
5052         (df_mark_reg): Use bitmap_set_range.
5053         (df_hard_reg_used_p): Remove assert.
5054         (df_hard_reg_used_count): Likewise.
5055
5056 2010-01-26  Richard Guenther  <rguenther@suse.de>
5057
5058         PR rtl-optimization/42685
5059         * web.c (web_main): Ignore DEBUG_INSNs.
5060
5061 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
5062
5063         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
5064
5065         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
5066         Fix types of fndecl and arglist parameters.
5067
5068 2010-01-26  Richard Guenther  <rguenther@suse.de>
5069
5070         PR middle-end/42806
5071         * tree-eh.c (unsplit_eh): Skip debug insns.
5072
5073 2010-01-26  Richard Guenther  <rguenther@suse.de>
5074
5075         PR tree-optimization/42250
5076         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
5077
5078 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
5079
5080         PR fortran/42866
5081         * omp-low.c (expand_omp_sections): Only use single_pred if
5082         l2_bb is single_pred_p.
5083
5084 2010-01-25  Christian Bruel  <christian.bruel@st.com>
5085
5086         PR target/42841
5087         * config/sh/sh.c (find_barrier): Increase length for non delayed
5088         conditional branches.
5089         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
5090
5091 2010-01-24  David S. Miller  <davem@davemloft.net>
5092
5093         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
5094         define if not using GAS.
5095         * config/sparc/sparc.c (sparc_elf_asm_named_section):
5096         Likewise.  Delete SECTION_MERGE code, which is only applicable
5097         when using GAS.
5098
5099 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
5100
5101         PR c++/42748
5102         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
5103         mangling of va_list in system headers.
5104
5105 2010-01-23  Toon Moene  <toon@moene.org>
5106
5107         * tree-predcom.c (combine_chains): Return NULL, not false.
5108
5109 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
5110
5111         * tree-loop-distribution.c (distribute_loop): Fix declaration and
5112         initialization of variable res to agree with return type.
5113
5114 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
5115
5116         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
5117         * tree-sra.c: Add include of expr.h.
5118
5119 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
5120
5121         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
5122         insert the debug stmt on the single non-EH edge from the stmt.
5123
5124 2010-01-22  Richard Henderson  <rth@redhat.com>
5125
5126         PR tree-opt/42833
5127         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
5128         the RHS until after generate_subtree_copies has insertted its
5129         code before the current statement.
5130
5131 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
5132
5133         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
5134
5135         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
5136
5137 2010-01-21  Martin Jambor  <mjambor@suse.cz>
5138
5139         PR tree-optimization/42585
5140         * tree-sra.c (struct access): New field grp_total_scalarization.
5141         (dump_access): Dump the new field.
5142         (should_scalarize_away_bitmap): New variable.
5143         (cannot_scalarize_away_bitmap): Likewise.
5144         (sra_initialize): Allocate new bitmaps.
5145         (sra_deinitialize): Free new bitmaps.
5146         (create_access_1): New function.
5147         (create_access): Parts moved to create_access_1.
5148         (type_consists_of_records_p): New function.
5149         (completely_scalarize_record): Likewise.
5150         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
5151         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
5152         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
5153         access.
5154         (analyze_all_variable_accesses): Completely scalarize small eligible
5155         records.
5156
5157 2010-01-21  Martin Jambor  <mjambor@suse.cz>
5158
5159         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
5160
5161 2010-01-21  Andrew Haley  <aph@redhat.com>
5162
5163         * gcc.c (process_command): Move lang_specific_driver before
5164         setting cc_libexec_prefix.
5165
5166 2010-01-21  Richard Guenther  <rguenther@suse.de>
5167
5168         PR middle-end/19988
5169         * fold-const.c (negate_expr_p): Pretend only negative
5170         real constants are easily negatable.
5171
5172 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
5173             Jason Merrill  <jason@redhat.com>
5174
5175         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
5176         (TYPE_TRANSPARENT_AGGR): this, for union and record.
5177         * calls.c (initialize argument_information): Handle it.
5178         * c-common.c (handle_transparent_union_attribute): Use new name.
5179         * c-decl.c (finish_struct): Ditto.
5180         * c-typeck.c (type_lists_compatible_p): Ditto.
5181         (convert_for_assignment): Use new name and also handle record.
5182         * function.c (aggregate_value_p): Handle it.
5183         (pass_by_reference): Ditto.
5184         (assign_parm_data_types): Ditto.
5185         * print-tree.c (print_node): Ditto.
5186         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
5187         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
5188         * tree.c (first_field): New fn.
5189
5190 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
5191
5192         PR target/42818
5193         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
5194         even when linking statically, for now.
5195
5196 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
5197
5198         PR debug/42715
5199         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
5200         without a cselib val.
5201         (count_uses): Accept MO_VAL_SET with no val on stores.
5202         (add_stores): Likewise.
5203
5204 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
5205
5206         * var-tracking.c (check_value_val): Add a compile time assertion.
5207         (dv_is_decl_p): Simplify.
5208         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
5209         gcc_assert if ENABLE_CHECKING.
5210
5211 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
5212
5213         PR debug/42782
5214         * var-tracking.c: Include tree-flow.h.
5215         (mem_dies_at_call): New.
5216         (dataflow_set_preserve_mem_locs): Use it.
5217         (dataflow_set_remove_mem_locs): Likewise.
5218         (dump_var): Renamed from dump_variable.  Adjust all callers.
5219         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
5220         * Makefile.in (var-tracking.o): Adjust deps.
5221
5222 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
5223
5224         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
5225
5226 2010-01-20  Richard Guenther  <rguenther@suse.de>
5227
5228         PR tree-optimization/42717
5229         * tree-ssa-dce.c (get_live_post_dom): Remove.
5230         (forward_edge_to_pdom): Take an arbitrary edge to copy
5231         degenerate PHI args from.
5232         (remove_dead_stmt): Use the first post-dominator even if it
5233         does not contain live statements as redirection destination.
5234
5235 2010-01-20  Richard Guenther  <rguenther@suse.de>
5236
5237         * tree-inline.c (estimate_num_insns): Handle EH builtins.
5238
5239 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
5240
5241         * sel-sched.c (create_speculation_check): Remove set but not used
5242         variable twin.
5243         (try_transformation_cache): Remove set but not used variable ds.
5244         (calculate_privileged_insns): Remove set but not used variables
5245         cur_insn and min_spec_insn.
5246         (find_best_expr): Remove set but not used variable avail_n.
5247         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
5248         variable e.
5249         * cgraphunit.c (assemble_thunk): Remove set but not used variable
5250         false_label.
5251         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
5252         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
5253         new_scop_exit_edge.
5254
5255 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
5256
5257         PR bootstrap/42786
5258         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
5259         cpu types.  Add support for *-sse3 cpu types.
5260         (x86_64-*-*): Ditto.
5261
5262 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
5263
5264         PR middle-end/42803
5265         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
5266         argument, call initializer_constant_valid_p_1 instead of
5267         initializer_constant_valid_p, pass CACHE to it, return NULL
5268         immediately if first call returns NULL.
5269         (initializer_constant_valid_p_1): New function.
5270         (initializer_constant_valid_p): Use it.
5271
5272 2010-01-20  Thomas Quinot  <quinot@adacore.com>
5273
5274         * tree.def (PLACEHOLDER_EXPR): Fix comment.
5275
5276 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
5277
5278         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
5279         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
5280         (loc_list_from_tree): Don't handle unsigned division.  Handle
5281         signed modulo using DW_OP_{over,over,div,mul,minus}.
5282         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
5283         modulo instead of signed.
5284
5285 2010-01-20  DJ Delorie  <dj@redhat.com>
5286
5287         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
5288         (Fpa): Pass it
5289         (h8300_emit_stack_adjustment): Propogate it.
5290         (push): Pass it.
5291         (h8300_expand_prologue): Likewise.
5292         (h8300_expand_epilogue): Likewise.
5293
5294 2010-01-19  Michael Matz  <matz@suse.de>
5295
5296         PR tree-optimization/41783
5297         * tree-data-ref.c (toplevel): Include flags.h.
5298         (dump_data_dependence_relation):  Also dump the inputs if the
5299         result will be unknown.
5300         (split_constant_offset_1): Look through some conversions.
5301         * tree-predcom.c (determine_roots_comp): Restart a new chain if
5302         the offset from last element is too large.
5303         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
5304         (reassociate_to_the_same_stmt): Handle vector registers.
5305         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
5306         (e.g. conversions).
5307         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
5308         wide_prolog_niters argument, emit widening instructions.
5309         (vect_do_peeling_for_alignment): Adjust caller, use widened
5310         variant of the iteration cound.
5311         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
5312
5313 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5314
5315         PR target/38697
5316         * config/arm/neon-testgen.m (emit_automatics): New parameter
5317         features. Adjust for Fixed_return_reg feature.
5318         (test_intrinsic): Call emit_automatics with new feature.
5319         * config/arm/neon.ml: Update copyright years.
5320         (features): New Fixed_return_reg feature.
5321         (ops): Update feature for Vget_low.
5322
5323 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
5324
5325         PR tree-optimization/42719
5326         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
5327         stmt uses.
5328
5329         PR debug/42728
5330         * fwprop.c (all_uses_available_at): Return false if def_set dest
5331         is a REG that is used in def_insn.
5332
5333 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
5334
5335         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
5336
5337         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
5338         Add argument names.
5339
5340         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
5341
5342         * target.h (struct gcc_target) <secondary_reload>: Change type
5343         of last argument to secondary_reload_info *.
5344
5345 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
5346
5347         PR target/42774
5348         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
5349         memory references with unaligned offsets.  Remove CQImode handling.
5350         (unaligned_memory_operand): Return 1 for memory references with
5351         unaligned offsets.  Remove CQImode handling.
5352
5353 2010-01-18  Richard Guenther  <rguenther@suse.de>
5354
5355         PR middle-end/39954
5356         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
5357         builtin calls.
5358
5359 2010-01-18  Richard Guenther  <rguenther@suse.de>
5360
5361         PR tree-optimization/42781
5362         * tree-ssa-structalias.c (find_what_var_points_to): Skip
5363         restrict processing only if the original variable was artificial.
5364
5365 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
5366
5367         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
5368         find number of popped argument bytes.
5369
5370         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
5371         Fix the text that describes the return value for invalid insns.
5372
5373         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
5374
5375         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
5376         Clarify what 'cost of the -dependence' is.  Fix quoting.
5377
5378         * toplev.c (default_get_pch_validity): Rename argument to "sz".
5379         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
5380
5381 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
5382
5383         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
5384         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
5385
5386 2010-01-17  Richard Guenther  <rguenther@suse.de>
5387
5388         PR middle-end/42248
5389         * function.c (split_complex_args): Take a VEC to modify.
5390         (assign_parms_augmented_arg_list): Build a VEC instead of
5391         a chain of PARM_DECLs.
5392         (assign_parms_unsplit_complex): Take a VEC of arguments.
5393         Do not fixup unmodified parms.
5394         (assign_parms): Deal with the VEC.
5395         (gimplify_parameters): Likewise.
5396
5397 2010-01-17  Richard Guenther  <rguenther@suse.de>
5398
5399         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
5400         node existence check.
5401         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
5402         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
5403         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
5404         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
5405         (gimple_execute_on_growing_pred): Likewise.
5406
5407 2010-01-17  Richard Guenther  <rguenther@suse.de>
5408
5409         PR tree-optimization/42773
5410         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
5411         (compute_antic_aux): Likewise.
5412         (compute_partial_antic_aux): Likewise.
5413
5414 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
5415
5416         PR debug/42767
5417         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
5418         and US_TRUNCATE.
5419
5420 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
5421
5422         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
5423         appearance.
5424
5425         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
5426         Fix markup for strict argument.
5427
5428         (TARGET_SCHED_REORDER2): Fix argument types.
5429
5430         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
5431         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
5432
5433         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
5434         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
5435
5436         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
5437         Add argument name.
5438
5439         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
5440         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
5441         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
5442         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
5443         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
5444
5445         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
5446
5447         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
5448
5449         (TARGET_ASM_RELOC_RW_MASK): Add return type.
5450         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
5451
5452         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
5453
5454         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
5455         Use prototype.
5456
5457         (TARGET_ASM_NAMED_SECTION): Fix argument list.
5458
5459         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
5460         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
5461
5462         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
5463
5464         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
5465
5466         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
5467         referring to it.  Fix language.
5468
5469         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
5470
5471         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
5472
5473         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
5474
5475         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
5476
5477         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
5478         '@var{stream}.  Remove stray 'and'.
5479
5480         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
5481
5482         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
5483
5484         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
5485
5486         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
5487         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
5488
5489         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
5490         Fix description of return value.
5491         Rename argument "sz" to "len."
5492
5493         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
5494         Clarify meaning of 'true' return value.
5495
5496         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
5497
5498         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
5499         rep_mode versus mode_rep.
5500
5501         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
5502
5503         (TARGET_BUILTIN_DECL): Fix name.
5504
5505         (TARGET_COMMUTATIVE_P): Fix type of first argument.
5506
5507         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
5508
5509         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
5510
5511         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
5512
5513         (TARGET_RELAXED_ORDERING): Use @deftypevr.
5514
5515         (TARGET_GET_DRAP_RTX): Note that this is a hook.
5516         Clarify language.
5517
5518         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
5519         Rename argument tm_fn to md_fn.
5520
5521         (TARGET_OPTION_PRINT): Fix argument list.
5522
5523 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
5524
5525         PR target/42664
5526         * config/i386/i386.c (ix86_fixup_binary_operands):
5527         Revert FMA4 fixup of operands.
5528
5529 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5530
5531         PR gcc/42525
5532         * Makefile.in (write_entries_to_file, install-plugin):
5533         Use \012 instead of \n with tr.
5534
5535 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
5536
5537         * configure.ac (HAVE_AS_REF): New C macro.
5538         * configure: Regenerate.
5539         * config.in: Likewise.
5540         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
5541         if HAVE_AS_REF.
5542         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
5543         if HAVE_AS_REF.
5544
5545 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
5546
5547         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
5548
5549         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
5550
5551         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
5552
5553         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
5554
5555         (TARGET_IN_SMALL_DATA_P): Fix argument type.
5556
5557         (TARGET_BINDS_LOCAL_P): Fix argument type.
5558
5559         (TARGET_ASM_FILE_END): Use prototype.
5560
5561         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
5562
5563         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
5564
5565         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
5566
5567         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
5568
5569         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
5570         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
5571
5572         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
5573         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
5574
5575         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
5576         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
5577         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
5578         (TARGET_ADDR_SPACE_CONVERT): Likewise.
5579
5580         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
5581
5582         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
5583
5584         (TARGET_INIT_BUILTINS): Use prototype.
5585
5586         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
5587         Put 'const char *' in braces.  Fix parameter types.
5588         (TARGET_INVALID_CONVERSION): Fix parameter types.
5589         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
5590         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
5591
5592         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
5593         Fix argument type.
5594
5595         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
5596
5597         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
5598
5599 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
5600
5601         * doc/tm.texi (TARGET_HELP): Fix return type.
5602
5603         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
5604         in braces.  Fix argument types.
5605
5606         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
5607
5608         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
5609
5610         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
5611
5612         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
5613         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
5614
5615         (TARGET_MANGLE_TYPE): Fix argument types.
5616
5617         (TARGET_IRA_COVER_CLASSES): Use prototype.
5618
5619         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
5620
5621         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
5622
5623         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
5624
5625         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
5626
5627         (TARGET_CALLEE_COPIES): Fix argument types.
5628
5629         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
5630
5631         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
5632
5633         (TARGET_FUNCTION_VALUE): Fix argument types.
5634
5635         (TARGET_RETURN_IN_MSB): Fix argument type.
5636
5637         (TARGET_RETURN_IN_MEMORY): Fix argument types.
5638
5639         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
5640
5641         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
5642
5643         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
5644         agree with return type.
5645
5646         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
5647
5648 2010-01-15  Jing Yu  <jingyu@google.com>
5649
5650         PR rtl-optimization/42691
5651         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
5652         a pseudo to a constant and are merged, and adjust comments.
5653
5654 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
5655
5656         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
5657
5658 2010-01-15  Richard Guenther  <rguenther@suse.de>
5659
5660         PR middle-end/42739
5661         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
5662         labels of computed or non-local gotos to the destination.
5663         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
5664         landing pad label is the first label.
5665
5666 2010-01-15  Richard Guenther  <rguenther@suse.de>
5667
5668         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
5669
5670 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
5671
5672         PR target/42747
5673         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
5674         to allow generation of the xssqrtdp instruction on power7.
5675         (sqrtdf2_fpr): Ditto.
5676
5677 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
5678
5679         PR middle-end/42674
5680         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
5681         functions with noreturn attribute.
5682
5683         PR c++/42608
5684         * varasm.c (declare_weak): Add weak attribute to decl if it
5685         doesn't have one already.
5686         (assemble_external): Only add decls to weak_decls if they also
5687         have weak attribute.
5688
5689 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
5690
5691         * var-tracking.c (var_reg_delete): Don't delete the association
5692         between REGs and values or one-part variables if the register
5693         isn't clobbered.
5694
5695 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
5696
5697         PR debug/42657
5698         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
5699         because its first operand is a non-localized variable.
5700
5701 2010-01-14  Martin Jambor  <mjambor@suse.cz>
5702
5703         PR tree-optimization/42706
5704         * tree-sra.c (encountered_recursive_call): New variable.
5705         (encountered_unchangable_recursive_call): Likewise.
5706         (sra_initialize): Initialize both new variables.
5707         (callsite_has_enough_arguments_p): New function.
5708         (scan_function): Call decl and flags check only for IPA-SRA, check
5709         whether there is a recursive call and whether it has enough arguments.
5710         (all_callers_have_enough_arguments_p): New function.
5711         (convert_callers): Look for recursive calls only when
5712         encountered_recursive_call is set.
5713         (ipa_early_sra): Bail out either if
5714         !all_callers_have_enough_arguments_p or
5715         encountered_unchangable_recursive_call.
5716
5717 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5718
5719         * sel-sched.c: Add 2010 to copyright years.
5720         * sel-sched-ir.c: Likewise.
5721         * sel-sched-ir.h: Likewise.
5722
5723 2010-01-14  Martin Jambor  <mjambor@suse.cz>
5724
5725         PR tree-optimization/42714
5726         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
5727         constructors specially.
5728
5729 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5730
5731         * config/i386/drivers-i386.c (detect_caches_intel):
5732         Add l2sizekb parameter and fill in.
5733         (host_detect_local_cpu): Add l2sizekb, fill in.
5734         Add Atom small cache heuristic.
5735
5736 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5737
5738         * config/i386/drivers-i386.c (detect_caches_cpuid4):
5739         Add level3 parameter and fill in.
5740         (detect_caches_intel): Handle level3 cache.
5741
5742 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5743
5744         * config/i386/drivers-i386.c (host_detect_local_cpu):
5745         Fix core duo detection.
5746
5747 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5748
5749         * config/i386/drivers-i386.c (host_detect_local_cpu):
5750         Fix Atom detection.
5751
5752 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5753
5754         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
5755         (rs6000_variable_issue_1): this.  Use...
5756         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
5757
5758 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5759
5760         * sel-sched-ir.c (sel_restore_other_notes): Rename to
5761         sel_restore_notes.  Update all callers.  Call reemit_notes
5762         for all insns.
5763
5764 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5765
5766         PR rtl-optimization/42246
5767         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
5768         loops.
5769
5770 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5771
5772         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
5773         all successors is the same as number of successors in current region.
5774
5775 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5776
5777         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
5778         to rename is not separable.  Otherwise check that its LHS is not NULL.
5779
5780 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5781
5782         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
5783
5784 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5785
5786         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
5787         available registers when failed to discover LHS register class.
5788         Fix indentation.  Update comment.
5789
5790 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5791             Alexander Monakov  <amonakov@ispras.ru>
5792
5793         PR rtl-optimization/42389
5794         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
5795         to can_issue_more.
5796         (advance_state_on_fence): Likewise.
5797         (sel_target_adjust_priority): Print debug output only when
5798         sched_verbose >= 4, not 2.
5799         (get_expr_cost): Do not issue all unique insns on the next cycle.
5800         (fill_insns): Initialize can_issue_more from the value saved
5801         with the fence.
5802         * sel-sched-ir.c (flist_add): New parameter issue_more.
5803         Init FENCE_ISSUE_MORE with it.
5804         (merge_fences): Likewise.
5805         (init_fences): Update call to flist_add.
5806         (add_to_fences, add_clean_fence_to_fences)
5807         (add_dirty_fence_to_fences): Likewise.
5808         (move_fence_to_fences): Update call to merge_fences.
5809         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
5810         sched groups.
5811         * sel-sched-ir.h (struct _fence): New field issue_more.
5812         (FENCE_ISSUE_MORE): New accessor macro.
5813
5814 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5815
5816         PR rtl-optimization/42388
5817         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
5818         that have no predecessors nor successors.  Do not call move_bb_info
5819         for empty blocks outside of current region.
5820
5821 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5822
5823         PR rtl-optimization/42294
5824         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
5825         * sel-sched.c (move_exprs_to_boundary): Transitively add all
5826         originators' originators.
5827
5828 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5829
5830         PR rtl-optimization/39453
5831         PR rtl-optimization/42246
5832         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
5833         for pipelining_p.
5834         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
5835
5836 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5837             Alexander Monakov  <amonakov@ispras.ru>
5838
5839         PR middle-end/42245
5840         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
5841         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
5842         argument.  Update all callers.
5843         (tidy_control_flow): ... and here.  Recompute topological order
5844         of basic blocks in region if necessary.
5845         (sel_redirect_edge_and_branch): Change return type.  Return true
5846         if topological order might have been invalidated.
5847         (purge_empty_blocks): Export and move from...
5848         * sel-sched.c (purge_empty_blocks): ... here.
5849         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
5850         (maybe_tidy_empty_bb): Delete prototype.
5851         (purge_empty_blocks): Declare.
5852
5853 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
5854
5855         PR rtl-optimization/42249
5856         * sel-sched.c (try_replace_dest_reg): When chosen register
5857         and original register is the same, do not bail out early, but
5858         still check all original insns for validity of replacing destination
5859         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
5860         in this case.
5861
5862 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
5863
5864         PR c/42721
5865         Port from no-undefined-overflow branch:
5866         2009-03-09  Richard Guenther  <rguenther@suse.de>
5867
5868         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5869
5870 2010-01-14  Richard Guenther  <rguenther@suse.de>
5871
5872         PR lto/42665
5873         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
5874
5875 2010-01-14  Ira Rosen  <irar@il.ibm.com>
5876
5877         PR tree-optimization/42709
5878         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
5879         as scalar type in creation of constant vector operand.
5880
5881 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5882
5883         PR testsuite/42414
5884         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
5885         (check-parallel-%): Match `testsuite' directory component only
5886         at the end.
5887
5888 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
5889
5890         PR translation/39521
5891         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
5892         strings with _().
5893
5894 2010-01-13  Richard Guenther  <rguenther@suse.de>
5895
5896         PR tree-optimization/42730
5897         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
5898         offset zero.
5899
5900 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
5901
5902         PR target/pr42542
5903         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
5904         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
5905         them signed.
5906
5907 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
5908
5909         * config/bfin/libgcc-bfin.ver: Regenerate based on current
5910         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
5911         ___umulsi3_highpart.
5912
5913         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
5914         rather than schedule_insns if the pass is enabled.
5915
5916 2010-01-13  Martin Jambor  <mjambor@suse.cz>
5917
5918         PR tree-optimization/42704
5919         * tree-sra.c (sra_modify_assign): Do not delete assignments to
5920         SSA_NAMEs.
5921
5922 2010-01-13  Martin Jambor  <mjambor@suse.cz>
5923
5924         PR tree-optimization/42703
5925         * tree-sra.c (analyze_access_subtree): Check that we can build a
5926         reference to the original data within the aggregate.
5927
5928 2010-01-13  Richard Guenther  <rguenther@suse.de>
5929
5930         PR tree-optimization/42705
5931         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
5932
5933 2010-01-13  Richard Guenther  <rguenther@suse.de>
5934
5935         PR middle-end/42716
5936         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
5937
5938 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
5939
5940         PR debug/41371
5941         * var-tracking.c (values_to_unmark): New variable.
5942         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
5943         values_to_unmark vector.  Moved body to...
5944         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
5945         instead queue it into values_to_unmark vector.
5946         (vt_find_locations): Free values_to_unmark vector.
5947
5948 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
5949
5950         * config/s390/s390.c (override_options): Set
5951         default of max-pending-list-length to 256
5952
5953 2010-01-13  Richard Guenther  <rguenther@suse.de>
5954
5955         PR lto/42678
5956         * tree-pass.h (PROP_gimple_lcx): New.
5957         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
5958         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
5959         before the final cleanup_eh.
5960         (dump_properties): Dump PROP_gimple_lcx.
5961         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
5962         (tree_lower_complex_O0): Remove.
5963         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
5964         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
5965         tree_lower_complex, schedule TODO_update_ssa.
5966         * lto-streamer-out.c (output_function): Stream the functions
5967         properties.
5968         * lto-streamer-in.c (input_function): Likewise.
5969         (lto_read_body): Do not override them here.
5970
5971 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
5972
5973         PR c/42708
5974         * c-typeck.c (build_c_cast): Fold value cast to union type before
5975         wrapping it in a CONSTRUCTOR.
5976
5977 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
5978
5979         PR rtl-optimization/42699
5980         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
5981         involved.
5982
5983 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5984
5985         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
5986         SUBTARGET_WARN_UNUSED_SPEC): Move ...
5987         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
5988         SUBTARGET_WARN_UNUSED_SPEC): ... here
5989         * config/mips/iris5.h (LIBGCC_SPEC): Define.
5990
5991 2010-01-12  Julian Brown  <julian@codesourcery.com>
5992
5993         * config/arm/neon-schedgen.ml (Utils): Don't try to
5994         open missing module.
5995         (find_with_result): New.
5996
5997 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
5998
5999         PR debug/42662
6000         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
6001         sharing when canonicalizing ({lt,ge}u (plus a b) b).
6002
6003         PR tree-optimization/42645
6004         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
6005         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
6006         decl_map, set processing_debug_stmt to -1 and return name without
6007         any remapping.
6008
6009 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
6010
6011         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
6012         binutils version, and reword target configuration description.
6013
6014 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
6015
6016         * config/avr/avr.h (LINKER_NAME): Remove.
6017
6018 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
6019
6020         PR target/42416
6021         * config/rs6000/rs6000.c (rs6000_override_options): On targets
6022         that support VSX, warn for -mno-altivec if vsx is not disabled,
6023         and disable vsx.
6024
6025 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
6026             Shujing Zhao  <pearly.zhao@oracle.com>
6027
6028         PR translation/42469
6029         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
6030         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
6031         character between option name and help text.
6032         * c.opt (imultilib): Likewise.
6033
6034 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
6035
6036         * lto-streamer-out.c (output_unreferenced_globals): Output static
6037         variables.
6038
6039 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
6040
6041         PR rtl-optimization/42621
6042         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
6043         optimizing for size.
6044         (duplicate_computed_gotos): Remove now-redundant check.
6045
6046 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
6047
6048         PR target/37454
6049         * configure.ac: Save and restore LDFLAGS and LIBS
6050         * configure: Regenerate.
6051
6052 2010-01-10  Richard Guenther  <rguenther@suse.de>
6053
6054         PR middle-end/42667
6055         * builtins.c (fold_builtin_strlen): Add type argument and
6056         convert the resulting length to it.
6057         (fold_builtin_1): Adjust.
6058
6059 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
6060
6061         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
6062         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
6063         1 insn.
6064         (num_insns_constant_wide): Adjust for that change.
6065
6066 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
6067
6068         PR debug/42631
6069         * web.c (union_defs): Add used argument, to combine uses of
6070         uninitialized regs.
6071         (entry_register): Adjust type and tests of used argument.
6072         (web_main): Widen used for new use.  Pass it to union_defs.
6073         * df.h (union_defs): Adjust prototype.
6074
6075 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
6076
6077         PR debug/42630
6078         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
6079         uses in new incoming argument.  Free body.
6080         (reset_debug_uses_in_loop): New.
6081         (analyze_insn_to_expand_var): Call the latter if the former found
6082         anything.  Fix whitespace.  Reject invalid dest overlaps before
6083         going through all insns in the loop.
6084
6085 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
6086
6087         PR debug/42629
6088         * haifa-sched.c (dying_use_p): Debug insns don't count.
6089
6090 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
6091
6092         PR middle-end/42363
6093         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
6094         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
6095         (verify_gimple_call): Reject LHS in noreturn calls.
6096
6097 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
6098
6099         PR debug/42604
6100         PR debug/42395
6101         * tree-vect-loop-manip.c (adjust_info): New type.
6102         (adjust_vec): New pointer to vector.
6103         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
6104         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
6105         (slpeel_update_phis_for_duplicate_loop): Use them.
6106         (slpeel_update_phi_nodes_for_guard1): Likewise.
6107         (slpeel_update_phi_nodes_for_guard2): Likewise.
6108         (slpeel_tree_peel_loop_to_edge): Likewise.
6109         (vect_update_ivs_after_vectorizer): Likewise.
6110
6111 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
6112
6113         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
6114         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
6115
6116 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
6117
6118         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
6119         bogus uninitialized warning.
6120
6121 2010-01-09  Richard Guenther  <rguenther@suse.de>
6122
6123         PR middle-end/42512
6124         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
6125         the evolution is compatible with the initial condition.
6126
6127 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
6128
6129         * gcc.c (process_command): Update copyright notice dates.
6130         * gcov.c (print_version): Likewise.
6131         * gcov-dump.c (print_version): Likewise.
6132         * mips-tfile.c (main): Likewise.
6133         * mips-tdump.c (main): Likewise.
6134
6135 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
6136
6137         PR target/41885
6138         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
6139         (rotlhi3): Delete.
6140         (rotlhi3_8): Delete.
6141         (rotlsi3): Delete.
6142         (rotlsi3_8): Delete.
6143         (rotlsi3_16): Delete.
6144         (rotlsi3_24): Delete.
6145         (rotl<mode>3): New.
6146         (*rotw<mode>3): New.
6147         (*rotb<mode>3): New.
6148         * config/avr/avr.c (avr_rotate_bytes): New function.
6149         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
6150
6151 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
6152
6153         PR target/37454
6154         * configure.ac: Modify -rdynamic check.
6155         * configure: Regenerate.
6156
6157 2010-01-08  DJ Delorie  <dj@redhat.com>
6158
6159         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
6160         register popping order.
6161
6162 2010-01-08  Richard Guenther  <rguenther@suse.de>
6163
6164         PR lto/42528
6165         * c.opt (fsigned-char): Also let LTO handle this option.
6166         (funsigned-char): Likewise.
6167
6168 2010-01-07  Richard Guenther  <rguenther@suse.de>
6169
6170         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
6171         (gimple_op): Likewise.
6172         (gimple_op_ptr): Likewise.
6173         (gimple_assign_set_lhs): Remove gcc_assert.
6174         (gimple_assign_set_rhs1): Likewise.
6175         (gimple_assign_set_rhs2): Likewise.
6176         (gimple_call_set_lhs): Likewise.
6177         (gimple_call_set_fn): Likewise.
6178         (gimple_call_set_fndecl): Likewise.
6179         (gimple_call_fndecl): Likewise.
6180         (gimple_call_return_type): Likewise.
6181         (gimple_call_set_chain): Likewise.
6182         (gimple_call_num_args): Likewise.
6183         (gimple_call_set_arg): Likewise.
6184         (gimple_cond_set_code): Likewise.
6185         (gimple_cond_set_lhs): Likewise.
6186         (gimple_cond_set_rhs): Likewise.
6187         (gimple_cond_set_true_label): Likewise.
6188         (gimple_cond_set_false_label): Likewise.
6189         (gimple_label_set_label): Likewise.
6190         (gimple_goto_set_dest): Likewise.
6191         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
6192         (gimple_debug_bind_get_value): Likewise.
6193         (gimple_debug_bind_get_value_ptr): Likewise.
6194         (gimple_debug_bind_set_var): Likewise.
6195         (gimple_debug_bind_set_value): Likewise.
6196         (gimple_debug_bind_reset_value): Likewise.
6197         (gimple_debug_bind_has_value_p): Likewise.
6198         (gimple_return_retval_ptr): Remove gcc_assert.
6199         (gimple_return_retval): Likewise.
6200         (gimple_return_set_retval): Likewise.
6201         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
6202         (safe_referenced_var_iterator): Remove.
6203         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
6204         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
6205         (fill_referenced_var_vec): Remove.
6206         (first_readonly_imm_use): Remove redundant gcc_assert.
6207         (phi_arg_index_from_use): Combine gcc_asserts.
6208         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
6209         (first_imm_use_stmt): Remove redundant gcc_assert.
6210         * tree-cfg.c (verify_gimple_call): Verify function and chain
6211         operands.  Verify arguments.
6212         (verify_types_in_gimple_stmt): Verify condition code and labels.
6213
6214 2010-01-07  Richard Guenther  <rguenther@suse.de>
6215
6216         PR tree-optimization/42641
6217         * sese.c (rename_map_elt_info): Use the SSA name version, do
6218         not hash pointers.
6219
6220 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
6221
6222         PR tree-optimization/42625
6223         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
6224         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
6225
6226 2010-01-07  Duncan Sands  <baldrick@free.fr>
6227
6228         * Makefile.in (PLUGIN_HEADERS): Add version.h.
6229
6230 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
6231
6232         PR target/42511
6233         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
6234         note itself is not function_invariant_p.
6235
6236 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
6237
6238         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
6239         Do not add the DF_NOTE problem.
6240         * store-motion.c (execute_rtl_store_motion): Likewise.
6241
6242 2010-01-07  Martin Jambor  <mjambor@suse.cz>
6243
6244         PR tree-optimization/42157
6245         * tree-sra.c (compare_access_positions): Stabilize sort if both
6246         accesses have integer types, return zero immediately if they are the
6247         same.
6248
6249 2010-01-06  Richard Henderson  <rth@redhat.com>
6250
6251         PR middle-end/41883
6252         * haifa-sched.c (add_to_note_list): Merge into ...
6253         (concat_note_lists): ... here, and ...
6254         (unlink_other_notes, rm_other_notes): Merge into...
6255         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
6256         NOTE_INSN_EPILOGUE_BEG.
6257
6258 2010-01-06  Richard Guenther  <rguenther@suse.de>
6259
6260         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
6261         not inline regular functions into always-inline functions.
6262
6263 2010-01-06  Nick Clifton  <nickc@redhat.com>
6264
6265         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
6266         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
6267         used together.
6268         (OVERRIDE_OPTIONS): Delete.
6269         (OPTIMIZATION_OPTIONS): Define.
6270         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
6271         * config/rx/rx.c (rx_handle_option): Issue an error message if
6272         -mcpu=rx200 and -fpu are used together.
6273         (rx_set_optimization_options): New function.  Issue an error
6274         message if an optimization attribute attempts to reset the FPU/
6275         math optimization pairing.
6276         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
6277         * config/rx/rx.opt: Set the default to 32-bit doubles.
6278         * config/rx/t-rx: Add multilibs for -nofpu option.
6279         * doc/invoke.texi: Update documentation of RX options.
6280
6281 2010-01-06  Richard Guenther  <rguenther@suse.de>
6282
6283         * tree-ssa-pre.c (name_to_id): New global.
6284         (alloc_expression_id): Simplify SSA name handling.
6285         (lookup_expression_id): Likewise.
6286         (init_pre): Zero name_to_id.
6287         (fini_pre): Free it.
6288
6289 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
6290
6291         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
6292
6293 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
6294
6295         PR target/42542
6296         * config/i386/sse.md (smaxv2di3): New.
6297         (umaxv2di3): Likewise.
6298         (sminv2di3): Likewise.
6299         (uminv2di3): Likewise.
6300
6301 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
6302
6303         PR target/42564
6304         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
6305         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
6306         (legitimize_tls_address): Likewise.
6307         (sparc_tls_referenced_p): Likewise.
6308         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
6309         and adjust calls to legitimize_pic_address.
6310         (legitimate_constant_p) Use sparc_tls_referenced_p.
6311         (legitimate_pic_operand_p): Likewise.
6312         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
6313         (sparc_tls_symbol_ref_1): Delete.
6314         (sparc_tls_referenced_p): Make static, recognize specific patterns.
6315         (legitimize_tls_address): Make static, handle CONST patterns.
6316         (legitimize_pic_address): Make static, remove unused parameter and
6317         adjust recursive calls.
6318         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
6319         and adjust call to legitimize_pic_address.
6320         (sparc_output_mi_thunk): Likewise.
6321
6322 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
6323             H.J. Lu  <hongjiu.lu@intel.com>
6324
6325         PR target/42542
6326         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
6327         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
6328         operands to make them signed.
6329
6330         Revert:
6331         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
6332
6333         PR target/42542
6334         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
6335         GTU to GT for V4SI and V2DI.
6336
6337         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
6338         (umin<mode>3): Removed.
6339         (uminv8hi3): New.
6340         (uminv4si3): Likewise.
6341
6342 2010-01-05  Martin Jambor  <mjambor@suse.cz>
6343
6344         PR tree-optimization/42462
6345         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
6346         current_function_decl to helper functions and macros.
6347
6348 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6349
6350         PR bootstrap/41771
6351         * flags.h: Don't include real.h.
6352         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
6353         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
6354         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
6355         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
6356         * dominance.c: Update copyright.
6357         * gimple.c (walk_gimple_op): Remove inline.
6358         * tree-ssa-reassoc.c: Include real.h.
6359         * Makefile.in (FLAGS_H): Remove $(REAL_H).
6360         (tree-ssa-reassoc.o): Depend on $(REAL_H).
6361
6362 2010-01-05  Nick Clifton  <nickc@redhat.com>
6363
6364         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
6365         register to push into the stack frame when the accumulator has to
6366         be saved during interrupts.
6367
6368 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
6369
6370         * doc/invoke.texi: Remove the documentation about option
6371         -Wunreachable-code.
6372         * common.opt (Wunreachable-code):  Preserved for backward
6373         compatibility.
6374         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
6375         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
6376         the backward compatibility flag section.
6377
6378 2010-01-05  Richard Guenther  <rguenther@suse.de>
6379
6380         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
6381
6382 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
6383
6384         PR other/42611
6385         * cfgexpand.c (expand_one_var): Diagnose too large variables.
6386
6387         PR tree-optimization/42508
6388         * tree-sra.c (convert_callers): Check for recursive call
6389         by comparing cgraph nodes instead of decls.
6390         (modify_function): Call ipa_modify_formal_parameters also
6391         on all same_body aliases.
6392
6393         * cgraphunit.c (cgraph_materialize_all_clones): Compare
6394         cgraph nodes when checking for same_body aliases.
6395
6396 2010-01-05  Richard Guenther  <rguenther@suse.de>
6397
6398         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
6399         allocation and lookup.
6400         (get_or_alloc_expr_for_constant): Likewise.
6401         (phi_translate): Sink allocation.
6402
6403 2010-01-04  Richard Guenther  <rguenther@suse.de>
6404
6405         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
6406         a new entry only if needed.
6407         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
6408         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
6409         hashtable lookup.
6410         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
6411         the result array.
6412         (phi_translate): Handle CONSTANTs early.
6413
6414 2010-01-04  Martin Jambor  <mjambor@suse.cz>
6415
6416         PR tree-optimization/42398
6417         * tree-sra.c (struct access): Removed flag grp_different_types.
6418         (dump_access): Do not dump the removed flag.
6419         (sort_and_splice_var_accesses): Do not set the removed flag.
6420         (sra_modify_expr): Check for type compatibility directly.
6421
6422 2010-01-04  Martin Jambor  <mjambor@suse.cz>
6423
6424         PR tree-optimization/42366
6425         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
6426         edges with variable number of parameters.
6427         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
6428         flag instead of asserting it.
6429         (ipa_read_node_info): Read uses_analysis_done flag.
6430
6431 2010-01-04  Richard Guenther  <rguenther@suse.de>
6432
6433         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
6434         iterative_hash_* as intended.
6435         (vn_reference_compute_hash): Likewise.  Simplify hashing
6436         SSA names.
6437         (vn_reference_lookup_2): Likewise.
6438         (vn_nary_op_compute_hash): Likewise.
6439         (vn_phi_compute_hash): Likewise.
6440         (expressions_equal_p): Remove strange code.
6441         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
6442         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
6443         (bitmap_insert_into_set_1): Take value-id as parameter.
6444         (add_to_value): Pass it.
6445         (bitmap_insert_into_set): Likewise.
6446         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
6447
6448 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
6449
6450         PR driver/42442
6451         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
6452         (do_self_spec): For switches with SWITCH_IGNORE set set also
6453         SWITCH_IGNORE_PERMANENTLY.
6454         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
6455         of SWITCH_IGNORE.
6456
6457 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
6458
6459         * lto-streamer-out.c (output_unreferenced_globals): Output the full
6460         tree of an unreferenced global var.
6461
6462 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
6463
6464         PR target/42542
6465         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
6466         GTU to GT for V4SI and V2DI.
6467
6468         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
6469         (umin<mode>3): Removed.
6470         (uminv8hi3): New.
6471         (uminv4si3): Likewise.
6472
6473 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
6474
6475         PR lto/42581
6476         * collect2.c (main): Turn on trace in collect2 if -v is passed
6477         to gcc with LTO.
6478
6479 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
6480
6481         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
6482         description of expression operand.
6483
6484 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
6485
6486         * configure.ac: Add install-html to target_list for Make-hooks.
6487         * configure: Regenerate.
6488         * fortran/Make-lang.in (F95_HTMLFILES): New.
6489         (fortran.html): Use it.
6490         (fortran.install-html): New.
6491         * Makefile.in (install-html): Add lang.install-html.
6492         * java/Make-lang.in (JAVA_HTMLFILES): New.
6493         (java.html): Use it.
6494         (java.install-html): New.
6495         * objc/Make-lang.in (objc.install-html): New.
6496         * objcp/Make-lang.in (obj-c++.install-html): New.
6497         * cp/Make-lang.in (c++.install-html): New.
6498         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
6499         * lto/Make-lang.in (lto.install-html): New.
6500
6501 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
6502
6503         PR lto/42520
6504         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
6505
6506 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
6507
6508         PR rtl-optimization/41862
6509         * store-motion.c (store_killed_in_insn, compute_store_table,
6510         remove_reachable_equiv_notes, replace_store_insn,
6511         build_store_vectors): Ignore all DEBUG_INSNs.
6512
6513 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
6514
6515         PR lto/41564
6516         * common.opt: Add dumpdir.
6517
6518         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
6519         isn't specified.
6520         (option_map): Add --dumpdir.
6521
6522         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
6523
6524         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
6525
6526         * opts.c (decode_options): Try dump_dir_name first if
6527         dump_base_name isn't an absolute path.
6528         (common_handle_option): Handle OPT_dumpdir.
6529
6530         * toplev.c (dump_dir_name): New.
6531         (print_switch_values): Also ignore -dumpdir.
6532
6533         * toplev.h (dump_dir_name): New.
6534
6535 2010-01-03  Richard Guenther  <rguenther@suse.de>
6536
6537         PR tree-optimization/42589
6538         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
6539         double-word expansion of bswap32.
6540
6541 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
6542
6543         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
6544         with BLOCK_FOR_INSN.
6545         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
6546         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
6547         noce_process_if_block): Likewise.
6548         * gcse.c (compute_local_properties, insert_expr_in_table,
6549         insert_set_in_table, canon_list_insert, find_avail_set,
6550         pre_insert_copy_insn): Likewise.
6551
6552         * basic-block.h (BLOCK_NUM): Move from here...
6553         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
6554
6555 2010-01-03  Richard Guenther  <rguenther@suse.de>
6556
6557         PR tree-optimization/42438
6558         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
6559         contains_may_not_return_call flag.
6560         (BB_MAY_NOTRETURN): New.
6561         (valid_in_sets): Trapping nary operations are not valid
6562         in blocks that may not return.
6563         (insert_into_preds_of_block): Remove check for trapping expressions.
6564         (compute_avail): Compute also BB_MAY_NOTRETURN.
6565
6566 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
6567
6568         * doc/invoke.texi: Add 2010 to copyright years.
6569
6570 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
6571
6572         * config/sparc/sparc.c: Fix formatting nits.
6573
6574 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
6575             Alexander Monakov  <amonakov@ispras.ru>
6576
6577         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
6578
6579 2010-01-02  Richard Guenther  <rguenther@suse.de>
6580
6581         PR middle-end/42577
6582         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
6583         (simplify_switch_using_ranges): Mark to be removed edges
6584         as non-executable.
6585
6586 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6587
6588         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
6589
6590         * collect2.c (scan_libraries): Add missing argument in call to
6591         scan_prog_file.
6592
6593 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
6594
6595         PR target/42448
6596         * config/alpha/predicates.md (aligned_memory_operand): Return false
6597         for CQImode.
6598         (unaligned_memory_operand): Return true for CQImode.
6599         * config/alpha/alpha.c (get_aligned_mem): Assert that location
6600         doesn not cross aligned SImode word boundary.
6601
6602 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
6603
6604         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
6605         Remove.
6606         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
6607         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
6608
6609 2010-01-02  Richard Guenther  <rguenther@suse.de>
6610
6611         PR lto/41597
6612         * toplev.c (compile_file): Emit LTO marker properly.  Change
6613         it to __gnu_lto_v1.
6614         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
6615
6616 2010-01-01  Richard Guenther  <rguenther@suse.de>
6617
6618         PR debug/42455
6619         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
6620
6621 2010-01-01  Richard Guenther  <rguenther@suse.de>
6622
6623         PR c/42570
6624         * c-decl.c (grokdeclarator): For zero-size arrays force
6625         structural equality checks as layout_type does.
6626
6627 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
6628
6629         * builtins.c: Update copyright to 2010.
6630
6631 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
6632
6633         PR lto/42531
6634         * lto-streamer-out.c (produce_asm): Revert the last change.
6635         (copy_function): Likewise.
6636
6637         * lto-streamer.c (lto_get_section_name): Skip any leading
6638         asterisk in name.
6639
6640 2010-01-01  Richard Guenther  <rguenther@suse.de>
6641
6642         PR middle-end/42559
6643         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
6644         for LABEL_DECLs.
6645
6646 \f
6647 Copyright (C) 2010 Free Software Foundation, Inc.
6648
6649 Copying and distribution of this file, with or without modification,
6650 are permitted in any medium without royalty provided the copyright
6651 notice and this notice are preserved.