Skip to content

Commit 21c771a

Browse files
authored
Merge pull request #937 from OpenVADL/wip/refactor-pass-scope
pass: Refactor PassOrders and ISS pass packages
2 parents 6043ada + c1eec1e commit 21c771a

125 files changed

Lines changed: 1151 additions & 999 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

vadl/main/vadl/dump/infoEnrichers/IssEnricherCollection.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import vadl.dump.InfoEnricher;
2626
import vadl.dump.InfoUtils;
2727
import vadl.dump.entities.DefinitionEntity;
28-
import vadl.iss.passes.IssCFunctionExtractionPass;
29-
import vadl.iss.passes.safeResourceRead.IssSafeResourceReadPass;
28+
import vadl.iss.passes.common.safeResourceRead.IssSafeResourceReadPass;
29+
import vadl.iss.passes.helper.IssCFunctionExtractionPass;
3030
import vadl.viam.Instruction;
3131
import vadl.viam.graph.dependency.ReadResourceNode;
3232

vadl/main/vadl/iss/codegen/IssCMixins.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
import static vadl.iss.IssUtils.internalError;
2020

2121
import vadl.cppCodeGen.context.CGenContext;
22+
import vadl.iss.passes.common.opDecomposition.nodes.IssMul2Node;
23+
import vadl.iss.passes.common.opDecomposition.nodes.IssMulhNode;
24+
import vadl.iss.passes.common.safeResourceRead.nodes.ExprSaveNode;
2225
import vadl.iss.passes.extensions.IssAccessorRegistry;
2326
import vadl.iss.passes.nodes.IssConstExtractNode;
2427
import vadl.iss.passes.nodes.IssGhostCastNode;
@@ -30,9 +33,6 @@
3033
import vadl.iss.passes.nodes.IssTempExprNode;
3134
import vadl.iss.passes.nodes.IssValExtractNode;
3235
import vadl.iss.passes.nodes.TcgVRefNode;
33-
import vadl.iss.passes.opDecomposition.nodes.IssMul2Node;
34-
import vadl.iss.passes.opDecomposition.nodes.IssMulhNode;
35-
import vadl.iss.passes.safeResourceRead.nodes.ExprSaveNode;
3636
import vadl.iss.passes.tcgLowering.TcgExtend;
3737
import vadl.iss.passes.tcgLowering.nodes.TcgAddNode;
3838
import vadl.iss.passes.tcgLowering.nodes.TcgAndNode;

vadl/main/vadl/iss/codegen/IssProcGen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import vadl.cppCodeGen.context.CNodeContext;
2626
import vadl.cppCodeGen.mixins.CDefaultMixins;
2727
import vadl.cppCodeGen.mixins.CInvalidMixins;
28+
import vadl.iss.passes.common.safeResourceRead.nodes.ExprSaveNode;
2829
import vadl.iss.passes.extensions.IssAccessorRegistry;
29-
import vadl.iss.passes.safeResourceRead.nodes.ExprSaveNode;
3030
import vadl.javaannotations.DispatchFor;
3131
import vadl.javaannotations.Handler;
3232
import vadl.utils.GraphUtils;

vadl/main/vadl/iss/passes/IssApplyMemoryEndiannessPass.java renamed to vadl/main/vadl/iss/passes/common/IssApplyMemoryEndiannessPass.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1616

17-
package vadl.iss.passes;
17+
package vadl.iss.passes.common;
1818

1919
import static java.util.Objects.requireNonNull;
2020
import static vadl.error.Diagnostic.error;
@@ -148,8 +148,8 @@ void run() {
148148
// FIXME: this does not account for changes to the register values during the procedure
149149
processor.memoryRegions().forEach(mr ->
150150
mr.behavior().getNodes(ReadRegTensorNode.class).forEach(read ->
151-
handleRead(read, resetVector, reset, mr.memoryRef())
152-
)
151+
handleRead(read, resetVector, reset, mr.memoryRef())
152+
)
153153
);
154154
}
155155

@@ -161,8 +161,8 @@ private void handleRead(ReadRegTensorNode read,
161161
var resetValue = resetVector.get(reg);
162162
if (resetValue == null) {
163163
throw error(String.format("""
164-
Value of register %s is unknown
165-
""", reg.simpleName()),
164+
Value of register %s is unknown
165+
""", reg.simpleName()),
166166
read
167167
).description("""
168168
The memory written here is bi-endian. What endianness is used depends on the \

vadl/main/vadl/iss/passes/IssBitfieldWriteLoweringPass.java renamed to vadl/main/vadl/iss/passes/common/IssBitfieldWriteLoweringPass.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1616

17-
package vadl.iss.passes;
17+
package vadl.iss.passes.common;
1818

1919
import static vadl.iss.passes.TcgPassUtils.instrInfo;
2020
import static vadl.iss.passes.TcgPassUtils.regInfo;
2121

2222
import java.io.IOException;
2323
import javax.annotation.Nullable;
2424
import vadl.configuration.IssConfiguration;
25+
import vadl.iss.passes.AbstractIssPass;
2526
import vadl.iss.passes.extensions.RegInfo;
2627
import vadl.iss.passes.nodes.IssRegBitfieldWriteNode;
2728
import vadl.iss.passes.nodes.IssWriteRegNode;
@@ -97,4 +98,3 @@ private boolean isTranslationTimeConstant(ExpressionNode expr) {
9798
|| expr instanceof FieldAccessRefNode;
9899
}
99100
}
100-

vadl/main/vadl/iss/passes/IssBuiltInArgTruncOptPass.java renamed to vadl/main/vadl/iss/passes/common/IssBuiltInArgTruncOptPass.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-FileCopyrightText : © 2025 TU Wien <vadl@tuwien.ac.at>
1+
// SPDX-FileCopyrightText : © 2025-2026 TU Wien <vadl@tuwien.ac.at>
22
// SPDX-License-Identifier: GPL-3.0-or-later
33
//
44
// This program is free software: you can redistribute it and/or modify
@@ -14,13 +14,14 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1616

17-
package vadl.iss.passes;
17+
package vadl.iss.passes.common;
1818

1919
import java.io.IOException;
2020
import java.util.HashSet;
2121
import java.util.Set;
2222
import javax.annotation.Nullable;
2323
import vadl.configuration.IssConfiguration;
24+
import vadl.iss.passes.AbstractIssPass;
2425
import vadl.iss.passes.nodes.IssConstExtractNode;
2526
import vadl.pass.PassName;
2627
import vadl.pass.PassResults;
@@ -147,4 +148,4 @@ private void optFirstArgs(BuiltInCall call) {
147148
}
148149

149150

150-
}
151+
}

