From e79450ddbff7d3e14ee938a3b82228a9833dcad7 Mon Sep 17 00:00:00 2001 From: sbrantq Date: Thu, 23 Jan 2025 17:49:03 -0600 Subject: [PATCH] disable recursive inlining when any FPOpt logger is found --- enzyme/Enzyme/FunctionUtils.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/enzyme/Enzyme/FunctionUtils.cpp b/enzyme/Enzyme/FunctionUtils.cpp index 41aaaf481e9..6c0a82d9189 100644 --- a/enzyme/Enzyme/FunctionUtils.cpp +++ b/enzyme/Enzyme/FunctionUtils.cpp @@ -1456,7 +1456,13 @@ Function *PreProcessCache::preprocessForClone(Function *F, setFullWillReturn(NewF); if (EnzymePreopt) { +#ifdef ENZYME_ENABLE_FPOPT + // Disable recursive inlining since no FPOpt metadata is attached + // to inlined instructions + if (!hasFPOptLogger(F->getParent()) && EnzymeInline) { +#else if (EnzymeInline) { +#endif ForceRecursiveInlining(NewF, /*Limit*/ EnzymeInlineCount); setFullWillReturn(NewF); PreservedAnalyses PA;