From b0cd0e209eeb6a8ebf520ec3b563d39c4016fb85 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Thu, 12 Jun 2025 16:05:01 -0700 Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20ch?= =?UTF-8?q?anges=20to=20main=20this=20commit=20is=20based=20on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.6-beta.1 [skip ci] --- llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp index ab67a0980e0c2..3fd6fca73344c 100644 --- a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp +++ b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp @@ -132,6 +132,8 @@ static cl::opt "Drop all type test sequences")), cl::Hidden, cl::init(DropTestKind::None)); +static cl::opt DropTypeTestsLate("lowertypetests-drop-type-tests-late"); + bool BitSetInfo::containsGlobalOffset(uint64_t Offset) const { if (Offset < ByteOffset) return false; @@ -1075,7 +1077,8 @@ void LowerTypeTestsModule::importTypeTest(CallInst *CI) { return; TypeIdLowering TIL = importTypeId(TypeIdStr->getString()); - Value *Lowered = lowerTypeTestCall(TypeIdStr, CI, TIL); + Value *Lowered = DropTypeTestsLate ? ConstantInt::getTrue(M.getContext()) + : lowerTypeTestCall(TypeIdStr, CI, TIL); if (Lowered) { CI->replaceAllUsesWith(Lowered); CI->eraseFromParent(); From f11d7d544cc61dce582de538608bfd512147f90a Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Thu, 12 Jun 2025 16:06:14 -0700 Subject: [PATCH 2/3] Upload correct patch Created using spr 1.3.6-beta.1 --- llvm/tools/llvm-lto2/llvm-lto2.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp index 5f5c954c6a57d..d35868ffafe1e 100644 --- a/llvm/tools/llvm-lto2/llvm-lto2.cpp +++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp @@ -610,7 +610,9 @@ int main(int argc, char **argv) { return dumpSymtab(argc - 1, argv + 1); if (Subcommand == "run") return run(argc - 1, argv + 1); - if (Subcommand == "print-guid" && argc > 2) - outs() << GlobalValue::getGUIDAssumingExternalLinkage(argv[2]); + if (Subcommand == "print-guid" && argc > 2) { + outs() << GlobalValue::getGUIDAssumingExternalLinkage(argv[2]) << '\n'; + return 0; + } return usage(); } From c7cb16abb3c30e54a12ec1b9ce325d49cf37d2bc Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 13 Jun 2025 14:34:28 -0700 Subject: [PATCH 3/3] Add comment Created using spr 1.3.6-beta.1 --- llvm/tools/llvm-lto2/llvm-lto2.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp index d35868ffafe1e..fbde66666a596 100644 --- a/llvm/tools/llvm-lto2/llvm-lto2.cpp +++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp @@ -611,6 +611,8 @@ int main(int argc, char **argv) { if (Subcommand == "run") return run(argc - 1, argv + 1); if (Subcommand == "print-guid" && argc > 2) { + // Note the name of the function we're calling: this won't return the right + // answer for internal linkage symbols. outs() << GlobalValue::getGUIDAssumingExternalLinkage(argv[2]) << '\n'; return 0; }