OSDN Git Service

2011-01-14 Jan Hubicka <jh@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-01-14  Jan Hubicka  <jh@suse.cz>
2         Jack Howarth <howarth@bromo.med.uc.edu>
3
4         PR target/46037
5         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
6         when checking debug_info_level. Test write_symbols instead of
7         debug_hooks->var_location when setting flag_var_tracking_uninit.
8
9 2011-01-14  Richard Guenther  <rguenther@suse.de>
10
11         PR tree-optimization/47179
12         * target.def (ref_may_alias_errno): New target hook.
13         * targhooks.h (default_ref_may_alias_errno): Declare.
14         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
15         (default_ref_may_alias_errno): New function.
16         * target.h (struct ao_ref_s): Declare.
17         * tree-ssa-alias.c: Include target.h.
18         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
19         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
20         (targhooks.o): Likewise.
21         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
22         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
23
24 2011-01-14  Richard Guenther  <rguenther@suse.de>
25
26         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
27
28 2011-01-14  Richard Guenther  <rguenther@suse.de>
29
30         PR tree-optimization/47280
31         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
32         return CFG changes.
33         (tree_ssa_forward_propagate_single_use_vars): Deal with
34         CFG changes from associate_plusminus.
35
36 2011-01-14  Richard Guenther  <rguenther@suse.de>
37
38         PR middle-end/47281
39         Revert
40         2011-01-11  Richard Guenther  <rguenther@suse.de>
41
42         PR tree-optimization/46076
43         * tree-ssa.c (useless_type_conversion_p): Conversions from
44         unprototyped to empty argument list function types are useless.
45
46 2011-01-14  Richard Guenther  <rguenther@suse.de>
47
48         PR tree-optimization/47286
49         * tree-ssa-structalias.c (new_var_info): Register variables are global.
50
51 2011-01-14  Martin Jambor  <mjambor@suse.cz>
52
53         PR middle-end/46823
54         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
55
56 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
57
58         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
59         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
60         * config/xtensa/xtensa.c (xtensa_libcall_value,
61         xtensa_function_value_regno_p): New functions.
62         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
63
64 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
65
66         PR c++/47213
67         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
68         PE specific hook.
69         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
70         New function prototype.
71         * config/i386/winnt.c (i386_pe_assemble_visibility):
72         Warn only if attribute was specified by user.
73
74 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
75
76         PR target/47251
77         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
78         floating point.
79         (floatunsdidf2_fcfidu): Ditto.
80
81 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
82
83         * config/s390/s390.c (print_operand_address): Replace 'error' with
84         'output_operand_lossage'.
85         (print_operand): Likewise.
86
87 2011-01-13  Jeff Law  <law@redhat.com>
88
89         PR rtl-optimization/39077
90         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
91         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
92         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
93         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
94         * gcse.c (prune_insertions_deletions): New function.
95         (compute_pre_data): Use it.
96
97 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
98
99         PR debug/PR46973
100         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
101         static function.
102         (prune_unused_types_mark): Use it.
103
104 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
105
106         PR rtl-optimization/45352
107         * sel-sched.c: Update copyright years. 
108         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
109         in the advancing loop when we have issued issue_rate insns. 
110
111 2011-01-12  Richard Henderson  <rth@redhat.com>
112
113         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
114         (TARGET_MD_ASM_CLOBBERS): New.
115
116         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
117         (TARGET_DELEGITIMIZE_ADDRESS): New.
118
119         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
120         (clzsi2, *bsch): New patterns.
121
122         * config/mn10300/mn10300.md (INT): New mode iterator.
123         (*mov<INT>_clr): New pattern, and peep2 to generate it.
124
125         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
126         flag_split_wide_types.
127
128         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
129         (mn10300_trampoline_init): Rewrite without a template, an immediate
130         load and a direct branch.
131         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
132
133 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
134
135         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
136         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
137         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
138         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
139
140 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
141
142         PR debug/47209
143         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
144         of type.
145
146 2011-01-12  Jan Hubicka  <jh@suse.cz>
147
148         PR driver/47244
149         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
150         (PLUGIN_COND_CLOSE): New macro.
151         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
152
153 2011-01-12  Richard Guenther  <rguenther@suse.de>
154
155         PR lto/47259
156         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
157         register variables in a MEM_REF.
158
159 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
160
161         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
162         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
163         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
164         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
165         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
166         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
167         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
168         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
169         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
170         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
171         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
172         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
173         * config/gnu-user.h: New.  Copied from linux.h.
174         (LINUX_TARGET_STARTFILE_SPEC): Rename to
175         GNU_USER_TARGET_STARTFILE_SPEC.
176         (LINUX_TARGET_ENDFILE_SPEC): Rename to
177         GNU_USER_TARGET_ENDFILE_SPEC.
178         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
179         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
180         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
181         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
182         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
183         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
184         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
185         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
186         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
187         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
188         * config/arm/linux-eabi.h (CC1_SPEC): Use
189         GNU_USER_TARGET_CC1_SPEC.
190         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
191         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
192         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
193         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
194         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
195         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
196         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
197         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
198
199 2011-01-12  Richard Guenther  <rguenther@suse.de>
200
201         PR other/46946
202         * doc/invoke.texi (ffast-math): Document it is turned on
203         with -Ofast.
204
205 2011-01-12  Jan Hubicka  <jh@suse.cz>
206
207         PR tree-optimization/47233
208         * opts.c (common_handle_option): Disable ipa-reference with profile
209         feedback.
210
211 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>      
212
213         * c-parser.c (c_parser_objc_at_property_declaration): Improved
214         error message.
215
216 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
217
218         * c-parser.c (c_lex_one_token): Updated and reindented some
219         comments.  No changes in code.
220
221 2011-01-11  Ian Lance Taylor  <iant@google.com>
222
223         * godump.c (go_output_var): Don't output the variable if there is
224         already a type with the same name.
225
226 2011-01-11  Ian Lance Taylor  <iant@google.com>
227
228         * godump.c (go_format_type): Don't generate float80.
229
230 2011-01-11  Richard Henderson  <rth@redhat.com>
231
232         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
233         declaration.  Rewrite for both speed and size.
234         (mn10300_address_cost_1): Remove.
235         (mn10300_register_move_cost): New.
236         (mn10300_memory_move_cost): New.
237         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
238         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
239         extensions, shifts, BSWAP, CLZ.
240         (mn10300_wide_const_load_uses_clr): Remove.
241         (TARGET_REGISTER_MOVE_COST): New.
242         (TARGET_MEMORY_MOVE_COST): New.
243         * config/mn10300/mn10300-protos.h: Update.
244         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
245
246         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
247         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
248         * config/mn10300/mn10300-protos.h: Update.
249         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
250         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
251         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
252         (*test_int_bitfield, *test_byte_bitfield): Remove.
253         (*bit_test, *subreg_bit_test): Remove.
254         * config/mn10300/predicates.md (const_8bit_operand): Remove.
255
256         * config/mn10300/constraints.md ("c"): Rename from "A".
257         ("A", "D"): New constraint letters.
258         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
259         (fmssf4, fnmasf4, fnmssf4): Likewise.
260
261         * config/mn10300/mn10300.md (isa): New attribute.
262         (enabled): New attribute.
263
264         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
265         (abssf2, negsf2): Define only for hardware fp.
266         (sqrtsf2): Reformat.
267         (addsf3, subsf3, mulsf3): Merge expander and insn.
268
269         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
270         (DEBUGGER_AUTO_OFFSET): Remove.
271         (DEBUGGER_ARG_OFFSET): Remove.
272
273         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
274         Emit register stores with the same offsets as the hardware.
275         (mn10300_store_multiple_operation): Don't check that the register
276         save offsets are monotonic.
277         * config/mn10300/mn10300-protos.h: Update.
278
279         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
280
281         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
282         in terms of the value on the stack, not the MDR register.
283
284 2011-01-11  Jan Hubicka  <jh@suse.cz>
285
286         PR lto/45721
287         PR lto/45375
288         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
289         (symbol_alias_set_destroy, symbol_alias_set_contains,
290         propagate_aliases_backward): Declare.
291         * lto-streamer-out.c (struct sets): New sturcture.
292         (trivally_defined_alias): New function.
293         (output_alias_pair_p): Rewrite.
294         (output_unreferenced_globals): Fix output of alias pairs.
295         (produce_symtab): Likewise.
296         * ipa.c (function_and_variable_visibility): Set weak alias destination
297         as needed in lto.
298         * varasm.c (symbol_alias_set_t): Remove.
299         (symbol_alias_set_destroy): Export.
300         (propagate_aliases_forward, propagate_aliases_backward): New functions
301         based on ...
302         (compute_visible_aliases): ... this one; remove.
303         (trivially_visible_alias): New
304         (trivially_defined_alias): New.
305         (remove_unreachable_alias_pairs): Rewrite.
306         (finish_aliases_1): Reorganize code checking if alias is defined.
307         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
308         in LTO mode.
309
310 2011-01-11  Richard Guenther  <rguenther@suse.de>
311
312         PR tree-optimization/46076
313         * tree-ssa.c (useless_type_conversion_p): Conversions from
314         unprototyped to empty argument list function types are useless.
315
316 2011-01-11  Richard Guenther  <rguenther@suse.de>
317
318         PR middle-end/45235
319         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
320         volatile MEMs as MEM_READONLY_P.
321
322 2011-01-11  Richard Guenther  <rguenther@suse.de>
323
324         PR tree-optimization/47239
325         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
326
327 2011-01-11  Jeff Law  <law@redhat.com>
328
329         PR tree-optimization/47086
330         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
331         IVs from statements that might throw.
332
333 2011-01-10  Jan Hubicka  <jh@suse.cz>
334
335         PR lto/45375
336         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
337
338 2011-01-10  Jan Hubicka  <jh@suse.cz>
339
340         PR lto/45375
341         * profile.c (read_profile_edge_counts): Ignore profile inconistency
342         when correcting profile.
343
344 2011-01-10  Jan Hubicka  <jh@suse.cz>
345
346         PR lto/46083
347         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
348         DECL_FINI_PRIORITY.
349         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
350         Restore DECL_FINI_PRIORITY.
351
352 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
353
354         * doc/gimple.texi: Fix quoting of multi-word return values in
355         @deftypefn statements.  Ensure presence of return value.  Wrap
356         overlong @deftypefn lines.
357         (is_gimple_operand, is_gimple_min_invariant_address): Remove
358         descriptions of removed functions.
359         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
360         of multi-word return value in @deftypefn statement.
361
362 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
363
364         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
365         (Conditional Expressions, Logical Operators)
366         (Statement and operand traversals): Do not indent smallexample
367         code.  Fix duplicate function argument in example.
368
369 2011-01-10  Jeff Law  <law@redhat.com>
370
371         PR tree-optimization/47141
372         * ipa-split.c (split_function): Handle case where we are
373         returning a value and the return block has a virtual operand phi.
374
375 2011-01-10  Jan Hubicka  <jh@suse.cz>
376
377         PR tree-optimization/47234 
378         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
379         (pass_feedback_split_functions): Declare.
380         * passes.c (init_optimization_passes): Add ipa-split as subpass of
381         tree-profile.
382         * ipa-split.c (gate_split_functions): Update comments; disable
383         split-functions for profile_arc_flag and branch_probabilities.
384         (gate_feedback_split_functions): New function.
385         (execute_feedback_split_functions): New function.
386         (pass_feedback_split_functions): New global var.
387
388 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
389
390         PR lto/46760
391         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
392         calling gimple_call_set_cannot_inline.
393
394 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
395
396         * config/darwin-sections.def: Remove unused section.
397
398 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
399
400         PR c++/47218
401         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
402
403 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
404
405         PR objc/47232
406         * c-parser.c (c_parser_declaration_or_fndef): Improved
407         error message.
408
409 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
410
411         * config/i386/winnt.c (i386_pe_start_function): Make sure
412         to switch back to function's section.
413
414 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
415
416         PR gcc/46902
417         PR testsuite/46912
418         * plugin.c: Move include of dlfcn.h from here...
419         * system.h: ... to here.
420
421 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
422
423         * doc/cpp.texi (C++ Named Operators): Fix markup for header
424         file name.
425         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
426         two extra empty pages in PDF output.
427
428 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
429
430         PR objc/47078
431         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
432         for error recovery purposes behave as if it was not specified so
433         that the default type is usd.
434
435 2011-01-07  Jan Hubicka  <jh@suse.cz>
436
437         PR tree-optmization/46469
438         * ipa.c (function_and_variable_visibility): Clear needed flags on
439         nodes with external decls; handle weakrefs merging correctly.
440
441 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
442
443         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
444         not false.
445
446 2011-01-07  Jan Hubicka  <jh@suse.cz>
447
448         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
449         and no longer claim that gold is required for linker plugin.
450         * configure: Regenerate.
451         * gcc.c (PLUGIN_COND): New macro.
452         (LINK_COMMAND_SPEC): Use it.
453         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
454         * config.in (HAVE_LTO_PLUGIN): New.
455         * configure.ac (--with-lto-plugin): New parameter; autodetect
456         HAVE_LTO_PLUGIN.
457
458 2011-01-07  Jan Hubicka  <jh@suse.cz>
459
460         PR tree-optimization/46367
461         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
462         when we can update original.
463         (cgraph_mark_inline_edge): Sanity check.
464         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
465
466 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
467
468         * config/spu/spu.h (ASM_COMMENT_START): Define.
469
470 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
471
472         PR driver/42445
473         * gcc.c (%>S): New.
474         (SWITCH_KEEP_FOR_GCC): Likewise.
475         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
476         (do_spec_1): Handle "%>".
477
478         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
479
480 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
481
482         PR target/47201
483         * config/i386/i386.c (ix86_delegitimize_address): If
484         simplify_gen_subreg fails, return orig_x.
485
486         PR bootstrap/47187
487         * value-prof.c (gimple_stringop_fixed_value): Handle
488         lhs of the call properly.
489
490 2011-01-07  Jan Hubicka  <jh@suse.cz>
491
492         PR lto/45375
493         * lto-opt.c (lto_reissue_options): Set flag_shlib.
494
495 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
496
497         * target.def (function_switched_text_sections): New hook.
498         * doc/tm.texi: Regenerated.
499         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
500         * final.c (default_function_switched_text_sections): New.
501         (final_scan_insn): Call function_switched_text_sections when a
502         mid-function section change occurs.
503         * output.h (default_function_switched_text_sections): Declare.
504         * config/darwin-protos.h (darwin_function_switched_text_sections):
505         Likewise.
506         * config/darwin.c (darwin_function_switched_text_sections): New.
507         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
508
509 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
510
511         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
512         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
513         the secondary code fragment when outputting for DWARF == 2.
514
515 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
516
517         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
518         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
519         Remove.
520         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
521         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
522
523 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
524
525         PR debug/46704
526         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
527         when it is not empty.
528
529 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
530
531         Bobcat Enablement
532         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
533         (case ${target}): Add btver1.
534         * config/i386/driver-i386.c (host_detect_local_cpu): Let
535         -march=native recognize btver1 processors.
536         * config/i386/i386-c.c (ix86_target_macros_internal): Add
537         btver1 def_and_undef
538         * config/i386/i386.c (struct processor_costs btver1_cost): New
539         btver1 cost table.
540         (m_BTVER1): New definition.
541         (m_AMD_MULTIPLE): Includes m_BTVER1.
542         (initial_ix86_tune_features): Add btver1 tune.
543         (processor_target_table): Add btver1 entry.
544         (static const char *const cpu_names): Add btver1 entry.
545         (software_prefetching_beneficial_p): Add btver1.
546         (ix86_option_override_internal): Add btver1 instruction sets.
547         (ix86_issue_rate): Add btver1.
548         (ix86_adjust_cost): Add btver1.
549         * config/i386/i386.h (TARGET_BTVER1): New definition.
550         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
551         (enum processor_type): Add PROCESSOR_BTVER1.
552         * config/i386/i386.md (define_attr "cpu"): Add btver1.
553
554 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
555
556         PR target/43309
557         * config/i386/i386.c (legitimize_tls_address)
558         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
559         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
560         (tls_initial_exec_64_sun): New pattern.
561
562 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
563
564         * doc/invoke.texi (Overall Options): Improve wording and markup
565         of the description of -wrapper.
566
567 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
568
569         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
570         rdynamic, threads): New Driver options.
571
572 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
573
574         PR target/38118
575         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
576         if coming from .tdata.
577         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
578
579 2011-01-06  Jan Hubicka  <jh@suse.cz>
580
581         PR lto/47188
582         * collect2.c (main): Do not enable LTOmode when plugin is active.
583
584 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
585
586         PR other/45915
587         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
588         --version output if supported.
589         * configure: Regenerate.
590
591 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
592
593         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
594         Driver options.
595
596 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
597
598         PR c/47150
599         * c-convert.c (convert): When converting a complex expression
600         other than COMPLEX_EXPR to a different complex type, ensure
601         c_save_expr is called instead of save_expr, unless in_late_binary_op.
602         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
603         when converting COMPLEX_TYPE.
604
605 2011-01-06  Ira Rosen  <irar@il.ibm.com>
606
607         PR tree-optimization/47139
608         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
609         only the last reduction value is used outside the loop.  Update
610         documentation.
611
612 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
613
614         * config/rtems.opt: New.
615         * config.gcc (*-*-rtems*): Use rtems.opt.
616
617 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
618
619         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
620         processors do not support 3DNow instructions.
621
622 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
623
624         * config/spu/spu.c (spu_option_override): Set parameter
625         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
626
627 2011-01-05  Jan Hubicka  <jh@suse.cz>
628
629         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
630         at the command line.
631
632 2011-01-05  Martin Jambor  <mjambor@suse.cz>
633
634         PR lto/47162
635         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
636         deltas on streamed outgoing edges.
637         (output_node_opt_summary): Output info for outgoing edges only when
638         the node is in new parameter set.
639         (output_cgraph_opt_summary): New parameter set, passed to the two
640         aforementioned functions.  Update its forward declaration and its
641         callee too.
642
643 2011-01-05  Tom Tromey  <tromey@redhat.com>
644
645         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
646         operator to c_finish_omp_atomic.
647         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
648         (build_unary_op): Update.
649         (build_modify_expr): Update.
650         (build_asm_expr): Update.
651
652 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
653
654         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
655         newly inserted insns.
656         (pad_bb): Likewise.
657         (spu_emit_branch_hint): Likewise.
658         (insert_hbrp_for_ilb_runout): Likewise.
659         (spu_machine_dependent_reorg): Call df_finish_pass after
660         schedule_insns returns.
661
662 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
663
664         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
665
666 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
667
668         PR tree-optimization/47005
669         * tree-sra.c (struct access): Add 'non_addressable' bit.
670         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
671         (decide_one_param_reduction): Return 0 if the parameter is passed by
672         reference and one of the accesses in the group is non_addressable.
673
674 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
675
676         PR tree-optimization/47056
677         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
678         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
679         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
680
681 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
682
683         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
684         initializer.  Skip view conversions from aggregate types.
685
686 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
687
688         PR bootstrap/47055
689         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
690
691 2011-01-04  Philipp Thomas <pth@suse.de>
692
693         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
694         obvious typo.
695
696 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
697
698         * function.c (thread_prologue_and_epilogue_insns): Do not crash
699         on empty epilogue sequences.
700
701 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
702
703         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
704         non-static): New Driver options.
705
706 2011-01-04  Jie Zhang  <jie@codesourcery.com>
707
708         PR driver/47137
709         * gcc.c (default_compilers[]): Set combinable field to 0
710         for all assembly languages.
711
712 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
713
714         * config/mips/loongson3a.md: New file.
715         * config/mips/mips.md: Include loongson3a.md.
716         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
717         TUNE_LOONGSON_3A.
718
719 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
720
721         PR middle-end/47017
722         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
723         instead of convert_memory_address_addr_space on the base expression.
724
725 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
726
727         * config/spu/spu.c (spu_option_override): Update error text
728         for bad -march= / -mtune= values.
729
730 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
731
732         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
733         if branch-hint optimization will be performed.
734
735 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
736
737         PR tree-optimization/47148
738         * ipa-split.c (split_function): Convert arguments to
739         DECL_ARG_TYPE if possible.
740
741         PR tree-optimization/47155
742         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
743         when computing uns.
744
745         PR rtl-optimization/47157
746         * combine.c (try_combine): If undobuf.other_insn becomes
747         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
748         and set *new_direct_jump_p too.
749
750 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
751
752         PR tree-optimization/47021
753         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
754
755 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
756
757         * gcc.c (process_command): Update copyright notice dates.
758         * gcov.c (print_version): Likewise.
759         * gcov-dump.c (print_version): Likewise.
760         * mips-tfile.c (main): Likewise.
761         * mips-tdump.c (main): Likewise.
762
763 2011-01-03  Martin Jambor  <mjambor@suse.cz>
764
765         PR tree-optimization/46801
766         * tree-sra.c (type_internals_preclude_sra_p): Check whether
767         aggregate fields start at byte boundary instead of the bit-field flag.
768
769 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
770
771         PR driver/47137
772         * gcc.c (main): Revert revision 168407.
773
774 2011-01-03  Martin Jambor  <mjambor@suse.cz>
775
776         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
777
778 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
779
780         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
781         vector optab to expand vector/scalar shift, update gimple to vector.
782
783 2011-01-03  Martin Jambor  <mjambor@suse.cz>
784
785         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
786         a thunk.
787
788 2011-01-03  Martin Jambor  <mjambor@suse.cz>
789
790         PR tree-optimization/46984
791         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
792         HOST_WIDE_INT.
793         (cgraph_create_indirect_edge): Fixed line length.
794         (cgraph_indirect_call_info): Declare.
795         (cgraph_make_edge_direct) Update declaration.
796         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
797         (cgraph_create_indirect_edge): Use it.
798         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
799         callees.
800         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
801         the new thunk_delta representation.
802         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
803         HOST_WIDE_INT.
804         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
805         (ipa_read_indirect_edge_info): Likewise.
806         * lto-cgraph.c (output_edge_opt_summary): New function.
807         (output_node_opt_summary): Call it on all outgoing edges.
808         (input_edge_opt_summary): New function.
809         (input_node_opt_summary): Call it on all outgoing edges.
810
811 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
812
813         PR driver/47137
814         * gcc.c (main): Don't check have_o when settting combine_inputs.
815
816 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
817
818         * regrename.c: Add general comment describing the pass.
819         (struct du_head): Remove 'length' field.
820         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
821         (regrename_optimize): Do not sort chains.  Rework comments, add others.
822         Force renaming to the preferred class (if any) in the first pass and do
823         not consider registers that belong to it in the second pass.
824         (create_new_chain): Do not set 'length' field.
825         (scan_rtx_reg): Likewise.
826
827 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
828
829         PR tree-optimization/47140
830         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
831         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
832         to bit_value_binop.
833
834         PR rtl-optimization/47028
835         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
836         parm_birth_insn instead of at the beginning of first bb.
837
838 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
839
840         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
841         Remove the word "see" before "@pxref".
842         * doc/rtl.texi: Remove the word "see" before "@pxref".
843
844 2011-01-01  Jan Hubicka  <jh@suse.cz>
845
846         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
847         memory.
848
849 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
850
851         PR target/38662
852         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
853
854 \f
855 Copyright (C) 2011 Free Software Foundation, Inc.
856
857 Copying and distribution of this file, with or without modification,
858 are permitted in any medium without royalty provided the copyright
859 notice and this notice are preserved.