OSDN Git Service

2010-03-15 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-03-15  Richard Guenther  <rguenther@suse.de>
2
3         PR tree-optimization/43367
4         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
5         elimination check.
6
7 2010-03-15  Richard Guenther  <rguenther@suse.de>
8
9         PR tree-optimization/43317
10         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
11
12 2010-03-15  Martin Jambor  <mjambor@suse.cz>
13
14         PR tree-optimization/43141
15         * tree-sra.c (create_abstract_origin): New function.
16         (modify_function): Call create_abstract_origin.
17
18 2010-03-15  Chris Demetriou  <cgd@google.com>
19
20         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
21         wasn't copied.
22
23 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
24
25         PR middle-end/43354
26         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
27         call insert_out_of_ssa_copy for default definitions.
28
29 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
30
31         * graphite-clast-to-gimple.c (my_long_long): Defined.
32         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
33         * graphite-sese-to-poly.c (my_long_long): Defined.
34         (scop_ivs_can_be_represented): Use it.
35
36 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
37
38         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
39         graphite-max-bbs-per-function, and loop-block-tile-size.
40         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
41         with "maximum".
42         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
43
44 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
45
46         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
47         forward declaration.
48         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
49         (add_upper_bounds_from_estimated_nit): New.
50         (build_loop_iteration_domains): Use it.
51
52 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
53
54         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
55
56 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
57
58         PR middle-end/43306
59         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
60         should be an INTEGER_CST.  Also handle CASE_CONVERT.
61
62 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
63
64         * graphite.c (graphite_initialize): To bound the number of bbs per
65         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
66         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
67         * doc/invoke.texi: Document it.
68
69 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
70
71         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
72         * graphite-sese-to-poly.h (build_poly_scop): Same.
73
74 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
75
76         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
77         the number of parameters in the scop.  Use as an upper bound
78         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
79         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
80         * doc/invoke.texi: Document it.
81
82 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
83
84         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
85         * doc/c-tree.texi: Remove.
86         * doc/generic.texi: Merge c-tree.texi here.
87         * doc/gccint.texi (Trees): Remove menu entry.
88         (c-tree.texi): Remove @include.
89         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
90         * doc/languages.texi (Reading RTL): Ditto.
91
92 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
93
94         PR target/42869
95         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
96
97 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
98
99         PR middle-end/42431
100         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
101         code added to work around reload clobbering CONST insns.
102
103 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
104
105         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
106         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
107         (cselib_preserve_only_values): Remove retain argument, don't
108         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
109         * cselib.h (cselib_preserve_only_values): Remove retain argument.
110         * var-tracking.c (micro_operation): Move insn field before union.
111         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
112         (struct variable_tracking_info_def): Remove n_mos field, change
113         mos into a vector of micro_operations.
114         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
115         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
116         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
117         changing into a vector.
118         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
119         come before all other uops generated by add_stores.
120         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
121         argument removal.
122         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
123         a vector.  Run just one pass over the bbs instead of separate counting
124         and computation phase.
125         (vt_finalize): Free VTI (bb)->mos vector instead of array.
126
127         PR debug/43329
128         * tree-inline.c (remap_decls): Put old_var rather than origin_var
129         into *nonlocalized_list vector.
130         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
131         even if origin is non-NULL.
132         (gen_variable_die): Likewise.
133         (process_scope_var): Don't change origin.
134         (gen_decl_die): Likewise.
135         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
136         before adding new edges instead of after it, fix moving over
137         debug stmts.
138
139 2010-03-11  David S. Miller  <davem@davemloft.net>
140
141         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
142         of four.
143         * configure: Rebuild.
144
145 2010-03-11  Martin Jambor  <mjambor@suse.cz>
146
147         PR tree-optimization/43257
148         * tree.c (assign_assembler_name_if_neeeded): New function.
149         (free_lang_data_in_cgraph): Assembler name assignment moved to the
150         above new function.
151         * tree.h (assign_assembler_name_if_neeeded): Declare.
152         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
153         the function if needed.
154
155 2010-03-11  Chris Demetriou  <cgd@google.com>
156
157         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
158         include/stdint-gcc.h, and include/stdint.h world-readable.
159
160 2010-03-11  Richard Guenther  <rguenther@suse.de>
161
162         PR tree-optimization/43255
163         * tree-vrp.c (process_assert_insertions_for): Do not insert
164         asserts for trivial conditions.
165
166 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
167
168         PR tree-optimization/43280
169         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
170         generation.  Move calculation of size out of the if branch.
171         (find_bswap): Modify compare number generation.
172
173 2010-03-11  Richard Guenther  <rguenther@suse.de>
174
175         PR lto/43200
176         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
177         (input_gimple_stmt): Fixup handled component types during
178         operand read.  Also fix up decls in ADDR_EXPRs.
179
180 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
181
182         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
183         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
184
185 2010-03-10  Jan Hubicka  <jh@suse.cz>
186
187         PR c/43288
188         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
189         * varasm.c (get_variable_section): Don't do that here...
190         (make_decl_rtl): ... and here.
191         (do_assemble_alias): Produce decl RTL.
192         (assemble_alias): Likewise.
193
194 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
195
196         PR debug/43290
197         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
198         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
199         of fde->vdrap_reg.
200         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
201         (based_loc_descr): Only express drap or vdrap regno based expressions
202         using DW_OP_fbreg when not optimizing.
203         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
204         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
205         REG_CFA_SET_VDRAP note.
206
207 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
208
209         PR tree-optimization/43236
210         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
211         error in calculation of base address in reverse iteration case.
212         (generate_builtin): Take number of latch executions if the statement
213         is in the latch.
214
215 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
216
217         PR middle-end/42859
218         * tree-eh.c: Include pointer-set.h.
219         (lower_eh_dispatch): Filter out duplicate case labels and
220         remove the unneeded edge when the label is unused.  Return
221         true when some edges are removed.
222         (execute_lower_eh_dispatch): When any lowering resulted in
223         removing an edge, also delete unreachable blocks.
224
225 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
226
227         PR bootstrap/43287
228         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
229         UNSPEC_MACHOPIC_OFFSET.
230
231 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
232
233         PR target/43294
234         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
235         (m68k_delegitimize_address): New function.
236
237 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
238
239         PR debug/43299
240         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
241
242         PR debug/43299
243         * var-tracking.c (adjust_sets): New function.
244         (count_with_sets, add_with_sets): Use it.
245         (get_adjusted_src): New inline function.
246         (add_stores): Use it.
247
248         PR debug/43304
249         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
250         call cselib_dummy_expand_value_rtx_cb instead of
251         cselib_expand_value_rtx_cb.
252
253         PR debug/43293
254         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
255         * config/i386/i386.c: Include debug.h and dwarf2out.h.
256         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
257         and .cfi_endproc around the pic thunks.
258         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
259         all queued unwind info register saves are saved before the call.
260         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
261         considered as sp-=4 for unwind info and the pop as sp+=4 which
262         also clobbers dest, but doesn't actually restore it.
263
264         PR debug/43290
265         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
266         RTX_FRAME_RELATED_P.
267
268 2010-03-09  Jie Zhang  <jie@codesourcery.com>
269
270         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
271         whitespaces in output template.
272
273 2010-03-09  Jie Zhang  <jie@codesourcery.com>
274
275         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
276         out array boundary.
277
278 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
279
280         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
281         builtins.exp in a separate job.
282
283 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
284
285         * graphite-sese-to-poly.c (add_param_constraints): Use
286         lower_bound_in_type and upper_bound_in_type.
287
288 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
289
290         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
291         instead of unsigned_type_node.
292
293 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
294             Reza Yazdani  <reza.yazdani@amd.com>
295
296         PR middle-end/43065
297         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
298         on pointer type parameters.
299
300 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
301
302         PR middle-end/42644
303         PR middle-end/42130
304         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
305         handle conversions from pointer to integers.
306         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
307         induction variable, to be able to work with code generated by CLooG.
308         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
309         (build_poly_scop): Bail out if we cannot codegen a loop.
310
311 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
312
313         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
314         code generation with gloog_error.
315
316 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
317
318         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
319         Call fold_convert on all the returned values.
320         (expand_scalar_variables_expr): Pass to
321         expand_scalar_variables_ssa_name the type of the resulting expression.
322
323 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
324
325         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
326         ppl_min_for_le_pointset.
327         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
328         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
329
330 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
331
332         * graphite-dependences.c (map_into_dep_poly): Removed.
333         (dependence_polyhedron_1): Use combine_context_id_scat.
334
335 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
336
337         * graphite-poly.h (struct poly_scattering): Add layout documentation.
338         (struct poly_bb): Same.
339         (combine_context_id_scat): New.
340
341 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
342
343         PR middle-end/42326
344         * sese.c (name_defined_in_loop_p): Return false for default
345         definitions.
346
347 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
348
349         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
350         and clean up the logic.
351
352 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
353
354         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
355         early return.
356
357 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
358
359         * var-tracking.c (remove_cselib_value_chains): Define only for
360         ENABLE_CHECKING.
361         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
362         delete_slot_part, emit_notes_for_differences_1): Don't call
363         remove_cselib_value_chains here.
364         (set_slot_part, emit_notes_for_differences_2): Don't call
365         add_cselib_value_chains here.
366         (preserved_values): New vector.
367         (preserve_value): New function.
368         (add_uses, add_stores, vt_add_function_parameters): Use it
369         instead of cselib_preserve_value.
370         (changed_values_stack): New vector.
371         (check_changed_vars_0): New function.
372         (check_changed_vars_1, check_changed_vars_2): Use it.
373         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
374         changed_values_stack VALUEs.
375         (vt_emit_notes): For all preserved_values call
376         add_cselib_value_chains.  If ENABLE_CHECKING call
377         remove_cselib_value_chains before verifying value_chains is empty.
378         Initialize and free changed_values_stack.
379         (vt_initialize): Initialize preserved_values.
380         (vt_finalize): Free preserved_values.
381
382 2010-03-08  Richard Guenther  <rguenther@suse.de>
383
384         PR tree-optimization/43269
385         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
386         region detection.
387
388 2010-03-08  Martin Jambor  <mjambor@suse.cz>
389
390         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
391         (ipa_is_param_called): Removed.
392         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
393         (ipa_print_node_params): Do not print the called flag.
394         (ipa_write_node_info): Do not stream the called flag.
395         (ipa_read_node_info): Likewise.
396
397 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
398
399         PR debug/43176
400         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
401         * cselib.c (struct expand_value_data): Add dummy field.
402         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
403         dummy to false.
404         (cselib_dummy_expand_value_rtx_cb): New function.
405         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
406         any rtl.
407         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
408         * var-tracking.c: Include pointer-set.h.
409         (variable): Change n_var_parts to char from int.  Add
410         cur_loc_changed and in_changed_variables fields.
411         (variable_canonicalize): Remove.
412         (shared_var_p): New inline function.
413         (unshare_variable): Maintain cur_loc_changed and
414         in_changed_variables fields.  If var was in changed_variables,
415         replace it there with new_var.  Just copy cur_loc instead of
416         resetting it to something else.
417         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
418         (dataflow_set_union): Don't call variable_canonicalize.
419         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
420         of their DEBUG_EXPR_TREE_DECLs.
421         (canonicalize_loc_order_check): Verify that cur_loc is NULL
422         and in_changed_variables and cur_loc_changed is false.
423         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
424         and cur_loc_changed.  Don't update cur_loc here.
425         (variable_merge_over_src): Don't call variable_canonicalize.
426         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
427         removing loc that is equal to cur_loc, clear cur_loc,
428         set cur_loc_changed and ensure variable_was_changed is called.
429         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
430         compare pointers in cur_loc check, if it is equal to loc,
431         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
432         (variable_different_p): Remove compare_current_location argument,
433         don't compare cur_loc.
434         (dataflow_set_different_1): Adjust variable_different_p caller.
435         (variable_was_changed): If dv had some var in changed_variables
436         already, reset in_changed_variables flag for it and propagate
437         cur_loc_changed over to the new variable.  On empty var
438         always set cur_loc_changed.  Set in_changed_variables on whatever
439         var is added to changed_variables.
440         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
441         Use shared_var_p.  When removing loc that is equal to cur_loc,
442         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
443         end, don't set it to something else, just call variable_was_changed.
444         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
445         loc being removed, clear cur_loc and set cur_loc_changed.
446         Set cur_loc_changed if all locations have been removed.
447         (struct expand_loc_callback_data): New type.
448         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
449         allocated.  Always create SUBREGs if simplify_subreg failed.
450         Prefer to use cur_loc, when that fails and still in
451         changed_variables (and seen first time) recompute it.  Set
452         cur_loc_changed of variables which had to change cur_loc and
453         compute elcd->cur_loc_changed if any of the subexpressions used
454         had to change cur_loc.
455         (vt_expand_loc): Adjust to pass arguments in
456         expand_loc_callback_data structure.
457         (vt_expand_loc_dummy): New function.
458         (emitted_notes): New variable.
459         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
460         that weren't used for any other decl in current
461         emit_notes_for_changes call call vt_expand_loc_dummy to update
462         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
463         first loc_chain location if NULL before.  Always use just
464         cur_loc instead of first loc_chain location.  When cur_loc_changed
465         is false, when not --enable-checking=rtl just don't emit any note.
466         When rtl checking, compute the note and assert it is the same
467         as previous note.  Clear cur_loc_changed and in_changed_variables
468         at the end before removing from changed_variables.
469         (check_changed_vars_3): New function.
470         (emit_notes_for_changes): Traverse changed_vars to call
471         check_changed_vars_3 on each changed var.
472         (emit_notes_for_differences_1): Clear cur_loc_changed and
473         in_changed_variables.  Recompute cur_loc of new_var.
474         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
475         (vt_emit_notes): Initialize and destroy emitted_notes.
476
477 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
478
479         PR rtl-optimization/42220
480         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
481         Use verify_reg_tracked to determine if we should use OP_OUT rather
482         than OP_INOUT.
483         (build_def_use): If we see an in-out operand for a register that we
484         know nothing about, treat is an output if possible, fail the block if
485         not.
486
487 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
488
489         PR debug/42897
490         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
491         permanently.
492
493 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
494
495         PR debug/42897
496         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
497         uses of relevant DEFs that are dead outside the loop too.
498
499 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
500
501         * var-tracking.c (dataflow_set_merge): Swap src and src2.
502         Reverted:
503         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
504         PR debug/41371
505         * var-tracking.c (values_to_unmark): New variable.
506         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
507         values_to_unmark vector.  Moved body to...
508         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
509         instead queue it into values_to_unmark vector.
510         (vt_find_locations): Free values_to_unmark vector.
511
512 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
513
514         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
515         (site.exp): Export them when plugins are enabled.
516
517 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
518
519         PR middle-end/42326
520         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
521         that contain scevs.
522         (chrec_fold_multiply): Same.
523
524 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
525
526         PR c/43248
527         * c-decl.c (build_compound_literal): Return early if init is
528         an error_mark_node.
529
530 2010-03-04  Martin Jambor  <mjambor@suse.cz>
531
532         PR tree-optimization/43164
533         PR tree-optimization/43191
534         * tree-sra.c (type_consists_of_records_p): Reject records with
535         zero-size bit-fields at the end.
536
537 2010-03-04  Mike Stump  <mikestump@comcast.net>
538
539         * Makefile.in (TAGS): Remove *.y.
540
541 2010-03-04  Richard Guenther  <rguenther@suse.de>
542
543         PR tree-optimization/40761
544         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
545         in reverse order.
546         (my_rev_post_order_compute): New function.
547         (init_pre): Call it.
548
549 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
550
551         PR middle-end/43209
552         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
553         decrease the cost of an IV candidate when the cost is infinite.
554
555 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
556
557         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
558         Use '3DNow!' for the extension of that name, ensure normal space
559         after the string.
560         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
561
562 2010-03-03  Jeff Law  <law@redhat.com>
563
564         * PR middle-end/32693
565         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
566         than gen_rtx_SUBREG.
567         (extract_bit_field_1): Likewise.
568
569 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
570
571         * doc/sourcebuild.texi (Test directives): Document that arguments
572         include-opts and exclude-opts are now optional for dg-skip-if,
573         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
574
575 2010-03-03  Jason Merrill  <jason@redhat.com>
576
577         PR c++/12909
578         * cgraph.h (varpool_node): Add extra_name field.
579         * varpool.c (varpool_extra_name_alias): New.
580         (varpool_assemble_decl): Emit extra name aliases.
581         (varpool_mark_needed_node): Look past an extra name alias.
582         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
583         * lto-streamer-in.c (lto_input_tree): Read it.
584         * lto-streamer-out.c (output_unreferenced_globals): Write it.
585
586 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
587
588         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
589         (sparc*-*-solaris2*): ...this.
590
591 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
592
593         PR debug/43229
594         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
595         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
596         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
597         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
598
599         PR debug/43237
600         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
601         fallthrough to default handling, just with want_address 0 instead of 2.
602         For single element lists, add_AT_loc directly, otherwise create an
603         artificial variable DIE and stick location list to it.
604
605         PR debug/43177
606         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
607         (VAL_EXPR_HAS_REVERSE): Define.
608         (reverse_op): New function.
609         (add_stores): For reversible operations add an extra MO_VAL_USE.
610
611 2010-03-02  Jason Merrill  <jason@redhat.com>
612
613         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
614
615 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
616
617         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
618         (sparc64-*-linux*): Likewise.
619         (sparc64-*-solaris2*): Include assembler files before linker ones.
620         (sparc-*-solaris2*): Simplify and reorder to match previous case.
621         * config/sparc/gas.h: Delete.
622         * config/sparc/sol2-64.h: Add copyright notice.
623         * config/sparc/sol2-gas-bi.h: Likewise.
624         * config/sparc/sol2-gld.h: Likewise.
625         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
626         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
627         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
628         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
629         (sparc_elf_asm_named_section): Rename into...
630         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
631
632 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
633
634         * config/alpha/alpha.c (override_options): Fix -mtune error message.
635
636 2010-03-02  Jeff Law  <law@redhat.com>
637
638         PR middle-end/42431
639         * reload1.c (rtx_p, substitute_stack): Declare.
640         (substitute): Record addresses of changed rtxs.
641         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
642         Restore the original rtx when complete.
643         (reload): Free subsitute_stack when complete.
644
645 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
646
647         * doc/gccint.texi (menu): Add Testsuites as a chapter.
648         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
649         new chapter.
650         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
651         LTO Testing, gcov Testing, profopt Testing, compat Testing,
652         Torture Tests): Change from subsection to section.
653
654 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
655             Steven Bosscher  <steven@gcc.gnu.org>
656
657         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
658         instead of bb.
659
660 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
661
662         PR middle-end/42640
663         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
664         the assignment from the new induction variable to the assignment
665         of the value from the original loop PHI function.
666
667 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
668             Daniel Jacobowitz  <dan@codesourcery.com>
669
670         * doc/sourcebuild.texi (Test directives): Clarify options to
671         dg-skip-if.
672
673 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
674
675         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
676         Disable cfi directives unless GCC and gas agree on using read-only
677         .eh_frame sections for 64-bit.
678         * configure: Regenerate.
679
680 2010-03-01  Richard Guenther  <rguenther@suse.de>
681
682         PR tree-optimization/43220
683         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
684         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
685
686 2010-03-01  Richard Guenther  <rguenther@suse.de>
687             Martin Jambor  <mjambor@suse.cz>
688
689         PR middle-end/41250
690         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
691         gimplified parameters.
692
693 2010-03-01  Christian Bruel  <christian.bruel@st.com>
694
695         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
696
697 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
698
699         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
700
701 2010-03-01  Richard Guenther  <rguenther@suse.de>
702
703         PR middle-end/43213
704         * expr.c (expand_assignment): Use the alias-oracle to tell
705         if the rhs aliases the result decl.
706
707 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
708
709         PR pch/14940
710         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
711         to sol_gt_pch_get_address.
712         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
713         64-bit, SPARC and x86.
714         (sol_gt_pch_get_address): New function.
715
716 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
717
718         * toplev.h (inform_n, error_n): Declare.
719         * diagnostic.c (inform_n, error_n): New function.
720
721 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
722
723         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
724         has no rtl yet when processing local_decls, queue it and recheck
725         if deferred stack allocation hasn't assigned it rtl.
726
727 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
728
729         * config/sh/sh.c (unspec_bbr_uid): New.
730         (gen_block_redirect): Use it instead of INSN_UID.
731         (gen_far_branch): Likewise.
732
733 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
734
735         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
736         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
737
738 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
739
740         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
741         (Warning Options): -Wno-conversion-null is valid for
742         Objective-C++ as well.
743         * doc/tm.texi (Named Address Spaces): Likewise.
744         * doc/plugins.texi (Plugins): Replace TABs with spaces.
745         * doc/tree-ssa.texi (Tree SSA): Likewise.
746
747 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
748
749         PR bootstrap/43202
750         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
751         by default.  Don't set the default arch for
752         i[34567]86-*-darwin*|x86_64-*-darwin*.
753
754 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
755
756         PR bootstrap/43202
757         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
758         default.  Set the default 32bit/64bit archs with $with_arch
759         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
760
761 2010-02-27  Richard Guenther  <rguenther@suse.de>
762
763         PR tree-optimization/43186
764         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
765         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
766         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
767         unroller iterations.
768
769 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
770
771         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
772         required and i[34567]86-*-* targets don't support 64bit ISA.
773
774 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
775
776         PR ada/43096
777         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
778         the same alias set.
779
780 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
781
782         * config.gcc: Set the default arch at least to Prescott for
783         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
784         if SSE math is enabled.
785
786 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
787
788         * diagnostic.c (diagnostic_initialize): Update.
789         (diagnostic_report_diagnostic): Test inhibit_notes_p for
790         informative notes.
791         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
792         (diagnostic_inhibit_notes): New.
793         * toplev.c (process_options): inhibit notes with -fcompare-debug.
794
795 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
796
797         PR c/20631
798         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
799         * doc/standards.texi: Likewise.
800         * doc/extend.texi: Likewise.
801         * doc/trouble.texi: Likewise.
802         * doc/cppopts.texi: Likewise.
803         * doc/install.texi: Likewise.
804         * c.opt (std=c90,std=gnu90): New options.
805         * c-opts.c (c_common_handle_option): Handle them.
806
807 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
808
809         PR c/24577
810         * c-decl.c (undeclared_variable): Use an informative note.
811
812 2010-02-26  Richard Guenther  <rguenther@suse.de>
813
814         PR tree-optimization/43186
815         * gimple.h (gimple_fold): Remove.
816         * gimple.c (gimple_fold): Remove.  Inline into single user ...
817         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
818         Try harder for conditions.
819
820 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
821
822         PR debug/43190
823         * function.c (used_types_insert): Don't skip through named pointer
824         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
825         and it is different from the main variant's type.
826
827 2010-02-26  Nick Clifton  <nickc@redhat.com>
828
829         * config/rx/rx.md (sminsi3): Remove bogus alternative.
830
831 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
832
833         * config.gcc: Support --with-fpmath=sse for x86.
834
835         * config/i386/ssemath.h: New.
836
837         * doc/install.texi (--with-fpmath=sse): Documented.
838
839 2010-02-26  Richard Guenther  <rguenther@suse.de>
840
841         PR tree-optimization/43188
842         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
843         vector types of over-aligned element type.
844
845 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
846
847         PR target/43175
848         * config/i386/i386.c (expand_vec_perm_blend): Use correct
849         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
850
851 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
852
853         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
854
855 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
856
857         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
858         * var-tracking.c: Include diagnostic.h.
859         (debug_dv): New function.
860         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
861
862         PR debug/43160
863         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
864         (add_value_chain, add_value_chains, remove_value_chain,
865         remove_value_chains): Handle DEBUG_EXPRs.
866         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
867
868         PR debug/43161
869         * regcprop.c (struct queued_debug_insn_change): New type.
870         (struct value_data_entry): Add debug_insn_changes field.
871         (struct value_data): Add n_debug_insn_changes field.
872         (debug_insn_changes_pool): New variable.
873         (free_debug_insn_changes, apply_debug_insn_changes,
874         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
875         (kill_value_one_regno): Call free_debug_insn_changes if needed.
876         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
877         fields.
878         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
879         changes for them.
880         (copyprop_hardreg_forward_1): Don't call apply_change_group for
881         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
882         changes, call cprop_find_used_regs via note_stores.
883         (copyprop_hardreg_forward): When copying vd from predecessor
884         which has any queued DEBUG_INSN changes, make sure the pointers are
885         cleared.  At the end call df_analyze and then if there are any
886         DEBUG_INSN changes queued at the end of some basic block for still
887         live registers, apply them.
888         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
889
890 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
891
892         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
893         (arm*-*-*): Ditto.
894
895 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
896
897         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
898         targets.  Set the default with_cpu/with_arch from arch/cpu.
899         Allow x86-64 and native for with_cpu/with_arch.
900
901 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
902
903         * ebitmap.c: Change calls to verify_popcount with calls to
904         sbitmap_verify_popcount.
905         (ebitmap_clear_bit): Fixed map->cacheindex test and
906         map>cache update when bit clearing results in an empty
907         element.
908
909 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
910
911         PR target/43154
912         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
913         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
914         and support both V2DF and V2DI modes.
915         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
916         support both V2DF and V2DI modes.
917         (general): Delete trailing whitespace from a few patterns.
918
919         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
920         V2DF/V2DI interleave high/low builtins.
921
922         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
923         new VSX builtins.
924
925         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
926         interleave high/low functions.
927
928 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
929
930         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
931         #pragma extern_prefix.
932
933 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
934
935         PR debug/43166
936         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
937         BLKmode, assert op0 is a MEM and just adjust its mode.
938
939         PR debug/43165
940         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
941         if bitpos isn't multiple of mode's bitsize.
942
943 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
944
945         * c.opt (-ftemplate-depth=): New.
946         (-ftemplate-depth-): Deprecate.
947         * optc-gen.awk: Handle -ftemplate-depth=.
948         * opth-gen.awk: Likewise.
949         * c-opts.c (c_common_handle_option): Likewise.
950         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
951
952 2010-02-24  Jason Merrill  <jason@redhat.com>
953
954         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
955
956 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
957
958         * cfg.c (alloc_aux_for_block): Remove inline.
959         (alloc_aux_for_edge): Likewise.
960
961 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
962
963         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
964
965 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
966
967         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
968         * config/i386/sol2-gas.h: New file.
969         * config.gcc (i[34567]86-*-solaris2*): Use it.
970
971 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
972
973         PR c/43128
974         * c-typeck.c (ep_convert_and_check): New.
975         (build_conditional_expr): Use it.
976         (build_binary_op): Likewise.
977
978 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
979
980         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
981
982         PR debug/43150
983         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
984         bounds even for -O+.
985         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
986         expr needs to have DECL_NAME set.
987
988 2010-02-24  Nick Clifton  <nickc@redhat.com>
989
990         * config/mep/mep.c: Include gimple.h.
991         (mep_function_uses_sp): Delete unused function.
992         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
993         parameters.  Use unsigned integers to count args.  Return a
994         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
995
996 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
997
998         PR target/43107
999         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
1000         greater or equal to nelt instead of 2 * nelt.
1001         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
1002         with nelt - 1.
1003
1004 2010-02-23  Jason Merrill  <jason@redhat.com>
1005
1006         PR debug/42800
1007         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
1008         in cfun->local_decls even if they have register types.
1009
1010         PR c++/42837
1011         * stor-layout.c (place_field): Don't warn about unnecessary
1012         DECL_PACKED if the type is packed.
1013
1014 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
1015
1016         PR target/43139
1017         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
1018         GOTOFF relocs, even when the base reg isn't pic pointer.
1019
1020 2010-02-23  Michael Matz  <matz@suse.de>
1021
1022         PR debug/43077
1023         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
1024         (expand_gimple_basic_block): Generate and use debug temps if there
1025         are debug uses left after the last real use of TERed ssa names.
1026         Unlink debug immediate uses when they are expanded.
1027
1028 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1029
1030         PR 43123
1031         * config/i386/i386.c (override_options): Reorganise to provide
1032         better error messages.
1033
1034 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1035
1036         PR middle-end/43083
1037         * graphite-scop-detection.c (create_single_exit_edge): Move
1038         the call to find_single_exit_edge to....
1039         (create_sese_edges): ...here.  Don't handle multiple edges
1040         exiting the function.
1041         (build_graphite_scops): Don't handle multiple edges
1042         exiting the function.
1043
1044 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1045
1046         PR middle-end/43097
1047         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
1048         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
1049
1050 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1051
1052         PR middle-end/43026
1053         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
1054
1055 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1056
1057         PR c++/43126
1058         * c-typeck.c (convert_arguments): Print declaration location.
1059         * c-common.c (validate_nargs): Rename as
1060         builtin_function_validate_nargs.
1061         (check_builtin_function_arguments): Update.
1062
1063 2010-02-22  Richard Guenther  <rguenther@suse.de>
1064
1065         PR lto/43045
1066         * tree-inline.c (declare_return_variable): Use the type of
1067         the call stmt lhs if available.
1068
1069 2010-02-22  Duncan Sands  <baldrick@free.fr>
1070
1071         * passes.c (register_pass): Always consider all pass lists when
1072         ref_pass_instance_number is zero.
1073
1074 2010-02-22  Richard Guenther  <rguenther@suse.de>
1075
1076         PR tree-optimization/42749
1077         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
1078         parameter.  Do arithmetic in the original type.
1079         (update_accumulator_with_ops): Likewise.
1080         (adjust_accumulator_values): Adjust.
1081
1082 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1083
1084         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
1085         (QI to BLKmode splitter): New splitter.
1086
1087 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1088
1089         * config/i386/i386.c (initial_ix86_tune_features): Turn on
1090         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
1091
1092 2010-02-22  Richard Guenther  <rguenther@suse.de>
1093
1094         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
1095
1096 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
1097
1098         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
1099         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
1100         ($(T)crti.o, $(T)crtn.o): Remove rules.
1101
1102 2010-02-21  Tobias Burnus  <burnus@net-b.de>
1103
1104         PR fortran/35259
1105         * doc/invoke.texi (-fassociative-math): Document that this
1106         option is automatically enabled for Fortran.
1107
1108 2010-02-20  David S. Miller  <davem@davemloft.net>
1109
1110         * configure.ac: Test if linker and assembler properly support
1111         GOTDATA_OP relocations.
1112         * configure: Rebuild.
1113         * config.in: Likewise.
1114         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
1115         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
1116         (movsi_high_pic): Likewise.
1117         (movdi_lo_sum_pic): Likewise.
1118         (movdi_high_pic): Likewise.
1119         (movsi_pic_gotdata_op): New pattern.
1120         (movdi_pic_gotdata_op): Likewise.
1121         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
1122         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
1123
1124 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
1125
1126         PR target/43067
1127         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
1128         attribute to ssemul.
1129         (xop_mulv2div2di3_high): Ditto.
1130
1131 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1132
1133         PR c++/35669
1134         * c.opt (Wconversion-null): New option.
1135         * doc/invoke.texi (Wconversion-null): Document.
1136
1137 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1138
1139         * common.opt (Wlarger-than-): Add Undocumented.
1140
1141 2010-02-19  Mike Stump  <mikestump@comcast.net>
1142
1143         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
1144
1145 2010-02-19  Jason Merrill  <jason@redhat.com>
1146
1147         PR target/40332
1148         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
1149         * configure: Likewise.
1150
1151 2010-02-20  Alan Modra  <amodra@gmail.com>
1152
1153         PR middle-end/42344
1154         * cgraph.h (cgraph_make_decl_local): Declare.
1155         * cgraph.c (cgraph_make_decl_local): New function.
1156         (cgraph_make_node_local): Use it.
1157         * cgraphunit.c (cgraph_function_versioning): Likewise.
1158         * ipa.c (function_and_variable_visibility): Likewise.
1159
1160 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1161
1162         PR bootstrap/43121
1163         * except.c (sjlj_emit_function_enter): Don't call
1164         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
1165         directly.
1166         * rtl.h (add_reg_br_prob_note): Remove prototype.
1167
1168 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1169
1170         PR 41779
1171         * c-common.c (conversion_warning): Remove widening conversions
1172         before checking the conversion of integers to reals.
1173
1174 2010-02-19  Mike Stump  <mikestump@comcast.net>
1175
1176         PR middle-end/43125
1177         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
1178
1179         PR objc/43061
1180         * cgraphunit.c (process_function_and_variable_attributes): Check
1181         DECL_PRESERVE_P instead of looking up attribute "used".
1182         * ipa-pure-const.c (check_decl): Likewise.
1183         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
1184         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
1185         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
1186         instead of attribute "used".
1187         * config/sol2-c.c (solaris_pragma_init): Likewise.
1188         (solaris_pragma_fini): Likewise.
1189
1190 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1191
1192         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
1193         Use XCNEW instead of xcalloc.
1194         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
1195         XNEW instead of xmalloc.
1196         (get_fields): Use XNEWVEC instead of xmalloc.
1197
1198         PR debug/43084
1199         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
1200         populate vars array.
1201         (create_new_general_access): For debug stmts just reset value.
1202         (get_stmt_accesses): For accesses within debug stmts just record them
1203         using add_access_to_acc_sites instead of preventing the peeling or
1204         counting them as accesses.
1205
1206         PR middle-end/42233
1207         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
1208
1209 2010-02-19  Richard Guenther  <rguenther@suse.de>
1210
1211         PR tree-optimization/42916
1212         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
1213         instructions.
1214
1215 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
1216
1217         * configure.ac: Replace all uses of changequote in macro arguments
1218         with proper quoting.
1219
1220 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1221
1222         PR middle-end/42233
1223         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
1224
1225 2010-02-19  Richard Guenther  <rguenther@suse.de>
1226
1227         PR tree-optimization/42944
1228         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
1229         test for aliasing with errno.
1230
1231 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1232
1233         PR middle-end/42233
1234         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
1235         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
1236         * dojump.c: Include output.h.
1237         (inv): New inline function.
1238         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
1239         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
1240         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
1241         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
1242         argument, pass it down to other calls.
1243         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
1244         add REG_BR_PROB note to the conditional jump.
1245         * cfgexpand.c (add_reg_br_prob_note): Removed.
1246         (expand_gimple_cond): Don't call it, add the probability
1247         as last argument to jumpif_1/jumpifnot_1.
1248         * Makefile.in (dojump.o): Depend on output.h.
1249         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
1250         callers.
1251         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
1252         * stmt.c (do_jump_if_equal): Likewise.
1253         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
1254         * loop-unswitch.c (compare_and_jump_seq): Likewise.
1255         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
1256         Likewise.
1257         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
1258         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
1259         jumpifnot_1 callers.
1260         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
1261         callers.
1262         (store_expr): Adjust jumpifnot caller.
1263         (store_constructor): Adjust jumpif caller.
1264
1265         PR middle-end/42233
1266         * gimplify.c (gimple_boolify): For __builtin_expect call
1267         gimple_boolify also on its first argument.
1268
1269 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
1270
1271         * configure.ac (gnu-unique-object): Wrap regexps using [] in
1272         changequote block.
1273         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
1274         * configure: Regenerated.
1275
1276 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1277
1278         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
1279         lang_hooks.types_compatible_p instead of comptypes.
1280
1281 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
1282
1283         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
1284         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
1285         if __prefer_thumb__ is defined.
1286
1287 2010-02-18  Martin Jambor  <mjambor@suse.cz>
1288
1289         PR tree-optimization/43066
1290         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
1291         array with zero-sized element type.
1292
1293 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
1294
1295         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
1296         rtx, allocate struct var_loc_node here and return it to the
1297         caller, and only if it is actually needed.
1298         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
1299         move it earlier and return immediately if it returns NULL.
1300
1301 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
1302
1303         * config/sparc/gas.h: New file.  Restore
1304         TARGET_ASM_NAMED_SECTION to its ELF default.
1305         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
1306         check !HAVE_GNU_AS.
1307         * config/sparc/sparc.c (sparc_elf_asm_named_section):
1308         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
1309         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
1310         after sparc/sysv4.h.
1311
1312 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
1313
1314         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
1315
1316 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
1317
1318         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
1319         patterns from predicated pattern.
1320
1321 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
1322
1323         PR target/43103
1324         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
1325         for insn mnemonic suffix.
1326
1327 2010-02-17  Richard Guenther  <rguenther@suse.de>
1328
1329         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
1330         to loop PHI nodes.
1331
1332 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
1333
1334         PR debug/42918
1335         * caller-save.c (save_call_clobbered_regs): If BB ends with
1336         a DEBUG_INSN, move any notes in between last real insn and the last
1337         DEBUG_INSN after the last DEBUG_INSN.
1338
1339 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
1340
1341         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
1342         Fix return type.  Fix argument type.  Explain meaning of return value.
1343
1344 2010-02-16  Richard Guenther  <rguenther@suse.de>
1345
1346         PR tree-optimization/41043
1347         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
1348         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
1349         statements ...
1350         (vrp_visit_phi_node): ... but only for loop PHI nodes.
1351
1352 2010-02-16  Ira Rosen  <irar@il.ibm.com>
1353
1354         PR tree-optimization/43074
1355         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
1356         * tree-vect-loop.c (vect_analyze_loop_operations): Add
1357         vectorizable cycles in hybrid SLP check.
1358         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
1359
1360 2010-02-16  Richard Guenther  <rguenther@suse.de>
1361
1362         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
1363         (true_dependence): If memrefs_conflict_p computes must-alias
1364         trust it.  Move TBAA check after offset-based disambiguation.
1365         (canon_true_dependence): Likewise.
1366
1367 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
1368
1369         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
1370         * doc/invoke.texi: Document it.
1371         * var-tracking.c: Include toplev.h and params.h.
1372         (vt_find_locations): Return bool indicating success.  Compute
1373         hash sizes unconditionally.  Check new parameter, report.
1374         (variable_tracking_main_1): Check vt_find_locations results and
1375         retry.  Renamed from...
1376         (variable_tracking_main): ... this.  New wrapper to preserve
1377         flag_var_tracking_assignments.
1378         * Makefile.in (var-tracking.o): Adjust dependencies.
1379
1380 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
1381             Jakub Jelinek <jakub@redhat.com>
1382
1383         PR target/42854
1384         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
1385         if weak_import attribute is present.
1386         * config/darwin.c (machopic_select_section): Likewise.
1387
1388 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
1389
1390         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
1391         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
1392         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
1393         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
1394
1395         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
1396         types.
1397
1398         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
1399         Fix argument types.
1400
1401         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
1402         Rewrite text to refer to the names.
1403
1404 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
1405
1406         * config/i386/i386-builtin-types.def
1407         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
1408         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
1409         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
1410         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
1411         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
1412         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
1413         IX86_BUILTIN_VPERMIL2PS256.
1414         (MULTI_ARG_4_DF2_DI_I): Defined.
1415         (MULTI_ARG_4_DF2_DI_I1): Defined.
1416         (MULTI_ARG_4_SF2_SI_I): Defined.
1417         (MULTI_ARG_4_SF2_SI_I1): Defined.
1418         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
1419         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
1420         __builtin_ia32_vpermil2ps256.
1421         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
1422         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
1423         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
1424         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
1425         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
1426         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
1427         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
1428         CODE_FOR_xop_vpermil2v8sf3.
1429         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
1430         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
1431         * config/i386/xopintrin.h (_mm_permute2_pd): New.
1432         (_mm256_permute2_pd): New.
1433         (_mm_permute2_ps): New.
1434         (_mm256_permute2_ps): New.
1435
1436 2010-02-15  Nick Clifton  <nickc@redhat.com>
1437
1438         * config/h8300/h8300.c (h8300_push_pop): Use bool type for
1439         boolean parameters.  Use emit_jump_insn when emitting a pop
1440         instruction containing a return insn.
1441         (push): Use 'true' rather than '1' as second parameter to F.
1442         (h8300_expand_prologue): Likewise.
1443         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
1444         (h8300_expand_epilogue): Likewise.
1445
1446 2010-02-15  Richard Guenther  <rguenther@suse.de>
1447
1448         PR middle-end/43068
1449         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
1450         if that is zero.
1451
1452 2010-02-15  Nick Clifton  <nickc@redhat.com>
1453
1454         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
1455         delta.
1456
1457 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
1458
1459         * intl.c (fake_ngettext): New function.
1460         * intl.h (fake_ngettext): Declare.
1461         (ngettext): Define macro.
1462         * collect2.c (notice_translated): New function.
1463         (main): Use notice_translated and ngettext.
1464         * collect2.h (notice_translated): Declare.
1465
1466 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
1467
1468         * reorg.c (delete_computation): Comment fixes.
1469         * caller-save.c (setup_save_areas): Idem.
1470         * sel-sched-dump.c (dump_lv_set): Idem.
1471         * rtl.def: Idem.
1472
1473 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1474
1475         * config/s390/s390.c (s390_sched_init): New function.
1476         (TARGET_SCHED_INIT): Target hook defined.
1477
1478 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
1479             Jack Howarth  <howarth@bromo.med.uc.edu>
1480             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1481
1482         PR target/42982
1483         Partial revert of unintended change in fix for PR41605.
1484         * config/darwin.h: Fix typo.
1485         * config/darwin9.h: Same.
1486
1487 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
1488
1489         * c-pch.c (pch_init): Clear v.
1490
1491 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1492
1493         PR middle-end/42930
1494         * graphite-scop-detection.c (graphite_can_represent_scev): Call
1495         graphite_can_represent_init for MULT_EXPR.
1496
1497 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1498
1499         PR middle-end/42914
1500         PR middle-end/42530
1501         * graphite-sese-to-poly.c (remove_phi): New.
1502         (translate_scalar_reduction_to_array): Call remove_phi.
1503
1504 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1505
1506         PR middle-end/42771
1507         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
1508         * graphite-clast-to-gimple.h (gloog): Update declaration.
1509         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
1510         * graphite-poly.h (struct poly_bb): Add missing comments.
1511         (struct scop): Add poly_scop_p field.
1512         (POLY_SCOP_P): New.
1513         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
1514         * graphite.c (graphite_transform_loops): Build the polyhedral
1515         representation for each scop before code generation.
1516         * sese.c (rename_variables_in_operand): Removed.
1517         (rename_variables_in_expr): Return the renamed expression.
1518         (rename_sese_parameters): New.
1519         * sese.h (rename_sese_parameters): Declared.
1520
1521 2010-02-11  Richard Guenther  <rguenther@suse.de>
1522
1523         PR tree-optimization/42998
1524         * tree-ssa-pre.c (create_expression_by_pieces): Treat
1525         POINTER_PLUS_EXPR properly.
1526
1527 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1528             Changpeng Fang  <changpeng.fang@amd.com>
1529
1530         PR middle-end/40886
1531         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
1532         the cost of an IV candidate when the IV is used in a test against zero.
1533
1534         * gcc.dg/tree-ssa/ivopts-3.c: New.
1535
1536 2010-02-11  Richard Guenther  <rguenther@suse.de>
1537
1538         PR lto/41664
1539         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
1540         pointer-vs-decl case by swapping refs.  Handle some cases
1541         of pointer-vs-decl disambiguations more conservatively.
1542         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
1543         to false after expanding.
1544
1545 2010-02-11  Richard Guenther  <rguenther@suse.de>
1546
1547         PR driver/43021
1548         * gcc.c (process_command): Handle LTO file@offset case more
1549         appropriately.
1550
1551 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
1552
1553         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
1554         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
1555         of DEBUG_INSNs.
1556         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
1557
1558         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
1559         if MEM's mode size isn't DWARF2_ADDR_SIZE.
1560         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
1561         Optimize eq/ne comparisons when both arguments are known to be
1562         zero-extended.
1563         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
1564         Don't mask operands unnecessarily if they are known to be already
1565         zero-extended.
1566
1567 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
1568
1569         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
1570         instead of loop.
1571
1572 2010-02-10  Richard Guenther  <rguenther@suse.de>
1573
1574         PR tree-optimization/43017
1575         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
1576         for wrapping signed arithmetic.
1577
1578 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
1579
1580         PR debug/43010
1581         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
1582         if no debug info should be emitted for it.
1583
1584 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
1585
1586         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
1587         note when flag_exceptions is set.
1588
1589 2010-02-10  Duncan Sands  <baldrick@free.fr>
1590
1591         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
1592
1593 2010-02-10  Richard Guenther  <rguenther@suse.de>
1594
1595         PR c/43007
1596         * tree.c (get_unwidened): Handle constants.
1597         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
1598
1599 2010-02-10  Martin Jambor  <mjambor@suse.cz>
1600
1601         PR lto/42985
1602         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
1603         check for variable argument counts independently.
1604
1605 2010-02-10  Christian Bruel  <christian.bruel@st.com>
1606
1607         PR target/42841
1608         * config/sh/sh.c (find_barrier): Increase length for non delayed
1609         conditional branches.
1610
1611 2010-02-10  Christian Bruel  <christian.bruel@st.com>
1612
1613         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
1614
1615 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
1616
1617         * builtins.c (set_builtin_user_assembler_name): Also handle
1618         ffs if int is smaller than word.
1619
1620 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
1621
1622         PR middle-end/42973
1623         * ira-conflicts.c (get_dup): Remove.
1624         (process_reg_shuffles): Add new parameter.  Use it as an
1625         additional guard for copy generation.
1626         (add_insn_allocno_copies): Rewrite.
1627
1628 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
1629
1630         * common.opt (fsched2-use-traces): Preserved for backward
1631         compatibility.
1632         * doc/invoke.texi: Remove the documentation about option
1633         -fsched2-use-traces.
1634         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
1635         flag_sched2_use_traces.
1636         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
1637         the backward compatibility flag section.
1638
1639 2010-02-09  Richard Guenther  <rguenther@suse.de>
1640
1641         PR tree-optimization/43008
1642         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
1643         make HEAP variables initialized from global memory if they
1644         are not known builtin functions.
1645         (find_func_aliases): Adjust.
1646
1647 2010-02-09  Richard Guenther  <rguenther@suse.de>
1648
1649         PR tree-optimization/43000
1650         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
1651         arithmetic manually.
1652
1653 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
1654
1655         PR tree-optimization/42931
1656         * tree-loop-linear.c (try_interchange_loops): Don't call
1657         double_int_mul if estimated_loop_iterations failed.
1658
1659 2010-02-08  Martin Jambor  <mjambor@suse.cz>
1660
1661         PR middle-end/42898
1662         * tree-sra.c (build_accesses_from_assign): Do not mark in
1663         should_scalarize_away_bitmap if stmt has volatile ops.
1664         (sra_modify_assign): Do not process assigns piecemeal if if stmt
1665         has volatile ops.
1666
1667 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
1668
1669         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
1670
1671 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
1672
1673         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
1674         before the pattern.
1675
1676 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
1677
1678         PR middle-end/42946
1679         * df-core.c (df_finish_pass): Change type of saved_flags to int.
1680
1681 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
1682
1683         PR middle-end/42988
1684         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
1685         to unknown_dependence.
1686         (graphite_legal_transform_dr): Handle the unknown_dependence.
1687         (graphite_carried_dependence_level_k): Same.
1688
1689 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
1690
1691         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
1692
1693 2010-02-07  Richard Guenther  <rguenther@suse.de>
1694
1695         PR middle-end/42991
1696         * expr.c (get_inner_reference): Always initialize *pbitsize.
1697
1698 2010-02-07  Richard Guenther  <rguenther@suse.de>
1699
1700         PR middle-end/42956
1701         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
1702         new ARRAY_REFs on variable size element or minimal index arrays.
1703         Complete.
1704         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
1705         gimple_fold_indirect_ref.
1706
1707 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
1708
1709         PR target/42957
1710         * arm.c (arm_override_options): Just return if the user has specified
1711         an invalid fpu name.
1712
1713 2010-02-03  Jason Merrill  <jason@redhat.com>
1714
1715         PR c++/42870
1716         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
1717         i386_pe_maybe_record_exported_symbol.
1718
1719 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
1720
1721         PR target/42924
1722         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
1723         (pa_delegitimize_address): New function.
1724
1725 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
1726
1727         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
1728         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
1729
1730 2010-02-05  Richard Guenther  <rguenther@suse.de>
1731
1732         PR lto/42762
1733         * lto-streamer-in.c (get_resolution): Deal with references
1734         to undefined functions.
1735
1736 2010-02-05  Richard Guenther  <rguenther@suse.de>
1737
1738         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
1739         (fold_const_aggregate_ref): Likewise.
1740         (ccp_fold_stmt): Substitute loads.
1741         (maybe_fold_reference): Verify types before substituting.
1742         Unshare properly.
1743         (fold_gimple_assign): Unshare properly.
1744         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
1745
1746 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
1747
1748         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
1749         for rs6000_gen_cell_microcode.
1750
1751 2010-02-04  Richard Guenther  <rguenther@suse.de>
1752
1753         PR rtl-optimization/42952
1754         * dse.c (const_or_frame_p): Remove MEM handling.
1755
1756 2010-02-04  Nick Clifton  <nickc@redhat.com>
1757
1758         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
1759         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
1760         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
1761         (mn10300_asm_output_mi_thunk): New function.
1762         (mn10300_can_output_mu_thunk): New function.
1763         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
1764         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
1765         (FUNCTION_ARG): Delete incorrect comment.
1766
1767 2010-02-03  Jason Merrill  <jason@redhat.com>
1768
1769         PR c++/40138
1770         * fold-const.c (operand_equal_p): Handle erroneous types.
1771
1772 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
1773
1774         * config/h8300/h8300.md (can_delay): Fix attibute condition.
1775
1776 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
1777
1778         PR rtl-optimization/42941
1779         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
1780         of xmalloc.
1781
1782 2010-02-03  Jason Merrill  <jason@redhat.com>
1783
1784         PR c++/35652
1785         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
1786
1787 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
1788
1789         PR debug/42896
1790         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
1791         (cselib_reset_table): Renamed from...
1792         (cselib_reset_table_with_next_value): ... this.
1793         (cselib_get_next_uid): Renamed from...
1794         (cselib_get_next_unknown_value): ... this.
1795         * cselib.c (next_uid): Renamed from...
1796         (next_unknown_value): ... this.
1797         (cselib_clear_table): Adjust.
1798         (cselib_reset_table): Adjust.  Renamed from...
1799         (cselib_reset_table_with_next_value): ... this.
1800         (cselib_get_next_uid): Adjust.  Renamed from...
1801         (cselib_get_next_unknown_value): ... this.
1802         (get_value_hash): Use hash.
1803         (cselib_hash_rtx): Likewise.
1804         (new_cselib_val): Adjust.  Set and dump uid.
1805         (cselib_lookup_mem): Pass next_uid as hash.
1806         (cselib_subst_to_values): Likewise.
1807         (cselib_log_lookup): Dump uid.
1808         (cselib_lookup): Pass next_uid as hash.  Adjust.
1809         (cselib_process_insn): Adjust.
1810         (cselib_init): Initialize next_uid.
1811         (cselib_finish): Adjust.
1812         (dump_cselib_table): Likewise.
1813         * dse.c (canon_address): Dump value uid.
1814         * print-rtl.c (print_rtx): Print value uid.
1815         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
1816         (dvuid): New type.
1817         (dv_uid): New function, sort of renamed from...
1818         (dv_htab_hash): ... this, reimplemented in terms of it and...
1819         (dv_uid2hash): ... this.  New.
1820         (variable_htab_eq): Drop excess assertions.
1821         (tie_break_pointers): Removed.
1822         (canon_value_cmp): Compare uids.
1823         (variable_post_merge_New_vals): Print uids.
1824         (vt_add_function_parameters): Adjust.
1825         (vt_initialize): Reset table.  Adjust.
1826
1827 2010-02-03  Richard Guenther  <rguenther@suse.de>
1828
1829         PR tree-optimization/42944
1830         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
1831         (call_may_clobber_ref_p_1): Likewise.  Properly handle
1832         malloc and calloc clobbering errno.
1833
1834 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
1835
1836         * doc/invoke.texi: Fix name of sched1 dump.
1837
1838         * opts.c (decode_options): Set flag_tree_switch_conversion
1839         only conditionally on optimize >= 2.
1840
1841         * gcse.c: Assorted comment fixes in pass description.
1842
1843 2010-02-03  Anthony Green  <green@moxielogic.com>
1844
1845         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
1846         nop padding in order to maintain alignment of storage location of
1847         target function address.
1848         (moxie_trampoline_init): Store target function address at newly
1849         aligned location.
1850         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
1851         to 32.
1852         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
1853
1854 2010-02-03  Richard Guenther  <rguenther@suse.de>
1855
1856         PR middle-end/42927
1857         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
1858
1859 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1860
1861         * config.gcc: Reenable check for obsolete targets.
1862         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
1863         mips-sgi-irix6.[0-4]*.
1864
1865 2010-02-02  Nick Clifton  <nickc@redhat.com>
1866
1867         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
1868         constant size of 4 as being the same as 0.
1869         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
1870         can take values in the range 0..4.
1871
1872 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
1873
1874         PR java/41991
1875         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
1876         as _darwin10_Unwind_FindEnclosingFunction().
1877         * libgcc-libsystem.ver: New.
1878
1879 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
1880
1881         PR target/41399
1882         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
1883         implicitly set registers.
1884
1885 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
1886
1887         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
1888         (arm_override_options): Allow automatic selection of the thread
1889         pointer register if thumb2.
1890         (legitimize_pic_address): Improve code sequences for Thumb2.
1891         (arm_call_tls_get_addr): Likewise.
1892         (legitimize_tls_address): Likewise.
1893         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
1894         (pic_load_addr_32bit): ... this.  New named pattern.
1895         * thumb2.md (pic_load_addr_thumb2): Delete.
1896         (pic_load_dot_plus_four): Delete.
1897         (tls_load_dot_plus_four): New named pattern.
1898
1899 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1900
1901         PR libgomp/29986
1902         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
1903         Document fix for TLS bug.
1904
1905 2010-01-31  Richard Guenther  <rguenther@suse.de>
1906
1907         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
1908         conservatively correct.
1909
1910 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1911
1912         PR target/42850
1913         Revert:
1914         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1915
1916         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
1917
1918 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1919
1920         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
1921
1922 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
1923
1924         * config.gcc: Adjust order of makefile fragments for mingw targets.
1925
1926 2010-01-31  Richard Guenther  <rguenther@suse.de>
1927
1928         PR middle-end/42898
1929         * gimplify.c (gimplify_init_constructor): For volatile LHS
1930         initialize a temporary.
1931
1932 2010-01-31  Matthias Klose  <doko@ubuntu.com>
1933
1934         * configure.ac: Fix __stack_chk_fail check for cross builds configured
1935         --with-headers
1936         * configure: Regenerate.
1937
1938 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
1939
1940         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
1941         the same alias set and their sizes different constantness.
1942         (aliasing_component_refs_p): Revert 2009-10-24 change.
1943
1944 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1945
1946         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
1947         unused.
1948
1949 2010-01-29  Richard Guenther  <rguenther@suse.de>
1950
1951         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
1952         Assert we successfully updated the call.
1953
1954 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
1955
1956         PR rtl-optimization/42889
1957         * df.h (df_set_bb_dirty_nonlr): New prototype.
1958         * df-core.c (df_set_bb_dirty_nonlr): New function.
1959         * df-scan.c (df_insn_rescan): Call it instead of
1960         df_set_bb_dirty for DEBUG_INSNs.
1961
1962 2010-01-29  Richard Guenther  <rguenther@suse.de>
1963
1964         PR middle-end/37448
1965         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
1966         quadratic behavior in most cases.
1967
1968 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
1969
1970         PR target/42891
1971         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
1972         in the call to gen_x86_movsicc_0_m1.
1973
1974 2010-01-28  Richard Guenther  <rguenther@suse.de>
1975
1976         PR tree-optimization/42871
1977         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
1978
1979 2010-01-28  Richard Guenther  <rguenther@suse.de>
1980
1981         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
1982         into call arguments.
1983
1984 2010-01-28  Richard Guenther  <rguenther@suse.de>
1985
1986         PR middle-end/42883
1987         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
1988         the forwarder if the destination is an EH landing pad.
1989
1990 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
1991
1992         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
1993         block list passed to gimple_duplicate_sese_tail.
1994         (parallelize_loops): Avoid parallelization when the function
1995         has_nonlocal_label.
1996         Avoid parallelization when the preheader is IRREDUCIBLE.
1997         Try to optimize when estimated_loop_iterations_int is unresolved.
1998         Add the loop's location to the dump file.
1999         * tree-cfg.c (add_phi_args_after_redirect): Remove.
2000         (gimple_duplicate_sese_tail): Remove the check for the latch.
2001         Redirect nexits to the exit block.
2002         Remove handling of the incoming edges to the latch.
2003         Redirect the backedge from the copied latch to the exit bb.
2004
2005 2010-01-28  Michael Matz  <matz@suse.de>
2006
2007         PR target/42881
2008         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
2009         Wrap force_reg into a sequence, emit it before user.
2010
2011 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
2012
2013         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
2014         (arm_rev): New.
2015         (arm_legacy_rev): Likewise.
2016         (thumb_legacy_rev): Likewise.
2017
2018 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
2019
2020         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
2021         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
2022         on MEM's address failed, try avoid_constant_pool_reference and
2023         recurse if it returned something different.
2024         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
2025         address, try avoid_constant_pool_reference and recurse if it
2026         returned something different.
2027         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
2028         address and avoid_constant_pool_reference returned something
2029         different, don't set have_address.
2030
2031 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
2032
2033         PR debug/42861
2034         * var-tracking.c (val_store): Add modified argument, obey it.
2035         Adjust callers.
2036         (count_uses): Move down logging of main.
2037         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
2038         don't need resolution.
2039         (emit_notes_in_bb): Likewise.
2040
2041 2010-01-27  Richard Guenther  <rguenther@suse.de>
2042
2043         PR middle-end/42878
2044         * tree-inline.c (remap_decl): Delay remapping of SSA name
2045         default definitions until we need them.
2046
2047 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
2048
2049         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2050         (rs6000_delegitimize_address): New function.
2051
2052         * config/s390/s390.c (s390_delegitimize_address): Call
2053         delegitimize_mem_from_attrs.
2054
2055         PR middle-end/42874
2056         * tree-inline.c (cannot_copy_type_1): Removed.
2057         (copy_forbidden): Don't forbid copying of functions containing
2058         records/unions with variable length fields.
2059
2060 2010-01-27  Christian Bruel  <christian.bruel@st.com>
2061
2062         Revert:
2063         PR target/42841
2064         * config/sh/sh.c (find_barrier): Increase length for non delayed
2065         conditional branches.
2066
2067 2010-01-27  Matthias Klose  <doko@ubuntu.com>
2068
2069         * configure.ac (gnu-unique-object): Fix ldd version check.
2070         * configure: Regenerate.
2071
2072 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2073
2074         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
2075         HAVE_GNU_AS value.
2076         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
2077         Test for HAVE_GNU_AS value.
2078
2079 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2080
2081         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
2082         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
2083         INT64_TYPE): Define.
2084         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
2085         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2086         INT_LEAST64_TYPE): Define.
2087         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
2088         UINT_LEAST64_TYPE): Define.
2089         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
2090         INT_FAST64_TYPE): Define.
2091         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2092         UINT_FAST64_TYPE): Define.
2093         (INTMAX_TYPE, UINTMAX_TYPE): Define.
2094         (INTPTR_TYPE, UINTPTR_TYPE): Define.
2095         (SIG_ATOMIC_TYPE): Define.
2096
2097 2010-01-26  Richard Guenther  <rguenther@suse.de>
2098
2099         * df-scan.c (df_scan_set_bb_info): Remove assert.
2100         (df_insn_rescan_debug_internal): Merge asserts.
2101         (df_install_ref): Likewise.
2102         (df_mark_reg): Use bitmap_set_range.
2103         (df_hard_reg_used_p): Remove assert.
2104         (df_hard_reg_used_count): Likewise.
2105
2106 2010-01-26  Richard Guenther  <rguenther@suse.de>
2107
2108         PR rtl-optimization/42685
2109         * web.c (web_main): Ignore DEBUG_INSNs.
2110
2111 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
2112
2113         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
2114
2115         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
2116         Fix types of fndecl and arglist parameters.
2117
2118 2010-01-26  Richard Guenther  <rguenther@suse.de>
2119
2120         PR middle-end/42806
2121         * tree-eh.c (unsplit_eh): Skip debug insns.
2122
2123 2010-01-26  Richard Guenther  <rguenther@suse.de>
2124
2125         PR tree-optimization/42250
2126         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
2127
2128 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
2129
2130         PR fortran/42866
2131         * omp-low.c (expand_omp_sections): Only use single_pred if
2132         l2_bb is single_pred_p.
2133
2134 2010-01-25  Christian Bruel  <christian.bruel@st.com>
2135
2136         PR target/42841
2137         * config/sh/sh.c (find_barrier): Increase length for non delayed
2138         conditional branches.
2139         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
2140
2141 2010-01-24  David S. Miller  <davem@davemloft.net>
2142
2143         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
2144         define if not using GAS.
2145         * config/sparc/sparc.c (sparc_elf_asm_named_section):
2146         Likewise.  Delete SECTION_MERGE code, which is only applicable
2147         when using GAS.
2148
2149 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
2150
2151         PR c++/42748
2152         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
2153         mangling of va_list in system headers.
2154
2155 2010-01-23  Toon Moene  <toon@moene.org>
2156
2157         * tree-predcom.c (combine_chains): Return NULL, not false.
2158
2159 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
2160
2161         * tree-loop-distribution.c (distribute_loop): Fix declaration and
2162         initialization of variable res to agree with return type.
2163
2164 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
2165
2166         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
2167         * tree-sra.c: Add include of expr.h.
2168
2169 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
2170
2171         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
2172         insert the debug stmt on the single non-EH edge from the stmt.
2173
2174 2010-01-22  Richard Henderson  <rth@redhat.com>
2175
2176         PR tree-opt/42833
2177         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
2178         the RHS until after generate_subtree_copies has insertted its
2179         code before the current statement.
2180
2181 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
2182
2183         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
2184
2185         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
2186
2187 2010-01-21  Martin Jambor  <mjambor@suse.cz>
2188
2189         PR tree-optimization/42585
2190         * tree-sra.c (struct access): New field grp_total_scalarization.
2191         (dump_access): Dump the new field.
2192         (should_scalarize_away_bitmap): New variable.
2193         (cannot_scalarize_away_bitmap): Likewise.
2194         (sra_initialize): Allocate new bitmaps.
2195         (sra_deinitialize): Free new bitmaps.
2196         (create_access_1): New function.
2197         (create_access): Parts moved to create_access_1.
2198         (type_consists_of_records_p): New function.
2199         (completely_scalarize_record): Likewise.
2200         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
2201         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
2202         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
2203         access.
2204         (analyze_all_variable_accesses): Completely scalarize small eligible
2205         records.
2206
2207 2010-01-21  Martin Jambor  <mjambor@suse.cz>
2208
2209         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
2210
2211 2010-01-21  Andrew Haley  <aph@redhat.com>
2212
2213         * gcc.c (process_command): Move lang_specific_driver before
2214         setting cc_libexec_prefix.
2215
2216 2010-01-21  Richard Guenther  <rguenther@suse.de>
2217
2218         PR middle-end/19988
2219         * fold-const.c (negate_expr_p): Pretend only negative
2220         real constants are easily negatable.
2221
2222 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
2223             Jason Merrill  <jason@redhat.com>
2224
2225         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
2226         (TYPE_TRANSPARENT_AGGR): this, for union and record.
2227         * calls.c (initialize argument_information): Handle it.
2228         * c-common.c (handle_transparent_union_attribute): Use new name.
2229         * c-decl.c (finish_struct): Ditto.
2230         * c-typeck.c (type_lists_compatible_p): Ditto.
2231         (convert_for_assignment): Use new name and also handle record.
2232         * function.c (aggregate_value_p): Handle it.
2233         (pass_by_reference): Ditto.
2234         (assign_parm_data_types): Ditto.
2235         * print-tree.c (print_node): Ditto.
2236         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
2237         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
2238         * tree.c (first_field): New fn.
2239
2240 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
2241
2242         PR target/42818
2243         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
2244         even when linking statically, for now.
2245
2246 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
2247
2248         PR debug/42715
2249         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
2250         without a cselib val.
2251         (count_uses): Accept MO_VAL_SET with no val on stores.
2252         (add_stores): Likewise.
2253
2254 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2255
2256         * var-tracking.c (check_value_val): Add a compile time assertion.
2257         (dv_is_decl_p): Simplify.
2258         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
2259         gcc_assert if ENABLE_CHECKING.
2260
2261 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
2262
2263         PR debug/42782
2264         * var-tracking.c: Include tree-flow.h.
2265         (mem_dies_at_call): New.
2266         (dataflow_set_preserve_mem_locs): Use it.
2267         (dataflow_set_remove_mem_locs): Likewise.
2268         (dump_var): Renamed from dump_variable.  Adjust all callers.
2269         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
2270         * Makefile.in (var-tracking.o): Adjust deps.
2271
2272 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
2273
2274         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
2275
2276 2010-01-20  Richard Guenther  <rguenther@suse.de>
2277
2278         PR tree-optimization/42717
2279         * tree-ssa-dce.c (get_live_post_dom): Remove.
2280         (forward_edge_to_pdom): Take an arbitrary edge to copy
2281         degenerate PHI args from.
2282         (remove_dead_stmt): Use the first post-dominator even if it
2283         does not contain live statements as redirection destination.
2284
2285 2010-01-20  Richard Guenther  <rguenther@suse.de>
2286
2287         * tree-inline.c (estimate_num_insns): Handle EH builtins.
2288
2289 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2290
2291         * sel-sched.c (create_speculation_check): Remove set but not used
2292         variable twin.
2293         (try_transformation_cache): Remove set but not used variable ds.
2294         (calculate_privileged_insns): Remove set but not used variables
2295         cur_insn and min_spec_insn.
2296         (find_best_expr): Remove set but not used variable avail_n.
2297         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
2298         variable e.
2299         * cgraphunit.c (assemble_thunk): Remove set but not used variable
2300         false_label.
2301         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
2302         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
2303         new_scop_exit_edge.
2304
2305 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
2306
2307         PR bootstrap/42786
2308         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
2309         cpu types.  Add support for *-sse3 cpu types.
2310         (x86_64-*-*): Ditto.
2311
2312 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2313
2314         PR middle-end/42803
2315         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
2316         argument, call initializer_constant_valid_p_1 instead of
2317         initializer_constant_valid_p, pass CACHE to it, return NULL
2318         immediately if first call returns NULL.
2319         (initializer_constant_valid_p_1): New function.
2320         (initializer_constant_valid_p): Use it.
2321
2322 2010-01-20  Thomas Quinot  <quinot@adacore.com>
2323
2324         * tree.def (PLACEHOLDER_EXPR): Fix comment.
2325
2326 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2327
2328         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
2329         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
2330         (loc_list_from_tree): Don't handle unsigned division.  Handle
2331         signed modulo using DW_OP_{over,over,div,mul,minus}.
2332         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
2333         modulo instead of signed.
2334
2335 2010-01-20  DJ Delorie  <dj@redhat.com>
2336
2337         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
2338         (Fpa): Pass it
2339         (h8300_emit_stack_adjustment): Propogate it.
2340         (push): Pass it.
2341         (h8300_expand_prologue): Likewise.
2342         (h8300_expand_epilogue): Likewise.
2343
2344 2010-01-19  Michael Matz  <matz@suse.de>
2345
2346         PR tree-optimization/41783
2347         * tree-data-ref.c (toplevel): Include flags.h.
2348         (dump_data_dependence_relation):  Also dump the inputs if the
2349         result will be unknown.
2350         (split_constant_offset_1): Look through some conversions.
2351         * tree-predcom.c (determine_roots_comp): Restart a new chain if
2352         the offset from last element is too large.
2353         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
2354         (reassociate_to_the_same_stmt): Handle vector registers.
2355         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
2356         (e.g. conversions).
2357         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
2358         wide_prolog_niters argument, emit widening instructions.
2359         (vect_do_peeling_for_alignment): Adjust caller, use widened
2360         variant of the iteration cound.
2361         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
2362
2363 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2364
2365         PR target/38697
2366         * config/arm/neon-testgen.m (emit_automatics): New parameter
2367         features. Adjust for Fixed_return_reg feature.
2368         (test_intrinsic): Call emit_automatics with new feature.
2369         * config/arm/neon.ml: Update copyright years.
2370         (features): New Fixed_return_reg feature.
2371         (ops): Update feature for Vget_low.
2372
2373 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
2374
2375         PR tree-optimization/42719
2376         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
2377         stmt uses.
2378
2379         PR debug/42728
2380         * fwprop.c (all_uses_available_at): Return false if def_set dest
2381         is a REG that is used in def_insn.
2382
2383 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
2384
2385         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
2386
2387         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
2388         Add argument names.
2389
2390         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
2391
2392         * target.h (struct gcc_target) <secondary_reload>: Change type
2393         of last argument to secondary_reload_info *.
2394
2395 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
2396
2397         PR target/42774
2398         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
2399         memory references with unaligned offsets.  Remove CQImode handling.
2400         (unaligned_memory_operand): Return 1 for memory references with
2401         unaligned offsets.  Remove CQImode handling.
2402
2403 2010-01-18  Richard Guenther  <rguenther@suse.de>
2404
2405         PR middle-end/39954
2406         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
2407         builtin calls.
2408
2409 2010-01-18  Richard Guenther  <rguenther@suse.de>
2410
2411         PR tree-optimization/42781
2412         * tree-ssa-structalias.c (find_what_var_points_to): Skip
2413         restrict processing only if the original variable was artificial.
2414
2415 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
2416
2417         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
2418         find number of popped argument bytes.
2419
2420         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
2421         Fix the text that describes the return value for invalid insns.
2422
2423         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
2424
2425         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
2426         Clarify what 'cost of the -dependence' is.  Fix quoting.
2427
2428         * toplev.c (default_get_pch_validity): Rename argument to "sz".
2429         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
2430
2431 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
2432
2433         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
2434         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
2435
2436 2010-01-17  Richard Guenther  <rguenther@suse.de>
2437
2438         PR middle-end/42248
2439         * function.c (split_complex_args): Take a VEC to modify.
2440         (assign_parms_augmented_arg_list): Build a VEC instead of
2441         a chain of PARM_DECLs.
2442         (assign_parms_unsplit_complex): Take a VEC of arguments.
2443         Do not fixup unmodified parms.
2444         (assign_parms): Deal with the VEC.
2445         (gimplify_parameters): Likewise.
2446
2447 2010-01-17  Richard Guenther  <rguenther@suse.de>
2448
2449         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
2450         node existence check.
2451         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
2452         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
2453         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
2454         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
2455         (gimple_execute_on_growing_pred): Likewise.
2456
2457 2010-01-17  Richard Guenther  <rguenther@suse.de>
2458
2459         PR tree-optimization/42773
2460         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
2461         (compute_antic_aux): Likewise.
2462         (compute_partial_antic_aux): Likewise.
2463
2464 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
2465
2466         PR debug/42767
2467         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
2468         and US_TRUNCATE.
2469
2470 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
2471
2472         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
2473         appearance.
2474
2475         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
2476         Fix markup for strict argument.
2477
2478         (TARGET_SCHED_REORDER2): Fix argument types.
2479
2480         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
2481         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
2482
2483         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
2484         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
2485
2486         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
2487         Add argument name.
2488
2489         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
2490         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
2491         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
2492         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
2493         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
2494
2495         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
2496
2497         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
2498
2499         (TARGET_ASM_RELOC_RW_MASK): Add return type.
2500         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
2501
2502         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
2503
2504         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
2505         Use prototype.
2506
2507         (TARGET_ASM_NAMED_SECTION): Fix argument list.
2508
2509         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
2510         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
2511
2512         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
2513
2514         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
2515
2516         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
2517         referring to it.  Fix language.
2518
2519         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
2520
2521         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
2522
2523         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
2524
2525         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
2526
2527         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
2528         '@var{stream}.  Remove stray 'and'.
2529
2530         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
2531
2532         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
2533
2534         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
2535
2536         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
2537         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
2538
2539         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
2540         Fix description of return value.
2541         Rename argument "sz" to "len."
2542
2543         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
2544         Clarify meaning of 'true' return value.
2545
2546         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
2547
2548         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
2549         rep_mode versus mode_rep.
2550
2551         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
2552
2553         (TARGET_BUILTIN_DECL): Fix name.
2554
2555         (TARGET_COMMUTATIVE_P): Fix type of first argument.
2556
2557         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
2558
2559         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
2560
2561         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
2562
2563         (TARGET_RELAXED_ORDERING): Use @deftypevr.
2564
2565         (TARGET_GET_DRAP_RTX): Note that this is a hook.
2566         Clarify language.
2567
2568         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
2569         Rename argument tm_fn to md_fn.
2570
2571         (TARGET_OPTION_PRINT): Fix argument list.
2572
2573 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
2574
2575         PR target/42664
2576         * config/i386/i386.c (ix86_fixup_binary_operands):
2577         Revert FMA4 fixup of operands.
2578
2579 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2580
2581         PR gcc/42525
2582         * Makefile.in (write_entries_to_file, install-plugin):
2583         Use \012 instead of \n with tr.
2584
2585 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
2586
2587         * configure.ac (HAVE_AS_REF): New C macro.
2588         * configure: Regenerate.
2589         * config.in: Likewise.
2590         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
2591         if HAVE_AS_REF.
2592         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
2593         if HAVE_AS_REF.
2594
2595 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
2596
2597         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
2598
2599         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
2600
2601         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
2602
2603         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
2604
2605         (TARGET_IN_SMALL_DATA_P): Fix argument type.
2606
2607         (TARGET_BINDS_LOCAL_P): Fix argument type.
2608
2609         (TARGET_ASM_FILE_END): Use prototype.
2610
2611         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
2612
2613         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
2614
2615         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
2616
2617         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
2618
2619         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
2620         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
2621
2622         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
2623         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
2624
2625         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
2626         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
2627         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
2628         (TARGET_ADDR_SPACE_CONVERT): Likewise.
2629
2630         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
2631
2632         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
2633
2634         (TARGET_INIT_BUILTINS): Use prototype.
2635
2636         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
2637         Put 'const char *' in braces.  Fix parameter types.
2638         (TARGET_INVALID_CONVERSION): Fix parameter types.
2639         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
2640         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
2641
2642         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
2643         Fix argument type.
2644
2645         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
2646
2647         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
2648
2649 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
2650
2651         * doc/tm.texi (TARGET_HELP): Fix return type.
2652
2653         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
2654         in braces.  Fix argument types.
2655
2656         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
2657
2658         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
2659
2660         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
2661
2662         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
2663         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
2664
2665         (TARGET_MANGLE_TYPE): Fix argument types.
2666
2667         (TARGET_IRA_COVER_CLASSES): Use prototype.
2668
2669         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
2670
2671         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
2672
2673         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
2674
2675         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
2676
2677         (TARGET_CALLEE_COPIES): Fix argument types.
2678
2679         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
2680
2681         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
2682
2683         (TARGET_FUNCTION_VALUE): Fix argument types.
2684
2685         (TARGET_RETURN_IN_MSB): Fix argument type.
2686
2687         (TARGET_RETURN_IN_MEMORY): Fix argument types.
2688
2689         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
2690
2691         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
2692
2693         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
2694         agree with return type.
2695
2696         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
2697
2698 2010-01-15  Jing Yu  <jingyu@google.com>
2699
2700         PR rtl-optimization/42691
2701         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
2702         a pseudo to a constant and are merged, and adjust comments.
2703
2704 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
2705
2706         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
2707
2708 2010-01-15  Richard Guenther  <rguenther@suse.de>
2709
2710         PR middle-end/42739
2711         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
2712         labels of computed or non-local gotos to the destination.
2713         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
2714         landing pad label is the first label.
2715
2716 2010-01-15  Richard Guenther  <rguenther@suse.de>
2717
2718         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
2719
2720 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2721
2722         PR target/42747
2723         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
2724         to allow generation of the xssqrtdp instruction on power7.
2725         (sqrtdf2_fpr): Ditto.
2726
2727 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
2728
2729         PR middle-end/42674
2730         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
2731         functions with noreturn attribute.
2732
2733         PR c++/42608
2734         * varasm.c (declare_weak): Add weak attribute to decl if it
2735         doesn't have one already.
2736         (assemble_external): Only add decls to weak_decls if they also
2737         have weak attribute.
2738
2739 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
2740
2741         * var-tracking.c (var_reg_delete): Don't delete the association
2742         between REGs and values or one-part variables if the register
2743         isn't clobbered.
2744
2745 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
2746
2747         PR debug/42657
2748         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
2749         because its first operand is a non-localized variable.
2750
2751 2010-01-14  Martin Jambor  <mjambor@suse.cz>
2752
2753         PR tree-optimization/42706
2754         * tree-sra.c (encountered_recursive_call): New variable.
2755         (encountered_unchangable_recursive_call): Likewise.
2756         (sra_initialize): Initialize both new variables.
2757         (callsite_has_enough_arguments_p): New function.
2758         (scan_function): Call decl and flags check only for IPA-SRA, check
2759         whether there is a recursive call and whether it has enough arguments.
2760         (all_callers_have_enough_arguments_p): New function.
2761         (convert_callers): Look for recursive calls only when
2762         encountered_recursive_call is set.
2763         (ipa_early_sra): Bail out either if
2764         !all_callers_have_enough_arguments_p or
2765         encountered_unchangable_recursive_call.
2766
2767 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2768
2769         * sel-sched.c: Add 2010 to copyright years.
2770         * sel-sched-ir.c: Likewise.
2771         * sel-sched-ir.h: Likewise.
2772
2773 2010-01-14  Martin Jambor  <mjambor@suse.cz>
2774
2775         PR tree-optimization/42714
2776         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
2777         constructors specially.
2778
2779 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2780
2781         * config/i386/drivers-i386.c (detect_caches_intel):
2782         Add l2sizekb parameter and fill in.
2783         (host_detect_local_cpu): Add l2sizekb, fill in.
2784         Add Atom small cache heuristic.
2785
2786 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2787
2788         * config/i386/drivers-i386.c (detect_caches_cpuid4):
2789         Add level3 parameter and fill in.
2790         (detect_caches_intel): Handle level3 cache.
2791
2792 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2793
2794         * config/i386/drivers-i386.c (host_detect_local_cpu):
2795         Fix core duo detection.
2796
2797 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2798
2799         * config/i386/drivers-i386.c (host_detect_local_cpu):
2800         Fix Atom detection.
2801
2802 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2803
2804         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
2805         (rs6000_variable_issue_1): this.  Use...
2806         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
2807
2808 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2809
2810         * sel-sched-ir.c (sel_restore_other_notes): Rename to
2811         sel_restore_notes.  Update all callers.  Call reemit_notes
2812         for all insns.
2813
2814 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2815
2816         PR rtl-optimization/42246
2817         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
2818         loops.
2819
2820 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2821
2822         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
2823         all successors is the same as number of successors in current region.
2824
2825 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2826
2827         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
2828         to rename is not separable.  Otherwise check that its LHS is not NULL.
2829
2830 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2831
2832         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
2833
2834 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2835
2836         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
2837         available registers when failed to discover LHS register class.
2838         Fix indentation.  Update comment.
2839
2840 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2841             Alexander Monakov  <amonakov@ispras.ru>
2842
2843         PR rtl-optimization/42389
2844         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
2845         to can_issue_more.
2846         (advance_state_on_fence): Likewise.
2847         (sel_target_adjust_priority): Print debug output only when
2848         sched_verbose >= 4, not 2.
2849         (get_expr_cost): Do not issue all unique insns on the next cycle.
2850         (fill_insns): Initialize can_issue_more from the value saved
2851         with the fence.
2852         * sel-sched-ir.c (flist_add): New parameter issue_more.
2853         Init FENCE_ISSUE_MORE with it.
2854         (merge_fences): Likewise.
2855         (init_fences): Update call to flist_add.
2856         (add_to_fences, add_clean_fence_to_fences)
2857         (add_dirty_fence_to_fences): Likewise.
2858         (move_fence_to_fences): Update call to merge_fences.
2859         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
2860         sched groups.
2861         * sel-sched-ir.h (struct _fence): New field issue_more.
2862         (FENCE_ISSUE_MORE): New accessor macro.
2863
2864 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2865
2866         PR rtl-optimization/42388
2867         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
2868         that have no predecessors nor successors.  Do not call move_bb_info
2869         for empty blocks outside of current region.
2870
2871 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2872
2873         PR rtl-optimization/42294
2874         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
2875         * sel-sched.c (move_exprs_to_boundary): Transitively add all
2876         originators' originators.
2877
2878 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2879
2880         PR rtl-optimization/39453
2881         PR rtl-optimization/42246
2882         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
2883         for pipelining_p.
2884         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
2885
2886 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2887             Alexander Monakov  <amonakov@ispras.ru>
2888
2889         PR middle-end/42245
2890         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
2891         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
2892         argument.  Update all callers.
2893         (tidy_control_flow): ... and here.  Recompute topological order
2894         of basic blocks in region if necessary.
2895         (sel_redirect_edge_and_branch): Change return type.  Return true
2896         if topological order might have been invalidated.
2897         (purge_empty_blocks): Export and move from...
2898         * sel-sched.c (purge_empty_blocks): ... here.
2899         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
2900         (maybe_tidy_empty_bb): Delete prototype.
2901         (purge_empty_blocks): Declare.
2902
2903 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
2904
2905         PR rtl-optimization/42249
2906         * sel-sched.c (try_replace_dest_reg): When chosen register
2907         and original register is the same, do not bail out early, but
2908         still check all original insns for validity of replacing destination
2909         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
2910         in this case.
2911
2912 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
2913
2914         PR c/42721
2915         Port from no-undefined-overflow branch:
2916         2009-03-09  Richard Guenther  <rguenther@suse.de>
2917
2918         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
2919
2920 2010-01-14  Richard Guenther  <rguenther@suse.de>
2921
2922         PR lto/42665
2923         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
2924
2925 2010-01-14  Ira Rosen  <irar@il.ibm.com>
2926
2927         PR tree-optimization/42709
2928         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
2929         as scalar type in creation of constant vector operand.
2930
2931 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2932
2933         PR testsuite/42414
2934         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
2935         (check-parallel-%): Match `testsuite' directory component only
2936         at the end.
2937
2938 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
2939
2940         PR translation/39521
2941         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
2942         strings with _().
2943
2944 2010-01-13  Richard Guenther  <rguenther@suse.de>
2945
2946         PR tree-optimization/42730
2947         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
2948         offset zero.
2949
2950 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
2951
2952         PR target/pr42542
2953         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
2954         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
2955         them signed.
2956
2957 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
2958
2959         * config/bfin/libgcc-bfin.ver: Regenerate based on current
2960         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
2961         ___umulsi3_highpart.
2962
2963         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
2964         rather than schedule_insns if the pass is enabled.
2965
2966 2010-01-13  Martin Jambor  <mjambor@suse.cz>
2967
2968         PR tree-optimization/42704
2969         * tree-sra.c (sra_modify_assign): Do not delete assignments to
2970         SSA_NAMEs.
2971
2972 2010-01-13  Martin Jambor  <mjambor@suse.cz>
2973
2974         PR tree-optimization/42703
2975         * tree-sra.c (analyze_access_subtree): Check that we can build a
2976         reference to the original data within the aggregate.
2977
2978 2010-01-13  Richard Guenther  <rguenther@suse.de>
2979
2980         PR tree-optimization/42705
2981         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
2982
2983 2010-01-13  Richard Guenther  <rguenther@suse.de>
2984
2985         PR middle-end/42716
2986         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
2987
2988 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
2989
2990         PR debug/41371
2991         * var-tracking.c (values_to_unmark): New variable.
2992         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
2993         values_to_unmark vector.  Moved body to...
2994         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
2995         instead queue it into values_to_unmark vector.
2996         (vt_find_locations): Free values_to_unmark vector.
2997
2998 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
2999
3000         * config/s390/s390.c (override_options): Set
3001         default of max-pending-list-length to 256
3002
3003 2010-01-13  Richard Guenther  <rguenther@suse.de>
3004
3005         PR lto/42678
3006         * tree-pass.h (PROP_gimple_lcx): New.
3007         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
3008         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
3009         before the final cleanup_eh.
3010         (dump_properties): Dump PROP_gimple_lcx.
3011         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
3012         (tree_lower_complex_O0): Remove.
3013         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
3014         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
3015         tree_lower_complex, schedule TODO_update_ssa.
3016         * lto-streamer-out.c (output_function): Stream the functions
3017         properties.
3018         * lto-streamer-in.c (input_function): Likewise.
3019         (lto_read_body): Do not override them here.
3020
3021 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
3022
3023         PR c/42708
3024         * c-typeck.c (build_c_cast): Fold value cast to union type before
3025         wrapping it in a CONSTRUCTOR.
3026
3027 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
3028
3029         PR rtl-optimization/42699
3030         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
3031         involved.
3032
3033 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3034
3035         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3036         SUBTARGET_WARN_UNUSED_SPEC): Move ...
3037         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3038         SUBTARGET_WARN_UNUSED_SPEC): ... here
3039         * config/mips/iris5.h (LIBGCC_SPEC): Define.
3040
3041 2010-01-12  Julian Brown  <julian@codesourcery.com>
3042
3043         * config/arm/neon-schedgen.ml (Utils): Don't try to
3044         open missing module.
3045         (find_with_result): New.
3046
3047 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
3048
3049         PR debug/42662
3050         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
3051         sharing when canonicalizing ({lt,ge}u (plus a b) b).
3052
3053         PR tree-optimization/42645
3054         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
3055         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
3056         decl_map, set processing_debug_stmt to -1 and return name without
3057         any remapping.
3058
3059 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
3060
3061         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
3062         binutils version, and reword target configuration description.
3063
3064 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
3065
3066         * config/avr/avr.h (LINKER_NAME): Remove.
3067
3068 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
3069
3070         PR target/42416
3071         * config/rs6000/rs6000.c (rs6000_override_options): On targets
3072         that support VSX, warn for -mno-altivec if vsx is not disabled,
3073         and disable vsx.
3074
3075 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
3076             Shujing Zhao  <pearly.zhao@oracle.com>
3077
3078         PR translation/42469
3079         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
3080         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
3081         character between option name and help text.
3082         * c.opt (imultilib): Likewise.
3083
3084 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
3085
3086         * lto-streamer-out.c (output_unreferenced_globals): Output static
3087         variables.
3088
3089 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
3090
3091         PR rtl-optimization/42621
3092         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
3093         optimizing for size.
3094         (duplicate_computed_gotos): Remove now-redundant check.
3095
3096 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
3097
3098         PR target/37454
3099         * configure.ac: Save and restore LDFLAGS and LIBS
3100         * configure: Regenerate.
3101
3102 2010-01-10  Richard Guenther  <rguenther@suse.de>
3103
3104         PR middle-end/42667
3105         * builtins.c (fold_builtin_strlen): Add type argument and
3106         convert the resulting length to it.
3107         (fold_builtin_1): Adjust.
3108
3109 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3110
3111         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
3112         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
3113         1 insn.
3114         (num_insns_constant_wide): Adjust for that change.
3115
3116 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3117
3118         PR debug/42631
3119         * web.c (union_defs): Add used argument, to combine uses of
3120         uninitialized regs.
3121         (entry_register): Adjust type and tests of used argument.
3122         (web_main): Widen used for new use.  Pass it to union_defs.
3123         * df.h (union_defs): Adjust prototype.
3124
3125 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3126
3127         PR debug/42630
3128         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
3129         uses in new incoming argument.  Free body.
3130         (reset_debug_uses_in_loop): New.
3131         (analyze_insn_to_expand_var): Call the latter if the former found
3132         anything.  Fix whitespace.  Reject invalid dest overlaps before
3133         going through all insns in the loop.
3134
3135 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3136
3137         PR debug/42629
3138         * haifa-sched.c (dying_use_p): Debug insns don't count.
3139
3140 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3141
3142         PR middle-end/42363
3143         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
3144         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
3145         (verify_gimple_call): Reject LHS in noreturn calls.
3146
3147 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3148
3149         PR debug/42604
3150         PR debug/42395
3151         * tree-vect-loop-manip.c (adjust_info): New type.
3152         (adjust_vec): New pointer to vector.
3153         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
3154         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
3155         (slpeel_update_phis_for_duplicate_loop): Use them.
3156         (slpeel_update_phi_nodes_for_guard1): Likewise.
3157         (slpeel_update_phi_nodes_for_guard2): Likewise.
3158         (slpeel_tree_peel_loop_to_edge): Likewise.
3159         (vect_update_ivs_after_vectorizer): Likewise.
3160
3161 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3162
3163         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
3164         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
3165
3166 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3167
3168         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
3169         bogus uninitialized warning.
3170
3171 2010-01-09  Richard Guenther  <rguenther@suse.de>
3172
3173         PR middle-end/42512
3174         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
3175         the evolution is compatible with the initial condition.
3176
3177 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3178
3179         * gcc.c (process_command): Update copyright notice dates.
3180         * gcov.c (print_version): Likewise.
3181         * gcov-dump.c (print_version): Likewise.
3182         * mips-tfile.c (main): Likewise.
3183         * mips-tdump.c (main): Likewise.
3184
3185 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
3186
3187         PR target/41885
3188         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
3189         (rotlhi3): Delete.
3190         (rotlhi3_8): Delete.
3191         (rotlsi3): Delete.
3192         (rotlsi3_8): Delete.
3193         (rotlsi3_16): Delete.
3194         (rotlsi3_24): Delete.
3195         (rotl<mode>3): New.
3196         (*rotw<mode>3): New.
3197         (*rotb<mode>3): New.
3198         * config/avr/avr.c (avr_rotate_bytes): New function.
3199         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
3200
3201 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
3202
3203         PR target/37454
3204         * configure.ac: Modify -rdynamic check.
3205         * configure: Regenerate.
3206
3207 2010-01-08  DJ Delorie  <dj@redhat.com>
3208
3209         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
3210         register popping order.
3211
3212 2010-01-08  Richard Guenther  <rguenther@suse.de>
3213
3214         PR lto/42528
3215         * c.opt (fsigned-char): Also let LTO handle this option.
3216         (funsigned-char): Likewise.
3217
3218 2010-01-07  Richard Guenther  <rguenther@suse.de>
3219
3220         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
3221         (gimple_op): Likewise.
3222         (gimple_op_ptr): Likewise.
3223         (gimple_assign_set_lhs): Remove gcc_assert.
3224         (gimple_assign_set_rhs1): Likewise.
3225         (gimple_assign_set_rhs2): Likewise.
3226         (gimple_call_set_lhs): Likewise.
3227         (gimple_call_set_fn): Likewise.
3228         (gimple_call_set_fndecl): Likewise.
3229         (gimple_call_fndecl): Likewise.
3230         (gimple_call_return_type): Likewise.
3231         (gimple_call_set_chain): Likewise.
3232         (gimple_call_num_args): Likewise.
3233         (gimple_call_set_arg): Likewise.
3234         (gimple_cond_set_code): Likewise.
3235         (gimple_cond_set_lhs): Likewise.
3236         (gimple_cond_set_rhs): Likewise.
3237         (gimple_cond_set_true_label): Likewise.
3238         (gimple_cond_set_false_label): Likewise.
3239         (gimple_label_set_label): Likewise.
3240         (gimple_goto_set_dest): Likewise.
3241         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
3242         (gimple_debug_bind_get_value): Likewise.
3243         (gimple_debug_bind_get_value_ptr): Likewise.
3244         (gimple_debug_bind_set_var): Likewise.
3245         (gimple_debug_bind_set_value): Likewise.
3246         (gimple_debug_bind_reset_value): Likewise.
3247         (gimple_debug_bind_has_value_p): Likewise.
3248         (gimple_return_retval_ptr): Remove gcc_assert.
3249         (gimple_return_retval): Likewise.
3250         (gimple_return_set_retval): Likewise.
3251         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
3252         (safe_referenced_var_iterator): Remove.
3253         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
3254         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
3255         (fill_referenced_var_vec): Remove.
3256         (first_readonly_imm_use): Remove redundant gcc_assert.
3257         (phi_arg_index_from_use): Combine gcc_asserts.
3258         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
3259         (first_imm_use_stmt): Remove redundant gcc_assert.
3260         * tree-cfg.c (verify_gimple_call): Verify function and chain
3261         operands.  Verify arguments.
3262         (verify_types_in_gimple_stmt): Verify condition code and labels.
3263
3264 2010-01-07  Richard Guenther  <rguenther@suse.de>
3265
3266         PR tree-optimization/42641
3267         * sese.c (rename_map_elt_info): Use the SSA name version, do
3268         not hash pointers.
3269
3270 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
3271
3272         PR tree-optimization/42625
3273         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
3274         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
3275
3276 2010-01-07  Duncan Sands  <baldrick@free.fr>
3277
3278         * Makefile.in (PLUGIN_HEADERS): Add version.h.
3279
3280 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
3281
3282         PR target/42511
3283         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
3284         note itself is not function_invariant_p.
3285
3286 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
3287
3288         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
3289         Do not add the DF_NOTE problem.
3290         * store-motion.c (execute_rtl_store_motion): Likewise.
3291
3292 2010-01-07  Martin Jambor  <mjambor@suse.cz>
3293
3294         PR tree-optimization/42157
3295         * tree-sra.c (compare_access_positions): Stabilize sort if both
3296         accesses have integer types, return zero immediately if they are the
3297         same.
3298
3299 2010-01-06  Richard Henderson  <rth@redhat.com>
3300
3301         PR middle-end/41883
3302         * haifa-sched.c (add_to_note_list): Merge into ...
3303         (concat_note_lists): ... here, and ...
3304         (unlink_other_notes, rm_other_notes): Merge into...
3305         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
3306         NOTE_INSN_EPILOGUE_BEG.
3307
3308 2010-01-06  Richard Guenther  <rguenther@suse.de>
3309
3310         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
3311         not inline regular functions into always-inline functions.
3312
3313 2010-01-06  Nick Clifton  <nickc@redhat.com>
3314
3315         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
3316         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
3317         used together.
3318         (OVERRIDE_OPTIONS): Delete.
3319         (OPTIMIZATION_OPTIONS): Define.
3320         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
3321         * config/rx/rx.c (rx_handle_option): Issue an error message if
3322         -mcpu=rx200 and -fpu are used together.
3323         (rx_set_optimization_options): New function.  Issue an error
3324         message if an optimization attribute attempts to reset the FPU/
3325         math optimization pairing.
3326         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
3327         * config/rx/rx.opt: Set the default to 32-bit doubles.
3328         * config/rx/t-rx: Add multilibs for -nofpu option.
3329         * doc/invoke.texi: Update documentation of RX options.
3330
3331 2010-01-06  Richard Guenther  <rguenther@suse.de>
3332
3333         * tree-ssa-pre.c (name_to_id): New global.
3334         (alloc_expression_id): Simplify SSA name handling.
3335         (lookup_expression_id): Likewise.
3336         (init_pre): Zero name_to_id.
3337         (fini_pre): Free it.
3338
3339 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
3340
3341         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
3342
3343 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
3344
3345         PR target/42542
3346         * config/i386/sse.md (smaxv2di3): New.
3347         (umaxv2di3): Likewise.
3348         (sminv2di3): Likewise.
3349         (uminv2di3): Likewise.
3350
3351 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
3352
3353         PR target/42564
3354         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
3355         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
3356         (legitimize_tls_address): Likewise.
3357         (sparc_tls_referenced_p): Likewise.
3358         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
3359         and adjust calls to legitimize_pic_address.
3360         (legitimate_constant_p) Use sparc_tls_referenced_p.
3361         (legitimate_pic_operand_p): Likewise.
3362         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
3363         (sparc_tls_symbol_ref_1): Delete.
3364         (sparc_tls_referenced_p): Make static, recognize specific patterns.
3365         (legitimize_tls_address): Make static, handle CONST patterns.
3366         (legitimize_pic_address): Make static, remove unused parameter and
3367         adjust recursive calls.
3368         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
3369         and adjust call to legitimize_pic_address.
3370         (sparc_output_mi_thunk): Likewise.
3371
3372 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
3373             H.J. Lu  <hongjiu.lu@intel.com>
3374
3375         PR target/42542
3376         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
3377         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
3378         operands to make them signed.
3379
3380         Revert:
3381         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
3382
3383         PR target/42542
3384         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
3385         GTU to GT for V4SI and V2DI.
3386
3387         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
3388         (umin<mode>3): Removed.
3389         (uminv8hi3): New.
3390         (uminv4si3): Likewise.
3391
3392 2010-01-05  Martin Jambor  <mjambor@suse.cz>
3393
3394         PR tree-optimization/42462
3395         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
3396         current_function_decl to helper functions and macros.
3397
3398 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3399
3400         PR bootstrap/41771
3401         * flags.h: Don't include real.h.
3402         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
3403         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
3404         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
3405         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
3406         * dominance.c: Update copyright.
3407         * gimple.c (walk_gimple_op): Remove inline.
3408         * tree-ssa-reassoc.c: Include real.h.
3409         * Makefile.in (FLAGS_H): Remove $(REAL_H).
3410         (tree-ssa-reassoc.o): Depend on $(REAL_H).
3411
3412 2010-01-05  Nick Clifton  <nickc@redhat.com>
3413
3414         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
3415         register to push into the stack frame when the accumulator has to
3416         be saved during interrupts.
3417
3418 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
3419
3420         * doc/invoke.texi: Remove the documentation about option
3421         -Wunreachable-code.
3422         * common.opt (Wunreachable-code):  Preserved for backward
3423         compatibility.
3424         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
3425         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
3426         the backward compatibility flag section.
3427
3428 2010-01-05  Richard Guenther  <rguenther@suse.de>
3429
3430         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
3431
3432 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
3433
3434         PR other/42611
3435         * cfgexpand.c (expand_one_var): Diagnose too large variables.
3436
3437         PR tree-optimization/42508
3438         * tree-sra.c (convert_callers): Check for recursive call
3439         by comparing cgraph nodes instead of decls.
3440         (modify_function): Call ipa_modify_formal_parameters also
3441         on all same_body aliases.
3442
3443         * cgraphunit.c (cgraph_materialize_all_clones): Compare
3444         cgraph nodes when checking for same_body aliases.
3445
3446 2010-01-05  Richard Guenther  <rguenther@suse.de>
3447
3448         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
3449         allocation and lookup.
3450         (get_or_alloc_expr_for_constant): Likewise.
3451         (phi_translate): Sink allocation.
3452
3453 2010-01-04  Richard Guenther  <rguenther@suse.de>
3454
3455         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
3456         a new entry only if needed.
3457         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
3458         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
3459         hashtable lookup.
3460         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
3461         the result array.
3462         (phi_translate): Handle CONSTANTs early.
3463
3464 2010-01-04  Martin Jambor  <mjambor@suse.cz>
3465
3466         PR tree-optimization/42398
3467         * tree-sra.c (struct access): Removed flag grp_different_types.
3468         (dump_access): Do not dump the removed flag.
3469         (sort_and_splice_var_accesses): Do not set the removed flag.
3470         (sra_modify_expr): Check for type compatibility directly.
3471
3472 2010-01-04  Martin Jambor  <mjambor@suse.cz>
3473
3474         PR tree-optimization/42366
3475         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
3476         edges with variable number of parameters.
3477         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
3478         flag instead of asserting it.
3479         (ipa_read_node_info): Read uses_analysis_done flag.
3480
3481 2010-01-04  Richard Guenther  <rguenther@suse.de>
3482
3483         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
3484         iterative_hash_* as intended.
3485         (vn_reference_compute_hash): Likewise.  Simplify hashing
3486         SSA names.
3487         (vn_reference_lookup_2): Likewise.
3488         (vn_nary_op_compute_hash): Likewise.
3489         (vn_phi_compute_hash): Likewise.
3490         (expressions_equal_p): Remove strange code.
3491         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
3492         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
3493         (bitmap_insert_into_set_1): Take value-id as parameter.
3494         (add_to_value): Pass it.
3495         (bitmap_insert_into_set): Likewise.
3496         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
3497
3498 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
3499
3500         PR driver/42442
3501         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
3502         (do_self_spec): For switches with SWITCH_IGNORE set set also
3503         SWITCH_IGNORE_PERMANENTLY.
3504         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
3505         of SWITCH_IGNORE.
3506
3507 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
3508
3509         * lto-streamer-out.c (output_unreferenced_globals): Output the full
3510         tree of an unreferenced global var.
3511
3512 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
3513
3514         PR target/42542
3515         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
3516         GTU to GT for V4SI and V2DI.
3517
3518         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
3519         (umin<mode>3): Removed.
3520         (uminv8hi3): New.
3521         (uminv4si3): Likewise.
3522
3523 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
3524
3525         PR lto/42581
3526         * collect2.c (main): Turn on trace in collect2 if -v is passed
3527         to gcc with LTO.
3528
3529 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
3530