OSDN Git Service

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