aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@linux.alibaba.com>2018-12-14 05:42:56 +0000
committerBin Cheng <amker@gcc.gnu.org>2018-12-14 05:42:56 +0000
commit7f3477fb787cc885bfb11d2e8c8dae675a3129d0 (patch)
treeb4b50ae79108c57bfbfab1501bb37d72e35781f4 /gcc
parent47b4c53f035502f1140ae6e286c4576faa57c7ea (diff)
downloadgcc-7f3477fb787cc885bfb11d2e8c8dae675a3129d0.zip
gcc-7f3477fb787cc885bfb11d2e8c8dae675a3129d0.tar.gz
gcc-7f3477fb787cc885bfb11d2e8c8dae675a3129d0.tar.bz2
auto-profile.c (afdo_indirect_call): Skip generating histogram value for internal call.
* auto-profile.c (afdo_indirect_call): Skip generating histogram value for internal call. From-SVN: r267120
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/auto-profile.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b595748..cb5824a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2018-12-14 Bin Cheng <bin.cheng@linux.alibaba.com>
+ * auto-profile.c (afdo_indirect_call): Skip generating histogram
+ value for internal call.
+
+2018-12-14 Bin Cheng <bin.cheng@linux.alibaba.com>
+
* auto-profile.c (AFDO_EINFO): New macro.
(class edge_info): New class.
(is_edge_annotated, set_edge_annotated): Delete.
diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c
index 7e0020b..f51a4bf 100644
--- a/gcc/auto-profile.c
+++ b/gcc/auto-profile.c
@@ -987,7 +987,9 @@ afdo_indirect_call (gimple_stmt_iterator *gsi, const icall_target_map &map,
if (map.size () == 0)
return;
gcall *stmt = dyn_cast <gcall *> (gs);
- if ((!stmt) || gimple_call_fndecl (stmt) != NULL_TREE)
+ if (!stmt
+ || gimple_call_internal_p (stmt)
+ || gimple_call_fndecl (stmt) != NULL_TREE)
return;
callee = gimple_call_fn (stmt);