aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-15Add vtable verification feature but do not turn it on.google/gcc-4_7-mobileCaroline Tice
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7-mobile@196691 138bc75d-0d04-0410-961f-82ee72b054a4
2013-03-15Fix inconsistency between Makefile.am and Makefile.in under libstdc++.Han Shen
The inconsistency was introduced by svn+ssh://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194664 Since the re-generated Makefile.in has not changed, this modification has no impact. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7-mobile@196688 138bc75d-0d04-0410-961f-82ee72b054a4
2013-03-08Cherry-pick google/gcc-4_7@r196555 to fix broken dependencies.Dehao Chen
r196555 | dehao | 2013-03-08 10:03:26 -0800 (Fri, 08 Mar 2013) | 6 lines Fix the broken dependency from cfglayout.o to gt-cfglayout.h. 2013-03-08 Dehao Chen <dehao@google.com> * gcc/Makefile.in(cfglayout.o): Remove dependency to gt-cfglayout.h git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7-mobile@196561 138bc75d-0d04-0410-961f-82ee72b054a4
2013-03-06Merged google/gcc-4_7 onto google/gcc-4_7-mobile.Han Shen
This merge includes the following 108 CLs from 190426 (excluded) up to 195968 (inclusive) - 195968 195906 195905 195810 195782 195740 195672 195468 195460 195435 195427 195373 195356 195306 195282 195246 195214 195030 194932 194931 194926 194925 194921 194874 194831 194739 194737 194735 194725 194713 194678 194677 194664 194562 194483 194426 194422 194420 194400 194371 194264 194163 194047 194022 193870 193865 193861 193860 193854 193837 193828 193825 193387 193177 193176 193133 193085 192818 192639 192631 192630 192625 192602 192511 192383 192333 192321 192284 192278 192277 192222 192217 191940 191834 191813 191763 191689 191682 191681 191495 191340 191312 191268 191234 191207 191163 191156 191084 191006 191005 190940 190798 190790 190640 190639 190637 190632 190610 190601 190600 190597 190553 190549 190539 190494 190491 190489 190450 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7-mobile@196505 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-122013-02-11 Rong Xu <xur@google.com>Rong Xu
* params.def (PARAM_INLINE_DUMP_MODULE_ID): New param. * l-ipo.h: (get_module_name): New decl. * coverage.c (incompatible_cl_args): Dump module info under -fopt-info=1. (read_counts_file): Ditto. (record_module_name): New function. (get_module_name): Ditto. * ipa-inline-transform.c (cgraph_node_opt_info): Dump module info. (cgraph_node_call_chain): Dump module info. (dump_inline_decision): Dump module info. * c-family/c-opts.c (lipo_max_mem_reached): Dump module info under -fopt-info=1. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195968 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-082013-02-08 Rong Xu <xur@google.com>Rong Xu
* params.def (PARAM_LIPO_GEN_LIMIT_IPA_INLINE): New parameter. * ipa-inline.c (inline_small_functions): Suppress ipa-inline for LIPO profile-gen compilation. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195906 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-082013-02-08 Rong Xu <xur@google.com>Rong Xu
* ipa-utils.c (ipa_reverse_postorder): Fix control flow mismatch in LIPO profile-use. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195905 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-06Ignore r194995 for gcc pr55852.Simon Baldwin
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195810 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-06Implement two parameters to control lipo profile-genDavid Li
runtime behavior: 1. --param=lipo-propagate-sccale=<scale_factor> 2. --param=lipo-dump-cgraph=<1|2> git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195782 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-04Create a normal .debug_str section even under -gsplit-dwarf.Sterling Augustine
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195740 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-01Merge from gcc-4_7-branchSimon Baldwin
Merged revisions 194314,194319,194327,194336,194341,194347,194349,194377,194382,194403,194411,194416,194431,194434,194456-194457,194465,194491,194494,194505,194514,194522,194527,194532,194534,194540,194545,194548,194555,194570,194577,194580,194596,194624,194627,194632,194654,194657,194684,194688,194690,194694-194695,194697-194698,194702,194708,194711,194716,194720,194728,194741,194748,194755,194759,194766,194772,194812,194821,194826,194859,194864,194871-194872,194877,194880,194882,194911,194923,194935,194937,194943-194944,194951,194956,194959,194970,194981,194985,194993,194995,195001,195014,195031,195037,195042,195061,195063,195071,195101,195111,195114,195122,195127,195129,195135,195139 via svnmerge from svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch ======================================================================= Bugs fixed (http://gcc.gnu.org/bugzilla): ada 53737, 53766, 54614 bootstrap 55707 c++ 54325, 54883, 55032, 55245, 55419, 55643, 55724, 55753, 55804, 55842, 55856, 55877, 55893 fortran 42769, 45836, 45900, 54818, 55072, 55618, 55827, 55852 libfortran 30162 libstdc++ 55631 middle-end 55492 other 55243 target 53789, 53912, 54121, 54461, 55344, 55673, 55712, 55897 tree-optimization 55355 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195672 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-252013-01-24 Rong Xu <xur@google.com>Rong Xu
* libgcc/libgcov.c (gcov_merge_gcda_file): summary_pos should always be 0 for kernel fdo. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195468 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-25 Inlining and devirtualizaion testsMaxim Kuvyrkov
* g++.dg/ipa/inline-devirt-{1235}.C: New tests. * g++.dg/ipa/inline-devirt-{46789}.C: New tests, xfailed for now. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195460 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-24svn merge -c 194864 svn+ssh://simonb@gcc.gnu.org/svn/gcc/branches/gcc-4_7-branchJason Merrill
2013-01-03 Jason Merrill <jason@redhat.com> PR c++/55856 * semantics.c (build_data_member_initialization): Handle DECL_EXPR. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195435 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-24Catch use of destructed strings.Paul Pluzhnikov
Google ref: b/5430313 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195427 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-22Set destructed vector into an invalid state, such thatPaul Pluzhnikov
subsequent calls to begin(), end(), size(), etc. all throw logic_error. Google ref b/7248326 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195373 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-22Add lightweight checks for front()/back() on empty vector.Paul Pluzhnikov
Google ref b/7939186 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195356 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-18Fix for Google Ref: b/8028506Sterling Augustine
Calling find_AT_string can resize the debug_str hash table, even if the string is already present in the hash table--go figure. So after indices have been assigned, and the hash table is exactly three-quarters full, calling find_AT_string is verboten. This change moves some calls around such that the above scenario never happens, all strings will be found and assigned prior to indices being assigned. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195306 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-17Fix for Google ref: b/8013197.Sterling Augustine
Address table entries will already have been removed at this point in resolve_addr, so no need to call again. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195282 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-16For b/8016816, rename __google_stl_debug_string_dangling to ↵Paul Pluzhnikov
__google_stl_debug_dangling_string to match __google_stl_debug_dangling_vector git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195246 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-15Backport r195207 (fix for PR55982) into google/gcc-4_7Paul Pluzhnikov
Google ref b/8003094 2013-01-15 Paul Pluzhnikov <ppluzhnikov@google.com> PR 55982 * strncat-chk.c (__strncat_chk): Fix loop unroll. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195214 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-082013-01-08 Rong Xu <xur@google.com>Rong Xu
* libgcc/libgcov.c (gcov_merge_gcda_file): Fix uninitialized variable introduced in r194713. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@195030 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-05Move new callgraph-profiles.C XFAL to where all the other ones are.Paul Pluzhnikov
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194932 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-05XFAIL g++.dg/tree-prof/callgraph-profiles.C scan-file Moving 1 section on ppc32Paul Pluzhnikov
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194931 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-052013-01-04 Rong Xu <xur@google.com>Rong Xu
* gcc/value-prof.c (gimple_ic_transform_single_targ): Adjust heuristics. * gcc/doc/invoke.texi: Add new entries. * gcc/params.def (DEFPARAM): Add new entries. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194926 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-05Switch the default behaviour of the plugin to split segments only throughSriraman Tallam
an explicit option. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194925 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-04Back-port revision 194909 (fix for <:: is incorrectly treated as digraph ...),Paul Pluzhnikov
with adjustments, to google/gcc-4_7 branch: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194909 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54526 Google ref: b/7427993 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194921 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-04Relax the restrictions on argument types to a unique_ptrLawrence Crowl
instantiated on an array type. This patch is a backport of Jonathan Wakely's "std::unique_ptr<T[], D> improvements" http://gcc.gnu.org/ml/gcc-patches/2012-12/msg01271.html to the google 4.7 branch. The existing unique_ptr admits no conversions, not even cv-qualification conversions. The patch permits cv-qualification conversion. It prohibits derived-to-base pointer conversion, as is needed to prevent improper deletion. It permits user-defined pointer types. The latter permissiveness is under debate. Given struct base { }; struct derived : base { }; as we cannot presently distinguish between the safe struct ptr_base { operator base*() { return 0; } }; ... unique_ptr< base >( ptr_base() ); and the unsafe struct ptr_derived { operator derived*() { return 0; } }; ... unique_ptr< base >( ptr_derived() ); No existing code can encounter the unsafe part because no existing code can have user-defined pointer types. There are likely to be very few uses of user-defined pointers introduced into the code base between now and when the issue is resolved. So, backporting the patch as is seems safe enough, and not too much trouble to correct later. Tested on x86_64. Tests pass through Google's core and mantle, but fail for apparently unrelated reasons in crust. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194874 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-032013-01-02 Rong Xu <xur@google.com>Rong Xu
* gcc/gcov-io.h: Make __atomic_fetch_add weak for these target without sync builtin support. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194831 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-272012-12-27 Rong Xu <xur@google.com>Rong Xu
* libgcc/libgcov.c (gcov_write_gcda_file): Kernel FDO support. * gcc/gcov-io.h: Ditto. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194739 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-27Workaround to fix lto-bootstrap. Disable streaming out of tree_block.Dehao Chen
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194737 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-272012-12-27 Rong Xu <xur@google.com>Rong Xu
* gcc/gcov-io.c (k_popcountll): New function. (gcov_read_summary): Kernel FDO support. (kernel_file_ftell): Ditto. (kernel_file_fwrite): More error info. * gcc/gcov-io.h (struct gcov_info): Remove const keyword to make field functions writable. * libgcc/libgcov.c (gcov_merge_gcda_file): Kernel FDO support. (gcov_gcda_file_size): Ditto. (gcov_write_gcda_file): Move decl forward. (__gcov_topn_value_profiler_body): Remove white space. (gcov_kernel_dump_gcov_init): New function. (gcov_kernel_dump_one_gcov): Kernel FDO support. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194735 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-262012-12-26 Rong Xu <xur@google.com>Rong Xu
* libgcc/libgcov.c (__gcov_one_value_profiler_body_atomic): New function. Atomic update profile counters. (__gcov_one_value_profiler_atomic): Ditto. (__gcov_indirect_call_profiler_atomic): Ditto. * gcc/gcov-io.h: Macros for atomic update. * gcc/common.opt: New option. * gcc/tree-profile.c (gimple_init_edge_profiler): Atomic update profile counters. (gimple_gen_edge_profiler): Ditto. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194725 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-25Fix the profiled bootstrap:Dehao Chen
1. Set the default value of gcov-debug to be 0. 2. Merge profile summaries from different instrumented binaries. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194713 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-21Block revision 194268.Diego Novillo
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194678 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-21The workaround for b/7500842 is still needed. The upstreamDiego Novillo
fix (rev 194268) breaks other tests. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194677 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-21Merged revisions ↵Diego Novillo
193458,193460,193462,193493,193518,193520,193528,193545,193566,193579,193593,193609,193613,193635,193642,193664,193683,193707-193708,193718,193739,193766,193773,193780,193782,193786,193789,193792,193800,193835,193840,193867,193877,193893,193913,193925,193935,193947,193955-193958,193975,194012,194014,194023,194025,194027,194029,194041,194062,194065-194066,194069,194071,194084,194101,194110,194113,194115,194117,194122,194160,194171,194175,194177,194184,194233,194236,194253-194254,194268-194269,194277,194287-194290,194292-194294,194296 via svnmerge from svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch Block rev 194268. It introduces two tests failures in internal code base. ======================================================================= Bugs fixed (http://gcc.gnu.org/bugzilla) Codegen 55142, 55331, 55171, 53912, 55597 Optimizers 55489, 53663 C 48076, 55570 Fortran 55352, 55314 C++ 55320, 53841, 55413, 55446, 53912, 50852, 53039, 53862, 53137, 55503, 55015, 53821, 54947, 54744, 55249, 55058, 54325 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194664 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-17Backport plugin-api.hi, r190654 changes from trunk to allow linker plugins toSriraman Tallam
map section subsets to separate ELF segments. Also, change the function reordering plugin to map unlikely code into a separate ELF segment. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194562 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-13 Fix b/7731863David Li
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194483 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-112012-12-11 Jing Yu <jingyu@google.com>Jing Yu
* contrib/testsuite-management/powerpc64-grtev3-linux-gnu.xfail: New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194426 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-11Emit weakref alias for aux modules in LIPO modeDavid Li
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194422 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-11Merge revision 194311 from trunk. Please see:Sriraman Tallam
http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00345.html for a description. This patch allows -ffunction-sections and -p to be used together. * toplev.c (process_options): Do not warn when -ffunction-sections and -fprofile are used together. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194420 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-11Remove all the files ChangeLog.google-4_7, ChangeLog.google-integration and ↵Diego Novillo
ChangeLog.google-main. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194400 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-10This is a backport of r193747 to use the working set from the profile summaryTeresa Johnson
to determine the bb hot count threshold. 2012-12-10 Teresa Johnson <tejohnson@google.com> Backport r193747 from trunk: 2012-11-22 Teresa Johnson <tejohnson@google.com> Jan Hubicka <jh@suse.cz> * predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit. (cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of directly checking limit. * params.def (HOT_BB_COUNT_FRACTION): Remove. (HOT_BB_COUNT_WS_PERMILLE): New parameter. * doc/invoke.texi (hot-bb-count-fraction): Remove. (hot-bb-count-ws-permille): Document. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194371 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-072012-12-03 Ahmad Sharif <asharif@google.com>Ahmad Sharif
Backport r185231 from trunk. 2012-03-12 Richard Guenther <rguenther@suse.de> * gthr.h (__GTHREAD_MUTEX_INIT_FUNCTION): Adjust specification. * gthr-posix.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define. (__gthread_mutex_init_function): New function. * gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define. PR gcov/49484 * libgcov.c: Include gthr.h. (__gcov_flush_mx): New global variable. (init_mx, init_mx_once): New functions. (__gcov_flush): Protect self with a mutex. (__gcov_fork): Re-initialize mutex after forking. * unwind-dw2-fde.c: Change condition under which to use __GTHREAD_MUTEX_INIT_FUNCTION. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7-mobile@194279 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-062012-12-03 Ahmad Sharif <asharif@google.com>Ahmad Sharif
Backport r185231 from trunk. 2012-03-12 Richard Guenther <rguenther@suse.de> * gthr.h (__GTHREAD_MUTEX_INIT_FUNCTION): Adjust specification. * gthr-posix.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define. (__gthread_mutex_init_function): New function. * gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define. PR gcov/49484 * libgcov.c: Include gthr.h. (__gcov_flush_mx): New global variable. (init_mx, init_mx_once): New functions. (__gcov_flush): Protect self with a mutex. (__gcov_fork): Re-initialize mutex after forking. * unwind-dw2-fde.c: Change condition under which to use __GTHREAD_MUTEX_INIT_FUNCTION. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194264 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-042012-12-04 Sterling Augustine <saugustine@google.com>Sterling Augustine
Backport changes to fission implementation required by trunk. See http://gcc.gnu.org/ml/gcc-patches/2012-10/msg02684.html and susbsequent messages for a full description of what needed to change for it to be accepted into trunk. Most of the original changes were already in google-4_7, so this is just the diff between the two implementations. These changes happen to make the resulting debug info smaller, so are useful to have on this branch. * dwarf2out.h (addr_table_entry_struct): Forward declare. (dw_val_struct): Change name and associated type of field val_index to val_entry. * dwarf2out.c (NOT_INDEXED, NO_INDEX_ASSIGNED, UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines. (ate_kind): New enum with enumerators ate_kind_rtx, ate_kind_rtx_dtprel, ate_kind_label. (addr_table_entry_struct, addr_table_entry): New structure and type. (dw_loc_list_struct): Change field name from begin_index to begin_entry, likewise with the type. (new_loc_descr, build_cfa_loc, new_addr_loc_descr, add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec, add_AT_string, add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_loc_list, add_AT_addr, add_AT_file, add_AT_vms_delta, add_AT_lbl_id, add_AT_lineptr, add_AT_macptr, add_AT_offset): Change field name from val_index to val_entry, and intialize properly. (size_of_loc_descr, output_loc_operands): Add assertion and update call. (set_AT_index): Remove obsolete function. (remove_addr_table_entry, add_AT_lbl_id, add_AT_range_list, add_ranges_by_labels): Update prototypes, adjust all calls in file. (dtprel_bool): New enum with dtprel_false and dtprel_true. (dw_addr_op, new_addr_loc_descr): Update functions to use dtprel_bool, plus additional logic to handle val_entries. Use RELOCATED_OFFSET and UNRELOCATED_OFFSET. (AT_index, output_loc_list): Update comment. Update logic to handle val_entry. (add_AT_low_high_pc): Update comment. Change field name from val_index to val_entry, and call add_addr_table entry. (indirect_string_node, index_string_table): Delete obsolete types, variables and tables. (AT_string_form): Move most logic to ... (find_string_form): ... here and ... (set_indirect_string): ... here. New function. (addr_index_table): Change type from vector to hash table. (addr_table_entry_do_hash, addr_table_entry_eq, init_addr_table_entry, index_addr_table_entry): New functions. (add_addr_table_entry): Update prototype. Convert logic to hash tables. (remove_loc_list_addr_table_entries): Convert logic to hash tables. (size_of_die, value_format, output_attr_index_or_value): Use NOT_INDEXED and NO_INDEX_ASSIGNED. (output_range_list_offset): Use RELOCATED_OFFSET. Update comment. (output_comdat_type_unit): Check OBJECT_FORMAT_ELF. (add_ranges_by_labels, loc_descriptor, mem_loc_descriptor, loc_list_from_tree, add_const_value_attribute): Update comment. Use dtprel_bool enumerators. (output_macinfo_op): Fix FIXME by handling DW_FORM_strp's and DW_FORM_GNU_str_index. (save_macinfo_strings, index_string, output_index_string_offset, output_index_string, output_indirect_strings, output_addr_table_entry): New functions. (output_indirect_string): Check refcount. (output_addr_table): Update logic for hash tables. (resolve_addr_in_expr, resolve_addr, hash_loc_operands, compare_loc_operands, index_location_lists): Update logic for val_entry. (dwarf2out_finish): Update logic for val_entry. Call htab_traverse_noresize multiple times, save macinfo_strings, index_string output_addr_table, output_indirect_strings. Add comments. Remove calls to output_addr_table, output_index_strings, and index_location_lists. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194163 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-02 Backport r194038 from trunkDavid Li
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194047 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-01AutoFDO Implementation.Dehao Chen
2012-12-01 Dehao Chen <dehao@dehao.com> * cgraphbuild.c (build_cgraph_edges): Handle AutoFDO profile. (rebuild_cgraph_edges): Likewise. * cgraph.c (cgraph_clone_node): Likewise. (clone_function_name): Likewise. * cgraph.h (cgraph_node): New field. * tree-pass.h (pass_ipa_auto_profile): New pass. * cfghooks.c (make_forwarder_block): Handle AutoFDO profile. * ipa-inline-transform.c (clone_inlined_nodes): Likewise. * toplev.c (compile_file): Likewise. (process_options): Likewise. * debug.h (auto_profile_debug_hooks): New. * cgraphunit.c (cgraph_finalize_compilation_unit): Handle AutoFDO profile. (cgraph_copy_node_for_versioning): Likewise. * regs.h (REG_FREQ_FROM_BB): Likewise. * gcov-io.h: (GCOV_TAG_AFDO_FILE_NAMES): New. (GCOV_TAG_AFDO_FUNCTION): New. (GCOV_TAG_AFDO_MODULE_GROUPING): New. * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Handle AutoFDO profile. * ipa-inline.c (edge_hot_enough_p): Likewise. (edge_badness): Likewise. (inline_small_functions): Likewise. * dwarf2out.c (auto_profile_debug_hooks): New. * opts.c (common_handle_option): Handle AutoFDO profile. * timevar.def (TV_IPA_AUTOFDO): New. * predict.c (compute_function_frequency): Handle AutoFDO profile. (rebuild_frequencies): Handle AutoFDO profile. * auto-profile.c (struct gcov_callsite_pos): New. (struct gcov_callsite): New. (struct gcov_stack): New. (struct gcov_function): New. (struct afdo_bfd_name): New. (struct afdo_module): New. (afdo_get_filename): New. (afdo_get_original_name_size): New. (afdo_get_bfd_name): New. (afdo_read_bfd_names): New. (afdo_stack_hash): New. (afdo_stack_eq): New. (afdo_function_hash): New. (afdo_function_eq): New. (afdo_bfd_name_hash): New. (afdo_bfd_name_eq): New. (afdo_bfd_name_del): New. (afdo_module_hash): New. (afdo_module_eq): New. (afdo_module_num_strings): New. (afdo_add_module): New. (read_aux_modules): New. (get_inline_stack_size_by_stmt): New. (get_inline_stack_size_by_edge): New. (get_function_name_from_block): New. (get_inline_stack_by_stmt): New. (get_inline_stack_by_edge): New. (afdo_get_function_count): New. (afdo_set_current_function_count): New. (afdo_add_bfd_name_mapping): New. (afdo_add_copy_scale): New. (get_stack_count): New. (get_stmt_count): New. (afdo_get_callsite_count): New. (afdo_get_bb_count): New. (afdo_annotate_cfg): New. (read_profile): New. (process_auto_profile): New. (init_auto_profile): New. (end_auto_profile): New. (afdo_find_equiv_class): New. (afdo_propagate_single_edge): New. (afdo_propagate_multi_edge): New. (afdo_propagate_circuit): New. (afdo_propagate): New. (afdo_calculate_branch_prob): New. (auto_profile): New. (gate_auto_profile_ipa): New. (struct simple_ipa_opt_pass): New. * auto-profile.h (init_auto_profile): New. (end_auto_profile): New. (process_auto_profile): New. (afdo_set_current_function_count): New. (afdo_add_bfd_name_mapping): New. (afdo_add_copy_scale): New. (afdo_calculate_branch_prob): New. (afdo_get_callsite_count): New. (afdo_get_bb_count): New. * profile.c (compute_branch_probabilities): Handle AutoFDO profile. (branch_prob): Likeise. * loop-unroll.c (decide_unroll_runtime_iterations): Likewise. * coverage.c (coverage_init): Likewise. * tree-ssa-live.c (remove_unused_scope_block_p): Likewise. * common.opt (fauto-profile): New. * tree-inline.c (copy_bb): Handle AutoFDO profile. (copy_edges_for_bb): Likewise. (copy_cfg_body): Likewise. * tree-profile.c (direct_call_profiling): Likewise. (gate_tree_profile_ipa): Likewise. * basic-block.h (EDGE_ANNOTATED): New field. (BB_ANNOTATED): New field. * tree-cfg.c (gimple_merge_blocks): Handle AutoFDO profile. * passes.c (init_optimization_passes): Handle AutoFDO profile. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194022 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-27Merge r7621728 from trunk.Ollie Wild
Fix incorrect @headername Doxygen macro invocation. Format is @headername{hdr1,hdr2} not @headername{hdr1 or hdr2}. 2012-11-27 Ollie Wild <aaw@google.com> * include/bits/stl_tree.h (@headername): Fix incorrect Doxygen macro invocation. Conflicts: libstdc++-v3/ChangeLog git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@193870 138bc75d-0d04-0410-961f-82ee72b054a4