OSDN Git Service

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