OSDN Git Service

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