summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-check-stmt.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-08-04 15:47:39 -0700
committerGitHub <noreply@github.com>2023-08-04 15:47:39 -0700
commita2d90fb275962da84611160f8ddd74d934a68dbd (patch)
tree066084537b9f4fe1f367de100ed6638a88a028c1 /source/slang/slang-check-stmt.cpp
parent17da4f0dec2b86ba3a4bdaf8a2ae112047d23623 (diff)
Redesign `DeclRef` and systematic `Val` deduplication (#3049)
* Redesign DeclRef + Deduplicate Val. * Update project files * Fix warning. * Fix. * Fix. * Remove `Val::_equalsImplOverride`. * Rmove `Val::_getHashCodeOverride`. * Remove `semanticVisitor` param from `resolve`. * Cleanups. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-check-stmt.cpp')
-rw-r--r--source/slang/slang-check-stmt.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/source/slang/slang-check-stmt.cpp b/source/slang/slang-check-stmt.cpp
index ba7e977e3..4b4257f75 100644
--- a/source/slang/slang-check-stmt.cpp
+++ b/source/slang/slang-check-stmt.cpp
@@ -526,7 +526,7 @@ namespace Slang
}
if (!stepSize)
return;
- if (stepSize->value > 0)
+ if (stepSize->getValue() > 0)
{
if (sideEffectFuncOp == kIROp_Add && compareOp == kIROp_Greater ||
sideEffectFuncOp == kIROp_Sub && compareOp == kIROp_Less)
@@ -535,7 +535,7 @@ namespace Slang
return;
}
}
- else if (stepSize->value < 0)
+ else if (stepSize->getValue() < 0)
{
if (sideEffectFuncOp == kIROp_Add && compareOp == kIROp_Less ||
sideEffectFuncOp == kIROp_Sub && compareOp == kIROp_Greater)
@@ -553,25 +553,25 @@ namespace Slang
if (!initialLitVal || !finalVal)
return;
- auto absStepSize = abs(stepSize->value);
+ auto absStepSize = abs(stepSize->getValue());
int adjustment = 0;
if (compareOp == kIROp_Geq || compareOp == kIROp_Leq)
adjustment = 1;
- auto iterations = (Math::Max(finalVal->value, initialLitVal->value) -
- Math::Min(finalVal->value, initialLitVal->value) + absStepSize - 1 + adjustment) /
+ auto iterations = (Math::Max(finalVal->getValue(), initialLitVal->getValue()) -
+ Math::Min(finalVal->getValue(), initialLitVal->getValue()) + absStepSize - 1 + adjustment) /
absStepSize;
switch (compareOp)
{
case kIROp_Geq:
case kIROp_Greater:
// Expect final value to be less than initial value.
- if (finalVal->value > initialLitVal->value)
+ if (finalVal->getValue() > initialLitVal->getValue())
iterations = 0;
break;
case kIROp_Leq:
case kIROp_Less:
- if (finalVal->value < initialLitVal->value)
+ if (finalVal->getValue() < initialLitVal->getValue())
iterations = 0;
break;
}
@@ -590,7 +590,7 @@ namespace Slang
litExpr->type.type = m_astBuilder->getIntType();
litExpr->token.setName(getNamePool()->getName(String(iterations)));
maxItersAttr->args.add(litExpr);
- maxItersAttr->intArgVals.add(0, m_astBuilder->getIntVal(m_astBuilder->getIntType(), iterations));
+ maxItersAttr->intArgVals.add(m_astBuilder->getIntVal(m_astBuilder->getIntType(), iterations));
maxItersAttr->value = (int32_t)iterations;
maxItersAttr->inductionVar = initialVar;
addModifier(stmt, maxItersAttr);