Skip to content

Commit 35cd76a

Browse files
committed
Fix optimize() to check semanticsResult's config before optimizing
1 parent e1f4805 commit 35cd76a

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/main/pt/up/fe/comp2023/ollir/Optimization.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,14 @@ public OllirResult toOllir(JmmSemanticsResult semanticsResult) {
3333

3434
@Override
3535
public JmmSemanticsResult optimize(JmmSemanticsResult semanticsResult) {
36-
ConstantPropagation constantPropagation = new ConstantPropagation(semanticsResult);
37-
ConstantFolding constantFolding = new ConstantFolding(semanticsResult);
38-
boolean codeModified = constantPropagation.apply() || constantFolding.apply();
36+
if (Boolean.parseBoolean(semanticsResult.getConfig().get("optimize"))) {
37+
ConstantPropagation constantPropagation = new ConstantPropagation(semanticsResult);
38+
ConstantFolding constantFolding = new ConstantFolding(semanticsResult);
3939

40-
while(codeModified){
41-
codeModified = constantPropagation.apply() || constantFolding.apply();
40+
boolean codeModified = constantPropagation.apply() || constantFolding.apply();
41+
while (codeModified) {
42+
codeModified = constantPropagation.apply() || constantFolding.apply();
43+
}
4244
}
4345
return semanticsResult;
4446
}

0 commit comments

Comments
 (0)