vadl/main/vadl/iss/passes/IssCommonExprSavePass.java renamed to vadl/main/vadl/iss/passes/common/IssCommonExprSavePass.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1616

17-
package vadl.iss.passes;
17+
package vadl.iss.passes.common;
1818

1919
import java.io.IOException;
2020
import java.util.HashSet;
2121
import java.util.Set;
2222
import javax.annotation.Nullable;
2323
import vadl.configuration.IssConfiguration;
24-
import vadl.iss.passes.safeResourceRead.nodes.ExprSaveNode;
24+
import vadl.iss.passes.AbstractIssPass;
25+
import vadl.iss.passes.common.safeResourceRead.nodes.ExprSaveNode;
2526
import vadl.iss.passes.utils.IssDominatorAnalysis;
2627
import vadl.pass.PassName;
2728
import vadl.pass.PassResults;

vadl/main/vadl/iss/passes/IssConfigurationPass.java renamed to vadl/main/vadl/iss/passes/common/IssConfigurationPass.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-FileCopyrightText : © 2025 TU Wien <vadl@tuwien.ac.at>
1+
// SPDX-FileCopyrightText : © 2025-2026 TU Wien <vadl@tuwien.ac.at>
22
// SPDX-License-Identifier: GPL-3.0-or-later
33
//
44
// This program is free software: you can redistribute it and/or modify
@@ -14,13 +14,14 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1616

17-
package vadl.iss.passes;
17+
package vadl.iss.passes.common;
1818

1919
import static java.util.Objects.requireNonNull;
2020

2121
import java.io.IOException;
2222
import javax.annotation.Nullable;
2323
import vadl.configuration.IssConfiguration;
24+
import vadl.iss.passes.AbstractIssPass;
2425
import vadl.iss.passes.tcgLowering.Tcg_32_64;
2526
import vadl.pass.PassName;
2627
import vadl.pass.PassResults;

vadl/main/vadl/iss/passes/IssExecStrategyPass.java renamed to vadl/main/vadl/iss/passes/common/IssExecStrategyPass.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1616

17-
package vadl.iss.passes;
17+
package vadl.iss.passes.common;
1818

1919
import static vadl.iss.passes.TcgPassUtils.instrInfo;
2020
import static vadl.iss.passes.TcgPassUtils.regInfo;
2121

2222
import java.io.IOException;
2323
import javax.annotation.Nullable;
2424
import vadl.configuration.IssConfiguration;
25+
import vadl.iss.passes.AbstractIssPass;
2526
import vadl.iss.passes.extensions.InstrInfo;
2627
import vadl.iss.passes.extensions.RegInfo;
2728
import vadl.iss.passes.nodes.IssReadRegNode;

vadl/main/vadl/iss/passes/IssExtractOptimizationPass.java renamed to vadl/main/vadl/iss/passes/common/IssExtractOptimizationPass.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-FileCopyrightText : © 2025 TU Wien <vadl@tuwien.ac.at>
1+
// SPDX-FileCopyrightText : © 2025-2026 TU Wien <vadl@tuwien.ac.at>
22
// SPDX-License-Identifier: GPL-3.0-or-later
33
//
44
// This program is free software: you can redistribute it and/or modify
@@ -14,7 +14,7 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1616

17-
package vadl.iss.passes;
17+
package vadl.iss.passes.common;
1818

1919
import static java.util.Objects.requireNonNull;
2020

@@ -24,6 +24,7 @@
2424
import java.util.List;
2525
import javax.annotation.Nullable;
2626
import vadl.configuration.IssConfiguration;
27+
import vadl.iss.passes.AbstractIssPass;
2728
import vadl.iss.passes.nodes.IssConstExtractNode;
2829
import vadl.iss.passes.nodes.IssGhostCastNode;
2930
import vadl.iss.passes.tcgLowering.TcgExtend;
@@ -255,4 +256,4 @@ private static List<IssConstExtractNode> flattenChain(IssConstExtractNode node)
255256
Collections.reverse(chain);
256257
return chain;
257258
}
258-
}
259+
}

0 commit comments

Comments
 (0)