[llvm] [WIP] Emit missed- and passed-optimization messages when partially inlining sqrt (PR #123966)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 22 08:57:01 PST 2025
https://github.com/TiborGY created https://github.com/llvm/llvm-project/pull/123966
TBA
>From 4471fbbde0ed04d52e79d7a77f2e89eb4048b4a6 Mon Sep 17 00:00:00 2001
From: GYT <tiborgyri at gmail.com>
Date: Wed, 22 Jan 2025 17:52:25 +0100
Subject: [PATCH] first try
---
llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp b/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
index 2b50ccdc2eeb4f..6c4b2ca92ed66e 100644
--- a/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
+++ b/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
@@ -56,6 +56,14 @@ static bool optimizeSQRT(CallInst *Call, Function *CalledFunc,
// dst = phi(v0, v1)
//
+ ORE.emit([&]() {
+ return OptimizationRemarkMissed(DEBUG_TYPE, "BranchRequired",
+ Call->getDebugLoc(), CurrBB)
+ << "Branch to library sqrt fn had to be inserted to satisfy the "
+ "current target's requirement for math functions to set errno on "
+ "invalid inputs.";
+ });
+
Type *Ty = Call->getType();
IRBuilder<> Builder(Call->getNextNode());
More information about the llvm-commits
mailing list