summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-check-differentiability.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-01-25 17:27:40 -0800
committerGitHub <noreply@github.com>2023-01-25 17:27:40 -0800
commit1f4c7cab13341c2e9d48df2b01ed2c048c17c152 (patch)
treeed85dda63e1c939cf474961b965b7cc1883940bb /source/slang/slang-ir-check-differentiability.cpp
parentaa6814be1f7dea20597ae34d477e79e53d4a543f (diff)
Unify UpdateField and UpdateElement with access chain. (#2611)
* Unify UpdateField and UpdateElement with access chain. * Fix warnings. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-check-differentiability.cpp')
-rw-r--r--source/slang/slang-ir-check-differentiability.cpp33
1 files changed, 0 insertions, 33 deletions
diff --git a/source/slang/slang-ir-check-differentiability.cpp b/source/slang/slang-ir-check-differentiability.cpp
index 8cefa6a04..ce3e563f5 100644
--- a/source/slang/slang-ir-check-differentiability.cpp
+++ b/source/slang/slang-ir-check-differentiability.cpp
@@ -2,8 +2,6 @@
#include "slang-ir-autodiff.h"
#include "slang-ir-inst-pass-base.h"
-#include "slang-ir-single-return.h"
-#include "slang-ir-addr-inst-elimination.h"
namespace Slang
{
@@ -177,29 +175,6 @@ public:
return false;
}
- struct AutoDiffAddressConversionPolicy : public AddressConversionPolicy
- {
- DifferentiableTypeConformanceContext* diffTypeContext;
-
- virtual bool shouldConvertAddrInst(IRInst* addrInst) override
- {
- if (isDifferentiableType(*diffTypeContext, addrInst->getDataType()))
- return true;
- return false;
- }
- };
-
- SlangResult prepareFuncForAutoDiff(DifferentiableTypeConformanceContext& diffTypeContext, IRFunc* func)
- {
- if (!isSingleReturnFunc(func))
- {
- convertFuncToSingleReturnForm(func->getModule(), func);
- }
- AutoDiffAddressConversionPolicy cvtPolicty;
- cvtPolicty.diffTypeContext = &diffTypeContext;
- return eliminateAddressInsts(sharedBuilder, &cvtPolicty, func, sink);
- }
-
void processFunc(IRGlobalValueWithCode* funcInst)
{
if (!_isFuncMarkedForAutoDiff(funcInst))
@@ -209,14 +184,6 @@ public:
DifferentiableTypeConformanceContext diffTypeContext(&sharedContext);
diffTypeContext.setFunc(funcInst);
- if (isBackwardDifferentiableFunc(funcInst) && !funcInst->findDecoration<IRUserDefinedBackwardDerivativeDecoration>())
- {
- if (auto func = as<IRFunc>(funcInst))
- {
- if (SLANG_FAILED(prepareFuncForAutoDiff(diffTypeContext, func)))
- return;
- }
- }
HashSet<IRInst*> produceDiffSet;
HashSet<IRInst*> expectDiffSet;