OSDN Git Service

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