OSDN Git Service

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