OSDN Git Service

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