OSDN Git Service

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