[llvm] [MemProf] Disable memprof ICP support by default (PR #112940)

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 18 10:30:58 PDT 2024


https://github.com/teresajohnson created https://github.com/llvm/llvm-project/pull/112940

A failure showed up after this was committed, rather than revert simply
disable this new support to simplify investigation and further testing.


>From 54554a1999d16914d0a15a695f4198e5a6480091 Mon Sep 17 00:00:00 2001
From: Teresa Johnson <tejohnson at google.com>
Date: Fri, 18 Oct 2024 10:29:30 -0700
Subject: [PATCH] [MemProf] Disable memprof ICP support by default

A failure showed up after this was committed, rather than revert simply
disable this new support to simplify investigation and further testing.
---
 llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | 2 +-
 llvm/test/ThinLTO/X86/memprof-icp.ll        | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
index 0f4e85f5123f3a..004e8b76a3c851 100644
--- a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
+++ b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
@@ -82,7 +82,7 @@ static cl::opt<std::string> ModuleSummaryDotFile(
     cl::desc("File to emit dot graph of new summary into"));
 
 static cl::opt<bool> EnableMemProfIndirectCallSupport(
-    "enable-memprof-indirect-call-support", cl::init(true), cl::Hidden,
+    "enable-memprof-indirect-call-support", cl::init(false), cl::Hidden,
     cl::desc(
         "Enable MemProf support for summarizing and cloning indirect calls"));
 
diff --git a/llvm/test/ThinLTO/X86/memprof-icp.ll b/llvm/test/ThinLTO/X86/memprof-icp.ll
index e19c56b90e6200..2e976794425bbe 100644
--- a/llvm/test/ThinLTO/X86/memprof-icp.ll
+++ b/llvm/test/ThinLTO/X86/memprof-icp.ll
@@ -69,8 +69,9 @@
 
 ; RUN: split-file %s %t
 
-; RUN: opt -thinlto-bc %t/main.ll >%t/main.o
-; RUN: opt -thinlto-bc %t/foo.ll >%t/foo.o
+;; For now explicitly turn on this handling, which is off by default.
+; RUN: opt -thinlto-bc %t/main.ll -enable-memprof-indirect-call-support=true >%t/main.o
+; RUN: opt -thinlto-bc %t/foo.ll -enable-memprof-indirect-call-support=true >%t/foo.o
 
 ;; Check that we get the synthesized callsite records. There should be 2, one
 ;; for each profiled target in the VP metadata. They will have the same stackIds
@@ -82,9 +83,12 @@
 ;; -enable-memprof-indirect-call-support flag is false.
 ; RUN: opt -thinlto-bc %t/foo.ll -enable-memprof-indirect-call-support=false >%t/foo.noicp.o
 ; RUN: llvm-dis %t/foo.noicp.o -o - | FileCheck %s --implicit-check-not "stackIds: (16345663650247127235)"
+;; Currently this should be off by default as well.
+; RUN: opt -thinlto-bc %t/foo.ll -o - | llvm-dis -o - | FileCheck %s --implicit-check-not "stackIds: (16345663650247127235)"
 
 ;; First perform in-process ThinLTO
 ; RUN: llvm-lto2 run %t/main.o %t/foo.o -enable-memprof-context-disambiguation \
+; RUN:	-enable-memprof-indirect-call-support=true \
 ; RUN:  -supports-hot-cold-new \
 ; RUN:  -r=%t/foo.o,_Z3fooR2B0j,plx \
 ; RUN:  -r=%t/foo.o,_Z3xyzR2B0j, \
@@ -138,6 +142,7 @@
 
 ;; Run ThinLTO backend
 ; RUN: opt -import-all-index -passes=function-import,memprof-context-disambiguation,inline \
+; RUN:  -enable-memprof-indirect-call-support=true \
 ; RUN:  -summary-file=%t/foo.o.thinlto.bc -memprof-import-summary=%t/foo.o.thinlto.bc \
 ; RUN:  -enable-import-metadata -stats -pass-remarks=. \
 ; RUN:  %t/foo.o -S 2>&1 | FileCheck %s --check-prefix=IR \



More information about the llvm-commits mailing list