* ipa-inline.c (cgraph_node_opt_info): Print more concise info when
[official-gcc.git] / gcc-4_6 / gcc / ChangeLog.google-4_6
blob38d64aeec0522504a4b9652d0416eb14194b5f83
1 2012-01-02  Dehao Chen  <dehao@google.com>
3         * ipa-inline.c (cgraph_node_opt_info): Print more concise info when
4         dumping inline decisions.
6 2011-12-17  Sriraman Tallam  <tmsriram@google.com>
8         * mversn-dispatch.c (make_name): Use '.' to concatenate to suffix
9         mangled names.
10         (clone_function): Do not make clones ctors/dtors. Recompute dominance
11         info.
12         (make_bb_flow): New function.
13         (get_selector_gimple_seq): New function.
14         (make_selector_function): New function.
15         (make_attribute): New function.
16         (make_ifunc_function): New function.
17         (copy_decl_attributes): New function.
18         (dispatch_using_ifunc): New function.
19         (purge_function_body): New function.
20         (function_can_make_abnormal_goto): New function.
21         (make_function_not_cloneable): New function.
22         (do_auto_clone): New function.
23         (pass_auto_clone): New gimple pass.
24         (make_specialized_call_to_clone): Fix clone names.
25         * passes.c (init_optimization_passes): Add pass_auto_clone to list.
26         * tree-pass.h (pass_auto_clone): New pass.
27         * params.def (PARAM_MAX_FUNCTION_SIZE_FOR_AUTO_CLONING): New param.
28         * target.def (mversion_function): New target hook.
29         * config/i386/i386.c (ix86_option_override_internal): Check correctness
30         of ix86_mv_arch_string.
31         (add_condition_to_bb): New function.
32         (make_empty_function): New function.
33         (make_condition_function): New function.
34         (is_loop_form_vectorizable): New function.
35         (is_loop_stmts_vectorizable): New function.
36         (any_loops_vectorizable_with_load_store): New function.
37         (mversionable_for_core2_p): New function.
38         (ix86_mversion_function): New function.
39         * config/i386/i386.opt (mvarch): New option.
40         * doc/tm.texi (TARGET_MVERSION_FUNCTION): Document.
41         * doc/tm.texi.in (TARGET_MVERSION_FUNCTION): Document.
42         * testsuite/gcc.dg/automversn_1.c: New test case.
43         * testsuite/gcc.dg/mversn2.c: Fix cloned names.
44         * testsuite/g++.dg/mversn8.C: Ditto.
45         * testsuite/g++.dg/mversn10a.C: Ditto.
46         * testsuite/g++.dg/mversn15.C: Ditto.
47         * testsuite/g++.dg/mversn10.C: Ditto.
48         * testsuite/g++.dg/mversn16.C: Ditto.
50 2011-12-17  Sriraman Tallam  <tmsriram@google.com>
52         * gcc/config/i386/i386.c
53         (IX86_BUILTIN_CPU_IS_INTEL_COREI7): New enum value.
54         (IX86_BUILTIN_CPU_IS_AMDFAM10): New enum value.
55         (fold_builtin_cpu): Fold the new builtins.
56         (ix86_init_platform_type_builtins): Make new buitins
57         __builtin_cpu_is_intel_corei7 and
58         __builtin_cpu_is_amdfam10.
59         * testsuite/gcc.target/i386/builtin_target.c (fn1):
60         Call the new builtins.
62 2011-12-17  Easwaran Raman  <eraman@google.com>
63         Backport r182443 from google/main.
65         2011-12-17   Easwaran Raman  <eraman@google.com>
67                 * common.opt (fsized-delete): New option.
69 2011-12-16   Rong Xu  <xur@google.com>
70         Backport r182416 from google/main.
72         2011-12-16   Rong Xu  <xur@google.com>
74                 * libgcc/libgcov.c (gcov_merge_gcda_file): reset summary_pos.
76 2011-12-16  Dehao Chen  <dehao@google.com>
78         * ipa-inline.c (dump_inline_decision): New function.
79         (cgraph_node_call_chain): New function.
80         (cgraph_node_opt_info): New function.
81         (cgraph_mark_inline_edge): Dump inline decisions to stderr.
83 2011-12-14   Sriraman Tallam  <tmsriram@google.com>
85         Backport r182344 from google/main.
86         
87         2011-12-14  Sriraman Tallam  <tmsriram@google.com>
89                 Do not vectorize loops on Core2 that need to use unaligned
90                 vector load/stores.
91                 * tree-vect-stmts.c (is_vector_load_store_slow): New function.
92                 (vectorizable_load): Return false if the load
93                 is unaligned and slow.
94                 (vectorizable_store): Ditto.
95                 * target.def (TARGET_SLOW_UNALIGNED_VECTOR_MEMOP): New target hook.
96                 * doc/m.texi.in: Document new target hook:
97                 TARGET_SLOW_UNALIGNED_VECTOR_MEMOP
98                 * doc/m.texi: Regenerate.
99                 * config/i386/i386.c (ix86_slow_unaligned_vector_memop): New function.
100                 (TARGET_SLOW_UNALIGNED_VECTOR_MEMOP): New macro.
102 2011-12-12   Teresa Johnson  <tejohnson@google.com>
105 2011-12-11   Diego Novillo  <dnovillo@google.com>
107         Merge from gcc-4_6-branch rev 182135.
109 2011-11-30   Doug Kwan  <dougkwan@google.com>
111         Backport r171347 and r181549 from trunk.
112         2011-03-23  Julian Brown  <julian@codesourcery.com>
114                 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
115                 accesses which are not naturally aligned.
116         
117         2011-11-20  Joey Ye  <joey.ye@arm.com>
119                 * expr.c (expand_expr_real_1): Correctly handle strict volatile
120                 bitfield loads smaller than mode size.
122 2011-11-23   Teresa Johnson  <tejohnson@google.com>
124         Backport r181671 from google/main.
126 2011-11-18   Diego Novillo  <dnovillo@google.com>
128         Rollback revisiong 179815 from gcc-4_6-branch.
130 2011-11-16   Rong Xu  <xur@google.com>
132         Backport r181432 from google/main.
134 2011-11-10  DeLesley Hutchins  <delesley@google.com>
136   * tree-threadsafe-analyze.c:    
137     factors out code to get function decl.
138     (get_fdecl_from_gimple_stmt): new factored-out function
139     (handle_call_gs): original definition of code
140     (get_lock_returned_by_call): call new function
141     (get_trylock_info): call new function
142     (handle_unlock_primitive_attr): use passed fdecl
144 2011-11-10  DeLesley Hutchins  <delesley@google.com>
146   * tree-threadsafe-analyze.c (get_canonical_lock_expr):
147     Add support for pointer arithmetic operations
149 2011-11-04   Rong Xu  <xur@google.com>
151         Backport r181129 from google/main.
153 2011-11-06   Teresa Johnson  <tejohnson@google.com>
155         Backport r180925 from google/main.
157 2011-11-06   Teresa Johnson  <tejohnson@google.com>
159         Backport r180783 from trunk.
161 2011-11-04  DeLesley Hutchins  <delesley@google.com>
162    * tree-threadsafe-analyze.c:
163      Ignores invalid attributes, issues a warning, recovers gracefully.
164    * common.opt:
165      Adds new thread safety warning.
167 2011-11-04   Rong Xu  <xur@google.com>
169         Backport r180971 from google/main.
171 2011-11-04   Rong Xu  <xur@google.com>
173         Backport r180973 from google/main.
175 2011-11-04   Rong Xu  <xur@google.com>
177         Backport r180269 from google/main.
179 2011-11-02   Diego Novillo  <dnovillo@google.com>
181         Merge from gcc-4_6-branch rev 180729.
183 2011-10-25   Xinliang David Li  <davidxl@google.com>
185         * profile.c (compute_branch_probablies): recompute
186         function frequency summary after profile annotation.
188 2011-10-24   Diego Novillo  <dnovillo@google.com>
190         Merge from gcc-4_6-branch rev 180298.
192 2011-10-21   Diego Novillo  <dnovillo@google.com>
194         Merge from gcc-4_6-branch rev 179421.
196 2011-10-17  Dehao Chen  <dehao@google.com>
198         Add a flag (-frecord-gcc-switches-in-elf) to record compiler
199         command line options to .gnu.switches.text sections of
200         the object file.
201         * coverage.c (write_opts_to_asm): Write the options to
202         .gnu.switches.text sections.
203         * common.opt: Ditto.
204         * opts.h: Ditto.
206 2011-10-14  DeLesley Hutchins  <delesley@google.com>
208    * tree-threadsafe-analyze.c (get_canonical_lock_expr):
209      Bugfix: add lock to hash set, even if it refers to a base class
211 2011-10-14  DeLesley Hutchins  <delesley@google.com>
213    * tree-threadsafe-analyze.c (remove_lock_from_lockset):
214      Bugfix: shared lock now removed properly when the universal lock 
215      is in the exclusive lock set.  
217 2011-09-30  Sharad Singhai  <singhai@google.com>
219         * gcc.c (cc1_options): Add -fno-early-inlining for improved coverage.
221 2011-09-30  Easwaran Raman  <eraman@google.com>
223         * tree-profile.c (gcov_sample_counter_decl): Add GTY marker.
224         (gcov_sampling_rate_decl): Likewise.
225         (add_sampling_to_edge_counters): Do not free
226         instrumentation_to_be_sampled.
227         (cleanup_instrumentation_sampling): New function.
228         (tree_profiling): Call cleanup_instrumentation_sampling at the end.
230 2011-09-30  DeLesley Hutchins  <delesley@google.com>
232     * tree-threadsafe-analyze.c (process_function_attrs):
233       Detect clones and suppress warnings.
235 2011-09-27  Sriraman Tallam  <tmsriram@google.com>
237         * output.h (SECTION_EXCLUDE): New flag for exclude sections.
238         * varasm.c (default_elf_asm_named_section): Add "e" to section flags
239         marked as SECTION_EXCLUDE.
240         * final.c (rest_of_handle_final): Exclude .gnu.callgraph sections.
242 2011-09-22  Sriraman Tallam  <tmsriram@google.com>
244         * cgraphbuild.c (remove_cgraph_callee_edges): Preserve callee edges if
245         callgraph profiles are needed.
246         * final.c (rest_of_handle_final): Rename .note.callgraph sections as
247         .gnu.callgraph sections.
248         * tree-optimize.c (gate_all_optimizations): Set
249         cgraph_callee_edges_final_cleanup to true.
250         (cgraph_callee_edges_final_cleanup): New global variable.
251         * params.def (PARAM_NOTE_CGRAPH_SECTION_EDGE_THRESHOLD): Fix comment.
253 2011-09-22  Guozhi Wei  <carrot@google.com>
255         Backport r178995 from trunk.
257         2011-09-20  Wei Guozhi  <carrot@google.com>
259                 PR rtl-optimization/49452
260                 * postreload.c (reload_combine): Invalidate use information when
261                 across volatile insn.
263 2011-09-21   Diego Novillo  <dnovillo@google.com>
265         Merge from gcc-4_6-branch rev 179031.
267 2011-09-15  Easwaran Raman  <eraman@google.com>
269         Backport r178898 from google/main.
271         2011-09-15  Easwaran Raman  <eraman@google.com>
273                 * Makefile.in (PLUGIN_HEADERS): Add l-ipo.h.
275 2011-09-15  Easwaran Raman  <eraman@google.com>
277         Backport r176741 from trunk.
279         2011-07-22  Romain Geissler  <romain.geissler@gmail.com>
280         
281                 PR plugins/45348
282                 PR plugins/48425
283                 PR plugins/46577
284                 * Makefile.in: Do not flatten c-family directory when installing
285                 plugin headers.
287 2011-09-15   Diego Novillo  <dnovillo@google.com>
289         Merge from gcc-4_6-branch rev 178854.
291 2011-9-13  DeLesley Hutchins  <delesley@google.com>
293       * tree-threadsafe-analyze.c (get_canonical_lock_expr):
294         don't remove & on recursive call
296 2011-09-01  Sriraman Tallam  <tmsriram@google.com>
298         * config/i386/i386.c (build_struct_with_one_bit_fields): New function.
299         (make_var_decl): New function.
300         (get_field_from_struct): New function.
301         (fold_builtin_target): New function.
302         (ix86_fold_builtin): New function.
303         (ix86_expand_builtin): Expand new builtins by folding them.
304         (TARGET_FOLD_BUILTIN): New macro.
305         (IX86_BUILTIN_CPU_SUPPORTS_CMOV): New enum value.
306         (IX86_BUILTIN_CPU_SUPPORTS_MMX): New enum value.
307         (IX86_BUILTIN_CPU_SUPPORTS_POPCOUNT): New enum value.
308         (IX86_BUILTIN_CPU_SUPPORTS_SSE): New enum value.
309         (IX86_BUILTIN_CPU_SUPPORTS_SSE2): New enum value.
310         (IX86_BUILTIN_CPU_SUPPORTS_SSE3): New enum value.
311         (IX86_BUILTIN_CPU_SUPPORTS_SSSE3): New enum value.
312         (IX86_BUILTIN_CPU_SUPPORTS_SSE4_1): New enum value.
313         (IX86_BUILTIN_CPU_SUPPORTS_SSE4_2): New enum value.
314         (IX86_BUILTIN_CPU_INIT): New enum value.
315         (IX86_BUILTIN_CPU_IS_AMD): New enum value.
316         (IX86_BUILTIN_CPU_IS_INTEL): New enum value.
317         (IX86_BUILTIN_CPU_IS_INTEL_ATOM): New enum value.
318         (IX86_BUILTIN_CPU_IS_INTEL_CORE2): New enum value.
319         (IX86_BUILTIN_CPU_IS_INTEL_COREI7_NEHALEM): New enum value.
320         (IX86_BUILTIN_CPU_IS_INTEL_COREI7_WESTMERE): New enum value.
321         (IX86_BUILTIN_CPU_IS_INTEL_COREI7_SANDYBRIDGE): New enum value.
322         (IX86_BUILTIN_CPU_IS_AMDFAM10_BARCELONA): New enum value.
323         (IX86_BUILTIN_CPU_IS_AMDFAM10_SHANGHAI): New enum value.
324         (IX86_BUILTIN_CPU_IS_AMDFAM10_ISTANBUL): New enum value.
325         * config/i386/libgcc-glibc.ver (__cpu_indicator_init): Export symbol.
326         (__cpu_model): Export symbol.
327         (__cpu_features): Export symbol.
328         * config/i386/i386-builtin-types.def: New function type.
330 2011-08-24  Mark Heffernan  <meheff@google.com>
332         * params.def (hot-bb-count-fraction): Change default value.
334 2011-08-24   David Li  <davidxl@google.com>
336         * profile.c (compute_branch_probabilities): Partially revert
337         change in r176997 which led to perf regression of important
338         apps.
340 2011-08-23  Mark Heffernan  <meheff@google.com>
342         * basic-block.h (maybe_hot_frequency_p): Add prototype.
343         * cgraph.c (dump_cgraph_node): Add field to dump.
344         (cgraph_clone_node) Handle new field.
345         * cgraph.h (cgraph_node): New field max_bb_count.
346         * cgraphbuild.c (rebuild_cgraph_edges): Compute max_bb_count.
347         * cgraphunit.c (cgraph_copy_node_for_versioning) Handle new field.
348         * common.opt (finline-hot-caller): New option.
349         * ipa-inline.c (cgraph_mark_inline_edge) Update max_bb_count.
350         (edge_hot_enough_p) New function.
351         (cgraph_decide_inlining_of_small_functions) Call edge_hot_enough_p.
352         * predict.c (maybe_hot_frequency_p): Remove static keyword and
353         guard with profile_info check.
354         * testsuite/gcc.dg/tree-prof/inliner-1.c: Add flag.
355         * testsuite/gcc.dg/tree-prof/lipo/inliner-1_0.c: Add flag.
357 2011-08-16  Guozhi Wei  <carrot@google.com>
359         Backport r174965 from trunk.
361         2011-06-12  Ira Rosen  <ira.rosen@linaro.org>
363                 * tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent):
364                 Take number of iterations to peel into account for equally frequent
365                 misalignment values.
367 2011-08-11  David Li  <davidxl@google.com>
369         * l-ipo.c (process_module_scope_static_func): Promote
370         aliases of static symbol in LIPO mode.
372 2011-08-02   David Li  <davidxl@google.com>
374         Port 53689-p2 and 53705-p2 to v15
375         * libgcov.c (__gcov_merge_dc): Relax over assertion in 
377         dc merging.
378 2011-07-31  David Li  <davidxl@google.com>
380         * tree-optimize.c (execute_fixup_cfg): Fix up entry outgoing
381         edge profile counts.
382         * profile.c (compute_branch_probabilities): Compute function
383         frequency after profile annotation.
385 2011-07-28  David Li  <davidxl@google.com>
387         * coverage.c (coverage_init): Remove checking of profile-use
388         flags.
390 2011-07-25   Rong Xu  <xur@google.com>
391         Merge from google/main cherry pick r176592.
392         2011-07-21   Rong Xu  <xur@google.com>
393                 * ipa.c (function_and_variable_visibility): In LIPO mode, call 
394                 varpool_externally_visible_p() to set the externally visible 
395                 attribute even for varpool nodes that not marked as needed.
396                 * l-ipo.c (varpool_do_link): Merge the externally visible 
397                 attribute for varpool nodes.
399 2011-07-24  Easwaran Raman  <eraman@google.com>
400         Backport r175063 from trunk:
401         2011-06-14  Easwaran Raman  <eraman@google.com>
402                 PR rtl-optimization/44194
403                 * dse.c: Include tree-flow.h
404                 (insn_info): Add new field non_frame_wild_read.
405                 (group_info): Add new fields escaped_n and escaped_p.
406                 (kill_on_calls): New variable.
407                 (get_group_info): Initialize gi->escaped_n and gi->escaped_p.
408                 (dse_step0): Initialize kill_on_calls.
409                 (can_escape): New function.
410                 (set_usage_bits): Add additional parameter; record information
411                 about escaped locations.
412                 (record_store): Pass EXPR corresponding to MEM to set_usage_bits.
413                 (dse_step2_nospill): Set kill_on_calls based on
414                 group->escaped_n and group->escaped_n.
415                 (add_wild_read): Refactor into...
416                 (reset_active_stores): ... New function, and
417                 (free_read_records): ... New function.
418                 (add_non_frame_wild_read): New function.
419                 (scan_insn): Call add_non_frame_wild_read on non-const calls.
420                 (scan_reads_nospill): Handle instructions with non_frame_wild_read.
421                 (dse_step5_nospill): Call scan_reads_nospill for instructions
422                 marked as non_frame_wild_read.
423                 (dse_step7): Free escaped_n, escaped_p and kill_on_calls bitmaps.
424         Backport r175384 from trunk:
425         2011-06-24  Easwaran Raman  <eraman@google.com>
426                 PR rtl-optimization/49429
427                 PR target/49454
428                 * expr.c (emit_block_move_hints):  Mark MEM_EXPR(x) and
429                 MEM_EXPR(y) addressable if emit_block_move_via_libcall is
430                 used to copy y into x.
431                 * calls.c (initialize_argument_information): Mark
432                 an argument addressable if it is passed by invisible reference.
433                 (emit_library_call_value_1): Mark  MEM_EXPR (val) addressable
434                 if it is passed by reference.
436 2011-07-19  Diego Novillo  <dnovillo@google.com>
438         Merge from gcc-4_6-branch rev 176416.
440 2011-07-05  Diego Novillo  <dnovillo@google.com>
442         Merge from gcc-4_6-branch rev 175849.
444 2011-07-05  Diego Novillo  <dnovillo@google.com>
446         Merge from google/main rev 175816.
448 2011-06-29  Diego Novillo  <dnovillo@google.com>
450         Backport from gcc-4_6-branch
452         2011-06-29  Martin Jambor  <mjambor@suse.cz>
453                 Backport from mainline
454                 2011-06-24  Martin Jambor  <mjambor@suse.cz>
456                 PR tree-optimizations/49516
457                 * tree-sra.c (sra_modify_assign): Choose the safe path for
458                 aggregate copies if we also did scalar replacements.
460 2011-06-28  Diego Novillo  <dnovillo@google.com>
462         Merge from gcc-4_6-branch rev 175583.
464 2011-06-27  Diego Novillo  <dnovillo@google.com>
466         Merge from google/main rev 175526.
468 2011-06-27  Diego Novillo  <dnovillo@google.com>
470         Google ref 4487457.
472         * tree-cfg.c (gate_warn_function_return): New.
473         (pass_warn_function_return): Use it.
475 2011-06-14  Diego Novillo  <dnovillo@google.com>
477         Merge from gcc-4_6-branch rev 175007.
479 2011-06-13  Diego Novillo  <dnovillo@google.com>
481         Merge from google/main rev 174986.
483 2011-06-09  Chris Demetriou  <cgd@google.com>
485         Backport from google/main r174890:
486         2011-06-09  Chris Demetriou  <cgd@google.com>
487         * doc/install.texi (--with-warn-frame-larger-than-extra-text): New.
488         * configure.ac (--with-warn-frame-larger-than-extra-text): New.
489         (WARN_FRAME_LARGER_THAN_EXTRA_TEXT): Define.
490         * final.c (final_start_function): Use
491         WARN_FRAME_LARGER_THAN_EXTRA_TEXT.
492         * configure: Regenerate.
493         * config.in: Regenerate.
495 2011-06-07  Mark Heffernan  <meheff@google.com>
497         Merge from google/main cherry pick rev 174789.
499 2011-06-07  Diego Novillo  <dnovillo@google.com>
501         Merge from google/main rev 174706.
503 2011-06-01  Diego Novillo  <dnovillo@google.com>
505         Merge from gcc-4_6-branch rev 174522.
507 2011-06-01  Diego Novillo  <dnovillo@google.com>
509         Merge from google/main rev 174482.
511 2011-05-25  Diego Novillo  <dnovillo@google.com>
513         Merge from gcc-4_6-branch rev 174114.
515 2011-05-24  Diego Novillo  <dnovillo@google.com>
517         Merge from google/main rev 174086.
519 2011-05-11  Xinliang David Li <davidxl@google.com>
520         
521         Merge from google/main rev 173636.
523 2011-05-10  Diego Novillo  <dnovillo@google.com>
525         Merge from gcc-4_6-branch rev 173632.
527 2011-05-10  Diego Novillo  <dnovillo@google.com>
529         Merge from google/main rev 173605.
531 2011-05-03  Diego Novillo  <dnovillo@google.com>
533         Merge from gcc-4_6-branch rev 173305.
535 2011-05-03  Diego Novillo  <dnovillo@google.com>
537         Merge from google/main rev 173286 (minus rev 173258).
539 2011-05-02  Diego Novillo  <dnovillo@google.com>
541         Google ref 4335466.
543         * BASE-VER: Change to 4.6.x-google.
545 2011-04-18  Diego Novillo  <dnovillo@google.com>
547         Merge from gcc-4_6-branch rev 172633.
549 2011-04-17  Diego Novillo  <dnovillo@google.com>
551         Merge from google/main rev 172617.
553 2011-04-15  Diego Novillo  <dnovillo@google.com>
555         Merge from gcc-4_6-branch rev 172209.
557 2011-03-31  Diego Novillo  <dnovillo@google.com>
559         Merge from google/main rev 171756.
561 2011-03-29  Diego Novillo  <dnovillo@google.com>
563         Merge from gcc-4_6-branch rev 171512 (4.6.0 release tag).
565 2011-03-18  Diego Novillo  <dnovillo@google.com>
567         Merge from google/main rev 171163.
569 2011-03-15  Diego Novillo  <dnovillo@google.com>
571         * BASE-VER: Change to 4.6.0-google
572         * DEV-PHASE: Change to prerelease.
574 Copyright (C) 2011 Free Software Foundation, Inc.
576 Copying and distribution of this file, with or without modification,
577 are permitted in any medium without royalty provided the copyright
578 notice and this notice are preserved.