OSDN Git Service

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