aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libyul/optimiser/SSAValueTracker.cpp2
-rw-r--r--libyul/optimiser/SSAValueTracker.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/libyul/optimiser/SSAValueTracker.cpp b/libyul/optimiser/SSAValueTracker.cpp
index 35b29b04..ef96c379 100644
--- a/libyul/optimiser/SSAValueTracker.cpp
+++ b/libyul/optimiser/SSAValueTracker.cpp
@@ -37,7 +37,7 @@ void SSAValueTracker::operator()(VariableDeclaration const& _varDecl)
{
if (_varDecl.variables.size() == 1)
setValue(_varDecl.variables.front().name, _varDecl.value.get());
- else
+ else if (!_varDecl.value)
for (auto const& var: _varDecl.variables)
setValue(var.name, nullptr);
}
diff --git a/libyul/optimiser/SSAValueTracker.h b/libyul/optimiser/SSAValueTracker.h
index e182e013..efec2200 100644
--- a/libyul/optimiser/SSAValueTracker.h
+++ b/libyul/optimiser/SSAValueTracker.h
@@ -33,6 +33,8 @@ namespace yul
* Class that walks the AST and stores the initial value of each variable
* that is never assigned to.
*
+ * Default value is represented as nullptr.
+ *
* Prerequisite: Disambiguator
*/
class SSAValueTracker: public ASTWalker