OSDN Git Service

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