OSDN Git Service

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