OSDN Git Service

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