OSDN Git Service

* PR tree-optimization/47141
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-01-10  Jeff Law  <law@redhat.com>
2
3         * PR tree-optimization/47141
4         * ipa-split.c (split_function): Handle case where we are
5         returning a value and the return block has a virtual operand phi.
6
7 2011-01-10  Jan Hubicka  <jh@suse.cz>
8
9         PR tree-optimization/47234 
10         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
11         (pass_feedback_split_functions): Declare.
12         * passes.c (init_optimization_passes): Add ipa-split as subpass of
13         tree-profile.
14         * ipa-split.c (gate_split_functions): Update comments; disable
15         split-functions for profile_arc_flag and branch_probabilities.
16         (gate_feedback_split_functions): New function.
17         (execute_feedback_split_functions): New function.
18         (pass_feedback_split_functions): New global var.
19
20 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
21
22         PR lto/46760
23         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
24         calling gimple_call_set_cannot_inline.
25
26 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
27
28         * config/darwin-sections.def: Remove unused section.
29
30 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
31
32         PR c++/47218
33         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
34
35 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
36
37         PR objc/47232
38         * c-parser.c (c_parser_declaration_or_fndef): Improved
39         error message.
40
41 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
42
43         * config/i386/winnt.c (i386_pe_start_function): Make sure
44         to switch back to function's section.
45
46 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
47
48         PR gcc/46902
49         PR testsuite/46912
50         * plugin.c: Move include of dlfcn.h from here...
51         * system.h: ... to here.
52
53 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54
55         * doc/cpp.texi (C++ Named Operators): Fix markup for header
56         file name.
57         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
58         two extra empty pages in PDF output.
59
60 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
61
62         PR objc/47078
63         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
64         for error recovery purposes behave as if it was not specified so
65         that the default type is usd.
66
67 2011-01-07  Jan Hubicka  <jh@suse.cz>
68
69         PR tree-optmization/46469
70         * ipa.c (function_and_variable_visibility): Clear needed flags on
71         nodes with external decls; handle weakrefs merging correctly.
72
73 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
74
75         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
76         not false.
77
78 2011-01-07  Jan Hubicka  <jh@suse.cz>
79
80         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
81         and no longer claim that gold is required for linker plugin.
82         * configure: Regenerate.
83         * gcc.c (PLUGIN_COND): New macro.
84         (LINK_COMMAND_SPEC): Use it.
85         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
86         * config.in (HAVE_LTO_PLUGIN): New.
87         * configure.ac (--with-lto-plugin): New parameter; autodetect
88         HAVE_LTO_PLUGIN.
89
90 2011-01-07  Jan Hubicka  <jh@suse.cz>
91
92         PR tree-optimization/46367
93         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
94         when we can update original.
95         (cgraph_mark_inline_edge): Sanity check.
96         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
97
98 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
99
100         * config/spu/spu.h (ASM_COMMENT_START): Define.
101
102 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
103
104         PR driver/42445
105         * gcc.c (%>S): New.
106         (SWITCH_KEEP_FOR_GCC): Likewise.
107         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
108         (do_spec_1): Handle "%>".
109
110         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
111
112 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
113
114         PR target/47201
115         * config/i386/i386.c (ix86_delegitimize_address): If
116         simplify_gen_subreg fails, return orig_x.
117
118         PR bootstrap/47187
119         * value-prof.c (gimple_stringop_fixed_value): Handle
120         lhs of the call properly.
121
122 2011-01-07  Jan Hubicka  <jh@suse.cz>
123
124         PR lto/45375
125         * lto-opt.c (lto_reissue_options): Set flag_shlib.
126
127 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
128
129         * target.def (function_switched_text_sections): New hook.
130         * doc/tm.texi: Regenerated.
131         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
132         * final.c (default_function_switched_text_sections): New.
133         (final_scan_insn): Call function_switched_text_sections when a
134         mid-function section change occurs.
135         * output.h (default_function_switched_text_sections): Declare.
136         * config/darwin-protos.h (darwin_function_switched_text_sections):
137         Likewise.
138         * config/darwin.c (darwin_function_switched_text_sections): New.
139         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
140
141 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
142
143         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
144         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
145         the secondary code fragment when outputting for DWARF == 2.
146
147 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
148
149         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
150         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
151         Remove.
152         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
153         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
154
155 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
156
157         PR debug/46704
158         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section
159         only when it is not empty.
160
161 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
162
163         Bobcat Enablement
164         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
165         (case ${target}): Add btver1.
166         * config/i386/driver-i386.c (host_detect_local_cpu): Let
167         -march=native recognize btver1 processors.
168         * config/i386/i386-c.c (ix86_target_macros_internal): Add
169         btver1 def_and_undef
170         * config/i386/i386.c (struct processor_costs btver1_cost): New
171         btver1 cost table.
172         (m_BTVER1): New definition.
173         (m_AMD_MULTIPLE): Includes m_BTVER1.
174         (initial_ix86_tune_features): Add btver1 tune.
175         (processor_target_table): Add btver1 entry.
176         (static const char *const cpu_names): Add btver1 entry.
177         (software_prefetching_beneficial_p): Add btver1.
178         (ix86_option_override_internal): Add btver1 instruction sets.
179         (ix86_issue_rate): Add btver1.
180         (ix86_adjust_cost): Add btver1.
181         * config/i386/i386.h (TARGET_BTVER1): New definition.
182         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
183         (enum processor_type): Add PROCESSOR_BTVER1.
184         * config/i386/i386.md (define_attr "cpu"): Add btver1.
185
186 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
187
188         PR target/43309
189         * config/i386/i386.c (legitimize_tls_address)
190         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
191         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
192         (tls_initial_exec_64_sun): New pattern.
193
194 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
195
196         * doc/invoke.texi (Overall Options): Improve wording and markup
197         of the description of -wrapper.
198
199 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
200
201         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
202         rdynamic, threads): New Driver options.
203
204 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
205
206         PR target/38118
207         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
208         if coming from .tdata.
209         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
210
211 2011-01-06  Jan Hubicka  <jh@suse.cz>
212
213         PR lto/47188
214         * collect2.c (main): Do not enable LTOmode when plugin is active.
215
216 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
217
218         PR other/45915
219         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
220         --version output if supported.
221         * configure: Regenerate.
222
223 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
224
225         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
226         Driver options.
227
228 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
229
230         PR c/47150
231         * c-convert.c (convert): When converting a complex expression
232         other than COMPLEX_EXPR to a different complex type, ensure
233         c_save_expr is called instead of save_expr, unless in_late_binary_op.
234         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
235         when converting COMPLEX_TYPE.
236
237 2011-01-06  Ira Rosen  <irar@il.ibm.com>
238
239         PR tree-optimization/47139
240         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
241         only the last reduction value is used outside the loop.  Update
242         documentation.
243
244 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
245
246         * config/rtems.opt: New.
247         * config.gcc (*-*-rtems*): Use rtems.opt.
248
249 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
250
251         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
252         processors do not support 3DNow instructions.
253
254 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
255
256         * config/spu/spu.c (spu_option_override): Set parameter
257         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
258
259 2011-01-05  Jan Hubicka  <jh@suse.cz>
260
261         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
262         at the command line.
263
264 2011-01-05  Martin Jambor  <mjambor@suse.cz>
265
266         PR lto/47162
267         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
268         deltas on streamed outgoing edges.
269         (output_node_opt_summary): Output info for outgoing edges only when
270         the node is in new parameter set.
271         (output_cgraph_opt_summary): New parameter set, passed to the two
272         aforementioned functions.  Update its forward declaration and its
273         callee too.
274
275 2011-01-05  Tom Tromey  <tromey@redhat.com>
276
277         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
278         operator to c_finish_omp_atomic.
279         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
280         (build_unary_op): Update.
281         (build_modify_expr): Update.
282         (build_asm_expr): Update.
283
284 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
285
286         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
287         newly inserted insns.
288         (pad_bb): Likewise.
289         (spu_emit_branch_hint): Likewise.
290         (insert_hbrp_for_ilb_runout): Likewise.
291         (spu_machine_dependent_reorg): Call df_finish_pass after
292         schedule_insns returns.
293
294 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
295
296         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
297
298 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
299
300         PR tree-optimization/47005
301         * tree-sra.c (struct access): Add 'non_addressable' bit.
302         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
303         (decide_one_param_reduction): Return 0 if the parameter is passed by
304         reference and one of the accesses in the group is non_addressable.
305
306 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
307
308         PR tree-optimization/47056
309         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
310         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
311         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
312
313 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
314
315         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
316         initializer.  Skip view conversions from aggregate types.
317
318 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
319
320         PR bootstrap/47055
321         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
322
323 2011-01-04  Philipp Thomas <pth@suse.de>
324
325         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
326         obvious typo.
327
328 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
329
330         * function.c (thread_prologue_and_epilogue_insns): Do not crash
331         on empty epilogue sequences.
332
333 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
334
335         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
336         non-static): New Driver options.
337
338 2011-01-04  Jie Zhang  <jie@codesourcery.com>
339
340         PR driver/47137
341         * gcc.c (default_compilers[]): Set combinable field to 0
342         for all assembly languages.
343
344 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
345
346         * config/mips/loongson3a.md: New file.
347         * config/mips/mips.md: Include loongson3a.md.
348         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
349         TUNE_LOONGSON_3A.
350
351 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
352
353         PR middle-end/47017
354         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
355         instead of convert_memory_address_addr_space on the base expression.
356
357 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
358
359         * config/spu/spu.c (spu_option_override): Update error text
360         for bad -march= / -mtune= values.
361
362 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
363
364         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
365         if branch-hint optimization will be performed.
366
367 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
368
369         PR tree-optimization/47148
370         * ipa-split.c (split_function): Convert arguments to
371         DECL_ARG_TYPE if possible.
372
373         PR tree-optimization/47155
374         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
375         when computing uns.
376
377         PR rtl-optimization/47157
378         * combine.c (try_combine): If undobuf.other_insn becomes
379         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
380         and set *new_direct_jump_p too.
381
382 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
383
384         PR tree-optimization/47021
385         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
386
387 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
388
389         * gcc.c (process_command): Update copyright notice dates.
390         * gcov.c (print_version): Likewise.
391         * gcov-dump.c (print_version): Likewise.
392         * mips-tfile.c (main): Likewise.
393         * mips-tdump.c (main): Likewise.
394
395 2011-01-03  Martin Jambor  <mjambor@suse.cz>
396
397         PR tree-optimization/46801
398         * tree-sra.c (type_internals_preclude_sra_p): Check whether
399         aggregate fields start at byte boundary instead of the bit-field flag.
400
401 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
402
403         PR driver/47137
404         * gcc.c (main): Revert revision 168407.
405
406 2011-01-03  Martin Jambor  <mjambor@suse.cz>
407
408         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
409
410 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
411
412         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
413         vector optab to expand vector/scalar shift, update gimple to vector.
414
415 2011-01-03  Martin Jambor  <mjambor@suse.cz>
416
417         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
418         a thunk.
419
420 2011-01-03  Martin Jambor  <mjambor@suse.cz>
421
422         PR tree-optimization/46984
423         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
424         HOST_WIDE_INT.
425         (cgraph_create_indirect_edge): Fixed line length.
426         (cgraph_indirect_call_info): Declare.
427         (cgraph_make_edge_direct) Update declaration.
428         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
429         (cgraph_create_indirect_edge): Use it.
430         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
431         callees.
432         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
433         the new thunk_delta representation.
434         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
435         HOST_WIDE_INT.
436         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
437         (ipa_read_indirect_edge_info): Likewise.
438         * lto-cgraph.c (output_edge_opt_summary): New function.
439         (output_node_opt_summary): Call it on all outgoing edges.
440         (input_edge_opt_summary): New function.
441         (input_node_opt_summary): Call it on all outgoing edges.
442
443 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
444
445         PR driver/47137
446         * gcc.c (main): Don't check have_o when settting combine_inputs.
447
448 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
449
450         * regrename.c: Add general comment describing the pass.
451         (struct du_head): Remove 'length' field.
452         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
453         (regrename_optimize): Do not sort chains.  Rework comments, add others.
454         Force renaming to the preferred class (if any) in the first pass and do
455         not consider registers that belong to it in the second pass.
456         (create_new_chain): Do not set 'length' field.
457         (scan_rtx_reg): Likewise.
458
459 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
460
461         PR tree-optimization/47140
462         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
463         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
464         to bit_value_binop.
465
466         PR rtl-optimization/47028
467         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
468         parm_birth_insn instead of at the beginning of first bb.
469
470 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
471
472         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
473         Remove the word "see" before "@pxref".
474         * doc/rtl.texi: Remove the word "see" before "@pxref".
475
476 2011-01-01  Jan Hubicka  <jh@suse.cz>
477
478         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
479         memory.
480
481 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
482
483         PR target/38662
484         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
485
486 \f
487 Copyright (C) 2011 Free Software Foundation, Inc.
488
489 Copying and distribution of this file, with or without modification,
490 are permitted in any medium without royalty provided the copyright
491 notice and this notice are preserved.