summaryrefslogtreecommitdiffstats
path: root/source/slang/slang.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2022-05-05 09:09:25 -0400
committerGitHub <noreply@github.com>2022-05-05 09:09:25 -0400
commite3e0132743ada1569cefe18bfbf54178330204c4 (patch)
treea85b3992f97f67a5520a520dd60677d382ee4ce6 /source/slang/slang.cpp
parentef314f1b417e92b2fd27e3ed7f504a711c49231b (diff)
Preliminary Liveness tracking (#2218)
* #include an absolute path didn't work - because paths were taken to always be relative. * WIP tracking liveness. * Skeleton around adding liveness instructions. * Calling into liveness tracking logic. Adds live start to var insts. * Liveness macros have initial output. * Looking at different initialization scenarios. * Some discussion around liveness. * WIP for working out liveness end. * WIP Updated liveness using use lists. * Is now adding liveness information * Some small fixes. * WIP around liveness. * Seems to output liveness correctly for current scenario. * Tidy up liveness code. * Update comment arounds liveness to current status. * Small fixes to liveness test. * Add support for call in liveness analysis. * Improve liveness example with array access. * Small updates to comments. * Disable liveness test because inconsistencies with output on CI system. * Fix some issues brought up in PR. * Rename liveness instructions.
Diffstat (limited to 'source/slang/slang.cpp')
-rw-r--r--source/slang/slang.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp
index 985599022..3a180027a 100644
--- a/source/slang/slang.cpp
+++ b/source/slang/slang.cpp
@@ -4159,6 +4159,18 @@ void EndToEndCompileRequest::setDumpIntermediates(int enable)
}
}
+void EndToEndCompileRequest::setTrackLiveness(bool v)
+{
+ enableLivenessTracking = v;
+
+ // Change all existing targets to use the new setting.
+ auto linkage = getLinkage();
+ for (auto& target : linkage->targets)
+ {
+ target->setTrackLiveness(v);
+ }
+}
+
void EndToEndCompileRequest::setDumpIntermediatePrefix(const char* prefix)
{
m_dumpIntermediatePrefix = prefix;