OSDN Git Service

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