Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions enzyme/Enzyme/ActiveVariable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -552,6 +552,8 @@ bool isconstantValueM(Value* val, SmallPtrSetImpl<Value*> &constants, SmallPtrSe
llvm::errs() << " VALUE nonconst from arg nonconst " << *val << "\n";
return false;
}
llvm::errs() << *(cast<Argument>(val)->getParent()) << "\n";
llvm::errs() << *val << "\n";
assert(0 && "must've put arguments in constant/nonconstant");
}

Expand Down
33 changes: 24 additions & 9 deletions enzyme/Enzyme/EnzymeLogic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -426,9 +426,9 @@ std::pair<Function*,StructType*> CreateAugmentedPrimal(Function* todiff, AAResul

gutils->erase(op);
} else if(LoadInst* li = dyn_cast<LoadInst>(inst)) {
if (gutils->isConstantInstruction(inst)) continue;

if (gutils->isConstantInstruction(inst) || gutils->isConstantValue(inst)) continue;
if (cachereads) {
llvm::errs() << "Forcibly caching reads " << *li << "\n";
IRBuilder<> BuilderZ(li);
gutils->addMalloc(BuilderZ, li);
}
Expand Down Expand Up @@ -1217,7 +1217,6 @@ void handleGradientCallInst(BasicBlock::reverse_iterator &I, const BasicBlock::r
llvm::errs() << " choosing to replace function " << (called->getName()) << " and do both forward/reverse\n";
else
llvm::errs() << " choosing to replace function " << (*op->getCalledValue()) << " and do both forward/reverse\n";

replaceFunction = true;
modifyPrimal = false;
} else {
Expand Down Expand Up @@ -1951,23 +1950,39 @@ Function* CreatePrimalAndGradient(Function* todiff, const std::set<unsigned>& co
if (dif2) addToDiffe(op->getOperand(2), dif2);
} else if(auto op = dyn_cast<LoadInst>(inst)) {
if (gutils->isConstantValue(inst)) continue;




auto op_operand = op->getPointerOperand();
auto op_type = op->getType();

if (cachereads) {
inst = cast<Instruction>(gutils->addMalloc(Builder2, inst));
llvm::errs() << "Forcibly loading cached reads " << *op << "\n";
IRBuilder<> BuilderZ(op->getNextNode());
inst = cast<Instruction>(gutils->addMalloc(BuilderZ, inst));
if (inst != op) {
// Set to nullptr since op should never be used after invalidated through addMalloc.
op = nullptr;
gutils->nonconstant_values.insert(inst);
gutils->nonconstant.insert(inst);
gutils->originalInstructions.insert(inst);
assert(inst->getType() == op_type);
}
}

//TODO IF OP IS POINTER
if (!op->getType()->isPointerTy()) {
// TODO IF OP IS POINTER
if (!op_type->isPointerTy()) {
auto prediff = diffe(inst);
setDiffe(inst, Constant::getNullValue(inst->getType()));
gutils->addToPtrDiffe(op->getOperand(0), prediff, Builder2);
setDiffe(inst, Constant::getNullValue(op_type));
gutils->addToPtrDiffe(op_operand, prediff, Builder2);
} else {
//Builder2.CreateStore(diffe(inst), invertPointer(op->getOperand(0)));//, op->getName()+"'psweird");
//addToNPtrDiffe(op->getOperand(0), diffe(inst));
//assert(0 && "cannot handle non const pointer load inversion");
//assert(op);
//llvm::errs() << "ignoring load bc pointer of " << *op << "\n";
}

} else if(auto op = dyn_cast<StoreInst>(inst)) {
if (gutils->isConstantInstruction(inst)) continue;

Expand Down
3 changes: 1 addition & 2 deletions enzyme/Enzyme/GradientUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ Value* GradientUtils::invertPointerM(Value* val, IRBuilder<>& BuilderM) {

auto dst_arg = bb.CreateBitCast(antialloca,Type::getInt8PtrTy(val->getContext()));
auto val_arg = ConstantInt::get(Type::getInt8Ty(val->getContext()), 0);
auto len_arg = bb.CreateNUWMul(bb.CreateZExtOrTrunc(inst->getArraySize(),Type::getInt64Ty(val->getContext())), ConstantInt::get(Type::getInt64Ty(val->getContext()), M->getDataLayout().getTypeAllocSizeInBits(inst->getAllocatedType())/8 ) );
auto len_arg = bb.CreateNUWMul(bb.CreateZExtOrTrunc(inst->getArraySize(),Type::getInt64Ty(val->getContext())), ConstantInt::get(Type::getInt64Ty(val->getContext()), M->getDataLayout().getTypeAllocSizeInBits(inst->getAllocatedType())/8) );
auto volatile_arg = ConstantInt::getFalse(val->getContext());

#if LLVM_VERSION_MAJOR == 6
Expand Down Expand Up @@ -492,7 +492,6 @@ std::pair<PHINode*,Instruction*> insertNewCanonicalIV(Loop* L, Type* Ty) {
B.SetInsertPoint(Header->getFirstNonPHIOrDbg());
Instruction* inc = cast<Instruction>(B.CreateNUWAdd(CanonicalIV, ConstantInt::get(CanonicalIV->getType(), 1), "iv.next"));


for (BasicBlock *Pred : predecessors(Header)) {
assert(Pred);
if (L->contains(Pred)) {
Expand Down
14 changes: 14 additions & 0 deletions enzyme/Enzyme/GradientUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,8 @@ class GradientUtils {
addedMallocs.push_back(lastScopeAlloc[malloc]);
return malloc;
}
llvm::errs() << "Fell through on addMalloc. This should never happen.\n";
assert(false);
}

const SmallVectorImpl<Value*> & getMallocs() const {
Expand Down Expand Up @@ -1446,7 +1448,19 @@ class DiffeGradientUtils : public GradientUtils {
}

void addToPtrDiffe(Value* val, Value* dif, IRBuilder<> &BuilderM) {
if (!(val->getType()->isPointerTy()) || !(cast<PointerType>(val->getType())->getElementType() == dif->getType())) {
llvm::errs() << *oldFunc << "\n";
llvm::errs() << *newFunc << "\n";
llvm::errs() << "Val: " << *val << "\n";
llvm::errs() << "Diff: " << *dif << "\n";
}
assert(val->getType()->isPointerTy());
assert(cast<PointerType>(val->getType())->getElementType() == dif->getType());

auto ptr = invertPointerM(val, BuilderM);
assert(ptr->getType()->isPointerTy());
assert(cast<PointerType>(ptr->getType())->getElementType() == dif->getType());

Value* res;
Value* old = BuilderM.CreateLoad(ptr);
if (old->getType()->isIntOrIntVectorTy()) {
Expand Down
16 changes: 10 additions & 6 deletions enzyme/functional_tests_c/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ OBJ := $(wildcard *.c)

all: $(patsubst %.c,build/%-enzyme0,$(OBJ)) $(patsubst %.c,build/%-enzyme1,$(OBJ)) $(patsubst %.c,build/%-enzyme2,$(OBJ)) $(patsubst %.c,build/%-enzyme3,$(OBJ))

POST_ENZYME_FLAGS := -mem2reg -sroa -adce -simplifycfg
POST_ENZYME_FLAGS := -mem2reg -sroa -adce -simplifycfg -enzyme_cachereads=true

#all: $(patsubst %.c,build/%-enzyme1,$(OBJ)) $(patsubst %.c,build/%-enzyme2,$(OBJ)) $(patsubst %.c,build/%-enzyme3,$(OBJ))
#clean:
Expand All @@ -34,19 +34,19 @@ POST_ENZYME_FLAGS := -mem2reg -sroa -adce -simplifycfg
# NOTE(TFK): Optimization level 0 is broken right now.
build/%-enzyme0: %.c
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 -O1 $(patsubst %.c,%,$<).c -S -emit-llvm -o $@.ll
@./setup.sh $(CLANG_BIN_PATH)/opt $@.ll $(EXTRA_FLAGS) -load=$(ENZYME_PLUGIN) -enzyme -o $@.bc
@./setup.sh $(CLANG_BIN_PATH)/opt $@.ll $(EXTRA_FLAGS) -load=$(ENZYME_PLUGIN) -enzyme $(POST_ENZYME_FLAGS) -o $@.bc
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 $@.bc -S -emit-llvm -o $@-final.ll
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 $@.bc -o $@

build/%-enzyme1: %.c
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 -O1 $(patsubst %.c,%,$<).c -S -emit-llvm -o $@.ll
@./setup.sh $(CLANG_BIN_PATH)/opt $@.ll $(EXTRA_FLAGS) -load=$(ENZYME_PLUGIN) -enzyme -o $@.bc
@./setup.sh $(CLANG_BIN_PATH)/opt $@.ll $(EXTRA_FLAGS) -load=$(ENZYME_PLUGIN) -enzyme $(POST_ENZYME_FLAGS) -o $@.bc
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 $@.bc -S -emit-llvm -o $@-final.ll
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 $@.bc -o $@

build/%-enzyme2: %.c
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 -O2 $(patsubst %.c,%,$<).c -S -emit-llvm -o $@.ll
@./setup.sh $(CLANG_BIN_PATH)/opt $@.ll $(EXTRA_FLAGS) -load=$(ENZYME_PLUGIN) -enzyme -o $@.bc
@./setup.sh $(CLANG_BIN_PATH)/opt $@.ll $(EXTRA_FLAGS) -load=$(ENZYME_PLUGIN) -enzyme $(POST_ENZYME_FLAGS) -o $@.bc
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 $@.bc -S -emit-llvm -o $@-final.ll
@./setup.sh $(CLANG_BIN_PATH)/clang -std=c11 $@.bc -o $@

Expand All @@ -69,7 +69,7 @@ build/%-enzyme3: %.c
%-enzyme-test3: build/%-enzyme3
@./$< 2> /dev/null 1> /dev/null && echo "success" || echo "FAILURE"

test: $(patsubst %.c,%-enzyme-test0,$(OBJ)) $(patsubst %.c,%-enzyme-test1,$(OBJ)) $(patsubst %.c,%-enzyme-test2,$(OBJ)) $(patsubst %.c,%-enzyme-test3,$(OBJ))
#test: $(patsubst %.c,%-enzyme-test0,$(OBJ)) $(patsubst %.c,%-enzyme-test1,$(OBJ)) $(patsubst %.c,%-enzyme-test2,$(OBJ)) $(patsubst %.c,%-enzyme-test3,$(OBJ))
#test: $(patsubst %.c,%-enzyme-test1,$(OBJ)) $(patsubst %.c,%-enzyme-test2,$(OBJ)) $(patsubst %.c,%-enzyme-test3,$(OBJ))

generate-testfiles:
Expand All @@ -79,8 +79,12 @@ generate-testfiles:
python gentests.py $(patsubst %.c,%-enzyme2,$(OBJ))
python gentests.py $(patsubst %.c,%-enzyme3,$(OBJ))


clean-%:
rm -f build/%*
@rm -f build/$(patsubst clean-%,%,$@)
@rm -f build/$(patsubst clean-%,%,$@).ll
@rm -f build/$(patsubst clean-%,%,$@).bc
@rm -f build/$(patsubst clean-%,%,$@)-final.ll

clean:
rm -f build/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ float* unsorted_array_init(int N) {
__attribute__((noinline))
void insertion_sort_inner(float* array, int i) {
int j = i;
while (j > 0 && array[j-1] > array[j]) {
while (j > 0 && array[j-1] < array[j]) {
float tmp = array[j];
array[j] = array[j-1];
array[j-1] = tmp;
Expand All @@ -45,7 +45,7 @@ void insertsort_sum (float* array, int N, float* ret) {


for (int i = 0; i < N/2; i++) {
//printf("Val: %f\n", array[i]);
printf("Val: %f\n", array[i]);
sum += array[i];
}
*ret = sum;
Expand Down
1 change: 1 addition & 0 deletions enzyme/functional_tests_c/test.template
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-@NAME@ ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/@NAME@ ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/@NAME@
; RUN: make clean-@NAME@ ENZYME_PLUGIN=%loadEnzyme
@EXPECTFAIL@
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-FAIL_insertsort_sum-enzyme0 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/FAIL_insertsort_sum-enzyme0 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/FAIL_insertsort_sum-enzyme0
; RUN: make clean-FAIL_insertsort_sum-enzyme0 ENZYME_PLUGIN=%loadEnzyme
; XFAIL: *
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-FAIL_insertsort_sum-enzyme1 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/FAIL_insertsort_sum-enzyme1 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/FAIL_insertsort_sum-enzyme1
; RUN: make clean-FAIL_insertsort_sum-enzyme1 ENZYME_PLUGIN=%loadEnzyme
; XFAIL: *
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-FAIL_insertsort_sum-enzyme2 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/FAIL_insertsort_sum-enzyme2 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/FAIL_insertsort_sum-enzyme2
; RUN: make clean-FAIL_insertsort_sum-enzyme2 ENZYME_PLUGIN=%loadEnzyme
; XFAIL: *
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-FAIL_insertsort_sum-enzyme3 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/FAIL_insertsort_sum-enzyme3 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/FAIL_insertsort_sum-enzyme3
; RUN: make clean-FAIL_insertsort_sum-enzyme3 ENZYME_PLUGIN=%loadEnzyme
; XFAIL: *

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-insertsort_sum_alt-enzyme0 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/insertsort_sum_alt-enzyme0 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/insertsort_sum_alt-enzyme0
; RUN: make clean-insertsort_sum_alt-enzyme0 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-insertsort_sum_alt-enzyme1 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/insertsort_sum_alt-enzyme1 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/insertsort_sum_alt-enzyme1
; RUN: make clean-insertsort_sum_alt-enzyme1 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-insertsort_sum_alt-enzyme2 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/insertsort_sum_alt-enzyme2 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/insertsort_sum_alt-enzyme2
; RUN: make clean-insertsort_sum_alt-enzyme2 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
; RUN: cd %desired_wd
; RUN: make clean-insertsort_sum_alt-enzyme3 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/insertsort_sum_alt-enzyme3 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/insertsort_sum_alt-enzyme3
; RUN: make clean-insertsort_sum_alt-enzyme3 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/loops-enzyme0.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loops-enzyme0 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loops-enzyme0 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loops-enzyme0
; RUN: make clean-loops-enzyme0 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/loops-enzyme1.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loops-enzyme1 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loops-enzyme1 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loops-enzyme1
; RUN: make clean-loops-enzyme1 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/loops-enzyme2.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loops-enzyme2 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loops-enzyme2 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loops-enzyme2
; RUN: make clean-loops-enzyme2 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/loops-enzyme3.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loops-enzyme3 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loops-enzyme3 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loops-enzyme3
; RUN: make clean-loops-enzyme3 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopsdouble-enzyme0 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopsdouble-enzyme0 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopsdouble-enzyme0
; RUN: make clean-loopsdouble-enzyme0 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopsdouble-enzyme1 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopsdouble-enzyme1 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopsdouble-enzyme1
; RUN: make clean-loopsdouble-enzyme1 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopsdouble-enzyme2 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopsdouble-enzyme2 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopsdouble-enzyme2
; RUN: make clean-loopsdouble-enzyme2 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopsdouble-enzyme3 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopsdouble-enzyme3 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopsdouble-enzyme3
; RUN: make clean-loopsdouble-enzyme3 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopstriple-enzyme0 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopstriple-enzyme0 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopstriple-enzyme0
; RUN: make clean-loopstriple-enzyme0 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopstriple-enzyme1 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopstriple-enzyme1 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopstriple-enzyme1
; RUN: make clean-loopstriple-enzyme1 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopstriple-enzyme2 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopstriple-enzyme2 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopstriple-enzyme2
; RUN: make clean-loopstriple-enzyme2 ENZYME_PLUGIN=%loadEnzyme

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-loopstriple-enzyme3 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/loopstriple-enzyme3 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/loopstriple-enzyme3
; RUN: make clean-loopstriple-enzyme3 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/recurse-enzyme0.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-recurse-enzyme0 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/recurse-enzyme0 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/recurse-enzyme0
; RUN: make clean-recurse-enzyme0 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/recurse-enzyme1.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-recurse-enzyme1 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/recurse-enzyme1 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/recurse-enzyme1
; RUN: make clean-recurse-enzyme1 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/recurse-enzyme2.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-recurse-enzyme2 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/recurse-enzyme2 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/recurse-enzyme2
; RUN: make clean-recurse-enzyme2 ENZYME_PLUGIN=%loadEnzyme

1 change: 1 addition & 0 deletions enzyme/functional_tests_c/testfiles/recurse-enzyme3.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
; RUN: make clean-recurse-enzyme3 ENZYME_PLUGIN=%loadEnzyme
; RUN: make build/recurse-enzyme3 ENZYME_PLUGIN=%loadEnzyme CLANG_BIN_PATH=%clangBinPath
; RUN: build/recurse-enzyme3
; RUN: make clean-recurse-enzyme3 ENZYME_PLUGIN=%loadEnzyme