Add set reverse block utility
diff --git a/enzyme/Enzyme/CApi.cpp b/enzyme/Enzyme/CApi.cpp index df4a6b2..5ac78c2 100644 --- a/enzyme/Enzyme/CApi.cpp +++ b/enzyme/Enzyme/CApi.cpp
@@ -606,6 +606,16 @@ forkCache, push)); } +void EnzymeGradientUtilsSetReverseBlock(GradientUtils *gutils, + LLVMBasicBlockRef block) { + auto endBlock = cast<BasicBlock>(unwrap(block)); + auto found = gutils->reverseBlockToPrimal.find(endBlock); + assert(found != gutils->reverseBlockToPrimal.end()); + auto &vec = gutils->reverseBlocks[found->second]; + assert(vec.size()); + vec.push_back(endBlock); +} + LLVMValueRef EnzymeCreateForwardDiff( EnzymeLogicRef Logic, LLVMValueRef request_req, LLVMBuilderRef request_ip, LLVMValueRef todiff, CDIFFE_TYPE retType, CDIFFE_TYPE *constant_args,