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