From 83923374426ec05c0e3823f1d0645b361635a344 Mon Sep 17 00:00:00 2001 From: William Moses Date: Fri, 8 Mar 2024 12:58:18 -0800 Subject: [PATCH] Fix unused errors (#1784) --- enzyme/CMakeLists.txt | 2 +- .../MLIR/Implementations/LinalgAutoDiffOpInterfaceImpl.cpp | 7 +++++-- .../MLIR/Implementations/SCFAutoDiffOpInterfaceImpl.cpp | 4 +++- enzyme/Enzyme/MLIR/Interfaces/GradientUtils.h | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/enzyme/CMakeLists.txt b/enzyme/CMakeLists.txt index 2ab67dd3d2fb..4ccbdce03ee8 100644 --- a/enzyme/CMakeLists.txt +++ b/enzyme/CMakeLists.txt @@ -17,7 +17,7 @@ add_definitions(-DENZYME_VERSION_PATCH=${ENZYME_PATCH_VERSION}) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -SET(CMAKE_CXX_FLAGS "-Wall -fno-rtti ${CMAKE_CXX_FLAGS} -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull") +SET(CMAKE_CXX_FLAGS "-Wall -fno-rtti ${CMAKE_CXX_FLAGS} -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -ggdb") SET(CMAKE_CXX_FLAGS_RELEASE "-O2") diff --git a/enzyme/Enzyme/MLIR/Implementations/LinalgAutoDiffOpInterfaceImpl.cpp b/enzyme/Enzyme/MLIR/Implementations/LinalgAutoDiffOpInterfaceImpl.cpp index 4fffa1557433..3a72c3a5d359 100644 --- a/enzyme/Enzyme/MLIR/Implementations/LinalgAutoDiffOpInterfaceImpl.cpp +++ b/enzyme/Enzyme/MLIR/Implementations/LinalgAutoDiffOpInterfaceImpl.cpp @@ -197,8 +197,11 @@ struct GenericOpInterfaceReverse return std::make_pair(pushCache, popCache); }; - gutils->Logic.differentiate(gutils, *linalgOp.getBlock()->getParent(), - adjoint.getRegion(), buildFuncReturnOp, hook); + auto sub = gutils->Logic.differentiate( + gutils, *linalgOp.getBlock()->getParent(), adjoint.getRegion(), + buildFuncReturnOp, hook); + if (!sub.succeeded()) + return sub; auto newOpYield = cast( cast(newOp).getBodyRegion().front().getTerminator()); diff --git a/enzyme/Enzyme/MLIR/Implementations/SCFAutoDiffOpInterfaceImpl.cpp b/enzyme/Enzyme/MLIR/Implementations/SCFAutoDiffOpInterfaceImpl.cpp index e22cb9daef35..cbecedc21827 100644 --- a/enzyme/Enzyme/MLIR/Implementations/SCFAutoDiffOpInterfaceImpl.cpp +++ b/enzyme/Enzyme/MLIR/Implementations/SCFAutoDiffOpInterfaceImpl.cpp @@ -143,7 +143,9 @@ struct ForOpInterfaceReverse gutils->mapReverseModeBlocks.map(&oBB, &revBB); } for (auto &&[oBB, revBB] : llvm::zip(oldReg, newReg)) { - gutils->Logic.visitChildren(&oBB, &revBB, gutils); + auto sub = gutils->Logic.visitChildren(&oBB, &revBB, gutils); + if (!sub.succeeded()) + return sub; Block *newBB = gutils->getNewFromOriginal(&oBB); gutils->Logic.handlePredecessors(&oBB, newBB, &revBB, gutils, buildFuncReturnOp); diff --git a/enzyme/Enzyme/MLIR/Interfaces/GradientUtils.h b/enzyme/Enzyme/MLIR/Interfaces/GradientUtils.h index 32a7fe068d07..f6f1861039eb 100644 --- a/enzyme/Enzyme/MLIR/Interfaces/GradientUtils.h +++ b/enzyme/Enzyme/MLIR/Interfaces/GradientUtils.h @@ -38,8 +38,8 @@ class MGradientUtils { bool omp; unsigned width; - SmallVector RetDiffeTypes; ArrayRef ArgDiffeTypes; + SmallVector RetDiffeTypes; mlir::Value getNewFromOriginal(const mlir::Value originst) const; mlir::Block *getNewFromOriginal(mlir::Block *originst) const;