File tree Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -12,8 +12,6 @@ ENZYME_BUILD_DIR?=$(MK_DIR)/Enzyme/build
12
12
RT_BUILD_DIR? =$(MK_DIR ) /../runtime/build
13
13
ENABLE_ASAN? =OFF
14
14
BUILD_TYPE? =Release
15
- TARGET_FILE =$(MK_DIR ) /mlir-hlo/mhlo/transforms/CMakeLists.txt
16
- PATCH_FILE =$(MK_DIR ) /patches/mhlo-Add-PassesIncGen-in-transforms-CMakeList.patch
17
15
LLVM_EXTERNAL_LIT ?= $(LLVM_BUILD_DIR ) /bin/llvm-lit
18
16
19
17
ifeq ($(shell uname) , Darwin)
55
53
all : llvm mhlo enzyme dialects plugin
56
54
57
55
.PHONY : llvm
56
+ llvm : TARGET_FILE := $(MK_DIR ) /llvm-project/mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp
57
+ llvm : PATCH_FILE := $(MK_DIR ) /patches/mlir-buffer-deallocation.patch
58
58
llvm :
59
59
@echo " build LLVM and MLIR enabling Python bindings"
60
+ # Patch in MLIR buffer deallocation bugfix
61
+ # TODO: remove once https://github.com/llvm/llvm-project/pull/121582 is merged & the dep updated
62
+ @if patch --dry-run -p1 -N $(TARGET_FILE ) $(PATCH_FILE ) > /dev/null 2>&1 ; then \
63
+ patch -p1 $(TARGET_FILE ) $(PATCH_FILE ) ; \
64
+ fi
60
65
cmake -G Ninja -S llvm-project/llvm -B $(LLVM_BUILD_DIR ) \
61
66
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE ) \
62
67
-DLLVM_BUILD_EXAMPLES=OFF \
81
86
LIT_FILTER_OUT="Bytecode|tosa-to-tensor" cmake --build $(LLVM_BUILD_DIR) --target $(LLVM_TARGETS)
82
87
83
88
.PHONY : mhlo
89
+ mhlo : TARGET_FILE := $(MK_DIR ) /mlir-hlo/mhlo/transforms/CMakeLists.txt
90
+ mhlo : PATCH_FILE := $(MK_DIR ) /patches/mhlo-Add-PassesIncGen-in-transforms-CMakeList.patch
84
91
mhlo :
85
92
@echo " build MLIR-HLO"
86
93
# Patch MHLO cmake dependency
Original file line number Diff line number Diff line change
1
+ diff --git a/mlir/llvm-project/mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp b/mlir/llvm-project/mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp
2
+ index a0a81d4add..7b7be9e577 100644
3
+ --- a/mlir/llvm-project/mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp
4
+ +++ b/mlir/llvm-project/mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp
5
+ @@ -308,6 +308,9 @@ private:
6
+
7
+ // Add new allocs and additional clone operations.
8
+ for (Value value : valuesToFree) {
9
+ + if (!isa<BaseMemRefType>(value.getType())) {
10
+ + continue;
11
+ + }
12
+ if (failed(isa<BlockArgument>(value)
13
+ ? introduceBlockArgCopy(cast<BlockArgument>(value))
14
+ : introduceValueCopyForRegionResult(value)))
You can’t perform that action at this time.
0 commit comments