OSDN Git Service

72c4c9a43cdfb5c5067faccb0acfcbe550d8fda1
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
4         (fold_builtin_1): Fold builtin cproj.
5         * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
6         Use ATTR_CONST_NOTHROW_LIST.
7
8 2010-04-20  Uros Bizjak  <ubizjak@gmail.com>
9
10         * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
11         and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
12         ffsi2_no_cmove for !TARGET_CMOVE.
13         (ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
14         (ffssi2): Remove expander.
15         (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
16         mode iterator.
17         (ctz<mode>2): Ditto from ctz{si,di}2.
18         (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
19         mode iterator.
20         (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
21         mode iterator.
22
23 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
24
25         * dwarf2out.c (AT_linkage_name): Define.
26         (clone_as_declaration): Handle DW_AT_linkage_name.
27         (add_name_and_src_coords_attributes): Use AT_linkage_name instead
28         of DW_AT_MIPS_linkage_name.
29         (move_linkage_attr): Likewise.
30         (dwarf2out_finish): Likewise.
31
32 2010-04-20  Xinliang David Li  <davidxl@gcc.gnu.org>
33
34         PR middle-end/41952
35         * fold-const.c (fold_comparison): New folding rule.
36
37 2010-04-20  Anatoly Sokolov  <aesok@post.ru>
38
39         * double-int.h (double_int_setbit): Declare.
40         * double-int.c (double_int_setbit): New function.
41         * rtl.h (immed_double_int_const): Declare.
42         * emit-rtl.c (immed_double_int_const): New function.
43         * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
44         and immed_double_int_const functions.
45         * optabs.c (expand_absneg_bit, expand_copysign_absneg,
46         expand_copysign_bit):  (Ditto.).
47         * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
48         * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
49         * dojump.c (prefer_and_bit_test): (Ditto.).
50         * expr.c (convert_modes, reduce_to_bit_field_precision,
51         const_vector_from_tree): (Ditto.).
52         * expmed.c (mask_rtx, lshift_value): (Ditto.).
53
54 2010-04-20  Jan Hubicka  <jh@suse.cz>
55
56         * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
57         (dump_cgraph_node): Dump new flags.
58         * cgraph.h (struct cgraph_node): Add flags
59         reachable_from_other_partition and in_other_partition.
60         (cgraph_can_remove_if_no_direct_calls_p): Functions used by
61         other partition can not be removed.
62         * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
63         the other partition must be output; silence sanity checking on
64         leaking functions bodies from other paritition.
65         * lto-cgraph.c (reachable_from_other_partition_p): New function.
66         (lto_output_node): Output new flags; do not sanity check that inline
67         clones are output; drop lto_forced_extern_inline_p code; do not mock
68         visibility flags at partition boundaries.
69         (add_node_to): New function.
70         (output_cgraph): Use it to sort functions so masters appear before
71         clones.
72         (input_overwrite_node): Input new flags.
73         * passes.c (ipa_write_summaries): Do not call
74         lto_new_extern_inline_states.
75         * lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states,
76         lto_delete_extern_inline_states, lto_force_functions_extern_inline,
77         lto_forced_extern_inline_p): Kill.
78         * lto-streamer.h (lto_new_extern_inline_states,
79         * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
80         lto_forced_extern_inline_p): Kill.
81
82 2010-04-20  Richard Guenther  <rguenther@suse.de>
83
84         * tree-ssa-structalias.c (do_sd_constraint): Add edges only
85         from vars that can have pointers.
86         (process_constraint): Dump useless constraints.
87
88 2010-04-20  Richard Guenther  <rguenther@suse.de>
89
90         * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
91         (dump_sa_points_to_info): Remove asserts.
92         (init_base_vars): nothing_id isn't an escape point nor does it
93         have pointers.
94
95 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
96
97         * tree.h (TYPE_REF_IS_RVALUE): Define.
98         * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
99         should_move_die_to_comdat, prune_unused_types_walk): Handle
100         DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
101         (modified_type_die, gen_reference_type_die): Emit
102         DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
103         if TYPE_REF_IS_RVALUE and -gdwarf-4.
104
105 2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
106
107         PR target/43635
108         * config/s390/s390.c (s390_emit_call): Turn direct into indirect
109         calls for -fpic -m31 if they have been sibcall optimized.
110
111 2010-04-19  James E. Wilson  <wilson@codesourcery.com>
112
113         PR rtl-optimization/43520
114         * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
115         ar.lc fixed and call-used.
116
117         * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
118
119 2010-04-19  Jan Hubicka  <jh@suse.cz>
120
121         * opts.c (decode_options): Disable whpr incompatible passes.
122         * lto/lto.c (lto_1_to_1_map): Skip clones.
123         (read_cgraph_and_symbols): Do not mark everything as needed.
124         (do_whole_program_analysis): Do map only after optimizing;
125         set proper cgraph_state; use passmanager.
126
127 2010-04-19  DJ Delorie  <dj@redhat.com>
128
129         * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
130         POINTER_PLUS_EXPR and fix them.
131
132 2010-04-19  Eric B. Weddington  <eric.weddington@atmel.com>
133
134         * config/avr/avr-devices.c (avr_mcu_types): Add support for new
135         devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
136         attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
137         atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
138         atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
139         atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
140         atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
141         atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
142         m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
143         atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
144         * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
145
146 2010-04-19  Eric Botcazou  <ebotcazou@adacore.com>
147
148         * ifcvt.c (noce_try_cmove_arith): Fix long lines.
149         (check_cond_move_block): Likewise.
150         (cond_move_process_if_block): Likewise.
151         (noce_find_if_block): Improve formatting.
152         (find_if_header): Pass 0 to memset and tweak conditions.
153         (cond_exec_find_if_block): Fix long lines and tweak conditions.
154
155 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
156
157         * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
158         for -gdwarf-4.
159
160         PR middle-end/43337
161         * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
162         with non-local decl doesn't need chain.
163
164 2010-04-19  Vladimir Makarov  <vmakarov@redhat.com>
165
166         * ira-color.c (allocno_reload_assign): Avoid accumulating
167         reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
168
169 2010-04-19  Martin Jambor  <mjambor@suse.cz>
170
171         * gimple.h (create_tmp_reg): Declare.
172         * gimplify.c (create_tmp_reg): New function.
173         (gimplify_return_expr): Use create_tmp_reg.
174         (gimplify_omp_atomic): Likewise.
175         (gimple_regimplify_operands): Likewise.
176         * tree-dfa.c (make_rename_temp): Likewise.
177         * tree-predcom.c (predcom_tmp_var): Likewise.
178         (reassociate_to_the_same_stmt): Likewise.
179         * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
180         (get_replaced_param_substitute): Likewise.
181         * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
182         * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
183         * tree-ssa-pre.c (get_representative_for): Likewise.
184         (create_expression_by_pieces): Likewise.
185         * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
186         (create_tailcall_accumulator): Likewise.
187
188 2010-04-19  Martin Jambor  <mjambor@suse.cz>
189
190         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
191         new_stmt.
192         (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
193
194 2010-04-19  Richard Guenther  <rguenther@suse.de>
195
196         PR tree-optimization/43796
197         * tree-vrp.c (adjust_range_with_scev): Lookup init and step
198         from SCEV in the lattice.
199         (vrp_visit_phi_node): Dump change.
200
201 2010-04-19  Richard Guenther  <rguenther@suse.de>
202
203         * configure.ac: Fix quoting around elf_getshstrndx ABI check.
204         * configure: Re-generated.
205
206 2010-04-19  Richard Guenther  <rguenther@suse.de>
207
208         PR tree-optimization/43783
209         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
210         constant ARRAY_REF operands two and three if possible.
211
212 2010-04-19  Uros Bizjak  <ubizjak@gmail.com>
213
214         PR target/43766
215         * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
216
217 2010-04-19  Jie Zhang  <jie@codesourcery.com>
218
219         PR target/43662
220         * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
221
222 2010-04-19 Ira Rosen <irar@il.ibm.com>
223
224         PR tree-optimization/37027
225         * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
226         and macro to access it.
227         (vectorizable_reduction): Add argument.
228         (vect_get_slp_defs): Likewise.
229         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
230         statements for possible use in SLP.
231         (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
232         (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
233         (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
234         add new argument.
235         (vectorizable_reduction): Likewise.
236         * tree-vect-stmts.c (vect_get_vec_defs): Update call to
237         vect_get_slp_defs.
238         (vectorizable_type_demotion, vectorizable_type_promotion,
239         vectorizable_store): Likewise.
240         (vect_analyze_stmt): Update call to vectorizable_reduction.
241         (vect_transform_stmt): Likewise.
242         * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
243         (vect_build_slp_tree): Fix indentation. Check that there are no loads
244         from different interleaving chains in same node.
245         (vect_slp_rearrange_stmts): New function.
246         (vect_supported_load_permutation_p): Allow load permutations for
247         reductions. Call vect_slp_rearrange_stmts() to rearrange statements
248         inside SLP nodes if necessary.
249         (vect_analyze_slp_instance): Handle reductions.
250         (vect_analyze_slp): Try to build SLP instances originating from groups
251         of reductions.
252         (vect_detect_hybrid_slp_stmts): Skip reduction statements.
253         (vect_get_constant_vectors): Create initial vectors for reductions
254         according to reduction code. Add new argument.
255         (vect_get_slp_defs): Add new argument, pass it to
256         vect_get_constant_vectors.
257         (vect_schedule_slp_instance): Remove SLP tree root statements.
258
259 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
260
261         * tree.h (ENUM_IS_SCOPED): Define.
262         * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
263         for ENUM_IS_SCOPED enums.
264
265 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
266
267         * fold-const.c (fold_comparison): Use ssizetype.
268         * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
269         * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
270         * tree-loop-distribution.c (build_size_arg_loc): Likewise.
271         * tree-object-size.c (compute_object_sizes): Use size_type_node.
272
273         * tree.h (initialize_sizetypes): Remove parameter.
274         (build_common_tree_nodes): Remove second parameter.
275         * stor-layout.c (initialize_sizetypes): Remove parameter.
276         Always create an unsigned type.
277         (set_sizetype): Assert that the passed type is unsigned and simplify.
278         * tree.c (build_common_tree_nodes): Remove second parameter.
279         Adjust call to initialize_sizetypes.
280         * c-decl.c (c_init_decl_processing): Remove second argument in call to
281         build_common_tree_nodes.
282
283 2010-04-18  Matthias Klose  <doko@ubuntu.com>
284
285         * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
286
287 2010-04-18 Ira Rosen <irar@il.ibm.com>
288
289         PR tree-optimization/43771
290         * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
291         load permutation doesn't have gaps.
292
293 2010-04-18  Jan Hubicka  <jh@suse.cz>
294
295         * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
296         (sse_prologue_save_insn expander): Use new pattern.
297         (sse_prologue_save_insn1): New pattern and splitter.
298         (sse_prologue_save_insn): Update to deal also with 64bit aligned
299         blocks.
300         * i386.c (setup_incoming_varargs_64): Do not compute jump
301         destination here.
302         (ix86_gimplify_va_arg): Update alignment needed.
303         (ix86_local_alignment): Do not align all local arrays to 128bit.
304
305 2010-04-17  Jan Hubicka  <jh@suse.cz>
306
307         * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
308
309 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
310
311         * arm.md (negdi2): Remove redundant code to force values into a
312         register.
313
314 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
315
316         * arm/bpabi.S: Add EABI alignment attributes to objects.
317         * arm/bpabi-v6m.S: Likewise.
318         * arm/crti.asm: Likewise.
319         * arm/crtn.asm: Likewise.
320         * arm/lib1funcs.asm: Likewise.
321         * arm/libunwind.S: Likewise.
322
323 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
324
325         * arm-protos.h (tune_params): New structure.
326         * arm.c (current_tune): New variable.
327         (arm_constant_limit): Delete.
328         (struct processors): Add pointer to the tune parameters.
329         (arm_slowmul_tune): New tuning option.
330         (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
331         (all_cores): Adjust to pick up the tuning model.
332         (arm_constant_limit): New function.
333         (arm_override_options): Select the appropriate tuning model.  Delete
334         initialization of arm_const_limit.
335         (arm_split_constant): Use the new constant-limit model.
336         (arm_rtx_costs): Pick up the current tuning model.
337         * arm.md (is_strongarm, is_xscale): Delete.
338         * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
339         for Xscale variant architectures.
340         (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
341
342 2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
343
344         * config/arm/arm.c (arm_gen_constant): Remove unused variable
345         can_shift.
346         (arm_rtx_costs_1): Remove unused variable extra_cost.
347         (arm_unwind_emit_set): Use variable offset.
348         (thumb1_output_casesi): Remove unused variable flags.
349
350 2010-04-16  Jeff Law  <law@redhat.com>
351
352         * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
353         needing assignment rather than doing a two-phase assignment.  Remove
354         unused variable 'm'.
355
356 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
357
358         PR bootstrap/43767
359         * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
360
361 2010-04-16  Doug Kwan  <dougkwan@google.com>
362
363         * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
364         (next_operand_entry_id): New static variable.
365         (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
366         (add_to_ops_vec): Assigned unique ID to operand entry.
367         (struct oecount_s): New field ID.
368         (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
369         (undistribute_ops_list): Assign unique IDs to oecounts.
370         (init_reassoc): reset next_operand_entry_id.
371
372 2010-04-16  Doug Kwan  <dougkwan@google.com>
373
374         * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
375         missing left parenthesis.
376
377 2010-04-16  Uros Bizjak  <ubizjak@gmail.com>
378
379         * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
380         *btdi_rex64 using SWI48 mode iterator.
381         (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
382         (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
383         *jcc_btdi_mask_rex64.
384
385 2010-04-16  Anatoly Sokolov  <aesok@post.ru>
386
387         * double-int.h (tree_to_double_int): Convert to macro.
388         * double-int.c (tree_to_double_int): Remove.
389
390 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
391
392         PR debug/43762
393         * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
394         with want_address 2 and in case a single element list might be
395         possible, call it again with want_address 0.
396
397 2010-04-12  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
398
399         * config/h8300/h8300.c (print_operand) : Modify case 'V' and
400         case 'W' print operands for HI mode.
401         * config/h8300/h8300.h (Y0, Y2) : New constraints.
402         * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
403         (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
404         * config/h8300/predicate.md (bit_register_indirect_operand): New.
405
406         * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
407
408         * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
409         cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
410         #xx:3 and #xx:4 mode.
411
412         * config/h8300/h8300.md (inverted load with HImode dest): Add
413         support for H8300SX.
414
415         * config/h8300/predicate.md (bit_operand): Allow immediate values that
416         satisfy 'U' constraint.
417
418 2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
419
420         * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
421         * configure: Regenerate.
422         * config.in: Regenerate.
423         * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
424         works.
425
426 2010-04-16  Richard Guenther  <rguenther@suse.de>
427
428         * tree.h (struct tree_decl_minimal): Move pt_uid ...
429         (struct tree_decl_common): ... here.
430         (DECL_PT_UID): Adjust.
431         (SET_DECL_PT_UID): Likewise.
432         (DECL_PT_UID_SET_P): Likewise.
433
434 2010-04-16  Richard Guenther  <rguenther@suse.de>
435
436         PR tree-optimization/43572
437         * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
438         * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
439         * tree-flow.h (is_call_clobbered): Remove.
440         * tree-flow-inline.h (is_call_clobbered): Likewise.
441         * tree-dfa.c (dump_variable): Do not dump call clobber state.
442         * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
443         (execute_return_slot_opt): Adjust.
444         * tree-tailcall.c (suitable_for_tail_opt_p): Remove
445         check for call clobbered vars here.
446         (find_tail_calls): Move tailcall verification to the
447         proper place.
448
449 2010-04-16  Diego Novillo  <dnovillo@google.com>
450
451         * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
452
453 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
454
455         PR target/40603
456         * config/arm/arm.md (cbranchqi4): New pattern.
457         * config/arm/predicates.md (const0_operand,
458         cbranchqi4_comparison_operator): New predicates.
459
460 2010-04-16  Richard Guenther  <rguenther@suse.de>
461
462         * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
463         (dump_gimple_stmt): Likewise.
464
465 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
466
467         * recog.h (struct recog_data): New field is_operator.
468         (struct insn_operand_data): New field is_operator.
469         * recog.c (extract_insn): Set recog_data.is_operator.
470         * genoutput.c (output_operand_data): Emit code to set the
471         is_operator field.
472         * reload.c (find_reloads): Use it rather than testing for an
473         empty constraint string.
474
475         PR target/41514
476         * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
477         If the previous insn is a cbranchsi4_insn with the same arguments,
478         omit the compare instruction.
479
480         * config/arm/arm.md (addsi3_cbranch): If destination is a high
481         register, inputs must be low registers and we need a low register
482         scratch.  Handle alternative 2 like alternative 3.
483
484 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
485
486         * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
487         don't call get_addr on both.  If one expression is a VALUE and
488         the other a REG, check VALUE's locs if the REG isn't among them.
489
490 2010-04-16  Christian Bruel  <christian.bruel@st.com>
491
492         * config/sh/sh.h (sh_frame_pointer_required): New function.
493         * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
494         (flag_omit_frame_pointer) Set.
495         (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
496         (rounded_frame_size): Adjust size with outgoing_args_size.
497         (sh_set_return_address): Must return from stack pointer.
498         * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
499         (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
500         (ACCUMULATE_OUTGOING_ARGS): Define.
501         * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
502         * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
503
504 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
505
506         PR target/43471
507         * config/sh/sh.c (sh_legitimize_reload_address): Use
508         MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
509         Remove a unneeded check for offset_base.
510
511 2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>
512
513         * configure: Regenerated.
514
515 2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
516
517         * config/s390/s390.c (s390_call_save_register_used): Switch back
518         to HARD_REGNO_NREGS.
519
520 2010-04-15  Richard Guenther  <rguenther@suse.de>
521
522         * alias.c (alias_set_subset_of): Handle alias-set zero
523         child properly.
524
525 2010-04-15  Mark Shinwell  <shinwell@codesourcery.com>
526             Julian Brown  <julian@codesourcery.com>
527
528         * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
529         alternatives according to use of high and low regs.
530         * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
531         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
532         optimizing for size on Thumb-2.
533
534 2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
535
536         * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
537
538 2010-04-15  Richard Guenther  <rguenther@suse.de>
539
540         * tree-ssa-structalias.c (struct variable_info): Add
541         is_fn_info flag.
542         (new_var_info): Initialize it.
543         (dump_constraints): Support printing last added constraints.
544         (debug_constraints): Adjust.
545         (dump_constraint_graph): Likewise.
546         (make_heapvar_for): Check for NULL cfun.
547         (get_function_part_constraint): New function.
548         (get_fi_for_callee): Likewise.
549         (find_func_aliases): Properly implement IPA PTA constraints.
550         (process_ipa_clobber): New function.
551         (find_func_clobbers): Likewise.
552         (insert_into_field_list_sorted): Remove.
553         (create_function_info_for): Properly allocate vars for IPA mode.
554         Do not use insert_into_field_list_sorted.
555         (create_variable_info_for): Properly generate constraints for
556         global vars in IPA mode.
557         (dump_solution_for_var): Always dump the solution.
558         (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
559         (find_what_var_points_to): Adjust.
560         (pt_solution_set): Change.
561         (pt_solution_ior_into): New function.
562         (pt_solution_empty_p): Export.
563         (pt_solution_includes_global): Adjust.
564         (pt_solution_includes_1): Likewise.
565         (pt_solutions_intersect_1): Likewise.
566         (dump_sa_points_to_info): Check some invariants.
567         (solve_constraints): Move constraint dumping ...
568         (compute_points_to_sets): ... here.
569         (ipa_pta_execute): ... and here.
570         (compute_may_aliases): Do not re-compute points-to info
571         locally if IPA info is available.
572         (ipa_escaped_pt): New global var.
573         (ipa_pta_execute): Properly implement IPA PTA.
574         * tree-into-ssa.c (dump_decl_set): Support dumping
575         decls not in referenced-vars.
576         * tree-flow.h (struct gimple_df): Add ipa_pta flag.
577         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
578         (dump_points_to_solution): Likewise.
579         * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
580         * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
581         (remap_gimple_stmt): Reset call clobber/use information if necessary.
582         (copy_decl_to_var): Copy DECL_PT_UID.
583         (copy_result_decl_to_var): Likewise.
584         * tree.c (make_node_stat): Initialize DECL_PT_UID.
585         (copy_node_stat): Copy it.
586         * tree.h (DECL_PT_UID): New macro.
587         (SET_DECL_PT_UID): Likewise.
588         (DECL_PT_UID_SET_P): Likewise.
589         (struct tree_decl_minimal): Add pt_uid member.
590         * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
591         (pt_solution_empty_p): Declare.
592         (pt_solution_set): Adjust.
593         (ipa_escaped_pt): Declare.
594         * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
595         * gimple-pretty-print.c (pp_points_to_solution): New function.
596         (dump_gimple_call): Dump call clobber/use information.
597         * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
598         * tree-pass.h (TDF_ALIAS): New dump option.
599         * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
600         * doc/invoke.texi (-fipa-pta): Update documentation.
601
602 2010-04-15  Richard Guenther  <rguenther@suse.de>
603
604         * Makefile.in (OBJS-common): Add gimple-fold.o.
605         (gimple-fold.o): New rule.
606         * tree.h (maybe_fold_offset_to_reference,
607         maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
608         prototypes ...
609         * gimple.h: ... here.
610         * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
611         may_propagate_address_into_dereference): Move prototypes ...
612         * gimple.h: ... here.
613         * tree-ssa-ccp.c (get_symbol_constant_value,
614         may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
615         maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
616         maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
617         maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
618         ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
619         fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
620         gimplify_and_update_call_from_tree): Move ...
621         * gimple-fold.c: ... here.  New file.
622         (ccp_fold_builtin): Rename to ...
623         (gimple_fold_builtin): ... this.
624         * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
625
626 2010-04-15  Richard Guenther  <rguenther@suse.de>
627
628         * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
629         fit_double_type, force_fit_type_double, add_double_with_sign,
630         neg_double, mul_double_with_sign, lshift_double, rshift_double,
631         lrotate_double, rrotate_double, div_and_round_double): Move ...
632         * double-int.c: ... here.
633         * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
634         add_double, neg_double, mul_double_with_sign, mul_double,
635         lshift_double, rshift_double, lrotate_double, rrotate_double,
636         div_and_round_double): Move prototypes ...
637         * double-int.h: ... here.
638
639 2010-04-15  Bernd Schmidt  <bernds@codesourcery.com>
640
641         PR target/43742
642         * config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
643         matching constraints to ensure inputs match the output.
644
645 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
646
647         PR target/43742
648         * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
649         in an input-only operand.
650
651 2010-04-15  Anatoly Sokolov  <aesok@post.ru>
652
653         * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
654         (double_int_not, double_int_lshift, double_int_rshift): Declare.
655         (double_int_negative_p): Convert to static inline function.
656         * double-int.c (double_int_lshift, double_int_lshift): Add new function.
657         (double_int_negative_p): Remove.
658         * tree.h (lshift_double, rshift_double):
659         * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
660         * fold-const.c (fold_convert_const_int_from_real,
661         fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
662         (lshift_double): Change type of arith argument to bool.
663         (rshift_double): Change type of arith argument to bool. Correct
664         comment.
665         * expmed.c (mask_rtx, lshift_value): (Ditto.).
666
667 2010-04-14  Bernd Schmidt  <bernds@codesourcery.com>
668
669         PR target/21803
670         * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
671         at the start and end of the then/else blocks, and omit them from the
672         conversion.
673         * cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
674         argument; all callers changed.  Pass zero to old_insns_match_p instead.
675         (flow_find_head_matching_sequence): New function.
676         (old_insns_match_p): Check REG_EH_REGION notes for calls.
677         * basic-block.h (flow_find_cross_jump,
678         flow_find_head_matching_sequence): Declare functions.
679
680 2010-04-14  Jason Merrill  <jason@redhat.com>
681
682         PR c++/36625
683         * c-common.c (attribute_takes_identifier_p): New fn.
684         * c-common.h: Declare it.
685
686 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
687
688         * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
689         splitter condition.
690         (*udivmod<mode>4): Ditto.
691
692 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
693
694         * config/i386/i386.md (maxmin_int): Rename code attribute from
695         maxminiprefix and update all users.
696         (maxmin_float): Ditto from maxminfprefix.
697         (logic): Ditto from logicprefix.
698         (absneg_mnemonic): Ditto from absnegprefix.
699         * config/i386/mmx.md: Update all users of maxminiprefix,
700         maxminfprefix and logicprefix for rename.
701         * config/i386/sse.md: Ditto.
702         * config/i386/sync.md (sync_<code><mode>): Update for
703         logicprefix rename.
704
705 2010-04-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
706
707         PR 42966
708         * diagnostics.c (diagnostic_report_diagnostic): Mark specially
709         warnings converted to errors.
710
711 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
712
713         * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
714         used insn_type variable.
715         (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
716         to avoid set-but-not-used warning.
717
718 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
719
720         * df-core.c (df_ref_debug): Change format string placeholder
721         from 0x%x to %#x.
722         * dwarf2asm.c (dw2_asm_output_data_raw,
723         dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
724         dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
725         * dwarf2out.c (output_cfi, output_cfi_directive,
726         dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
727         output_cfa_loc_raw, output_die, output_ranges, output_file_names):
728         Ditto.
729         * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
730         * print-rtl.c (print_rtx): Ditto.
731
732 2010-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
733
734         PR middle-end/42694
735         * builtins.c (expand_builtin_pow_root): New function to expand pow
736         calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
737         series of sqrt and cbrt calls under -ffast-math.
738         (expand_builtin_pow): Call it.
739
740 2010-04-14  Michael Matz  <matz@suse.de>
741
742         PR tree-optimization/42963
743         * tree-cfg.c (touched_switch_bbs): New static variable.
744         (group_case_labels_stmt): New function broken out from ...
745         (group_case_labels): ... here, use the above.
746         (start_recording_case_labels): Allocate touched_switch_bbs.
747         (end_recording_case_labels): Deallocate it, call
748         group_case_labels_stmt.
749         (gimple_redirect_edge_and_branch): Remember index of affected BB.
750
751 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
752
753         * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
754         from insn template.
755
756 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
757
758         * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
759
760 2010-04-13  Jan Hubicka  <jh@suse.cz>
761
762         * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
763         of optimized out static functions.
764         (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
765         cost computation.  Also sanity check for overflows.
766         (update_caller_keys): Update cgraph_edge_badness call; properly
767         update fibheap and sanity check that it is up to date.
768         (add_new_edges_to_heap): Update cgraph_edge_badness.
769         (cgraph_decide_inlining_of_small_function): Likewise;
770         add sanity checking that badness in heap is up to date;
771         improve dumping of reason; Update badness of calls to the
772         offline copy of function currently inlined; dump badness
773         of functions not inlined because of unit growth limits.
774
775 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
776
777         PR middle-end/32628
778         * c-common.c (pointer_int_sum): Disregard overflow that occured only
779         because of sign-extension change when converting to sizetype here...
780         * fold-const.c (fold_convert_const_int_from_int): ...and not here.
781
782         * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
783         the folding to constants.  Remove redundant final conversion.
784         (fold_binary) <associate>: Do not associate if the re-association of
785         constants alone overflows.
786         (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
787         to the end of the list.
788         (multiple_of_p) <COND_EXPR>: New case.
789
790 2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
791
792         * opt-functions.awk (opt_sanitized_name): New.
793         (opt_enum): New.
794         * optc-gen.awk: Use it
795         * opth-gen.awk: Use it.
796
797 2010-04-13  Martin Jambor  <mjambor@suse.cz>
798
799         * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
800         (sra_modify_assign): Delete stmts loading dead data even if racc has no
801         children.  Call replace_uses_with_default_def_ssa_name to handle
802         SSA_NAES on lhs.
803
804 2010-04-13  Michael Matz  <matz@suse.de>
805
806         PR middle-end/43730
807         * builtins.c (expand_builtin_interclass_mathfn): Also create
808         a register if the predicate doesn't match.
809
810 2010-04-13  Diego Novillo  <dnovillo@google.com>
811
812         * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
813         * c-pch.c: Include timevar.h.
814         (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
815         (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
816         * ggc-common.c: Include timevar.h.
817         (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
818         * timevar.def (TV_PCH_SAVE): Define.
819         (TV_PCH_CPP_SAVE): Define.
820         (TV_PCH_PTR_REALLOC): Define.
821         (TV_PCH_PTR_SORT): Define.
822         (TV_PCH_RESTORE): Define.
823         (TV_PCH_CPP_RESTORE): Define.
824
825 2010-04-13  Michael Matz  <matz@suse.de>
826
827         * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
828         into MINUS_EXPRs.
829         (can_reassociate_p): New function.
830         (break_up_subtract_bb, reassociate_bb): Use it.
831
832 2010-04-13  Richard Guenther  <rguenther@suse.de>
833
834         PR bootstrap/43737
835         * builtins.c (c_readstr): Fix assert.
836
837 2010-04-13  Uros Bizjak  <ubizjak@gmail.com>
838
839         * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
840         when generating cltd insn.
841
842         (*ashl<mode>3_1): Remove special handling for register operand 2.
843         (*ashlsi3_1_zext): Ditto.
844         (*ashlhi3_1): Ditto.
845         (*ashlhi3_1_lea): Ditto.
846         (*ashlqi3_1): Ditto.
847         (*ashlqi3_1_lea): Ditto.
848         (*<shiftrt_insn><mode>3_1): Ditto.
849         (*<shiftrt_insn>si3_1_zext): Ditto.
850         (*<shiftrt_insn>qi3_1_slp): Ditto.
851         (*<rotate_insn><mode>3_1): Ditto.
852         (*<rotate_insn>si3_1_zext): Ditto.
853         (*<rotate_insn>qi3_1_slp): Ditto.
854
855 2010-04-13  Richard Guenther  <rguenther@suse.de>
856
857         * tree-ssa-structalias.c (callused_id): Remove.
858         (call_stmt_vars): New.
859         (get_call_vi): Likewise.
860         (lookup_call_use_vi): Likewise.
861         (lookup_call_clobber_vi): Likewise.
862         (get_call_use_vi): Likewise.
863         (get_call_clobber_vi): Likewise.
864         (make_transitive_closure_constraints): Likewise.
865         (handle_const_call): Adjust to do per-call call-used handling.
866         (handle_pure_call): Likewise.
867         (find_what_var_points_to): Remove general callused handling.
868         (init_base_vars): Likewise.
869         (init_alias_vars): Initialize call_stmt_vars.
870         (compute_points_to_sets): Process call-used and call-clobbered
871         vars for call statements.
872         (delete_points_to_sets): Free call_stmt_vars.
873
874 2010-04-13  Richard Guenther  <rguenther@suse.de>
875
876         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
877         Only add RW dependence for dependence distance zero.
878         Adjust maximal vectorization factor according to dependences.
879         Move alignment handling ...
880         (vect_find_same_alignment_drs): ... here.  New function.
881         (vect_analyze_data_ref_dependences): Adjust.
882         (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
883         (vect_analyze_data_refs): Adjust minimal vectorization factor
884         according to data references.
885         * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
886         dependences before determining the vectorization factor.
887         Analyze alignment after determining the vectorization factor.
888         * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
889         dependences before alignment.
890         * tree-vectorizer.h (vect_analyze_data_ref_dependences):
891         Adjust prototype.
892         (vect_analyze_data_refs): Likewise.
893         (MAX_VECTORIZATION_FACTOR): New define.
894
895 2010-04-13  Duncan Sands  <baldrick@free.fr>
896
897         * except.h (lang_eh_type_covers): Remove.
898         * except.c (lang_eh_type_covers): Likewise.
899
900 2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
901             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
902
903         * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
904         * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
905         UNITS_PER_LONG where it is ABI relevant.
906         (s390_return_addr_rtx): Likewise.
907         (s390_back_chain_rtx): Likewise.
908         (s390_frame_area): Likewise.
909         (s390_frame_info): Likewise.
910         (s390_initial_elimination_offset): Likewise.
911         (save_gprs): Likewise.
912         (s390_emit_prologue): Likewise.
913         (s390_emit_epilogue): Likewise.
914         (s390_function_arg_advance): Likewise.
915         (s390_function_arg): Likewise.
916         (s390_va_start): Likewise.
917         (s390_gimplify_va_arg): Likewise.
918         (s390_function_profiler): Likewise.
919         (s390_optimize_prologue): Likewise.
920         (s390_rtx_costs): Likewise.
921         (s390_secondary_reload): Likewise.
922         (s390_promote_function_mode): Likewise.
923         (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
924         (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
925         registers available.
926         (s390_unwind_word_mode): New function.
927         (s390_function_value): Split 64 bit values into register pair if
928         used as return value.
929         (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
930         function call parameters.  Handle parallels.
931         (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
932         (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
933         (DWARF_CIE_DATA_ALIGNMENT): New macro.
934         (s390_expand_setmem): Remove unused variable src_addr.
935         * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
936         deal with 64 bit registers.
937         * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
938         Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
939         (UNITS_PER_LONG): New macro.
940         * libjava/include/s390-signal.h: Define extended ucontext
941         structure containing the upper halfs of the 64 bit registers.
942
943 2010-04-13  Simon Baldwin  <simonb@google.com>
944
945         * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
946
947 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
948
949         * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
950         rvalue on the RHS if the LHS is of a non-renamable type.
951         * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
952
953 2010-04-13  Matthias Klose  <doko@ubuntu.com>
954
955         * gcc.c (cc1_options): Handle -iplugindir before processing
956         the cc1 spec. Only add -iplugindir once.
957         (cpp_unique_options): Add -iplugindir option if -fplugin* options
958         found.
959         * common.opt (iplugindir): Remove `Separate' property, initialize.
960         * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
961         option.
962         * Makefile.in (check-%, check-parallel-%): Create plugin dir.
963         (distclean): Remove plugin dir.
964         * doc/invoke.texi: Document -iplugindir.
965
966 2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>
967
968         * doc/plugins.texi (Loading Plugins): Document short
969         -fplugin=foo option.
970         (Plugin API): Mention default_plugin_dir_name function.
971
972         * gcc.c (find_file_spec_function): Add new declaration.
973         (static_spec_func): Use it for "find-file".
974         (find_file_spec_function): Add new function.
975         (cc1_options): Add -iplugindir option if -fplugin* options found.
976
977         * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
978
979         * plugin.c (add_new_plugin): Updated comment, and handle short
980         plugin name.
981         (default_plugin_dir_name): Added new function.
982
983         * common.opt (iplugindir): New option to set the plugin directory.
984
985 2010-04-12  Uros Bizjak  <ubizjak@gmail.com>
986
987         * config/i386/i386.md (any_rotate): New code iterator.
988         (rotate_insn): New code attribute.
989         (rotate): Ditto.
990         (SWIM124): New mode iterator.
991         (<rotate_insn>ti3): New expander.
992         (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
993         any_rotate code iterator.
994         (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
995         using any_rotate code iterator and SWIM124 mode iterator.
996         (ix86_rotlti3): New insn_and_split pattern.
997         (ix86_rotrti3): Ditto.
998         (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
999         ix86_rotl{di,ti}3 patterns.
1000         (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
1001         (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
1002         and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
1003         *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
1004         code iterator and SWI mode iterator.
1005         (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
1006         Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
1007         code iterator.
1008         (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
1009         Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
1010         (bswap rotatert splitter): Add splitter.
1011         (bswap splitter): Macroize splitter using any_rotate code iterator.
1012         Add insn predicate to split only for TARGET_USE_XCHGB or when
1013         optimizing function for size.
1014
1015 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
1016
1017         * config/pa/pa.c (emit_move_sequence): Remove use of
1018         deleted variable flag_argument_noalias.
1019
1020 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1021
1022         * config.gcc: Removed *-*-solaris2.7* from list of obsolete
1023         configurations.
1024         Add to unsupported targets list.
1025         * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
1026         sparc*-sun-solaris2.[567]* from target lists.
1027         * configure: Regenerate.
1028         * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
1029         removal.
1030         Remove Solaris 7 patch references.
1031         (Specific, sparc-sun-solaris2.7): Removed.
1032         (sparc-sun-solaris2*): Update Solaris 7 example.
1033         (sparc64-*-solaris2*): Likewise.
1034
1035 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1036
1037         * config.build (alpha*-dec-osf4*): Remove.
1038         * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
1039         of obsolete configurations.
1040         (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
1041         support.
1042         * config/alpha/t-osf4: Renamed to ...
1043         * config/alpha/t-osf5: ... this.
1044         * config/alpha/osf.h: Renamed to ...
1045         * config/alpha/osf5.h: ... this.
1046         Merged old osf5.h contents.
1047         Update comments.
1048         (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
1049         (EXTRA_SPECS): Removed.
1050         * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
1051         reflect removal of Tru64 UNIX V4.0/V5.0 support.
1052         Document that.
1053
1054 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1055
1056         * doc/contrib.texi (Contributors, Rainer Orth): Update.
1057
1058 2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
1059
1060         PR/43702
1061         * config/i386/i386.c (x86_this_parameter): Handle aggregate for
1062         __thiscall convention.
1063
1064 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
1065
1066         * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
1067         orig_base.
1068         * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
1069
1070 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
1071
1072         * function.c (assign_parms_initialize_all): Add unused attribute
1073         to fntype.
1074
1075 2010-04-12  Richard Guenther  <rguenther@suse.de>
1076
1077         * gsstruct.def (GSS_CALL): New.
1078         * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
1079         * gimple.h: Include tree-ssa-alias.h.
1080         (struct gimple_statement_call): New.
1081         (union gimple_statement_struct_d): Add gimple_call member.
1082         (gimple_call_reset_alias_info): Declare.
1083         (gimple_call_use_set): New function.
1084         (gimple_call_clobber_set): Likewise.
1085         * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
1086         * gimple.c (gimple_call_reset_alias_info): New function.
1087         (gimple_build_call_1): Call it.
1088         * lto-streamer-in.c (input_gimple_stmt): Likewise.
1089         * tree-inline.c (remap_gimple_stmt): Likewise.
1090         (expand_call_inline): Remove callused handling.
1091         * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
1092         * tree-dfa.c (dump_variable): Likewise.
1093         * tree-parloops.c (parallelize_loops): Likewise.
1094         * tree-ssa.c (init_tree_ssa): Likewise.
1095         (delete_tree_ssa): Likewise.
1096         * tree-flow-inline.h (is_call_used): Remove.
1097         * tree-flow.h (struct gimple_df): Remove callused member.
1098         * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
1099         * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
1100         (ref_maybe_used_by_call_p_1): Simplify.
1101         (call_may_clobber_ref_p_1): Likewise.
1102         * tree-ssa-structalias.c (compute_points_to_sets): Set
1103         the call stmt used and clobbered sets.
1104         * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
1105         (find_tail_calls): Verify the tail call.
1106
1107 2010-04-12  Richard Guenther  <rguenther@suse.de>
1108
1109         * ipa.c (cgraph_postorder): Adjust postorder to guarantee
1110         single-iteration always-inline inlining.
1111         * ipa-inline.c (cgraph_mark_inline): Do not return anything.
1112         (cgraph_decide_inlining): Do not handle always-inline specially.
1113         (try_inline): Remove always-inline cycle detection special case.
1114         Do not recurse on always-inlines.
1115         (cgraph_early_inlining): Do not iterate if not optimizing.
1116         (cgraph_gate_early_inlining): remove.
1117         (pass_early_inline): Run unconditionally.
1118         (gate_cgraph_decide_inlining): New function.
1119         (pass_ipa_inline): Use it.  Do not run the IPA inliner if
1120         not inlining or optimizing.
1121         (cgraph_decide_inlining_of_small_functions): Also consider
1122         always-inline functions.
1123         (cgraph_default_inline_p): Return true for nodes which should
1124         disregard inline limits.
1125         (estimate_function_body_sizes): Assume zero size and time for
1126         nodes which are marked as disregarding inline limits.
1127         (cgraph_decide_recursive_inlining): Do not perform recursive
1128         inlining on always-inline nodes.
1129
1130 2010-04-12  Jakub Jelinek  <jakub@redhat.com>
1131
1132         PR bootstrap/43699
1133         * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
1134         for exprs satisfying handled_component_p.
1135
1136 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
1137
1138         * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
1139         non-constant aggregate elements.
1140
1141         * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
1142         is a real initialization.
1143
1144 2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
1145
1146         PR c/36774
1147         * c-decl.c (start_function): Move forward check for nested function.
1148
1149 2010-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
1150
1151         * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
1152         * config/sh/sh.c: Include reload.h.
1153         (sh_legitimize_reload_address): New.
1154         * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
1155         sh_legitimize_reload_address.
1156
1157 2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
1158
1159         * config/sh/sh.md (*movqi_pop): New insn pattern.
1160         * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
1161
1162 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
1163
1164         * config/i386/i386.md (any_shiftrt): New code iterator.
1165         (shiftrt_insn): New code attribute.
1166         (shiftrt): Ditto.
1167         (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
1168         using any_shiftrt code iterator.
1169         (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
1170         *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
1171         (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
1172         pattern from corresponding peephole2 patterns.
1173         (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
1174         using any_shiftrt code iterator.
1175         (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
1176         (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
1177         (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
1178         (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
1179         *{ashr,lshr}<mode>3_cmp_zext.
1180         (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
1181
1182 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
1183
1184         * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
1185         scratch register.
1186         (*lshr<mode>3_cconly): Ditto.
1187
1188 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
1189
1190         * config/i386/i386.md (lshr<mode>3): Macroize expander from
1191         lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
1192         (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
1193         pattern from *lshr{di,ti}3_1 and corresponding splitters using
1194         DWI mode iterator.
1195         (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
1196         from corresponding peephole2 patterns.
1197         (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
1198         *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
1199         and *lshrdi3_1_rex64 using SWI mode iterator.
1200         (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
1201         (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
1202         (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
1203         *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
1204         and *lshrdi3_cmp_rex64 using SWI mode iterator.
1205         (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
1206         (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
1207         *lshrdi3_one_bit_cconly_rex64. Macroize insn from
1208         *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
1209         SWI mode iterator.
1210
1211 2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
1212
1213         * config/i386/i386.md (ashr<mode>3): Macroize expander from
1214         ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
1215         (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
1216         pattern from *ashr{di,ti}3_1 and corresponding splitters using
1217         DWI mode iterator.
1218         (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
1219         from corresponding peephole2 patterns.
1220         (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
1221         (ashrsi3_cvt): Rename from ashrsi3_31.
1222         (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
1223         (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
1224         and x86_64_shift_adj_3 using SWI48 mode iterator.
1225         (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
1226         *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
1227         and *ashrdi3_1_rex64 using SWI mode iterator.
1228         (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
1229         (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
1230         (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
1231         *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
1232         and *ashrdi3_cmp_rex64 using SWI mode iterator.
1233         (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
1234         (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
1235         *ashrdi3_one_bit_cconly_rex64. Macroize insn from
1236         *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
1237         SWI mode iterator.
1238         (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
1239         * config/i386/i386.c (ix86_split_ashr): Update for renamed
1240         x86_shift<mode>_adj_3 expanders.
1241
1242 2010-04-10  Wei Guozhi  <carrot@google.com>
1243
1244         PR target/42601
1245         * config/arm/arm.c (arm_pic_static_addr): New function.
1246         (legitimize_pic_address): Call arm_pic_static_addr when it detects
1247         a static symbol.
1248         (arm_output_addr_const_extra): Output expression for new pattern.
1249         * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
1250
1251 2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>
1252
1253         * ira-costs.c (record_reg_classes): Ignore alternatives that are
1254         not enabled.
1255
1256         * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
1257         * web.c: Include "insn-config.h" and "recog.h".
1258         (union_match_dups): New function.
1259         (web_main): Call it.
1260         (union_defs): Don't try to recognize match_dups.
1261
1262         * reload1.c (eliminate_regs_in_insn): Don't restore an operand
1263         if doing so would replace the entire pattern.
1264
1265 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
1266
1267         PR target/43707
1268         PR target/43709
1269         * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
1270         and splitter pattern.  Change splitter operand 1 predicate to
1271         nonmemory_operand.
1272
1273 2010-04-09  Martin Jambor  <mjambor@suse.cz>
1274
1275         * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
1276         lattices are addresses of CONST_DECLs with the same initial value.
1277         (ipcp_print_all_lattices): Print values of CONST_DECLs.
1278         * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
1279
1280 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
1281             Bernd Schmidt  <bernds@codesourcery.com>
1282
1283         * loop-invariant.c (replace_uses): New static function.
1284         (move_invariant_reg): Use it to ensure we can replace the uses.
1285
1286 2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
1287
1288         * config/picochip/picochip.c (picochip_rtx_costs): Use correct
1289         function template.
1290         (picochip_override_options): Enable section anchors only above -O1.
1291         (picochip_reorg): Fixed a couple of build warnings.
1292
1293 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1294
1295         * configure.ac (plugin -rdynamic test): Log result.
1296         * configure: Regenerate.
1297         * config/sol2.h (LINK_SPEC): Handle -rdynamic.
1298         (RDYNAMIC_SPEC): Define.
1299         * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
1300
1301 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1302
1303         * configure.ac: Determine Sun ld version numbers.
1304         (comdat_group): Restrict GNU ld version checks to gld.
1305         (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
1306         (enable_comdat): Support --enable-comdat.
1307         * configure: Regenerate.
1308         * doc/install.texi (Configuration): Document --enable-comdat.
1309
1310 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1311
1312         * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
1313         * config/sol2-gld.h: ... here.
1314         * config.gcc (sparc*-*-solaris2*): Reflect this.
1315         (i[34567]86-*-solaris2*): Use it.
1316
1317 2010-04-09  Steve Ellcey  <sje@cup.hp.com>
1318
1319         * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
1320         setup_clocks_p.
1321         (final_emit_insn_group_barriers): Remove unused variable prev_insn.
1322
1323 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1324
1325         PR 42965
1326         * diagnostic.c (diagnostic_initialize): Initialize
1327         some_warnings_are_errors.
1328         (diagnostic_finish): New.
1329         (diagnostic_action_after_output): Call it before exiting.
1330         (diagnostic_report_diagnostic): Do not print message here. Set
1331         some_warnings_are_errors.
1332         * diagnostic.h (diagnostic_context): Delete
1333         issue_warnings_are_errors_message. Add some_warnings_are_errors.
1334         (diagnostic_finish): Declare.
1335         * toplev.c (toplev_main): Call it before exit.
1336
1337 2010-04-09  Jason Merrill  <jason@redhat.com>
1338
1339         PR c++/42623
1340         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
1341         for incomplete type.
1342
1343         PR c++/41788
1344         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
1345         based on a warning flag.
1346
1347 2010-04-09  Richard Guenther  <rguenther@suse.de>
1348
1349         * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
1350
1351 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
1352
1353         PR bootstrap/43684
1354         * varasm.c (default_assemble_visibility): Wrap vars that are
1355         set, but unused, by targets without GAS.
1356         * config/rs6000/rs6000.c: (paired_emit_vector_compare):
1357         Remove set, but unused, vars.
1358         (rs6000_legitimize_tls_address): Likewise.
1359         (altivec_expand_dst_builtin): Likewise.
1360         * config/darwin.c (machopic_classify_symbol): Likewise.
1361         (machopic_indirection_name): Likewise.
1362
1363 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
1364
1365         * config/i386/i386.md (DWI): New mode iterator.
1366         (S): New mode attribute.
1367         (shift_operand): Ditto.
1368         (shift_immediate_operand): Ditto.
1369         (ashl_input_operand): Ditto.
1370         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
1371         using SDWIM mode iterator.
1372         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
1373         pattern from *ashl{di,ti}3_1 and corresponding splitters using
1374         DWI mode iterator.
1375         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
1376         from corresponding peephole2 patterns.
1377         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
1378         and x86_64_shift_adj_1 using SWI48 mode iterator.
1379         (x86_shift<mode>_adj_2): Ditto.
1380         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
1381         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
1382         using SWI48 mode iterator.
1383         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
1384         *ashldi3_cmp_rex64 using SWI mode iterator.
1385         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
1386         *ashldi3_cconly_rex64 using SWI mode iterator.
1387         * config/i386/i386.c (ix86_split_ashl): Update for renamed
1388         x86_shift<mode>_adj_{1,2}.
1389         (ix86_split_ashr): Ditto.
1390         (ix86_split_lshr): Ditto.
1391
1392 2010-04-09  Richard Guenther  <rguenther@suse.de>
1393
1394         * target.h (builtin_conversion): Pass in input and output types.
1395         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
1396         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
1397         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
1398         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
1399
1400         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
1401         Handle AVX modes.
1402         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
1403
1404 2010-04-09  Richard Guenther  <rguenther@suse.de>
1405
1406         PR target/43152
1407         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
1408
1409 2010-04-09  Richard Guenther  <rguenther@suse.de>
1410
1411         * tree-vectorizer.h (struct _stmt_vec_info): Document
1412         that vectype is the type of the LHS.
1413         (supportable_widening_operation, supportable_narrowing_operation):
1414         Get both input and output vector types as arguments.
1415         (vect_is_simple_use_1): Declare.
1416         (get_same_sized_vectype): Likewise.
1417         * tree-vect-loop.c (vect_determine_vectorization_factor):
1418         Set STMT_VINFO_VECTYPE to the vector type of the def.
1419         (vectorizable_reduction): Adjust.
1420         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
1421         Adjust.  Specify the output vector type.
1422         (vect_pattern_recog_1): Adjust.
1423         * tree-vect-stmts.c (get_same_sized_vectype): New function.
1424         (vectorizable_call): Adjust.
1425         (vectorizable_conversion): Likewise.
1426         (vectorizable_operation): Likewise.
1427         (vectorizable_type_demotion): Likewise.
1428         (vectorizable_type_promotion): Likewise.
1429         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
1430         the def.
1431         (vect_is_simple_use_1): New function.
1432         (supportable_widening_operation): Get both input and output
1433         vector types.
1434         (supportable_narrowing_operation): Likewise.
1435         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
1436
1437 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
1438
1439         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
1440         __thiscall and _thiscall as predefined macros.
1441         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
1442         thiscall attribute handling.
1443         (ix86_comp_type_attributes): Likewise.
1444         (ix86_function_regparm): Likewise.
1445         (ix86_return_pops_args): Likewise.
1446         (init_cumulative_args): Likewise.
1447         (find_drap_reg): Likewise.
1448         (ix86_static_chain): Likewise.
1449         (x86_this_parameter): Likewise.
1450         (x86_output_mi_thunk): Likewise.
1451         (ix86_attribute_table): Add description for thiscall attribute.
1452         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
1453         * doc/extend.texi: Add documentation for thiscall.
1454
1455 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1456
1457         PR c++/28584
1458         * c.opt (Wint-to-pointer-cast): Available in C++.
1459         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
1460
1461 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
1462
1463         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
1464         * calls.c (expand_call): Pass the function type to aggregate_value_p.
1465         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
1466         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
1467         function type instead.  Reorder and simplify checks.
1468
1469         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
1470
1471 2010-04-08  Jing Yu  <jingyu@google.com>
1472             Zdenek Dvorak  <ook@ucw.cz>
1473
1474         PR tree-optimization/42720
1475         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
1476         loop unswitch conditions here from ...
1477         (tree_unswitch_single_loop): ... here.
1478
1479 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
1480
1481         * tree-if-conv.c: Fix comments and simplify logic.
1482
1483 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
1484
1485         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
1486         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
1487         (main_tree_if_conversion): Update call to tree_if_conversion.
1488
1489 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1490
1491         PR 42485
1492         * doc/invoke.texi (-b,-V): Delete.
1493         * doc/tm.texi: Do not mention -b.
1494         * gcc.c (display_help): Delete -b and -V.
1495         (process_command): Delete -b and -V.
1496         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
1497
1498 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
1499             Wolfgang Gellerich  <gellerich@de.ibm.com>
1500
1501         Implement target hook for loop unrolling
1502         * target.h (loop_unroll_adjust): Add a new target hook function.
1503         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
1504         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
1505         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
1506         (s390_loop_unroll_adjust): Implement the new target hook for s390.
1507         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
1508         target hook.
1509         (decide_unroll_stupid): Likewise.
1510
1511 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1512
1513         PR target/43643
1514         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
1515
1516 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1517
1518         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
1519         (Specific, *-*-solaris2*): Likewise.
1520         Don't prefer Sun as over GNU as.
1521
1522 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
1523
1524         * config/s390/s390.c (override_options): Adjust the z10
1525           defaults for max-unroll-times, max-completely-peeled-insns
1526           and max-completely-peel-times.
1527
1528 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1529
1530         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
1531         instructions for z10.
1532         (s390_expand_setmem): Likewise.
1533         (s390_expand_cmpmem): Likewise.
1534
1535 2010-04-08  Richard Guenther  <rguenther@suse.de>
1536
1537         PR tree-optimization/43679
1538         * tree-ssa-pre.c (eliminate): Only propagate copies.
1539
1540 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
1541
1542         PR bootstrap/43681
1543         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
1544         set but not used variable warning.
1545
1546 2010-04-08  Wei Guozhi  <carrot@google.com>
1547
1548         PR target/41653
1549         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
1550         (arm_size_rtx_costs): Call the new function when optimized for size.
1551
1552 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
1553
1554         PR debug/43670
1555         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
1556         op0 is not a MEM, just return NULL instead of assertion
1557         failure.
1558         (discover_nonconstant_array_refs): Don't walk debug stmts.
1559
1560 2010-04-08  Doug Kwan  <dougkwan@google.com>
1561
1562         * configure.ac: Recognize gold and do not use its version number
1563         to test ld features.
1564         * configure: Regenerate.
1565
1566 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
1567
1568         PR middle-end/40815
1569         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
1570         (negate_value): Move code to push elements to broken_up_substracts ...
1571         (eliminate_plus_minus_pair): ... here.  Push operands that have no
1572         negative pair to plus_negates.
1573         (repropagate_negates, init_reassoc, fini_reassoc): Update.
1574
1575 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1576
1577         * doc/install.texi (Configuration): Move description of
1578         --enable-lto, --with-libelf*, --enable-gold from Java section to
1579         general section.
1580
1581         * doc/generic.texi (Working with declarations)
1582         (Function Properties, C and C++ Trees): Fix typos.
1583         * doc/sourcebuild.texi (Top Level): Likewise.
1584
1585 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
1586
1587         PR c/18624
1588         * tree.h (DECL_READ_P): Define.
1589         (struct tree_decl_common): Add decl_read_flag.
1590         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
1591         a set but not used warning.
1592         (merge_decls): Merge DECL_READ_P flag.
1593         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
1594         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
1595         * c-common.c (handle_used_attribute, handle_unused_attribute):
1596         Likewise.
1597         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
1598         New prototypes.
1599         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
1600         New functions.
1601         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
1602         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
1603         c_parser_binary_expression, c_parser_cast_expression,
1604         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
1605         Call default_function_array_read_conversion instead of
1606         default_function_array_conversion where needed.
1607         (c_parser_unary_expression, c_parser_conditional_expression,
1608         c_parser_postfix_expression_after_primary, c_parser_initelt):
1609         Likewise.  Call mark_exp_read where needed.
1610         (c_parser_statement_after_labels, c_parser_asm_operands,
1611         c_parser_typeof_specifier, c_parser_sizeof_expression,
1612         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
1613         where needed.
1614         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
1615         New.
1616         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
1617         (warn_unused_but_set_parameter): Default to warn_unused
1618         && extra_warnings.
1619         * doc/invoke.texi: Document -Wunused-but-set-variable and
1620         -Wunused-but-set-parameter.
1621
1622         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
1623         used count variable.
1624         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
1625         when operandN variables aren't used in the body of the expander
1626         or splitter.
1627         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
1628         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
1629         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
1630         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
1631         FOR_EACH_IMM_USE_ON_STMT): Likewise.
1632         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
1633         * tree.c (PROCESS_ARG): Likewise.
1634
1635 2010-04-07  Simon Baldwin  <simonb@google.com>
1636
1637         * diagnostic.h (diagnostic_override_option_index): New macro to
1638         set a diagnostic's option_index.
1639         * c-tree.h (c_cpp_error): Add warning reason argument.
1640         * opts.c (_warning_as_error_callback): New.
1641         (register_warning_as_error_callback): Store callback for
1642         warnings enabled via enable_warning_as_error.
1643         (enable_warning_as_error): Call callback, minor code tidy.
1644         * opts.h (register_warning_as_error_callback): Declare.
1645         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
1646         response to -Werror=.
1647         (c_common_init_options): Register warning_as_error_callback in opts.c.
1648         * common.opt: Add -Wno-cpp option.
1649         * c-common.c (struct reason_option_codes_t): Map cpp warning
1650         reason codes to gcc option indexes.
1651         * (c_option_controlling_cpp_error): New function, lookup the gcc
1652         option index for a cpp warning reason code.
1653         * (c_cpp_error): Add warning reason argument, call
1654         c_option_controlling_cpp_error for diagnostic_override_option_index.
1655         * doc/invoke.texi: Document -Wno-cpp.
1656
1657 2010-04-07  Richard Guenther  <rguenther@suse.de>
1658
1659         * ipa-reference.c (mark_load): Use get_base_address.
1660         (mark_store): Likewise.
1661
1662         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
1663         inserting GIMPLE_NOPs into the IL.
1664         * tree-ssa-structalias.c (get_constraint_for_component_ref):
1665         Explicitly strip handled components and indirect references.
1666
1667         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
1668         folding address expressions.
1669         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
1670         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
1671         operand_equal_p to compare decls.
1672         (ptr_deref_may_alias_decl_p): Likewise.
1673         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
1674         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
1675         Handle reversed comparison ops.
1676         * tree-sra.c (asm_visit_addr): Use get_base_address.
1677         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
1678         * ipa-reference.c (mark_address): Use get_base_address.
1679
1680 2010-04-07  Richard Guenther  <rguenther@suse.de>
1681
1682         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
1683         Propagate constants everywhere.
1684
1685 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
1686
1687         PR debug/43516
1688         * tree.c (MAX_INT_CACHED_PREC): Define.
1689         (nonstandard_integer_type_cache): New array.
1690         (build_nonstandard_integer_type): Cache results for precision
1691         <= MAX_INT_CACHED_PREC.
1692
1693 2010-04-07  Richard Guenther  <rguenther@suse.de>
1694
1695         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
1696         -fargument-noalias-global, -fargument-noalias-anything): Remove.
1697         * common.opt: Likewise.
1698         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
1699         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
1700         (nonoverlapping_memrefs_p): Likewise.
1701         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1702         * opts.c (common_handle_option): Handle OPT_fargument_alias,
1703         OPT_fargument_noalias, OPT_fargument_noalias_anything and
1704         OPT_fargument_noalias_global for backward compatibility.
1705
1706 2010-04-07  Richard Guenther  <rguenther@suse.de>
1707
1708         PR tree-optimization/43270
1709         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
1710         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
1711         * tree-ssa-pre.c (phi_translate_1): Adjust.
1712         (fully_constant_expression): Split out vn_reference handling to ...
1713         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
1714         Fold reads from constant strings.
1715         (vn_reference_lookup): Handle fully constant references.
1716         (vn_reference_lookup_pieces): Likewise.
1717         * Makefile.in (expmed.o-warn): Add -Wno-error.
1718
1719 2010-04-07  Martin Jambor  <mjambor@suse.cz>
1720
1721         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
1722
1723 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
1724
1725         PR driver/41594
1726         * gcc.c: Add -static-libstdc++ to list of recognized options.
1727
1728 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1729
1730         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
1731
1732 2010-04-07  Richard Guenther  <rguenther@suse.de>
1733
1734         PR middle-end/42617
1735         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
1736         bases build simple mem attributes to retain points-to information.
1737
1738 2010-04-07  Richard Guenther  <rguenther@suse.de>
1739
1740         PR middle-end/42617
1741         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
1742         preserve points-to related information.
1743
1744 2010-04-07  Richard Guenther  <rguenther@suse.de>
1745
1746         PR middle-end/42617
1747         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
1748         discard plain indirect references.
1749         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
1750         * tree.c (tree_nop_conversion): Likewise.
1751
1752 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
1753
1754         PR debug/43628
1755         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
1756
1757 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
1758
1759         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
1760         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
1761
1762 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
1763
1764         * tree-if-conv.c: Fix indentation and comments.
1765
1766 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
1767
1768         * tree-if-conv.c: Sort static functions in topological order.
1769
1770 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
1771
1772         * tree-if-conv.c: Fix indentation and comments.
1773
1774 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1775
1776         PR middle-end/43519
1777         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
1778         lang_hooks.types.type_for_size instead of
1779         build_nonstandard_integer_type.
1780         When converting an unsigned type to signed, double its precision.
1781         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
1782         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
1783         (graphite_create_new_loop_guard): When ub + 1 wraps around,
1784         use lb <= ub.
1785
1786 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1787
1788         PR middle-end/43519
1789         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
1790         POINTER_PLUS_EXPR for pointer types.
1791
1792 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1793
1794         PR middle-end/43519
1795         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
1796         * graphite-clast-to-gimple.c: Include langhooks.h.
1797         (max_signed_precision_type): New.
1798         (max_precision_type): Takes two types as arguments.
1799         (precision_for_value): New.
1800         (precision_for_interval): New.
1801         (gcc_type_for_interval): New.
1802         (gcc_type_for_value): New.
1803         (gcc_type_for_clast_term): New.
1804         (gcc_type_for_clast_red): New.
1805         (gcc_type_for_clast_bin): New.
1806         (gcc_type_for_clast_expr): Split up into several functions.
1807         (gcc_type_for_clast_eq): Rewritten.
1808         (compute_bounds_for_level): New.
1809         (compute_type_for_level_1): New.
1810         (compute_type_for_level): New.
1811         (gcc_type_for_cloog_iv): Removed.
1812         (gcc_type_for_iv_of_clast_loop): Rewritten.
1813         (graphite_create_new_loop): Compute the lower and upper bound types
1814         with gcc_type_for_clast_expr.
1815         (graphite_create_new_loop_guard): Same.
1816         (find_cloog_iv_in_expr): Removed.
1817         (compute_cloog_iv_types_1): Removed.
1818         (compute_cloog_iv_types): Removed.
1819         (gloog): Do not call compute_cloog_iv_types.
1820         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
1821         GBB_CLOOG_IV_TYPES.
1822         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
1823         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
1824         (GBB_CLOOG_IV_TYPES): Removed.
1825
1826 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1827
1828         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
1829         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
1830         (detect_commutative_reduction): Same.
1831
1832 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1833
1834         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
1835         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
1836         argument.
1837         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
1838         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
1839         (rewrite_commutative_reductions_out_of_ssa): Same.
1840         * passes.c (execute_function_todo): Call verify_ssa for every pass
1841         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
1842         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
1843         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
1844         with an extra argument.
1845         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
1846         verify_ssa only when the extra argument is true.
1847         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
1848         with an extra argument.
1849         (tree_transform_and_unroll_loop): Same.
1850
1851 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
1852
1853         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
1854         for all the passes of the LNO having LOOP_CLOSED_SSA.
1855         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
1856         * tree-loop-distribution.c (pass_loop_distribution): Same.
1857         * tree-pass.h (TODO_verify_loops): Removed.
1858         * tree-ssa-loop.c (pass_tree_loop_init): Same.
1859         (pass_lim): Same.
1860         (pass_tree_unswitch): Same.
1861         (pass_predcom): Same.
1862         (pass_vectorize): Same.
1863         (pass_linear_transform): Same.
1864         (pass_graphite_transforms): Same.
1865         (pass_iv_canon): Same.
1866         (pass_complete_unroll): Same.
1867         (pass_complete_unrolli): Same.
1868         (pass_parallelize_loops): Same.
1869         (pass_loop_prefetch): Same.
1870         (pass_iv_optimize): Same.
1871
1872 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
1873
1874         PR middle-end/32824
1875         * passes.c (init_optimization_passes): Move pass_lim before
1876         pass_copy_prop and pass_dce_loop.
1877
1878 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
1879
1880         PR target/43667
1881         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
1882         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
1883         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
1884         MULTI_* defines for 4 argument vpermil2p* builtins.
1885
1886 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
1887
1888         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
1889         * config/i386/i386.c (x86_maybe_negate_const_int): New.
1890         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
1891         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
1892         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
1893         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
1894         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
1895         Use x86_maybe_negate_const_int to output insn mnemonic.
1896         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
1897         check from instruction predicate.  Update comments.
1898         * config/i386/sync.md (sync_add<mode>): Use
1899         x86_maybe_negate_const_int to output insn mnemonic.
1900
1901 2010-04-06  Jan Hubicka  <jh@suse.cz>
1902
1903         PR tree-optimization/42906
1904         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
1905         IGNORE_SELF argument.  Set visited_control_parents for fully
1906         processed BBs.
1907         (find_obviously_necessary_stmts): Update call of
1908         mark_control_dependent_edges_necessary.
1909         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
1910
1911 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
1912
1913         * config/i386/i386.md: Remove comment about 'e' and 'E'
1914         operand modifier.
1915
1916 2010-04-06  Richard Guenther  <rguenther@suse.de>
1917
1918         PR tree-optimization/43627
1919         * tree-vrp.c (extract_range_from_unary_expr): Widenings
1920         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
1921         not varying.
1922
1923 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
1924
1925         * BASE-VER: Change to 4.6.0.
1926
1927         PR target/43638
1928         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
1929         handling.
1930
1931 2010-04-06  Richard Guenther  <rguenther@suse.de>
1932
1933         PR middle-end/43661
1934         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
1935
1936 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1937
1938         * doc/invoke.texi (Optimize Options): Document that LTO
1939         won't remove object access purely due to incompatible
1940         declarations.
1941
1942 2010-04-04  Matthias Klose  <doko@ubuntu.com>
1943
1944         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
1945         Initialize variable.
1946
1947 2010-04-03  Richard Guenther  <rguenther@suse.de>
1948
1949         PR middle-end/42509
1950         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
1951         require a non-NULL MEM_OFFSET.
1952
1953 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
1954
1955         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
1956         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
1957         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
1958         config/alpha/predicates.md, config/arm/arm.md,
1959         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
1960         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
1961         config/darwin9.h, config/darwin.c, config/darwin.h,
1962         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
1963         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
1964         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
1965         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
1966         config/mips/mips.md, config/mn10300/mn10300.c,
1967         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
1968         config/rs6000/aix.h, config/rs6000/dfp.md,
1969         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
1970         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
1971         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
1972         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
1973         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
1974         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
1975         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
1976         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
1977         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
1978         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
1979         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
1980         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
1981         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
1982         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
1983         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
1984         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
1985         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
1986         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
1987         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
1988         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
1989         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
1990         opt-functions.awk, opth-gen.awk, params.def, passes.c,
1991         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
1992         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
1993         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
1994         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
1995         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
1996         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
1997         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
1998         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
1999         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
2000         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
2001         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
2002         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
2003         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
2004         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
2005
2006 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2007
2008         PR other/43620
2009         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
2010         * aclocal.m4: Regenerate.
2011
2012 2010-04-02  Richard Guenther  <rguenther@suse.de>
2013
2014         PR tree-optimization/43629
2015         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
2016         if we have seen a constant value.
2017
2018 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
2019
2020         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
2021
2022 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
2023
2024         PR target/43469
2025         * arm.c (legitimize_tls_address): Adjust call to
2026         gen_tls_load_dot_plus_four.
2027         (arm_note_pic_base): New function.
2028         (arm_cannot_copy_insn_p): Use it.
2029         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
2030         constraint.
2031
2032 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2033
2034         PR bootstrap/43531
2035
2036         Revert:
2037         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2038
2039         * Makefile.in ($(out_object_file)): Depend on
2040         gt-$(basename $(notdir $(out_file))).h.
2041
2042 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
2043
2044         * config.gcc (lm32-*-rtems*): Add t-lm32.
2045
2046 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
2047
2048         * config.gcc: Add lm32-*-rtems*.
2049         * config/lm32/rtems.h: New file.
2050
2051 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
2052
2053         PR target/42609
2054         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
2055
2056 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
2057
2058         * dwarf2out.c (output_compilation_unit_header): For
2059         -gdwarf-4 use version 4 instead of version 3.
2060         (output_line_info): For version 4 and above emit additional
2061         maximum ops per insn header field.
2062         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
2063
2064         * dwarf2out.c (is_c_family, is_java): Remove.
2065         (lower_bound_default): New function.
2066         (add_bound_info, gen_descr_array_type_die): Use it.
2067
2068 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
2069
2070         PR debug/43325
2071         * dwarf2out.c (gen_variable_die): Allow debug info for variable
2072         re-declaration when it happens in a function.
2073
2074 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
2075
2076         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
2077         (cgraph_remove_function_insertion_hook): Same.
2078         (cgraph_call_function_insertion_hooks): Same.
2079
2080 2010-04-01  Richard Guenther  <rguenther@suse.de>
2081
2082         PR middle-end/43614
2083         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
2084         and TREE_THIS_VOLATILE.
2085         (copy_ref_info): Likewise.
2086         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
2087         * tree.c (build6_stat): Ignore side-effects of all but arg5
2088         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
2089         TARGET_MEM_REF.
2090
2091 2010-04-01  Richard Guenther  <rguenther@suse.de>
2092
2093         PR tree-optimization/43607
2094         * ipa-type-escape.c (check_call): Do not access non-existing
2095         arguments.
2096
2097 2010-04-01  Richard Guenther  <rguenther@suse.de>
2098
2099         PR middle-end/43602
2100         Revert
2101         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
2102                     Jack Howarth <howarth@bromo.med.uc.edu>
2103
2104         * tree-profile.c (tree_init_ic_make_global_vars): Make static
2105         variables TLS.
2106
2107 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2108
2109         * doc/install.texi (Prerequisites): Document libelf usability on
2110         IRIX 5/6 and Solaris 2.
2111         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
2112         Update GNU as, GNU ld requirements.
2113         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
2114         Document Sun Studio compiler download.
2115         Update and simplify as, ld recommendations.
2116         (Specific, *-*-solaris2.7): Note obsoletion, removal.
2117
2118 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2119
2120         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
2121         with_tune_32 to pentium4.
2122
2123 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
2124
2125         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
2126
2127 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2128
2129         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
2130         obsoletion, removal.
2131         Update IDO URL.
2132         Document GNU as requirement.
2133         Update configure requirements.
2134         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
2135         Recomment IRIX 6.5.18+.
2136         Document IDF/IDL requirement.
2137         Document GNU as requirement.
2138         Document GNU ld bootstrap failure.
2139         Remove freeware.sgi.com reference.
2140
2141 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2142
2143         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
2144         UNIX V4.0, V5.0 obsoletion, removal.
2145         Remove --with-gc=simple reference.
2146         Update VM requirements during bootstrap.
2147         Remove -oldas bootstrap description.
2148         Update binutils reference.
2149         Remove comparison failure note.
2150
2151 2010-03-31  Richard Guenther  <rguenther@suse.de>
2152             Zdenek Dvorak  <ook@ucw.cz>
2153             Sebastian Pop  <sebastian.pop@amd.com>
2154
2155         PR middle-end/43464
2156         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
2157         with multiple arguments.
2158         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
2159
2160 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2161
2162         * graphite-dependences.c (print_pddr): Call print_pdr with an
2163         extra argument.
2164         * graphite-poly.c (debug_pdr): Add an extra argument for the
2165         verbosity level.
2166         (print_pdr): Same.
2167         (print_pbb_domain): Same.
2168         (print_pbb): Same.
2169         (print_scop_context): Same.
2170         (print_scop): Same.
2171         (print_cloog): Same.
2172         (debug_pbb_domain): Same.
2173         (debug_pbb): Same.
2174         (print_pdrs): Same.
2175         (debug_pdrs): Same.
2176         (debug_scop_context): Same.
2177         (debug_scop): Same.
2178         (debug_cloog): Same.
2179         (print_scop_params): Same.
2180         (debug_scop_params): Same.
2181         (print_iteration_domain): Same.
2182         (print_iteration_domains): Same.
2183         (debug_iteration_domain): Same.
2184         (debug_iteration_domains): Same.
2185         (print_scattering_function): Same.
2186         (print_scattering_functions): Same.
2187         (debug_scattering_function): Same.
2188         (debug_scattering_functions): Same.
2189         * graphite-poly.h (debug_pdr): Update declaration.
2190         (print_pdr): Same.
2191         (print_pbb_domain): Same.
2192         (print_pbb): Same.
2193         (print_scop_context): Same.
2194         (print_scop): Same.
2195         (print_cloog): Same.
2196         (debug_pbb_domain): Same.
2197         (debug_pbb): Same.
2198         (print_pdrs): Same.
2199         (debug_pdrs): Same.
2200         (debug_scop_context): Same.
2201         (debug_scop): Same.
2202         (debug_cloog): Same.
2203         (print_scop_params): Same.
2204         (debug_scop_params): Same.
2205         (print_iteration_domain): Same.
2206         (print_iteration_domains): Same.
2207         (debug_iteration_domain): Same.
2208         (debug_iteration_domains): Same.
2209         (print_scattering_function): Same.
2210         (print_scattering_functions): Same.
2211         (debug_scattering_function): Same.
2212         (debug_scattering_functions): Same.
2213
2214 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2215
2216         * graphite-poly.c (print_scattering_function_1): New.
2217         (print_scattering_function): Call it.
2218         (print_scop_params): Remove spaces at the end of lines.
2219         (print_cloog): New.
2220         (debug_cloog): New.
2221         * graphite-poly.h (print_cloog): Declared.
2222         (debug_cloog): Declared.
2223
2224 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2225
2226         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
2227         in loop->header.
2228         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
2229         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
2230         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
2231         to switch between adding the IV bump in loop->latch or in loop->header.
2232
2233 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2234
2235         * graphite-poly.c (print_scattering_function): Pretty print following
2236         the scoplib format.
2237         (print_pdr): Same.
2238         (print_pbb_domain): Same.
2239         (dump_gbb_cases): Same.
2240         (dump_gbb_conditions): Same.
2241         (print_pdrs): Same.
2242         (print_pbb): Same.
2243         (print_scop_params): Same.
2244         (print_scop_context): Same.
2245         (print_scop): Same.
2246         (print_pbb_body): New.
2247         (lst_indent_to): New.
2248         (print_lst): Start new lines with a #.
2249         * graphite-poly.h (pbb_bb): New.
2250         (pbb_index): Use pbb_bb.
2251         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
2252         disjuncts.
2253         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
2254
2255 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
2256
2257         * dwarf2out.c (size_of_die): For -gdwarf-4 use
2258         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
2259         and 0 instead of 1 for dw_val_class_flag.
2260         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
2261         dw_val_class_range_list, dw_val_class_loc_list,
2262         dw_val_class_lineptr and dw_val_class_macptr, use
2263         DW_FORM_flag_present for dw_val_class_flag and
2264         DW_FORM_exprloc for dw_val_class_loc.
2265         (output_die): For -gdwarf-4 print dw_val_class_loc
2266         size as uleb128 instead of 1 or 2 bytes and don't print
2267         anything for dw_val_class_flag.
2268
2269         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
2270         instead of cselib_lookup following by tweaking locs->setting_insn.
2271
2272         PR bootstrap/43596
2273         * cselib.c (cselib_process_insn): Clear cselib_current_insn
2274         even before returning from label, setjmp call or volatile asm
2275         handling.
2276
2277 2010-03-31  Richard Guenther  <rguenther@suse.de>
2278
2279         PR middle-end/43600
2280         * cgraphunit.c (cgraph_output_in_order): Do not allocate
2281         temporary data on stack.
2282
2283 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2284
2285         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
2286         (PUSHSECTION_ASM_OP): Remove.
2287         (POPSECTION_ASM_OP): Remove.
2288         (PUSHSECTION_FORMAT): Remove.
2289         * config/sol2.h (PUSHSECTION_FORMAT): Define.
2290         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
2291         * config/sol2.c (solaris_output_init_fini): Use it.
2292
2293 2010-03-31  Jie Zhang  <jie@codesourcery.com>
2294
2295         PR 43574
2296         * opt-functions.awk (var_type_struct): Use signed char type
2297         for simple variables.
2298
2299 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2300
2301         * config/sol2.c: Include output.h.
2302         (solaris_assemble_visibility): New function.
2303         * config/t-sol2 (sol2.o): Add output.h dependency.
2304         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
2305         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
2306         Redefine.
2307
2308 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
2309
2310         PR target/43580
2311         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
2312         V2SImode or XFmode on PRE_DEC.
2313
2314         PR debug/43557
2315         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
2316         BLKmode.
2317
2318 2010-03-31  Jie Zhang  <jie@codesourcery.com>
2319
2320         PR 43562
2321         * reload.h (caller_save_initialized_p): Declare.
2322         * toplev.c (backend_init_target): Don't call
2323         init_caller_save but set caller_save_initialized_p to false.
2324         * caller-save.c (caller_save_initialized_p): Define.
2325         (init_caller_save): Check caller_save_initialized_p.
2326         * ira.c (ira): Call init_caller_save if flag_caller_saves.
2327
2328 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2329
2330         PR target/39048
2331         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
2332         and soft-fp/t-softfp to tmake_file.
2333         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
2334         (LIBGCC2_TF_CEXT): Define.
2335         (TF_SIZE): Define.
2336
2337 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
2338
2339         PR debug/42977
2340         * cselib.c (n_useless_values): Document handling of debug locs.
2341         (n_useless_debug_values, n_debug_values): New variables.
2342         (new_elt_loc_list): Don't add to debug values, keep count.
2343         (promote_debug_loc): New.
2344         (cselib_reset_table): Zero new variables.
2345         (entry_and_rtx_equal_p): Promote debug locs.
2346         (discard_useless_locs): Increment n_useless_debug_values for
2347         debug values.
2348         (remove_useless_values): Adjust n_useless_values and n_debug_values
2349         with n_useless_debug_values.
2350         (add_mem_for_addr): Promote debug locs.
2351         (cselib_lookup_mem): Likewise.
2352         (cselib_lookup_addr): Renamed to...
2353         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
2354         (cselib_log_lookup): ... this.  Turn into...
2355         (cselib_lookup_addr): ... new wrapper.
2356         (cselib_lookup_from_insn): New.
2357         (cselib_invalidate_regno): Increment n_useless_debug_values for
2358         debug values.
2359         (cselib_invalidate_mem): Likewise.
2360         (cselib_process_insn): Take n_deleted and n_debug_values into
2361         account to guard remove_useless_value call.
2362         (cselib_finish): Zero n_useless_debug_values.
2363         * cselib.h (cselib_lookup_from_insn): Declare.
2364         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
2365         (sched_analyze_2): Likewise.
2366
2367 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
2368
2369         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
2370         functions.
2371         (adjust_mems): Replace narrowing SUBREG of expression containing
2372         just PLUS, MINUS, MULT and ASHIFT of registers and constants
2373         with operations in the narrower mode.
2374
2375         PR debug/43593
2376         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
2377         regs_invalidated_by_call instead all call_used_reg_set registers.
2378
2379 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
2380
2381         PR middle-end/43430
2382         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
2383         pointer comparisons with types_compatible_p.
2384         * tree-vect-stmts.c (vectorizable_call): Same.
2385         (vectorizable_condition): Same.
2386
2387 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2388
2389         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
2390         stack check if the mask would be zero.
2391
2392 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
2393             Jack Howarth <howarth@bromo.med.uc.edu>
2394
2395         * tree-profile.c (tree_init_ic_make_global_vars): Make static
2396         variables TLS.
2397
2398 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
2399
2400         PR other/25232
2401         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
2402         and __unordtf2.
2403         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
2404         Include ___unordxf2 and ___unordtf2.
2405         * config/i386/libgcc-glibc.ver: Do not define inheritance from
2406         GCC_4.4.0 here.
2407
2408 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
2409
2410         * config/lm32/t-lm32: New file.
2411         * config.gcc: Use the above file when targetting lm32.
2412
2413 2010-03-28  Duncan Sands  <baldrick@free.fr>
2414
2415         * Makefile.in (PLUGIN_HEADERS): Add except.h.
2416
2417 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
2418
2419         PR middle-end/43431
2420         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
2421         Improve vectorization cost model diagnostic.
2422
2423 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
2424
2425         PR middle-end/43436
2426         * tree-vect-data-refs.c (vect_analyze_data_refs): When
2427         compute_data_dependences_for_loop returns false, early exit
2428         and output an extra diagnostic for the failed data reference
2429         analysis.
2430
2431 2010-03-29  Richard Guenther  <rguenther@suse.de>
2432
2433         PR tree-optimization/43560
2434         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
2435         (can_sm_ref_p): Treat stores to readonly locations as trapping.
2436
2437 2010-03-29  Jie Zhang  <jie@codesourcery.com>
2438
2439         PR 43564
2440         * toplev.c (process_options): Set optimization_default_node
2441         and optimization_current_node.
2442         * opts.c (decode_options): Don't set optimization_default_node
2443         and optimization_current_node.
2444
2445 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
2446
2447         * config/rtems.h: Abandon -qrtems_debug.
2448
2449 2010-03-28  Jan Hubicka  <jh@suse.cz>
2450
2451         PR tree-optimization/43505
2452         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
2453         map should not be copied.
2454
2455 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2456
2457         PR middle-end/41674
2458         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
2459         cdtors, set DECL_PRESERVE_P.
2460         * ipa.c (cgraph_externally_visible_p): Return true if declaration
2461         should be preseved.
2462
2463 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
2464
2465         PR tree-optimization/43528
2466         * stor-layout.c (place_field): Check that constant fits into
2467         unsigned HWI when skipping calculation of MS bitfield layout.
2468
2469 2010-03-27  Jan Hubicka  <jh@suse.cz>
2470
2471         PR middle-end/43391
2472         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
2473         notice_global_symbol work.
2474
2475 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
2476
2477         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
2478         instead of dwarf2out_decl.
2479         (struct var_loc_node): Remove section_label field.
2480         (dwarf2out_function_decl): New function.
2481         (dwarf2out_var_location): Don't set section_label field.
2482         (dwarf2out_begin_function): Don't empty decl_loc_table here.
2483
2484 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
2485
2486         PR tree-optimization/43544
2487         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2488         First argument for builtin vectorized function hook is now a
2489         tree to be able to distinguish between machine specific and
2490         standard builtins.
2491         * targhooks.c (default_builtin_vectorized_function): Ditto.
2492         * targhooks.h (default_builtin_vectorized_function): Ditto.
2493         * target.h (struct gcc_target): Ditto.
2494         * tree-vect-stmts.c (vectorizable_function): Ditto.
2495         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
2496         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
2497         Ditto.
2498
2499 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
2500
2501         PR c/43381
2502         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
2503         nested binding iff it is a FUNCTION_DECL.
2504         (store_parm_decls_newstyle): Pass nested=true to bind for
2505         FUNCTION_DECLs amongst parameters.
2506
2507 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
2508
2509         * var-tracking.c (vt_expand_loc_callback): Don't run
2510         cselib_expand_value_rtx_cb in dummy mode if
2511         cselib_dummy_expand_value_rtx_cb returned false.
2512
2513         * var-tracking.c (emit_note_insn_var_location): For one part
2514         notes with offset 0, don't add EXPR_LIST around the location.
2515         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
2516         add_location_or_const_value_attribute): Adjust for that change.
2517
2518         PR debug/43540
2519         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
2520         into first operand and location into second.
2521         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
2522         dw_cfi_oprnd_loc for DW_CFA_expression.
2523         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
2524         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
2525         assume first argument is regnum and second argument is location.
2526
2527 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
2528
2529         PR target/42113
2530         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
2531         of scratch register to DImode.  Split to DImode comparison operator.
2532         Use SImode subreg of scratch register in the multiplication.
2533         (*cmp_sadd_sidi): Ditto.
2534         (*cmp_ssub_si): Ditto.
2535         (*cmp_ssub_sidi): Ditto.
2536
2537 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
2538
2539         PR target/43524
2540         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
2541         Remove invalid assert and wrong comment.
2542
2543 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
2544
2545         PR debug/43516
2546         * flags.h (final_insns_dump_p): New extern.
2547         * final.c (final_insns_dump_p): New variable.
2548         (rest_of_clean_state): Set it before -fdump-final-insns=
2549         dumping, clear afterwards.
2550         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
2551         MEM_ALIAS_SET on MEMs.
2552
2553 2010-03-26  David S. Miller  <davem@davemloft.net>
2554
2555         * configure.ac: Fix sparc GOTDATA_OP bug check.
2556         * configure: Rebuild.
2557
2558 2010-03-26  Alan Modra  <amodra@gmail.com>
2559
2560         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
2561
2562 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2563
2564         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
2565         TLS_SECTION_ASM_FLAG.
2566
2567 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
2568
2569         PR bootstrap/43511
2570         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
2571         Clear first_function_block_is_cold.
2572
2573         PR c/43385
2574         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
2575         argument if the argument is truth_value_p.
2576
2577 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2578
2579         * config/rs6000/constraints.md: Update copyright year for my changes.
2580
2581         PR target/43484
2582         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
2583         used in reg+reg addressing, swap registers.
2584
2585 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
2586
2587         PR debug/43293
2588         * target.h (struct gcc_target): Add code_end hook.
2589         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
2590         if not yet defined.
2591         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
2592         * toplev.c (compile_file): Call targetm.asm_out.code_end
2593         hook before unwind info/debug info output.
2594         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
2595         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
2596         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
2597         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
2598         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
2599         * config/i386/i386.c (ix86_file_end): Renamed to...
2600         (ix86_code_end): ... this.  Make static.  Don't call
2601         file_end_indicate_exec_stack.  Emit unwind info using
2602         final_start_function/final_end_function.
2603         (darwin_x86_file_end): Remove.
2604         (TARGET_ASM_CODE_END): Define.
2605         * config/i386/i386.h (TARGET_ASM_FILE_END,
2606         NEED_INDICATE_EXEC_STACK): Don't define.
2607         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
2608         (TARGET_ASM_FILE_END): Define to darwin_file_end.
2609         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
2610         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
2611
2612         PR target/43498
2613         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
2614         at the beginning and final_end_function at the end.
2615         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
2616
2617 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2618
2619         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
2620         and Sun as TLS syntax.
2621         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
2622         * configure: Regenerate.
2623         * config.in: Regenerate.
2624         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
2625         (default_elf_asm_named_section): Use it.
2626         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
2627         (i386_output_dwarf_dtprel): Likewise.
2628         (output_addr_const_extra): Likewise.
2629         (output_pic_addr_const): Lowercase @GOTTPOFF.
2630         (output_addr_const_extra): Likewise.
2631         (output_pic_addr_const): Lowercase @GOTNTPOFF.
2632         (output_addr_const_extra): Likewise.
2633         (output_pic_addr_const): Lowercase @INDNTPOFF.
2634         (output_addr_const_extra): Likewise.
2635         (output_pic_addr_const): Lowercase @NTPOFF.
2636         (output_addr_const_extra): Likewise.
2637         (output_pic_addr_const): Lowercase @TPOFF.
2638         (output_addr_const_extra): Likewise.
2639         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
2640         (*tls_global_dynamic_64): Likewise.
2641         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
2642         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
2643
2644         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
2645         (ASM_OUTPUT_TLS_COMMON): Use it.
2646         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
2647
2648         PR target/38118
2649         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
2650         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
2651         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
2652         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
2653         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
2654         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
2655
2656 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2657
2658         * config/i386/i386.c (override_options): Don't accept
2659         -mtls-dialect=sun any longer.
2660         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
2661         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
2662         (*tls_local_dynamic_base_32_sun): Likewise.
2663         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
2664
2665 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
2666
2667         PR debug/43508
2668         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
2669         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
2670
2671         PR debug/43479
2672         * ira.c (adjust_cleared_regs): New function.
2673         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
2674
2675         PR debug/19192
2676         PR debug/43479
2677         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
2678         from gimple_block.
2679         * expr.c (expand_expr_real): Restore previous
2680         curr_insn_source_location and curr_insn_block after
2681         expand_expr_real_1 call.
2682         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
2683         instead of expand_expr_real_1.
2684
2685 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
2686
2687         PR rtl-optimization/43413
2688         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
2689         hard regs too.
2690
2691 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
2692
2693         PR target/43348
2694         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
2695         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
2696
2697 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
2698
2699         * config/i386/i386.c (ix86_target_string): Add -mfma.
2700         Fix a typo in comment.
2701
2702 2010-03-22  Mike Stump  <mikestump@comcast.net>
2703
2704         PR target/23071
2705         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
2706         Don't overly align based upon packed packed fields.
2707
2708 2010-03-22  Jason Merrill  <jason@redhat.com>
2709
2710         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
2711         Use () rather than [], and move before the element type.
2712
2713 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2714
2715         * doc/configfiles.texi (Configuration Files): Removed
2716         fixinc/Makefile*, intl/Makefile.*.
2717         * doc/makefile.texi: Fixed markup. Abstract from version
2718         control system used.
2719         (Makefile): Removed obsolete gcc/java/parse.y example.
2720         * doc/sourcebuild.texi: Likewise.
2721         (Top Level): Added config, gnattools, libdecnumber, libgcc,
2722         libgomp, libssp.  Removed fastjar.
2723         (Miscellaneous Docs): Clarify location.
2724         Added COPYING3, COPYING3.LIB.
2725         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
2726
2727 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2728
2729         PR target/38085
2730         * config/i386/i386.c (x86_function_profiler)
2731         [!NO_PROFILE_COUNTERS]: Fix typo.
2732         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
2733         instead of callq.
2734
2735 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
2736             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2737
2738         * doc/sourcebuild.texi (Test Directives): Split into six
2739         subsections, with most of the current text in new subsections
2740         Directives, Selectors, and Final Actions.
2741         (Directives): Split list of test directives into multiple
2742         subsubsections.
2743         (Selectors): Describe use and syntax of selectors.
2744         (Effective-Target Keywords): Describe all existing keywords.
2745         (Add Options): Describe features for dg-add-options.
2746         (Require Support): Describe variants of dg-require-support.
2747         (Final Actions): Describe commands to use in dg-final.
2748
2749 2010-03-22  Michael Matz  <matz@suse.de>
2750
2751         PR middle-end/43475
2752         * recog.c (validate_replace_rtx_group): Replace also in
2753         REG_EQUAL and REG_EQUIV notes.
2754
2755 2010-03-22  Richard Guenther  <rguenther@suse.de>
2756
2757         PR tree-optimization/43390
2758         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
2759         sure vector extracts are type correct.
2760
2761 2010-03-22  Richard Guenther  <rguenther@suse.de>
2762
2763         PR middle-end/40106
2764         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
2765         x * sqrt (x) even when optimizing for size if the target
2766         has native support for sqrt.
2767
2768 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
2769
2770         * varasm.c (make_decl_rtl_for_debug): Also clear
2771         flag_mudflap for the duration of make_decl_rtl call.
2772
2773         PR debug/43443
2774         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
2775         locs from preserved VALUEs.
2776
2777 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2778
2779         PR middle-end/42718
2780         * pa.md (movmemsi): Set align to one if zero.
2781         (movmemdi): Likewise.
2782
2783 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
2784
2785         PR target/42321
2786         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
2787         with their corresponding prologue pushes.
2788
2789 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
2790
2791         PR target/43156
2792         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
2793         at the begining or end.
2794         (spu_expand_epilogue): Likewise.
2795
2796 2010-03-20  Richard Guenther  <rguenther@suse.de>
2797
2798         PR rtl-optimization/43438
2799         * combine.c (make_extraction): Properly zero-/sign-extend an
2800         extraction of the low part of a CONST_INT.  Also handle
2801         CONST_DOUBLE.
2802
2803 2010-03-19  Mike Stump  <mikestump@comcast.net>
2804
2805         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
2806         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
2807         (override_options): Use SUBTARGET32_DEFAULT_CPU.
2808
2809 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
2810
2811         PR c/43211
2812         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
2813         an error.
2814
2815 2010-03-19  Bernd Schmidt  <bernds@codesourcery.com>
2816
2817         PR rtl-optimization/42258
2818         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
2819         use that may match DEF.
2820
2821         PR target/40697
2822         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
2823         the cost of loading the constant rather than assuming
2824         COSTS_N_INSNS (1).
2825         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
2826         outer code is AND, do the same tests as the andsi3 expander and
2827         return COSTS_N_INSNS (1) if and is cheap.
2828
2829         * optabs.c (avoid_expensive_constant): Fix formatting.
2830
2831 2010-03-19  Michael Matz  <matz@suse.de>
2832
2833         PR c++/43116
2834         * attribs.c (decl_attributes): When rebuilding a function pointer
2835         type use the same qualifiers as the original pointer type.
2836
2837 2010-03-19  Martin Jambor  <mjambor@suse.cz>
2838
2839         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
2840         and is_gimple_ip_invariant_address.
2841
2842 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2843
2844         Revert
2845         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2846
2847         * config/arm/arm.c (arm_override_options): Turn off
2848         flag_dwarf2_cfi_asm for AAPCS variants.
2849
2850 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2851
2852         PR target/43399
2853         * config/arm/arm.c (emit_multi_reg_push): Update comments.
2854         Use PRE_MODIFY instead of PRE_DEC.
2855         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
2856         (vfp_emit_fstmd): Likewise.
2857
2858 2010-03-19  Michael Matz  <matz@suse.de>
2859
2860         PR target/43305
2861         * builtins.c (expand_builtin_interclass_mathfn,
2862         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
2863         if that fails.
2864
2865 2010-03-19  Richard Guenther  <rguenther@suse.de>
2866
2867         PR tree-optimization/43415
2868         * tree-ssa-pre.c (phi_translate): Split out worker to ...
2869         (phi_translate_1): ... this.
2870         (phi_translate): Move all caching here.  Cache all NARY
2871         and REFERENCE translations.
2872
2873 2010-03-19  David S. Miller  <davem@davemloft.net>
2874
2875         With help from Eric Botcazou.
2876         * config/sparc/sparc.c: Include dwarf2out.h.
2877         (emit_pic_helper): Delete.
2878         (pic_helper_symbol_name): Delete.
2879         (pic_helper_emitted_p): Delete.
2880         (pic_helper_needed): New.
2881         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
2882         (get_pc_thunk_name): New.
2883         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
2884         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
2885         Set pic_helper_needed to true.  Don't call emit_pic_helper.
2886         (sparc_expand_prologue): Update load_pic_register call.
2887         (sparc_output_mi_thunk): Likewise.
2888         (sparc_file_end): Emit a hidden comdat symbol for the PIC
2889         thunk if possible.  Output CFI information as needed.
2890
2891 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2892             Jack Howarth <howarth@bromo.med.uc.edu>
2893
2894         PR target/36399
2895         * config/i386/i386.h: Fix ABI on darwin x86-32.
2896
2897 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
2898
2899         * tree.h: Declare make_decl_rtl_for_debug.
2900         * varasm.c (make_decl_rtl_for_debug): New.
2901         * dwarf2out.c (rtl_for_decl_location): Call it.
2902         * cfgexpand.c (expand_debug_expr): Call it.
2903
2904 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
2905
2906         PR bootstrap/43399
2907         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
2908         mem_mode.
2909
2910         PR bootstrap/43403
2911         * var-tracking.c (vt_init_cfa_base): Do nothing if
2912         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
2913
2914 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
2915
2916         PR debug/42873
2917         * var-tracking.c (canonicalize_vars_star): New.
2918         (dataflow_post_merge_adjust): Use it.
2919
2920 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
2921
2922         PR debug/43058
2923         * var-tracking.c (non_suitable_const): New function.
2924         (add_uses): For DEBUG_INSNs with constants, don't record any
2925         value, instead just the constant value itself.
2926         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
2927         is not VAR_LOC_UNKNOWN_P, set var to the constant.
2928         (emit_notes_in_bb): Likewise.
2929         (emit_note_insn_var_location): For onepart variables if
2930         cur_loc is a VOIDmode constant, use DECL_MODE.
2931
2932 2010-03-18  Martin Jambor  <mjambor@suse.cz>
2933
2934         PR middle-end/42450
2935         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
2936         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
2937         all non-clones.  Moved call redirection...
2938         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
2939         (cgraph_materialize_all_clones): Dispose of all
2940         combined_args_to_skip bitmaps.
2941         (verify_cgraph_node): Do not check for edges pointing to wrong
2942         nodes in inline clones.
2943         * tree-inline.c (copy_bb): Call
2944         cgraph_redirect_edge_call_stmt_to_callee.
2945         * ipa.c (cgraph_remove_unreachable_nodes): Call
2946         cgraph_node_remove_callees even when there are used clones.
2947
2948 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2949
2950         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
2951
2952 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2953
2954         PR target/43383
2955         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
2956         for 32bit.
2957
2958 2010-03-18  Michael Matz  <matz@suse.de>
2959
2960         PR middle-end/43419
2961         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
2962         into sqrt(x) if we need to preserve signed zeros.
2963
2964 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
2965             Eric Botcazou  <ebotcazou@adacore.com>
2966
2967         PR rtl-optimization/43360
2968         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
2969         note if we don't know its invariant status.
2970
2971 2010-03-18  Michael Matz  <matz@suse.de>
2972
2973         PR tree-optimization/43402
2974         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
2975         PHI chains of ssa names registered for update.
2976
2977 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
2978
2979         PR target/42427
2980         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
2981         non-offsettable and pre_modify update addressing.
2982         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
2983         and "2" alternatives "#".
2984         (*movdd_softfloat32): Make all alternatives "#";
2985         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
2986         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
2987         (*movdf_softfloat32): Make all alternatives "#";
2988         (movdi): Use the new DIFD mode iterator to create a common splitter
2989         for movdi, movdf and movdd patterns.
2990
2991 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
2992
2993         * common.opt (dumpdir): Remove redundant tab.
2994
2995 2010-03-17  Martin Jambor  <mjambor@suse.cz>
2996
2997         PR tree-optimization/43347
2998         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
2999         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
3000
3001 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
3002
3003         PR rtl-optimization/42216
3004         * regrename.c (create_new_chain): New function, broken out from...
3005         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
3006         appending a use to an empty chain.
3007         (build_def_use): Remove previous changes that convert OP_INOUT to
3008         OP_OUT operands; instead detect the case where an OP_INOUT operand
3009         uses a previously untracked register and create an empty chain for it.
3010
3011 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3012
3013         * doc/extend.texi (Function Attributes): Rewrite unfinished
3014         sentence in ms_abi documentation.
3015
3016 2010-03-17  Alan Modra  <amodra@gmail.com>
3017
3018         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
3019         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
3020         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
3021         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
3022
3023 2010-03-16  Richard Henderson  <rth@redhat.com>
3024
3025         PR middle-end/43365
3026         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
3027         (lower_try_finally): Save and restore eh_seq around the expansion
3028         of the try-finally.
3029
3030 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
3031
3032         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
3033         statements before splitting block.
3034
3035 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3036
3037         * doc/sourcebuild.texi (Testsuites): Fix markup.
3038         Use pathnames relative to gcc/testsuite.
3039         (Test Directives): Move description of how timeout is determined.
3040         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
3041         (C Tests): Correct gcc.misc-tests directory.
3042         Framework tests now live in gcc.test-framework.
3043
3044 2010-03-16  Richard Guenther  <rguenther@suse.de>
3045
3046         PR middle-end/43379
3047         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
3048         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
3049
3050 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
3051             Alexandre Oliva  <aoliva@redhat.com>
3052
3053         PR tree-optimization/42917
3054         * lambda-code.c (remove_iv): Skip debug statements.
3055         (lambda_loopnest_to_gcc_loopnest): Likewise.
3056         (not_interesting_stmt): Debug statements are not interesting.
3057
3058 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
3059
3060         PR debug/43051
3061         PR debug/43092
3062         * cselib.c (cselib_preserve_constants,
3063         cfa_base_preserved_val): New static variables.
3064         (preserve_only_constants): New function.
3065         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
3066         clear its REG_VALUES.  If cselib_preserve_constants, don't
3067         empty the whole hash table, but preserve there VALUEs with constants,
3068         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
3069         (cselib_preserve_cfa_base_value): New function.
3070         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
3071         (cselib_init): Change argument to int bitfield.  Set
3072         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
3073         is in it.
3074         (cselib_finish): Clear cselib_preserve_constants and
3075         cfa_base_preserved_val.
3076         * cselib.h (enum cselib_record_what): New enum.
3077         (cselib_init): Change argument to int.
3078         (cselib_preserve_cfa_base_value): New prototype.
3079         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
3080         * dse.c (dse_step1): Likewise.
3081         * cfgcleanup.c (thread_jump): Likewise.
3082         * sched-deps.c (sched_analyze): Likewise.
3083         * gcse.c (local_cprop_pass): Likewise.
3084         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
3085         If FN is non-NULL, call the callback always and whenever it returns
3086         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
3087         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
3088         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
3089         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
3090         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
3091         * var-tracking.c: Include recog.h.
3092         (bb_stack_adjust_offset): Remove.
3093         (vt_stack_adjustments): Don't call it, instead just gather the
3094         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
3095         (adjust_stack_reference): Remove.
3096         (compute_cfa_pointer): New function.
3097         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
3098         (struct adjust_mem_data): New type.
3099         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
3100         functions.
3101         (get_address_mode): New function.
3102         (replace_expr_with_values): Use it.
3103         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
3104         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
3105         (adjust_sets): Remove.
3106         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
3107         Use get_address_mode.
3108         (get_adjusted_src): Remove.
3109         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
3110         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
3111         (add_with_sets): Don't call adjust_sets.
3112         (fp_setter, vt_init_cfa_base): New functions.
3113         (vt_initialize): Change return type to bool.  Move most of pool etc.
3114         initialization to the beginning of the function from end.  Pass
3115         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
3116         If !frame_pointer_needed, call vt_stack_adjustment before mos
3117         vector is filled, call vt_init_cfa_base if argp/framep has been
3118         eliminated to sp.  If frame_pointer_needed and argp/framep has
3119         been eliminated to hard frame pointer, set
3120         hard_frame_pointer_adjustment and call vt_init_cfa_base after
3121         encountering fp setter in the prologue.  For MO_ADJUST, call
3122         log_op_type before pusing the op into mos vector, not afterwards.
3123         Call adjust_insn before cselib_process_insn/add_with_sets,
3124         call cancel_changes (0) afterwards.
3125         (variable_tracking_main_1): Adjust for vt_initialize calling
3126         vt_stack_adjustments and returning whether it succeeded or not.
3127
3128 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
3129
3130         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
3131         debug statements.
3132
3133 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
3134
3135         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
3136         has been set.
3137         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
3138         drap_reg has not been set.
3139
3140 2010-03-15  Michael Matz  <matz@suse.de>
3141
3142         PR middle-end/43300
3143         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
3144         use it to expand block copies.
3145         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
3146         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
3147         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
3148
3149 2010-03-15  Richard Guenther  <rguenther@suse.de>
3150
3151         PR tree-optimization/43367
3152         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
3153         elimination check.
3154
3155 2010-03-15  Richard Guenther  <rguenther@suse.de>
3156
3157         PR tree-optimization/43317
3158         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
3159
3160 2010-03-15  Martin Jambor  <mjambor@suse.cz>
3161
3162         PR tree-optimization/43141
3163         * tree-sra.c (create_abstract_origin): New function.
3164         (modify_function): Call create_abstract_origin.
3165
3166 2010-03-15  Chris Demetriou  <cgd@google.com>
3167
3168         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
3169         wasn't copied.
3170
3171 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3172
3173         PR middle-end/43354
3174         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
3175         call insert_out_of_ssa_copy for default definitions.
3176
3177 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3178
3179         * graphite-clast-to-gimple.c (my_long_long): Defined.
3180         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
3181         * graphite-sese-to-poly.c (my_long_long): Defined.
3182         (scop_ivs_can_be_represented): Use it.
3183
3184 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3185
3186         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
3187         graphite-max-bbs-per-function, and loop-block-tile-size.
3188         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
3189         with "maximum".
3190         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
3191
3192 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3193
3194         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
3195         forward declaration.
3196         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
3197         (add_upper_bounds_from_estimated_nit): New.
3198         (build_loop_iteration_domains): Use it.
3199
3200 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3201
3202         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
3203
3204 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3205
3206         PR middle-end/43306
3207         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
3208         should be an INTEGER_CST.  Also handle CASE_CONVERT.
3209
3210 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3211
3212         * graphite.c (graphite_initialize): To bound the number of bbs per
3213         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
3214         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
3215         * doc/invoke.texi: Document it.
3216
3217 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3218
3219         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
3220         * graphite-sese-to-poly.h (build_poly_scop): Same.
3221
3222 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
3223
3224         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
3225         the number of parameters in the scop.  Use as an upper bound
3226         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
3227         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
3228         * doc/invoke.texi: Document it.
3229
3230 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
3231
3232         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
3233         * doc/c-tree.texi: Remove.
3234         * doc/generic.texi: Merge c-tree.texi here.
3235         * doc/gccint.texi (Trees): Remove menu entry.
3236         (c-tree.texi): Remove @include.
3237         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
3238         * doc/languages.texi (Reading RTL): Ditto.
3239
3240 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
3241
3242         PR target/42869
3243         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
3244
3245 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3246
3247         PR middle-end/42431
3248         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
3249         code added to work around reload clobbering CONST insns.
3250
3251 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
3252
3253         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
3254         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
3255         (cselib_preserve_only_values): Remove retain argument, don't
3256         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
3257         * cselib.h (cselib_preserve_only_values): Remove retain argument.
3258         * var-tracking.c (micro_operation): Move insn field before union.
3259         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
3260         (struct variable_tracking_info_def): Remove n_mos field, change
3261         mos into a vector of micro_operations.
3262         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
3263         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
3264         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
3265         changing into a vector.
3266         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
3267         come before all other uops generated by add_stores.
3268         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
3269         argument removal.
3270         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
3271         a vector.  Run just one pass over the bbs instead of separate counting
3272         and computation phase.
3273         (vt_finalize): Free VTI (bb)->mos vector instead of array.
3274
3275         PR debug/43329
3276         * tree-inline.c (remap_decls): Put old_var rather than origin_var
3277         into *nonlocalized_list vector.
3278         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
3279         even if origin is non-NULL.
3280         (gen_variable_die): Likewise.
3281         (process_scope_var): Don't change origin.
3282         (gen_decl_die): Likewise.
3283         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
3284         before adding new edges instead of after it, fix moving over
3285         debug stmts.
3286
3287 2010-03-11  David S. Miller  <davem@davemloft.net>
3288
3289         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
3290         of four.
3291         * configure: Rebuild.
3292
3293 2010-03-11  Martin Jambor  <mjambor@suse.cz>
3294
3295         PR tree-optimization/43257
3296         * tree.c (assign_assembler_name_if_neeeded): New function.
3297         (free_lang_data_in_cgraph): Assembler name assignment moved to the
3298         above new function.
3299         * tree.h (assign_assembler_name_if_neeeded): Declare.
3300         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
3301         the function if needed.
3302
3303 2010-03-11  Chris Demetriou  <cgd@google.com>
3304
3305         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
3306         include/stdint-gcc.h, and include/stdint.h world-readable.
3307
3308 2010-03-11  Richard Guenther  <rguenther@suse.de>
3309
3310         PR tree-optimization/43255
3311         * tree-vrp.c (process_assert_insertions_for): Do not insert
3312         asserts for trivial conditions.
3313
3314 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3315
3316         PR tree-optimization/43280
3317         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
3318         generation.  Move calculation of size out of the if branch.
3319         (find_bswap): Modify compare number generation.
3320
3321 2010-03-11  Richard Guenther  <rguenther@suse.de>
3322
3323         PR lto/43200
3324         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
3325         (input_gimple_stmt): Fixup handled component types during
3326         operand read.  Also fix up decls in ADDR_EXPRs.
3327
3328 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
3329
3330         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
3331         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
3332
3333 2010-03-10  Jan Hubicka  <jh@suse.cz>
3334
3335         PR c/43288
3336         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
3337         * varasm.c (get_variable_section): Don't do that here...
3338         (make_decl_rtl): ... and here.
3339         (do_assemble_alias): Produce decl RTL.
3340         (assemble_alias): Likewise.
3341
3342 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
3343
3344         PR debug/43290
3345         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
3346         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
3347         of fde->vdrap_reg.
3348         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
3349         (based_loc_descr): Only express drap or vdrap regno based expressions
3350         using DW_OP_fbreg when not optimizing.
3351         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
3352         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
3353         REG_CFA_SET_VDRAP note.
3354
3355 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
3356
3357         PR tree-optimization/43236
3358         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
3359         error in calculation of base address in reverse iteration case.
3360         (generate_builtin): Take number of latch executions if the statement
3361         is in the latch.
3362
3363 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
3364
3365         PR middle-end/42859
3366         * tree-eh.c: Include pointer-set.h.
3367         (lower_eh_dispatch): Filter out duplicate case labels and
3368         remove the unneeded edge when the label is unused.  Return
3369         true when some edges are removed.
3370         (execute_lower_eh_dispatch): When any lowering resulted in
3371         removing an edge, also delete unreachable blocks.
3372
3373 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
3374
3375         PR bootstrap/43287
3376         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
3377         UNSPEC_MACHOPIC_OFFSET.
3378
3379 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
3380
3381         PR target/43294
3382         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
3383         (m68k_delegitimize_address): New function.
3384
3385 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
3386
3387         PR debug/43299
3388         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
3389
3390         PR debug/43299
3391         * var-tracking.c (adjust_sets): New function.
3392         (count_with_sets, add_with_sets): Use it.
3393         (get_adjusted_src): New inline function.
3394         (add_stores): Use it.
3395
3396         PR debug/43304
3397         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
3398         call cselib_dummy_expand_value_rtx_cb instead of
3399         cselib_expand_value_rtx_cb.
3400
3401         PR debug/43293
3402         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
3403         * config/i386/i386.c: Include debug.h and dwarf2out.h.
3404         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
3405         and .cfi_endproc around the pic thunks.
3406         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
3407         all queued unwind info register saves are saved before the call.
3408         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
3409         considered as sp-=4 for unwind info and the pop as sp+=4 which
3410         also clobbers dest, but doesn't actually restore it.
3411
3412         PR debug/43290
3413         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
3414         RTX_FRAME_RELATED_P.
3415
3416 2010-03-09  Jie Zhang  <jie@codesourcery.com>
3417
3418         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
3419         whitespaces in output template.
3420
3421 2010-03-09  Jie Zhang  <jie@codesourcery.com>
3422
3423         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
3424         out array boundary.
3425
3426 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
3427
3428         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
3429         builtins.exp in a separate job.
3430
3431 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3432
3433         * graphite-sese-to-poly.c (add_param_constraints): Use
3434         lower_bound_in_type and upper_bound_in_type.
3435
3436 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3437
3438         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
3439         instead of unsigned_type_node.
3440
3441 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3442             Reza Yazdani  <reza.yazdani@amd.com>
3443
3444         PR middle-end/43065
3445         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
3446         on pointer type parameters.
3447
3448 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
3449
3450         PR middle-end/42644
3451         PR middle-end/42130
3452         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
3453         handle conversions from pointer to integers.
3454         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
3455         induction variable, to be able to work with code generated by CLooG.
3456         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
3457         (build_poly_scop): Bail out if we cannot codegen a loop.
3458
3459 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
3460
3461         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
3462         code generation with gloog_error.
3463
3464 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3465
3466         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
3467         Call fold_convert on all the returned values.
3468         (expand_scalar_variables_expr): Pass to
3469         expand_scalar_variables_ssa_name the type of the resulting expression.
3470
3471 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3472
3473         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
3474         ppl_min_for_le_pointset.
3475         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
3476         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
3477
3478 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3479
3480         * graphite-dependences.c (map_into_dep_poly): Removed.
3481         (dependence_polyhedron_1): Use combine_context_id_scat.
3482
3483 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3484
3485         * graphite-poly.h (struct poly_scattering): Add layout documentation.
3486         (struct poly_bb): Same.
3487         (combine_context_id_scat): New.
3488
3489 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3490
3491         PR middle-end/42326
3492         * sese.c (name_defined_in_loop_p): Return false for default
3493         definitions.
3494
3495 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3496
3497         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
3498         and clean up the logic.
3499
3500 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
3501
3502         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
3503         early return.
3504
3505 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
3506
3507         * var-tracking.c (remove_cselib_value_chains): Define only for
3508         ENABLE_CHECKING.
3509         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
3510         delete_slot_part, emit_notes_for_differences_1): Don't call
3511         remove_cselib_value_chains here.
3512         (set_slot_part, emit_notes_for_differences_2): Don't call
3513         add_cselib_value_chains here.
3514         (preserved_values): New vector.
3515         (preserve_value): New function.
3516         (add_uses, add_stores, vt_add_function_parameters): Use it
3517         instead of cselib_preserve_value.
3518         (changed_values_stack): New vector.
3519         (check_changed_vars_0): New function.
3520         (check_changed_vars_1, check_changed_vars_2): Use it.
3521         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
3522         changed_values_stack VALUEs.
3523         (vt_emit_notes): For all preserved_values call
3524         add_cselib_value_chains.  If ENABLE_CHECKING call
3525         remove_cselib_value_chains before verifying value_chains is empty.
3526         Initialize and free changed_values_stack.
3527         (vt_initialize): Initialize preserved_values.
3528         (vt_finalize): Free preserved_values.
3529
3530 2010-03-08  Richard Guenther  <rguenther@suse.de>
3531
3532         PR tree-optimization/43269
3533         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
3534         region detection.
3535
3536 2010-03-08  Martin Jambor  <mjambor@suse.cz>
3537
3538         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
3539         (ipa_is_param_called): Removed.
3540         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
3541         (ipa_print_node_params): Do not print the called flag.
3542         (ipa_write_node_info): Do not stream the called flag.
3543         (ipa_read_node_info): Likewise.
3544
3545 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
3546
3547         PR debug/43176
3548         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
3549         * cselib.c (struct expand_value_data): Add dummy field.
3550         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
3551         dummy to false.
3552         (cselib_dummy_expand_value_rtx_cb): New function.
3553         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
3554         any rtl.
3555         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
3556         * var-tracking.c: Include pointer-set.h.
3557         (variable): Change n_var_parts to char from int.  Add
3558         cur_loc_changed and in_changed_variables fields.
3559         (variable_canonicalize): Remove.
3560         (shared_var_p): New inline function.
3561         (unshare_variable): Maintain cur_loc_changed and
3562         in_changed_variables fields.  If var was in changed_variables,
3563         replace it there with new_var.  Just copy cur_loc instead of
3564         resetting it to something else.
3565         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
3566         (dataflow_set_union): Don't call variable_canonicalize.
3567         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
3568         of their DEBUG_EXPR_TREE_DECLs.
3569         (canonicalize_loc_order_check): Verify that cur_loc is NULL
3570         and in_changed_variables and cur_loc_changed is false.
3571         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
3572         and cur_loc_changed.  Don't update cur_loc here.
3573         (variable_merge_over_src): Don't call variable_canonicalize.
3574         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
3575         removing loc that is equal to cur_loc, clear cur_loc,
3576         set cur_loc_changed and ensure variable_was_changed is called.
3577         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
3578         compare pointers in cur_loc check, if it is equal to loc,
3579         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
3580         (variable_different_p): Remove compare_current_location argument,
3581         don't compare cur_loc.
3582         (dataflow_set_different_1): Adjust variable_different_p caller.
3583         (variable_was_changed): If dv had some var in changed_variables
3584         already, reset in_changed_variables flag for it and propagate
3585         cur_loc_changed over to the new variable.  On empty var
3586         always set cur_loc_changed.  Set in_changed_variables on whatever
3587         var is added to changed_variables.
3588         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
3589         Use shared_var_p.  When removing loc that is equal to cur_loc,
3590         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
3591         end, don't set it to something else, just call variable_was_changed.
3592         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
3593         loc being removed, clear cur_loc and set cur_loc_changed.
3594         Set cur_loc_changed if all locations have been removed.
3595         (struct expand_loc_callback_data): New type.
3596         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
3597         allocated.  Always create SUBREGs if simplify_subreg failed.
3598         Prefer to use cur_loc, when that fails and still in
3599         changed_variables (and seen first time) recompute it.  Set
3600         cur_loc_changed of variables which had to change cur_loc and
3601         compute elcd->cur_loc_changed if any of the subexpressions used
3602         had to change cur_loc.
3603         (vt_expand_loc): Adjust to pass arguments in
3604         expand_loc_callback_data structure.
3605         (vt_expand_loc_dummy): New function.
3606         (emitted_notes): New variable.
3607         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
3608         that weren't used for any other decl in current
3609         emit_notes_for_changes call call vt_expand_loc_dummy to update
3610         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
3611         first loc_chain location if NULL before.  Always use just
3612         cur_loc instead of first loc_chain location.  When cur_loc_changed
3613         is false, when not --enable-checking=rtl just don't emit any note.
3614         When rtl checking, compute the note and assert it is the same
3615         as previous note.  Clear cur_loc_changed and in_changed_variables
3616         at the end before removing from changed_variables.
3617         (check_changed_vars_3): New function.
3618         (emit_notes_for_changes): Traverse changed_vars to call
3619         check_changed_vars_3 on each changed var.
3620         (emit_notes_for_differences_1): Clear cur_loc_changed and
3621         in_changed_variables.  Recompute cur_loc of new_var.
3622         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
3623         (vt_emit_notes): Initialize and destroy emitted_notes.
3624
3625 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
3626
3627         PR rtl-optimization/42220
3628         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
3629         Use verify_reg_tracked to determine if we should use OP_OUT rather
3630         than OP_INOUT.
3631         (build_def_use): If we see an in-out operand for a register that we
3632         know nothing about, treat is an output if possible, fail the block if
3633         not.
3634
3635 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
3636
3637         PR debug/42897
3638         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
3639         permanently.
3640
3641 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
3642
3643         PR debug/42897
3644         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
3645         uses of relevant DEFs that are dead outside the loop too.
3646
3647 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
3648
3649         * var-tracking.c (dataflow_set_merge): Swap src and src2.
3650         Reverted:
3651         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
3652         PR debug/41371
3653         * var-tracking.c (values_to_unmark): New variable.
3654         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
3655         values_to_unmark vector.  Moved body to...
3656         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
3657         instead queue it into values_to_unmark vector.
3658         (vt_find_locations): Free values_to_unmark vector.
3659
3660 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
3661
3662         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
3663         (site.exp): Export them when plugins are enabled.
3664
3665 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
3666
3667         PR middle-end/42326
3668         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
3669         that contain scevs.
3670         (chrec_fold_multiply): Same.
3671
3672 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
3673
3674         PR c/43248
3675         * c-decl.c (build_compound_literal): Return early if init is
3676         an error_mark_node.
3677
3678 2010-03-04  Martin Jambor  <mjambor@suse.cz>
3679
3680         PR tree-optimization/43164
3681         PR tree-optimization/43191
3682         * tree-sra.c (type_consists_of_records_p): Reject records with
3683         zero-size bit-fields at the end.
3684
3685 2010-03-04  Mike Stump  <mikestump@comcast.net>
3686
3687         * Makefile.in (TAGS): Remove *.y.
3688
3689 2010-03-04  Richard Guenther  <rguenther@suse.de>
3690
3691         PR tree-optimization/40761
3692         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
3693         in reverse order.
3694         (my_rev_post_order_compute): New function.
3695         (init_pre): Call it.
3696
3697 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
3698
3699         PR middle-end/43209
3700         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
3701         decrease the cost of an IV candidate when the cost is infinite.
3702
3703 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3704
3705         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
3706         Use '3DNow!' for the extension of that name, ensure normal space
3707         after the string.
3708         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
3709
3710 2010-03-03  Jeff Law  <law@redhat.com>
3711
3712         * PR middle-end/32693
3713         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
3714         than gen_rtx_SUBREG.
3715         (extract_bit_field_1): Likewise.
3716
3717 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
3718
3719         * doc/sourcebuild.texi (Test directives): Document that arguments
3720         include-opts and exclude-opts are now optional for dg-skip-if,
3721         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
3722
3723 2010-03-03  Jason Merrill  <jason@redhat.com>
3724
3725         PR c++/12909
3726         * cgraph.h (varpool_node): Add extra_name field.
3727         * varpool.c (varpool_extra_name_alias): New.
3728         (varpool_assemble_decl): Emit extra name aliases.
3729         (varpool_mark_needed_node): Look past an extra name alias.
3730         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
3731         * lto-streamer-in.c (lto_input_tree): Read it.
3732         * lto-streamer-out.c (output_unreferenced_globals): Write it.
3733
3734 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
3735
3736         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
3737         (sparc*-*-solaris2*): ...this.
3738
3739 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
3740
3741         PR debug/43229
3742         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
3743         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
3744         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
3745         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
3746
3747         PR debug/43237
3748         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
3749         fallthrough to default handling, just with want_address 0 instead of 2.
3750         For single element lists, add_AT_loc directly, otherwise create an
3751         artificial variable DIE and stick location list to it.
3752
3753         PR debug/43177
3754         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
3755         (VAL_EXPR_HAS_REVERSE): Define.
3756         (reverse_op): New function.
3757         (add_stores): For reversible operations add an extra MO_VAL_USE.
3758
3759 2010-03-02  Jason Merrill  <jason@redhat.com>
3760
3761         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
3762
3763 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
3764
3765         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
3766         (sparc64-*-linux*): Likewise.
3767         (sparc64-*-solaris2*): Include assembler files before linker ones.
3768         (sparc-*-solaris2*): Simplify and reorder to match previous case.
3769         * config/sparc/gas.h: Delete.
3770         * config/sparc/sol2-64.h: Add copyright notice.
3771         * config/sparc/sol2-gas-bi.h: Likewise.
3772         * config/sparc/sol2-gld.h: Likewise.
3773         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
3774         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
3775         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
3776         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
3777         (sparc_elf_asm_named_section): Rename into...
3778         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
3779
3780 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
3781
3782         * config/alpha/alpha.c (override_options): Fix -mtune error message.
3783
3784 2010-03-02  Jeff Law  <law@redhat.com>
3785
3786         PR middle-end/42431
3787         * reload1.c (rtx_p, substitute_stack): Declare.
3788         (substitute): Record addresses of changed rtxs.
3789         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
3790         Restore the original rtx when complete.
3791         (reload): Free subsitute_stack when complete.
3792
3793 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
3794
3795         * doc/gccint.texi (menu): Add Testsuites as a chapter.
3796         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
3797         new chapter.
3798         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
3799         LTO Testing, gcov Testing, profopt Testing, compat Testing,
3800         Torture Tests): Change from subsection to section.
3801
3802 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
3803             Steven Bosscher  <steven@gcc.gnu.org>
3804
3805         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
3806         instead of bb.
3807
3808 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
3809
3810         PR middle-end/42640
3811         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
3812         the assignment from the new induction variable to the assignment
3813         of the value from the original loop PHI function.
3814
3815 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
3816             Daniel Jacobowitz  <dan@codesourcery.com>
3817
3818         * doc/sourcebuild.texi (Test directives): Clarify options to
3819         dg-skip-if.
3820
3821 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3822
3823         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
3824         Disable cfi directives unless GCC and gas agree on using read-only
3825         .eh_frame sections for 64-bit.
3826         * configure: Regenerate.
3827
3828 2010-03-01  Richard Guenther  <rguenther@suse.de>
3829
3830         PR tree-optimization/43220
3831         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
3832         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
3833
3834 2010-03-01  Richard Guenther  <rguenther@suse.de>
3835             Martin Jambor  <mjambor@suse.cz>
3836
3837         PR middle-end/41250
3838         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
3839         gimplified parameters.
3840
3841 2010-03-01  Christian Bruel  <christian.bruel@st.com>
3842
3843         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
3844
3845 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
3846
3847         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
3848
3849 2010-03-01  Richard Guenther  <rguenther@suse.de>
3850
3851         PR middle-end/43213
3852         * expr.c (expand_assignment): Use the alias-oracle to tell
3853         if the rhs aliases the result decl.
3854
3855 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3856
3857         PR pch/14940
3858         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
3859         to sol_gt_pch_get_address.
3860         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
3861         64-bit, SPARC and x86.
3862         (sol_gt_pch_get_address): New function.
3863
3864 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
3865
3866         * toplev.h (inform_n, error_n): Declare.
3867         * diagnostic.c (inform_n, error_n): New function.
3868
3869 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
3870
3871         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
3872         has no rtl yet when processing local_decls, queue it and recheck
3873         if deferred stack allocation hasn't assigned it rtl.
3874
3875 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
3876
3877         * config/sh/sh.c (unspec_bbr_uid): New.
3878         (gen_block_redirect): Use it instead of INSN_UID.
3879         (gen_far_branch): Likewise.
3880
3881 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
3882
3883         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
3884         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
3885
3886 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3887
3888         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
3889         (Warning Options): -Wno-conversion-null is valid for
3890         Objective-C++ as well.
3891         * doc/tm.texi (Named Address Spaces): Likewise.
3892         * doc/plugins.texi (Plugins): Replace TABs with spaces.
3893         * doc/tree-ssa.texi (Tree SSA): Likewise.
3894
3895 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3896
3897         PR bootstrap/43202
3898         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
3899         by default.  Don't set the default arch for
3900         i[34567]86-*-darwin*|x86_64-*-darwin*.
3901
3902 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3903
3904         PR bootstrap/43202
3905         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
3906         default.  Set the default 32bit/64bit archs with $with_arch
3907         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
3908
3909 2010-02-27  Richard Guenther  <rguenther@suse.de>
3910
3911         PR tree-optimization/43186
3912         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
3913         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
3914         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
3915         unroller iterations.
3916
3917 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3918
3919         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
3920         required and i[34567]86-*-* targets don't support 64bit ISA.
3921
3922 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
3923
3924         PR ada/43096
3925         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3926         the same alias set.
3927
3928 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
3929
3930         * config.gcc: Set the default arch at least to Prescott for
3931         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
3932         if SSE math is enabled.
3933
3934 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3935
3936         * diagnostic.c (diagnostic_initialize): Update.
3937         (diagnostic_report_diagnostic): Test inhibit_notes_p for
3938         informative notes.
3939         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
3940         (diagnostic_inhibit_notes): New.
3941         * toplev.c (process_options): inhibit notes with -fcompare-debug.
3942
3943 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3944
3945         PR c/20631
3946         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
3947         * doc/standards.texi: Likewise.
3948         * doc/extend.texi: Likewise.
3949         * doc/trouble.texi: Likewise.
3950         * doc/cppopts.texi: Likewise.
3951         * doc/install.texi: Likewise.
3952         * c.opt (std=c90,std=gnu90): New options.
3953         * c-opts.c (c_common_handle_option): Handle them.
3954
3955 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3956
3957         PR c/24577
3958         * c-decl.c (undeclared_variable): Use an informative note.
3959
3960 2010-02-26  Richard Guenther  <rguenther@suse.de>
3961
3962         PR tree-optimization/43186
3963         * gimple.h (gimple_fold): Remove.
3964         * gimple.c (gimple_fold): Remove.  Inline into single user ...
3965         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
3966         Try harder for conditions.
3967
3968 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
3969
3970         PR debug/43190
3971         * function.c (used_types_insert): Don't skip through named pointer
3972         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
3973         and it is different from the main variant's type.
3974
3975 2010-02-26  Nick Clifton  <nickc@redhat.com>
3976
3977         * config/rx/rx.md (sminsi3): Remove bogus alternative.
3978
3979 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
3980
3981         * config.gcc: Support --with-fpmath=sse for x86.
3982
3983         * config/i386/ssemath.h: New.
3984
3985         * doc/install.texi (--with-fpmath=sse): Documented.
3986
3987 2010-02-26  Richard Guenther  <rguenther@suse.de>
3988
3989         PR tree-optimization/43188
3990         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
3991         vector types of over-aligned element type.
3992
3993 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
3994
3995         PR target/43175
3996         * config/i386/i386.c (expand_vec_perm_blend): Use correct
3997         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
3998
3999 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
4000
4001         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
4002
4003 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
4004
4005         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
4006         * var-tracking.c: Include diagnostic.h.
4007         (debug_dv): New function.
4008         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
4009
4010         PR debug/43160
4011         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
4012         (add_value_chain, add_value_chains, remove_value_chain,
4013         remove_value_chains): Handle DEBUG_EXPRs.
4014         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
4015
4016         PR debug/43161
4017         * regcprop.c (struct queued_debug_insn_change): New type.
4018         (struct value_data_entry): Add debug_insn_changes field.
4019         (struct value_data): Add n_debug_insn_changes field.
4020         (debug_insn_changes_pool): New variable.
4021         (free_debug_insn_changes, apply_debug_insn_changes,
4022         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
4023         (kill_value_one_regno): Call free_debug_insn_changes if needed.
4024         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
4025         fields.
4026         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
4027         changes for them.
4028         (copyprop_hardreg_forward_1): Don't call apply_change_group for
4029         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
4030         changes, call cprop_find_used_regs via note_stores.
4031         (copyprop_hardreg_forward): When copying vd from predecessor
4032         which has any queued DEBUG_INSN changes, make sure the pointers are
4033         cleared.  At the end call df_analyze and then if there are any
4034         DEBUG_INSN changes queued at the end of some basic block for still
4035         live registers, apply them.